diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..f06235c --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +node_modules +dist diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..8c3851f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,15 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + "no-console": 1 + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 844c870..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true, - "node": true - }, - "extends": "airbnb", - "overrides": [ - ], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "rules": { - "import/prefer-default-export": "off", - "import/extensions": [ - "off" - ], - "no-console": [ - "error", { "allow": ["warn", "error"] } - ] - } -} diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml index e81146a..d895abf 100644 --- a/.github/workflows/eslint.yml +++ b/.github/workflows/eslint.yml @@ -36,7 +36,7 @@ jobs: - name: Run ESLint run: npx eslint src - --config .eslintrc.json + --config .eslintrc --ext .js,.jsx,.ts,.tsx --format @microsoft/eslint-formatter-sarif --output-file eslint-results.sarif diff --git a/.gitignore b/.gitignore index 185ce1e..9e5b91a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ resources/sass/.sass-cache/ resources/.arch-internal-preview.css .arch-internal-preview.css .idea/ -node_modules/ \ No newline at end of file +node_modules/ +dist/**/*.map diff --git a/.npmignore b/.npmignore index 4e63240..ea472b4 100644 --- a/.npmignore +++ b/.npmignore @@ -8,7 +8,9 @@ puml_examples schema_samples src test -.eslintrc.json +.eslintrc +.eslintignore .gitignore .npmignore build.js +dist/**/*.map diff --git a/README.md b/README.md index 92dd0f1..3bdb093 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,9 @@ $ git submodule update --init --recursive ### Contribute If an error occurs during use, please [open a new issue](https://github.com/youngkiu/schema-to-erd/issues) with the schema.sql file. + +### Reference for package + +- https://youtu.be/ZINPuzq62lE +- https://youtu.be/V_5ImTOmMh0 +- https://github.com/joeythelantern/Component-Library diff --git a/bin/cli.js b/bin/cli.js index c8bf75d..8324640 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -1,8 +1,8 @@ #!/usr/bin/env node -import { program } from 'commander'; -import fs from 'fs'; -import plantumlEncoder from 'plantuml-encoder'; -import { schemaToErd } from '../dist/main.mjs'; +const { program } = require('commander'); +const fs = require('fs'); +const plantumlEncoder = require('plantuml-encoder'); +const { schemaToErd } = require('../dist/cjs/index'); program .requiredOption('-s, --schema-file ', 'schema.sql file path') diff --git a/build.js b/build.js deleted file mode 100644 index 95ed510..0000000 --- a/build.js +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env node -import esbuild from 'esbuild'; - -const commonOptions = { - // https://esbuild.github.io/api/ - entryPoints: ['src/main.js'], - bundle: true, - platform: 'node', - minify: true, - outdir: 'dist' -} - -esbuild - .build({ - ...commonOptions, - format: 'esm', - outExtension: { '.js': '.mjs' } - }) - .catch(() => process.exit(1)) - -esbuild - .build({ - ...commonOptions, - format: 'cjs', - outExtension: { '.js': '.cjs' } - }) - .catch(() => process.exit(1)) diff --git a/dist/cjs/index.js b/dist/cjs/index.js new file mode 100644 index 0000000..e3bab2e --- /dev/null +++ b/dist/cjs/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.schemaToErd = void 0; +const schema_to_erd_1 = __importDefault(require("./schema_to_erd")); +exports.schemaToErd = schema_to_erd_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/cjs/parse_ddl.js b/dist/cjs/parse_ddl.js new file mode 100644 index 0000000..8f37069 --- /dev/null +++ b/dist/cjs/parse_ddl.js @@ -0,0 +1,133 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const sql_ddl_to_json_schema_1 = require("sql-ddl-to-json-schema"); +const assert_1 = __importDefault(require("assert")); +const unparsable_config_1 = __importDefault(require("./unparsable.config")); +const parser = new sql_ddl_to_json_schema_1.Parser('mysql'); +function removeFunctionKeyword(sqlStr, functionKeyword) { + let removalSqlStr = sqlStr; + let parenthesesDepth; + let removalStart; + let removalEnd; + /* eslint-disable no-constant-condition */ + while (true) { + removalStart = removalSqlStr.indexOf(functionKeyword); + if (removalStart === -1) { + break; + } + parenthesesDepth = 0; + removalEnd = undefined; + for (let i = removalStart + functionKeyword.length; i < removalSqlStr.length; i += 1) { + const c = removalSqlStr.charAt(i); + if (c === '(') { + parenthesesDepth += 1; + } + else if (c === ')') { + parenthesesDepth -= 1; + if (parenthesesDepth === 0) { + removalEnd = i + 1; + break; + } + } + } + (0, assert_1.default)(removalEnd, `Not detect removal region - ${sqlStr}`); + removalSqlStr = removalSqlStr.slice(0, removalStart) + removalSqlStr.slice(removalEnd); + } + return removalSqlStr; +} +function removeFunctionSql(sqlStr, functionKeywords) { + return functionKeywords.reduce((acc, functionKeyword) => removeFunctionKeyword(acc, functionKeyword), sqlStr); +} +function removeUnparsableToken(ddlStr) { + return Object.entries(unparsable_config_1.default).reduce((acc, [key, value]) => { + if (typeof value !== 'undefined' && value.length > 0) { + /* eslint-disable no-case-declarations */ + switch (key) { + case 'inter-token': + const interTokenRegExp = new RegExp(`\\s+(${value.join('|')})\\s+`, 'gmi'); + return acc.replace(interTokenRegExp, ' '); + case 'match-token': + const matchTokenRegExp = new RegExp(`(${value.join('|')})`, 'gm'); + return acc.replace(matchTokenRegExp, ''); + case 'func-token': + return removeFunctionSql(acc, value); + default: + (0, assert_1.default)(false, `Not supported token type: ${key}`); + break; + } + (0, assert_1.default)(false, 'This can never be reached.'); + return acc; + } + else { + return acc; + } + }, ddlStr); +} +function splitDdl(sqlStr) { + const ddls = []; + const ddlRegExp = /(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i; + let offset = 0; + while (offset < sqlStr.length) { + const restSqlStr = sqlStr.substring(offset, sqlStr.length); + const start = restSqlStr.search(ddlRegExp); + if (start === -1) { + break; + } + const end = restSqlStr.indexOf(';', start); + if (end === -1) { + throw new Error(`Not found semicolon(;). Error - ${restSqlStr}`); + } + const ddlStr = restSqlStr.substring(start, end + 1); + ddls.push(removeUnparsableToken(ddlStr).replace(/,[\n\r\s]+\)/gm, '\n)')); + offset += end; + } + return ddls; +} +function extractTableObj(jsonSchemaDocuments) { + const { title: tableName, definitions } = jsonSchemaDocuments; + if (tableName === undefined || definitions === undefined) { + return undefined; + } + const columnNames = Object.keys(definitions); + const primaryKeys = Object.entries(definitions) + .reduce((acc, [key, val]) => { + if (typeof val === 'boolean') { + return acc; + } + return (val.$comment === 'primary key' ? [...acc, key] : acc); + }, []); + return { + tableName, + columnNames, + primaryKeys, + }; +} +const removeSqlComments = (sqlStr) => sqlStr + .replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/6441056 + .replace(/COMMENT\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/171483 + .replace(/\/\*.*?\*\/|--.*?\n/gs, ''); // https://stackoverflow.com/a/21018155 +exports.default = (sqlStr) => splitDdl(removeSqlComments(sqlStr)) + .reduce((acc, sql) => { + try { + const options = { useRef: true }; + const jsonSchemaDocuments = parser.feed(sql).toJsonSchemaArray(options); + if (jsonSchemaDocuments.length === 0) { + return acc; + } + (0, assert_1.default)(jsonSchemaDocuments.length === 1, 'Parse only one DDL at a time.'); + const tableObj = extractTableObj(jsonSchemaDocuments[0]); + if (tableObj === undefined) { + return acc; + } + const { tableName, columnNames, primaryKeys } = tableObj; + return Object.assign(Object.assign({}, acc), { [tableName]: { columnNames, primaryKeys } }); + } + catch (err) { + throw Error(`Can not parse "${sql}"`); + return acc; + } +}, {}); +//# sourceMappingURL=parse_ddl.js.map \ No newline at end of file diff --git a/dist/cjs/plantuml_table.js b/dist/cjs/plantuml_table.js new file mode 100644 index 0000000..55c1b1b --- /dev/null +++ b/dist/cjs/plantuml_table.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function generateEntity(tableName, columnNames, primaryKeys) { + const columnNamesWithPk = columnNames.map((columnName) => (primaryKeys.includes(columnName) ? `*${columnName}` : columnName)); + const columnsStr = columnNamesWithPk.join('\n '); + return `entity ${tableName} { + ${columnsStr} +} +`; +} +function generateRelation(tableName, columnNames, primaryKeys, allPKs) { + const allPkNames = Object.keys(allPKs); + return columnNames.reduce((acc, columnName) => { + if (!primaryKeys.includes(columnName) && allPkNames.includes(columnName)) { + const foreignKey = allPKs[columnName]; + return [...acc, `${tableName}::${columnName} --> ${foreignKey.tableName}::${foreignKey.columnName}`]; + } + return acc; + }, []); +} +function generatePlantUml(tableColumns) { + const entities = Object.entries(tableColumns).reduce((acc, [tableName, { columnNames, primaryKeys }]) => (acc + generateEntity(tableName, columnNames, primaryKeys)), ''); + const allPKs = Object.entries(tableColumns).reduce((accTable, [tableName, { primaryKeys }]) => primaryKeys.reduce((accPk, primaryKey) => { + const primaryKeyName = primaryKey.startsWith(tableName) ? primaryKey : `${tableName}_${primaryKey}`; + const foreignKey = { tableName, columnName: primaryKey }; + return Object.assign(Object.assign({}, accPk), { [primaryKeyName]: foreignKey }); + }, accTable), {}); + const relations = Object.entries(tableColumns).reduce((acc, [tableName, { columnNames, primaryKeys }]) => [ + ...acc, ...generateRelation(tableName, columnNames, primaryKeys, allPKs), + ], []); + // https://plantuml.com/ko/ie-diagram + return `@startuml + +' hide the spot +hide circle +hide methods +hide stereotypes + +' avoid problems with angled crows feet +skinparam linetype ortho + +${entities} + +${relations.join('\n')} + +@enduml +`; +} +exports.default = generatePlantUml; +//# sourceMappingURL=plantuml_table.js.map \ No newline at end of file diff --git a/dist/cjs/schema_to_erd.js b/dist/cjs/schema_to_erd.js new file mode 100644 index 0000000..6244edf --- /dev/null +++ b/dist/cjs/schema_to_erd.js @@ -0,0 +1,35 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = require("fs"); +const path_1 = __importDefault(require("path")); +const parse_ddl_1 = __importDefault(require("./parse_ddl")); +const plantuml_table_1 = __importDefault(require("./plantuml_table")); +function schemaToErd(schemaFilePath, outputDirPath) { + return __awaiter(this, void 0, void 0, function* () { + const sqlStr = yield fs_1.promises.readFile(schemaFilePath, 'utf8'); + const tableColumns = (0, parse_ddl_1.default)(sqlStr); + const pumlStr = (0, plantuml_table_1.default)(tableColumns); + const schemaFilePathStr = schemaFilePath.toString(); + const pumlDirPath = (outputDirPath === null || outputDirPath === void 0 ? void 0 : outputDirPath.toString()) || path_1.default.parse(schemaFilePathStr).dir; + const pumlFilePath = path_1.default.join(pumlDirPath, `${path_1.default.parse(schemaFilePathStr).name}.puml`); + if (pumlDirPath) { + yield fs_1.promises.mkdir(pumlDirPath, { recursive: true }); + } + yield fs_1.promises.writeFile(pumlFilePath, pumlStr, 'utf8'); + return { pumlFilePath, pumlStr }; + }); +} +exports.default = schemaToErd; +//# sourceMappingURL=schema_to_erd.js.map \ No newline at end of file diff --git a/dist/cjs/unparsable.config.js b/dist/cjs/unparsable.config.js new file mode 100644 index 0000000..ac3ce6d --- /dev/null +++ b/dist/cjs/unparsable.config.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + 'inter-token': ['BINARY', 'national', 'STORED'], + 'match-token': ['VIRTUAL', 'type = innodb', 'default 0000-00-00 00:00:00', 'default 0000-00-00', 'CONSTRAINT check_active'], + 'func-token': ['GENERATED', 'CHECK', 'PARTITION BY LIST (transaction_type)'], +}; +//# sourceMappingURL=unparsable.config.js.map \ No newline at end of file diff --git a/dist/esm/index.js b/dist/esm/index.js new file mode 100644 index 0000000..c3d9b91 --- /dev/null +++ b/dist/esm/index.js @@ -0,0 +1,3 @@ +import schemaToErd from './schema_to_erd'; +export { schemaToErd, }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/esm/parse_ddl.js b/dist/esm/parse_ddl.js new file mode 100644 index 0000000..22a4fcc --- /dev/null +++ b/dist/esm/parse_ddl.js @@ -0,0 +1,128 @@ +import { Parser } from 'sql-ddl-to-json-schema'; +import assert from 'assert'; +import config from './unparsable.config'; +const parser = new Parser('mysql'); +function removeFunctionKeyword(sqlStr, functionKeyword) { + let removalSqlStr = sqlStr; + let parenthesesDepth; + let removalStart; + let removalEnd; + /* eslint-disable no-constant-condition */ + while (true) { + removalStart = removalSqlStr.indexOf(functionKeyword); + if (removalStart === -1) { + break; + } + parenthesesDepth = 0; + removalEnd = undefined; + for (let i = removalStart + functionKeyword.length; i < removalSqlStr.length; i += 1) { + const c = removalSqlStr.charAt(i); + if (c === '(') { + parenthesesDepth += 1; + } + else if (c === ')') { + parenthesesDepth -= 1; + if (parenthesesDepth === 0) { + removalEnd = i + 1; + break; + } + } + } + assert(removalEnd, `Not detect removal region - ${sqlStr}`); + removalSqlStr = removalSqlStr.slice(0, removalStart) + removalSqlStr.slice(removalEnd); + } + return removalSqlStr; +} +function removeFunctionSql(sqlStr, functionKeywords) { + return functionKeywords.reduce((acc, functionKeyword) => removeFunctionKeyword(acc, functionKeyword), sqlStr); +} +function removeUnparsableToken(ddlStr) { + return Object.entries(config).reduce((acc, [key, value]) => { + if (typeof value !== 'undefined' && value.length > 0) { + /* eslint-disable no-case-declarations */ + switch (key) { + case 'inter-token': + const interTokenRegExp = new RegExp(`\\s+(${value.join('|')})\\s+`, 'gmi'); + return acc.replace(interTokenRegExp, ' '); + case 'match-token': + const matchTokenRegExp = new RegExp(`(${value.join('|')})`, 'gm'); + return acc.replace(matchTokenRegExp, ''); + case 'func-token': + return removeFunctionSql(acc, value); + default: + assert(false, `Not supported token type: ${key}`); + break; + } + assert(false, 'This can never be reached.'); + return acc; + } + else { + return acc; + } + }, ddlStr); +} +function splitDdl(sqlStr) { + const ddls = []; + const ddlRegExp = /(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i; + let offset = 0; + while (offset < sqlStr.length) { + const restSqlStr = sqlStr.substring(offset, sqlStr.length); + const start = restSqlStr.search(ddlRegExp); + if (start === -1) { + break; + } + const end = restSqlStr.indexOf(';', start); + if (end === -1) { + throw new Error(`Not found semicolon(;). Error - ${restSqlStr}`); + } + const ddlStr = restSqlStr.substring(start, end + 1); + ddls.push(removeUnparsableToken(ddlStr).replace(/,[\n\r\s]+\)/gm, '\n)')); + offset += end; + } + return ddls; +} +function extractTableObj(jsonSchemaDocuments) { + const { title: tableName, definitions } = jsonSchemaDocuments; + if (tableName === undefined || definitions === undefined) { + return undefined; + } + const columnNames = Object.keys(definitions); + const primaryKeys = Object.entries(definitions) + .reduce((acc, [key, val]) => { + if (typeof val === 'boolean') { + return acc; + } + return (val.$comment === 'primary key' ? [...acc, key] : acc); + }, []); + return { + tableName, + columnNames, + primaryKeys, + }; +} +const removeSqlComments = (sqlStr) => sqlStr + .replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/6441056 + .replace(/COMMENT\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/171483 + .replace(/\/\*.*?\*\/|--.*?\n/gs, ''); // https://stackoverflow.com/a/21018155 +export default (sqlStr) => splitDdl(removeSqlComments(sqlStr)) + .reduce((acc, sql) => { + try { + const options = { useRef: true }; + const jsonSchemaDocuments = parser.feed(sql).toJsonSchemaArray(options); + if (jsonSchemaDocuments.length === 0) { + return acc; + } + assert(jsonSchemaDocuments.length === 1, 'Parse only one DDL at a time.'); + const tableObj = extractTableObj(jsonSchemaDocuments[0]); + if (tableObj === undefined) { + return acc; + } + const { tableName, columnNames, primaryKeys } = tableObj; + return Object.assign(Object.assign({}, acc), { [tableName]: { columnNames, primaryKeys } }); + } + catch (err) { + throw Error(`Can not parse "${sql}"`); + return acc; + } +}, {}); +//# sourceMappingURL=parse_ddl.js.map \ No newline at end of file diff --git a/dist/esm/plantuml_table.js b/dist/esm/plantuml_table.js new file mode 100644 index 0000000..c40e065 --- /dev/null +++ b/dist/esm/plantuml_table.js @@ -0,0 +1,47 @@ +function generateEntity(tableName, columnNames, primaryKeys) { + const columnNamesWithPk = columnNames.map((columnName) => (primaryKeys.includes(columnName) ? `*${columnName}` : columnName)); + const columnsStr = columnNamesWithPk.join('\n '); + return `entity ${tableName} { + ${columnsStr} +} +`; +} +function generateRelation(tableName, columnNames, primaryKeys, allPKs) { + const allPkNames = Object.keys(allPKs); + return columnNames.reduce((acc, columnName) => { + if (!primaryKeys.includes(columnName) && allPkNames.includes(columnName)) { + const foreignKey = allPKs[columnName]; + return [...acc, `${tableName}::${columnName} --> ${foreignKey.tableName}::${foreignKey.columnName}`]; + } + return acc; + }, []); +} +export default function generatePlantUml(tableColumns) { + const entities = Object.entries(tableColumns).reduce((acc, [tableName, { columnNames, primaryKeys }]) => (acc + generateEntity(tableName, columnNames, primaryKeys)), ''); + const allPKs = Object.entries(tableColumns).reduce((accTable, [tableName, { primaryKeys }]) => primaryKeys.reduce((accPk, primaryKey) => { + const primaryKeyName = primaryKey.startsWith(tableName) ? primaryKey : `${tableName}_${primaryKey}`; + const foreignKey = { tableName, columnName: primaryKey }; + return Object.assign(Object.assign({}, accPk), { [primaryKeyName]: foreignKey }); + }, accTable), {}); + const relations = Object.entries(tableColumns).reduce((acc, [tableName, { columnNames, primaryKeys }]) => [ + ...acc, ...generateRelation(tableName, columnNames, primaryKeys, allPKs), + ], []); + // https://plantuml.com/ko/ie-diagram + return `@startuml + +' hide the spot +hide circle +hide methods +hide stereotypes + +' avoid problems with angled crows feet +skinparam linetype ortho + +${entities} + +${relations.join('\n')} + +@enduml +`; +} +//# sourceMappingURL=plantuml_table.js.map \ No newline at end of file diff --git a/dist/esm/schema_to_erd.js b/dist/esm/schema_to_erd.js new file mode 100644 index 0000000..502e3ec --- /dev/null +++ b/dist/esm/schema_to_erd.js @@ -0,0 +1,29 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import { promises as fs } from 'fs'; +import path from 'path'; +import parseDdl from './parse_ddl'; +import generatePlantUml from './plantuml_table'; +export default function schemaToErd(schemaFilePath, outputDirPath) { + return __awaiter(this, void 0, void 0, function* () { + const sqlStr = yield fs.readFile(schemaFilePath, 'utf8'); + const tableColumns = parseDdl(sqlStr); + const pumlStr = generatePlantUml(tableColumns); + const schemaFilePathStr = schemaFilePath.toString(); + const pumlDirPath = (outputDirPath === null || outputDirPath === void 0 ? void 0 : outputDirPath.toString()) || path.parse(schemaFilePathStr).dir; + const pumlFilePath = path.join(pumlDirPath, `${path.parse(schemaFilePathStr).name}.puml`); + if (pumlDirPath) { + yield fs.mkdir(pumlDirPath, { recursive: true }); + } + yield fs.writeFile(pumlFilePath, pumlStr, 'utf8'); + return { pumlFilePath, pumlStr }; + }); +} +//# sourceMappingURL=schema_to_erd.js.map \ No newline at end of file diff --git a/dist/esm/unparsable.config.js b/dist/esm/unparsable.config.js new file mode 100644 index 0000000..e710540 --- /dev/null +++ b/dist/esm/unparsable.config.js @@ -0,0 +1,6 @@ +export default { + 'inter-token': ['BINARY', 'national', 'STORED'], + 'match-token': ['VIRTUAL', 'type = innodb', 'default 0000-00-00 00:00:00', 'default 0000-00-00', 'CONSTRAINT check_active'], + 'func-token': ['GENERATED', 'CHECK', 'PARTITION BY LIST (transaction_type)'], +}; +//# sourceMappingURL=unparsable.config.js.map \ No newline at end of file diff --git a/dist/main.cjs b/dist/main.cjs deleted file mode 100644 index e497f43..0000000 --- a/dist/main.cjs +++ /dev/null @@ -1,74 +0,0 @@ -var qb=Object.create;var ur=Object.defineProperty;var kb=Object.getOwnPropertyDescriptor;var Vb=Object.getOwnPropertyNames;var Jb=Object.getPrototypeOf,zb=Object.prototype.hasOwnProperty;var Q=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports),Zb=(s,t)=>{for(var o in t)ur(s,o,{get:t[o],enumerable:!0})},cu=(s,t,o,E)=>{if(t&&typeof t=="object"||typeof t=="function")for(let T of Vb(t))!zb.call(s,T)&&T!==o&&ur(s,T,{get:()=>t[T],enumerable:!(E=kb(t,T))||E.enumerable});return s};var ar=(s,t,o)=>(o=s!=null?qb(Jb(s)):{},cu(t||!s||!s.__esModule?ur(o,"default",{value:s,enumerable:!0}):o,s)),jb=s=>cu(ur({},"__esModule",{value:!0}),s);var Iu=Q((mu,pr)=>{(function(s,t){typeof pr=="object"&&pr.exports?pr.exports=t():s.nearley=t()})(mu,function(){function s(I,L,P){return this.id=++s.highestId,this.name=I,this.symbols=L,this.postprocess=P,this}s.highestId=0,s.prototype.toString=function(I){var L=typeof I>"u"?this.symbols.map(Y).join(" "):this.symbols.slice(0,I).map(Y).join(" ")+" \u25CF "+this.symbols.slice(I).map(Y).join(" ");return this.name+" \u2192 "+L};function t(I,L,P,K){this.rule=I,this.dot=L,this.reference=P,this.data=[],this.wantedBy=K,this.isComplete=this.dot===I.symbols.length}t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(I){var L=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return L.left=this,L.right=I,L.isComplete&&(L.data=L.build(),L.right=void 0),L},t.prototype.build=function(){var I=[],L=this;do I.push(L.right.data),L=L.left;while(L.left);return I.reverse(),I},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,c.fail))};function o(I,L){this.grammar=I,this.index=L,this.states=[],this.wants={},this.scannable=[],this.completed={}}o.prototype.process=function(I){for(var L=this.states,P=this.wants,K=this.completed,q=0;q0&&L.push(" ^ "+K+" more lines identical to this"),K=0,L.push(" "+te)),P=te}},c.prototype.getSymbolDisplay=function(I){return O(I)},c.prototype.buildFirstStateStack=function(I,L){if(L.indexOf(I)!==-1)return null;if(I.wantedBy.length===0)return[I];var P=I.wantedBy[0],K=[I].concat(L),q=this.buildFirstStateStack(P,K);return q===null?null:[I].concat(q)},c.prototype.save=function(){var I=this.table[this.current];return I.lexerState=this.lexerState,I},c.prototype.restore=function(I){var L=I.index;this.current=L,this.table[L]=I,this.table.splice(L+1),this.lexerState=I.lexerState,this.results=this.finish()},c.prototype.rewind=function(I){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[I])},c.prototype.finish=function(){var I=[],L=this.grammar.start,P=this.table[this.table.length-1];return P.states.forEach(function(K){K.rule.name===L&&K.dot===K.rule.symbols.length&&K.reference===0&&K.data!==c.fail&&I.push(K)}),I.map(function(K){return K.data})};function O(I){var L=typeof I;if(L==="string")return I;if(L==="object"){if(I.literal)return JSON.stringify(I.literal);if(I instanceof RegExp)return"character matching "+I;if(I.type)return I.type+" token";if(I.test)return"token matching "+String(I.test);throw new Error("Unknown symbol type: "+I)}}function Y(I){var L=typeof I;if(L==="string")return I;if(L==="object"){if(I.literal)return JSON.stringify(I.literal);if(I instanceof RegExp)return I.toString();if(I.type)return"%"+I.type;if(I.test)return"<"+String(I.test)+">";throw new Error("Unknown symbol type: "+I)}}return{Parser:c,Grammar:E,Rule:s}})});var he=Q(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.setProperty=Ie.isDefined=Ie.isObject=Ie.isFunction=Ie.isNumber=Ie.isString=Ie.isArray=Ie.filterNullValues=Ie.trimString=Ie.stringArrayToMapping=void 0;function ec(s=[],t=E=>E,o=E=>E){return s.reduce((E,T)=>(E[t(T)]=o(T),E),{})}Ie.stringArrayToMapping=ec;function sc(s,t="",o="\\s\\0\\x0B"){return s.replace(new RegExp(`^[${t+o}]*|[${t+o}]*$`,"gim"),"")}Ie.trimString=sc;function nc(s){return Object.getOwnPropertyNames(s).forEach(t=>{s[t]===null&&delete s[t]}),s}Ie.filterNullValues=nc;function tc(s){return Array.isArray(s)}Ie.isArray=tc;function rc(s){return typeof s=="string"}Ie.isString=rc;function _c(s){return typeof s=="number"}Ie.isNumber=_c;function oc(s){return typeof s=="function"}Ie.isFunction=oc;function ic(s){return s!==null&&typeof s=="object"}Ie.isObject=ic;function Ec(s){return typeof s<"u"&&s!==null}Ie.isDefined=Ec;function uc(s,t,o){typeof o!="function"&&Object.defineProperty(s,t,{value:o,enumerable:!0,configurable:!0,writable:!0})}Ie.setProperty=uc});var Ru=Q((Ou,$r)=>{(function(s,t){typeof define=="function"&&define.amd?define([],t):typeof $r=="object"&&$r.exports?$r.exports=t():s.moo=t()})(Ou,function(){"use strict";var s=Object.prototype.hasOwnProperty,t=Object.prototype.toString,o=typeof new RegExp().sticky=="boolean";function E(R){return R&&t.call(R)==="[object RegExp]"}function T(R){return R&&typeof R=="object"&&!E(R)&&!Array.isArray(R)}function c(R){return R.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function O(R){var x=new RegExp("|"+R);return x.exec("").length-1}function Y(R){return"("+R+")"}function I(R){if(!R.length)return"(?!)";var x=R.map(function(v){return"(?:"+v+")"}).join("|");return"(?:"+x+")"}function L(R){if(typeof R=="string")return"(?:"+c(R)+")";if(E(R)){if(R.ignoreCase)throw new Error("RegExp /i flag not allowed");if(R.global)throw new Error("RegExp /g flag is implied");if(R.sticky)throw new Error("RegExp /y flag is implied");if(R.multiline)throw new Error("RegExp /m flag is implied");return R.source}else throw new Error("Not a pattern: "+R)}function P(R){for(var x=Object.getOwnPropertyNames(R),v=[],U=0;U0)throw new Error("RegExp has capture groups: "+Pe+` -Use (?: \u2026 ) instead`);if(!w.lineBreaks&&Pe.test(` -`))throw new Error("Rule should declare lineBreaks: "+Pe);Ee.push(Y(ds))}}var Bs=v&&v.fallback,Es=o&&!Bs?"ym":"gm",bs=o||Bs?"":"|";G===!0&&(Es+="u");var jr=new RegExp(I(Ee)+bs,Es);return{regexp:jr,groups:se,fast:U,error:v||te}}function Se(R){var x=_e(X(R));return new pe({start:x},"start")}function re(R,x,v){var U=R&&(R.push||R.next);if(U&&!v[U])throw new Error("Missing state '"+U+"' (in token '"+R.defaultType+"' of state '"+x+"')");if(R&&R.pop&&+R.pop!=1)throw new Error("pop must be 1 (in token '"+R.defaultType+"' of state '"+x+"')")}function ye(R,x){var v=R.$all?X(R.$all):[];delete R.$all;var U=Object.getOwnPropertyNames(R);x||(x=U[0]);for(var J=Object.create(null),G=0;G{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});var ac=he(),pc=ac.stringArrayToMapping(["STATS_SAMPLE_PAGES","GEOMETRYCOLLECTION","STATS_AUTO_RECALC","ENCRYPTION_KEY_ID","CURRENT_TIMESTAMP","STATS_PERSISTENT","DELAY_KEY_WRITE","MULTILINESTRING","LOCALTIMESTAMP","AUTO_INCREMENT","AVG_ROW_LENGTH","UNIX_TIMESTAMP","LAST_INSERT_ID","KEY_BLOCK_SIZE","COLUMN_FORMAT","CONNECTION_ID","PAGE_CHECKSUM","TRANSACTIONAL","UTC_TIMESTAMP","INSERT_METHOD","SESSION_USER","MULTIPOLYGON","CURRENT_DATE","CURRENT_TIME","CURRENT_USER","COMPRESSION","IETF_QUOTES","SYSTEM_TIME","SYSTEM_USER","VERSIONING","MULTIPOINT","LINESTRING","CONNECTION","MEDIUMBLOB","COMPRESSED","ENCRYPTION","VALIDATION","CONSTRAINT","ROW_FORMAT","UUID_SHORT","FOUND_ROWS","TABLESPACE","REFERENCES","MEDIUMTEXT","VARBINARY","TEMPORARY","REDUNDANT","EXCLUSIVE","ROW_COUNT","LOCALTIME","MEDIUMINT","TIMESTAMP","DIRECTORY","INVISIBLE","PACK_KEYS","ALGORITHM","CHARACTER","TINYBLOB","UTC_TIME","NATIONAL","FULLTEXT","GEOMETRY","MAX_ROWS","DATABASE","LONGBLOB","UNSIGNED","TINYTEXT","DATETIME","MIN_ROWS","ZEROFILL","UTC_DATE","PASSWORD","CHECKSUM","RESTRICT","LONGTEXT","SMALLINT","CONVERT","SPATIAL","INPLACE","STORAGE","SYSDATE","FOREIGN","TINYINT","DYNAMIC","DISCARD","DISABLE","DEFAULT","DECIMAL","CURTIME","CURDATE","INTEGER","COMPACT","COMMENT","COLLATE","REPLACE","CHARSET","CASCADE","BOOLEAN","NUMERIC","OFFLINE","PRIMARY","POLYGON","VARCHAR","VERSION","WITHOUT","PARTIAL","ENABLE","MEMORY","CREATE","MODIFY","DELETE","ENGINE","UPDATE","BIGINT","SYSTEM","SIMPLE","EXISTS","RENAME","BINARY","NOWAIT","IGNORE","SHARED","IMPORT","ACTION","ONLINE","SCHEMA","PERIOD","UNIQUE","DOUBLE","CHANGE","PARSER","COLUMN","INDEX","FLOAT","POINT","ALTER","ROUND","NCHAR","MATCH","RTREE","BTREE","AFTER","USING","FORCE","TABLE","ORDER","FIXED","FIRST","FALSE","UNION","UUID","LOCK","LIKE","LAST","KEYS","CHAR","JSON","COPY","WAIT","NONE","HASH","FULL","BLOB","YEAR","USER","PAGE","TEXT","TIME","RAND","NULL","BOOL","ENUM","DATA","DROP","TRUE","WITH","DISK","DESC","DATE","ZLIB","BIT","YES","INT","KEY","NOW","SET","ADD","LZ4","NOT","FOR","ASC","USE","AS","NO","BY","ON","OR","IF","PI","TO"],s=>`K_${s}`,s=>new RegExp(`\\b${s.split("").reduce((t,o)=>(t+=`[${o.toUpperCase()}${o.toLowerCase()}]`,t),"")}\\b`));Oo.default=pc});var Nu=Q(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.default={WS:{match:/(?:\s+|#.*|-- +.*|\/\*(?:[\s\S])*?\*\/)+/,lineBreaks:!0},S_EQUAL:"=",S_LPARENS:"(",S_RPARENS:")",S_COMMA:",",S_SEMICOLON:";",S_BIT_FORMAT:{match:/b'[01]+'|0b[01]+/},S_HEXA_FORMAT:{match:/[Xx]'[0-9a-fA-F]+'|0x[0-9a-fA-F]+/},S_DQUOTE_STRING:{match:/""|"(?:(?:"")|[^"\\]|\\.)*"/,value:s=>s.substr(1,s.length-2).replace(/\\"/g,'"').replace(/""/g,'"')},S_SQUOTE_STRING:{match:/''|'(?:(?:'')|[^'\\]|\\.)*'/,value:s=>s.substr(1,s.length-2).replace(/\\'/g,"'").replace(/''/g,"'")},S_NUMBER:{match:/[+-]?(?:\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)/,value:Number},S_IDENTIFIER_QUOTED:{match:/`(?:(?:``)|[^`\\])*`/,value:s=>s.substr(1,s.length-2).replace(/``/g,"`")},S_IDENTIFIER_UNQUOTED:{match:/[0-9a-zA-Z$_]+/},S_UNKNOWN:{match:/.+/}}});var Su=Q(Et=>{"use strict";var ho=Et&&Et.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Et,"__esModule",{value:!0});function f(s){return s[0]}var $c=ho(Ru()),Tc=ho(hu()),lc=ho(Nu()),fc=Object.assign({},Tc.default,lc.default),_=$c.default.compile(fc),Ac={Lexer:_,ParserRules:[{name:"P_DDS$subexpression$1",symbols:["P_CREATE_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_CREATE_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_CREATE_INDEX","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_ALTER_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_ALTER_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_INDEX","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_RENAME_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_SET","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_USE_DB","_"],postprocess:f},{name:"P_DDS",symbols:["_","P_DDS$subexpression$1"],postprocess:s=>({id:"P_DDS",def:s[1]})},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",_.has("WS")?{type:"WS"}:WS],postprocess:s=>s[0].concat([s[1]])},{name:"_",symbols:["_$ebnf$1"]},{name:"__$ebnf$1",symbols:[_.has("WS")?{type:"WS"}:WS]},{name:"__$ebnf$1",symbols:["__$ebnf$1",_.has("WS")?{type:"WS"}:WS],postprocess:s=>s[0].concat([s[1]])},{name:"__",symbols:["__$ebnf$1"]},{name:"S_EOS",symbols:["_",_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"O_CHARSET",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_CHARSET",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_COLLATION",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_COLLATION",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_ENGINE",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_ENGINE",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>"("+(s[2]?s[2].value:"")+")"},{name:"O_DEFAULT_VALUE$ebnf$1",symbols:["O_DEFAULT_VALUE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_DEFAULT_VALUE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DEFAULT_VALUE",symbols:["S_IDENTIFIER","O_DEFAULT_VALUE$ebnf$1"],postprocess:s=>{var t;return s[0]+((t=s[1])!==null&&t!==void 0?t:"")}},{name:"O_DEFAULT_VALUE",symbols:["O_QUOTED_STRING"],postprocess:f},{name:"O_QUOTED_STRING",symbols:[_.has("S_DQUOTE_STRING")?{type:"S_DQUOTE_STRING"}:S_DQUOTE_STRING],postprocess:s=>s[0].value},{name:"O_QUOTED_STRING",symbols:[_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[0].value},{name:"O_TABLE_OPTION_VALUE",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_TABLE_OPTION_VALUE",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_TABLE_OPTION_VALUE",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("S_IDENTIFIER_QUOTED")?{type:"S_IDENTIFIER_QUOTED"}:S_IDENTIFIER_QUOTED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("S_IDENTIFIER_UNQUOTED")?{type:"S_IDENTIFIER_UNQUOTED"}:S_IDENTIFIER_UNQUOTED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TO")?{type:"K_TO"}:K_TO],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PI")?{type:"K_PI"}:K_PI],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IF")?{type:"K_IF"}:K_IF],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_OR")?{type:"K_OR"}:K_OR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BY")?{type:"K_BY"}:K_BY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AS")?{type:"K_AS"}:K_AS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USE")?{type:"K_USE"}:K_USE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ASC")?{type:"K_ASC"}:K_ASC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOR")?{type:"K_FOR"}:K_FOR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOT")?{type:"K_NOT"}:K_NOT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LZ4")?{type:"K_LZ4"}:K_LZ4],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOW")?{type:"K_NOW"}:K_NOW],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INT")?{type:"K_INT"}:K_INT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_YES")?{type:"K_YES"}:K_YES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BIT")?{type:"K_BIT"}:K_BIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ZLIB")?{type:"K_ZLIB"}:K_ZLIB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATE")?{type:"K_DATE"}:K_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DESC")?{type:"K_DESC"}:K_DESC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TRUE")?{type:"K_TRUE"}:K_TRUE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATA")?{type:"K_DATA"}:K_DATA],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENUM")?{type:"K_ENUM"}:K_ENUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BOOL")?{type:"K_BOOL"}:K_BOOL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RAND")?{type:"K_RAND"}:K_RAND],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TIME")?{type:"K_TIME"}:K_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TEXT")?{type:"K_TEXT"}:K_TEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PAGE")?{type:"K_PAGE"}:K_PAGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USER")?{type:"K_USER"}:K_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_YEAR")?{type:"K_YEAR"}:K_YEAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BLOB")?{type:"K_BLOB"}:K_BLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FULL")?{type:"K_FULL"}:K_FULL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_HASH")?{type:"K_HASH"}:K_HASH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_JSON")?{type:"K_JSON"}:K_JSON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LAST")?{type:"K_LAST"}:K_LAST],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UUID")?{type:"K_UUID"}:K_UUID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNION")?{type:"K_UNION"}:K_UNION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FALSE")?{type:"K_FALSE"}:K_FALSE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ORDER")?{type:"K_ORDER"}:K_ORDER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FORCE")?{type:"K_FORCE"}:K_FORCE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USING")?{type:"K_USING"}:K_USING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BTREE")?{type:"K_BTREE"}:K_BTREE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RTREE")?{type:"K_RTREE"}:K_RTREE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MATCH")?{type:"K_MATCH"}:K_MATCH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NCHAR")?{type:"K_NCHAR"}:K_NCHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROUND")?{type:"K_ROUND"}:K_ROUND],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_POINT")?{type:"K_POINT"}:K_POINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FLOAT")?{type:"K_FLOAT"}:K_FLOAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PARSER")?{type:"K_PARSER"}:K_PARSER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHANGE")?{type:"K_CHANGE"}:K_CHANGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DOUBLE")?{type:"K_DOUBLE"}:K_DOUBLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PERIOD")?{type:"K_PERIOD"}:K_PERIOD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ACTION")?{type:"K_ACTION"}:K_ACTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IMPORT")?{type:"K_IMPORT"}:K_IMPORT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IGNORE")?{type:"K_IGNORE"}:K_IGNORE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BINARY")?{type:"K_BINARY"}:K_BINARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SIMPLE")?{type:"K_SIMPLE"}:K_SIMPLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BIGINT")?{type:"K_BIGINT"}:K_BIGINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENGINE")?{type:"K_ENGINE"}:K_ENGINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DELETE")?{type:"K_DELETE"}:K_DELETE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MODIFY")?{type:"K_MODIFY"}:K_MODIFY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENABLE")?{type:"K_ENABLE"}:K_ENABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PARTIAL")?{type:"K_PARTIAL"}:K_PARTIAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VERSION")?{type:"K_VERSION"}:K_VERSION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VARCHAR")?{type:"K_VARCHAR"}:K_VARCHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_POLYGON")?{type:"K_POLYGON"}:K_POLYGON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NUMERIC")?{type:"K_NUMERIC"}:K_NUMERIC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BOOLEAN")?{type:"K_BOOLEAN"}:K_BOOLEAN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPACT")?{type:"K_COMPACT"}:K_COMPACT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INTEGER")?{type:"K_INTEGER"}:K_INTEGER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURDATE")?{type:"K_CURDATE"}:K_CURDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURTIME")?{type:"K_CURTIME"}:K_CURTIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DECIMAL")?{type:"K_DECIMAL"}:K_DECIMAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISABLE")?{type:"K_DISABLE"}:K_DISABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISCARD")?{type:"K_DISCARD"}:K_DISCARD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYINT")?{type:"K_TINYINT"}:K_TINYINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSDATE")?{type:"K_SYSDATE"}:K_SYSDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONVERT")?{type:"K_CONVERT"}:K_CONVERT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SMALLINT")?{type:"K_SMALLINT"}:K_SMALLINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LONGTEXT")?{type:"K_LONGTEXT"}:K_LONGTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHECKSUM")?{type:"K_CHECKSUM"}:K_CHECKSUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PASSWORD")?{type:"K_PASSWORD"}:K_PASSWORD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_DATE")?{type:"K_UTC_DATE"}:K_UTC_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ZEROFILL")?{type:"K_ZEROFILL"}:K_ZEROFILL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MIN_ROWS")?{type:"K_MIN_ROWS"}:K_MIN_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATETIME")?{type:"K_DATETIME"}:K_DATETIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYTEXT")?{type:"K_TINYTEXT"}:K_TINYTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNSIGNED")?{type:"K_UNSIGNED"}:K_UNSIGNED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LONGBLOB")?{type:"K_LONGBLOB"}:K_LONGBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MAX_ROWS")?{type:"K_MAX_ROWS"}:K_MAX_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_GEOMETRY")?{type:"K_GEOMETRY"}:K_GEOMETRY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NATIONAL")?{type:"K_NATIONAL"}:K_NATIONAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_TIME")?{type:"K_UTC_TIME"}:K_UTC_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYBLOB")?{type:"K_TINYBLOB"}:K_TINYBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PACK_KEYS")?{type:"K_PACK_KEYS"}:K_PACK_KEYS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DIRECTORY")?{type:"K_DIRECTORY"}:K_DIRECTORY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TIMESTAMP")?{type:"K_TIMESTAMP"}:K_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMINT")?{type:"K_MEDIUMINT"}:K_MEDIUMINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCALTIME")?{type:"K_LOCALTIME"}:K_LOCALTIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROW_COUNT")?{type:"K_ROW_COUNT"}:K_ROW_COUNT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REDUNDANT")?{type:"K_REDUNDANT"}:K_REDUNDANT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VARBINARY")?{type:"K_VARBINARY"}:K_VARBINARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMTEXT")?{type:"K_MEDIUMTEXT"}:K_MEDIUMTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REFERENCES")?{type:"K_REFERENCES"}:K_REFERENCES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOUND_ROWS")?{type:"K_FOUND_ROWS"}:K_FOUND_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UUID_SHORT")?{type:"K_UUID_SHORT"}:K_UUID_SHORT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROW_FORMAT")?{type:"K_ROW_FORMAT"}:K_ROW_FORMAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENCRYPTION")?{type:"K_ENCRYPTION"}:K_ENCRYPTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPRESSED")?{type:"K_COMPRESSED"}:K_COMPRESSED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMBLOB")?{type:"K_MEDIUMBLOB"}:K_MEDIUMBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONNECTION")?{type:"K_CONNECTION"}:K_CONNECTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LINESTRING")?{type:"K_LINESTRING"}:K_LINESTRING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTIPOINT")?{type:"K_MULTIPOINT"}:K_MULTIPOINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM_USER")?{type:"K_SYSTEM_USER"}:K_SYSTEM_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM_TIME")?{type:"K_SYSTEM_TIME"}:K_SYSTEM_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IETF_QUOTES")?{type:"K_IETF_QUOTES"}:K_IETF_QUOTES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPRESSION")?{type:"K_COMPRESSION"}:K_COMPRESSION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_USER")?{type:"K_CURRENT_USER"}:K_CURRENT_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_TIME")?{type:"K_CURRENT_TIME"}:K_CURRENT_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_DATE")?{type:"K_CURRENT_DATE"}:K_CURRENT_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTIPOLYGON")?{type:"K_MULTIPOLYGON"}:K_MULTIPOLYGON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SESSION_USER")?{type:"K_SESSION_USER"}:K_SESSION_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INSERT_METHOD")?{type:"K_INSERT_METHOD"}:K_INSERT_METHOD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_TIMESTAMP")?{type:"K_UTC_TIMESTAMP"}:K_UTC_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TRANSACTIONAL")?{type:"K_TRANSACTIONAL"}:K_TRANSACTIONAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PAGE_CHECKSUM")?{type:"K_PAGE_CHECKSUM"}:K_PAGE_CHECKSUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONNECTION_ID")?{type:"K_CONNECTION_ID"}:K_CONNECTION_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLUMN_FORMAT")?{type:"K_COLUMN_FORMAT"}:K_COLUMN_FORMAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LAST_INSERT_ID")?{type:"K_LAST_INSERT_ID"}:K_LAST_INSERT_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNIX_TIMESTAMP")?{type:"K_UNIX_TIMESTAMP"}:K_UNIX_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AVG_ROW_LENGTH")?{type:"K_AVG_ROW_LENGTH"}:K_AVG_ROW_LENGTH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCALTIMESTAMP")?{type:"K_LOCALTIMESTAMP"}:K_LOCALTIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTILINESTRING")?{type:"K_MULTILINESTRING"}:K_MULTILINESTRING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DELAY_KEY_WRITE")?{type:"K_DELAY_KEY_WRITE"}:K_DELAY_KEY_WRITE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_PERSISTENT")?{type:"K_STATS_PERSISTENT"}:K_STATS_PERSISTENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_TIMESTAMP")?{type:"K_CURRENT_TIMESTAMP"}:K_CURRENT_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENCRYPTION_KEY_ID")?{type:"K_ENCRYPTION_KEY_ID"}:K_ENCRYPTION_KEY_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_AUTO_RECALC")?{type:"K_STATS_AUTO_RECALC"}:K_STATS_AUTO_RECALC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_GEOMETRYCOLLECTION")?{type:"K_GEOMETRYCOLLECTION"}:K_GEOMETRYCOLLECTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_SAMPLE_PAGES")?{type:"K_STATS_SAMPLE_PAGES"}:K_STATS_SAMPLE_PAGES],postprocess:s=>s[0].value},{name:"P_ALTER_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_ALTER_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_ALTER_DB$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$1",symbols:["P_ALTER_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_ALTER_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_ALTER_DB$ebnf$2$subexpression$1",symbols:["__","O_ALTER_DB_SPEC"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$2",symbols:["P_ALTER_DB$ebnf$2$subexpression$1"]},{name:"P_ALTER_DB$ebnf$2$subexpression$2",symbols:["__","O_ALTER_DB_SPEC"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$2",symbols:["P_ALTER_DB$ebnf$2","P_ALTER_DB$ebnf$2$subexpression$2"],postprocess:s=>s[0].concat([s[1]])},{name:"P_ALTER_DB",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","P_ALTER_DB$subexpression$1","P_ALTER_DB$ebnf$1","P_ALTER_DB$ebnf$2","S_EOS"],postprocess:s=>({id:"P_ALTER_DB",def:{database:s[3],meta:s[4]}})},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_DB_SPEC$subexpression$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$1","O_ALTER_DB_SPEC$subexpression$1$subexpression$1","O_ALTER_DB_SPEC$subexpression$1$subexpression$2","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_DB_SPEC$subexpression$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_ALTER_DB_SPEC$subexpression$1$subexpression$3","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_ALTER_DB_SPEC",symbols:["O_ALTER_DB_SPEC$subexpression$1"],postprocess:s=>({id:"O_ALTER_DB_SPEC",def:s[0]})},{name:"P_ALTER_TABLE$ebnf$1$subexpression$1",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE,"__"]},{name:"P_ALTER_TABLE$ebnf$1",symbols:["P_ALTER_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$2$subexpression$1",symbols:[_.has("K_IGNORE")?{type:"K_IGNORE"}:K_IGNORE,"__"]},{name:"P_ALTER_TABLE$ebnf$2",symbols:["P_ALTER_TABLE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$3$subexpression$1",symbols:[_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"__"]},{name:"P_ALTER_TABLE$ebnf$3$subexpression$1",symbols:[_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT,"__"]},{name:"P_ALTER_TABLE$ebnf$3",symbols:["P_ALTER_TABLE$ebnf$3$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$4",symbols:[]},{name:"P_ALTER_TABLE$ebnf$4$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_ALTER_TABLE_SPECS"],postprocess:s=>s[3]},{name:"P_ALTER_TABLE$ebnf$4",symbols:["P_ALTER_TABLE$ebnf$4","P_ALTER_TABLE$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_ALTER_TABLE",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","P_ALTER_TABLE$ebnf$1","P_ALTER_TABLE$ebnf$2",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"__","S_IDENTIFIER","__","P_ALTER_TABLE$ebnf$3","P_ALTER_TABLE_SPECS","P_ALTER_TABLE$ebnf$4","S_EOS"],postprocess:s=>({id:"P_ALTER_TABLE",def:{table:s[6],specs:[s[9]].concat(s[10])}})},{name:"P_ALTER_TABLE_SPECS$subexpression$1",symbols:["P_CREATE_TABLE_OPTIONS"],postprocess:s=>({tableOptions:s[0]})},{name:"P_ALTER_TABLE_SPECS$subexpression$1",symbols:["O_ALTER_TABLE_SPEC"],postprocess:s=>({spec:s[0]})},{name:"P_ALTER_TABLE_SPECS",symbols:["P_ALTER_TABLE_SPECS$subexpression$1"],postprocess:s=>({id:"P_ALTER_TABLE_SPECS",def:s[0]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1","__","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4"],postprocess:s=>{var t;let o={action:"addColumn",name:s[3],datatype:s[5],columnDefinition:(t=s[6])!==null&&t!==void 0?t:[],position:s[8]};return s[7]&&(o.reference=s[7]),o}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5$subexpression$1",symbols:["__",_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2"],postprocess:s=>{var t;let o={name:s[3],datatype:s[5],columnDefinition:(t=s[6])!==null&&t!==void 0?t:[]};return s[7]&&(o.reference=s[7]),o}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1",symbols:["S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3"],postprocess:s=>{var t,o;let E={name:s[0],datatype:s[2],columnDefinition:(t=s[3])!==null&&t!==void 0?t:[]};return s[4]&&(E.reference=s[4]),[E].concat((o=s[5])!==null&&o!==void 0?o:[])}},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({action:"addColumns",columns:s[5]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9"],postprocess:s=>{var t;return{action:"addIndex",name:s[3],index:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13"],postprocess:s=>{var t;return{action:"addPrimaryKey",name:s[2],index:s[6],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),options:s[14]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19"],postprocess:s=>{var t;return s[5]&&["index","key"].includes(s[5].toLowerCase())&&(s[5]=void 0),{action:"addUniqueKey",name:s[2],index:s[6],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),options:s[14]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23"],postprocess:s=>{var t;return s[4]&&["index","key"].includes(s[4].toLowerCase())&&(s[4]=void 0),{action:"addFulltextIndex",name:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27"],postprocess:s=>{var t;return s[4]&&["index","key"].includes(s[4].toLowerCase())&&(s[4]=void 0),{action:"addSpatialIndex",name:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_","P_COLUMN_REFERENCE"],postprocess:s=>{var t;return{action:"addForeignKey",name:s[2],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),reference:s[15]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM,"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4"],postprocess:s=>({action:"changeAlgorithm",algorithm:s[2].value})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31","S_IDENTIFIER","__",_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__","O_DEFAULT_VALUE"],postprocess:s=>({action:"setDefaultColumnValue",column:s[3],value:s[9]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32","S_IDENTIFIER","__",_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>({action:"dropDefaultColumnValue",column:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_CHANGE")?{type:"K_CHANGE"}:K_CHANGE,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33","S_IDENTIFIER","__","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36"],postprocess:s=>{let t={action:"changeColumn",column:s[3],newName:s[5],datatype:s[7],columnDefinition:s[8],position:s[10]};return s[9]&&(t.reference=s[9]),t}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_MODIFY")?{type:"K_MODIFY"}:K_MODIFY,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40"],postprocess:s=>{let t={action:"changeColumn",column:s[3],newName:void 0,datatype:s[5],columnDefinition:s[6],position:s[8]};return s[7]&&(t.reference=s[7]),t}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41$subexpression$1",symbols:["__",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"__","O_COLLATION"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_CONVERT")?{type:"K_CONVERT"}:K_CONVERT,"__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5","__","O_CHARSET","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41"],postprocess:s=>({action:"convertToCharacterSet",charset:s[6],collate:s[7]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ENABLE")?{type:"K_ENABLE"}:K_ENABLE,"__",_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>({action:"enableKeys"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DISABLE")?{type:"K_DISABLE"}:K_DISABLE,"__",_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>({action:"disableKeys"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DISCARD")?{type:"K_DISCARD"}:K_DISCARD,"__",_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>({action:"discardTablespace"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_IMPORT")?{type:"K_IMPORT"}:K_IMPORT,"__",_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>({action:"importTablespace"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43$subexpression$1",symbols:[_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43","S_IDENTIFIER"],postprocess:s=>({action:"dropColumn",column:s[4]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6","__","S_IDENTIFIER"],postprocess:s=>({action:"dropIndex",index:s[4]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>({action:"dropPrimaryKey"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"__","S_IDENTIFIER"],postprocess:s=>({action:"dropForeignKey",key:s[6]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_FORCE")?{type:"K_FORCE"}:K_FORCE],postprocess:s=>({action:"force"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7",symbols:["__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK,"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8"],postprocess:s=>({action:"changeLock",lock:s[2].value})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ORDER")?{type:"K_ORDER"}:K_ORDER,"__",_.has("K_BY")?{type:"K_BY"}:K_BY,"__","S_IDENTIFIER","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44"],postprocess:s=>{var t;return{action:"orderBy",columns:[s[4]].concat((t=s[5])!==null&&t!==void 0?t:[])}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9","__","S_IDENTIFIER","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER"],postprocess:s=>({action:"renameIndex",index:s[4],newName:s[8]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1",symbols:[_.has("K_TO")?{type:"K_TO"}:K_TO,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1",symbols:[_.has("K_AS")?{type:"K_AS"}:K_AS,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45","S_IDENTIFIER"],postprocess:s=>({action:"rename",newName:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>({action:"withValidation"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT,"__",_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>({action:"withoutValidation"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_PERIOD")?{type:"K_PERIOD"}:K_PERIOD,"__",_.has("K_FOR")?{type:"K_FOR"}:K_FOR,"__",_.has("K_SYSTEM_TIME")?{type:"K_SYSTEM_TIME"}:K_SYSTEM_TIME,"_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","S_IDENTIFIER","_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({action:"addPeriodForSystemTime",startColumnName:s[10],endColumnName:s[14]})},{name:"O_ALTER_TABLE_SPEC",symbols:["O_ALTER_TABLE_SPEC$subexpression$1"],postprocess:s=>({id:"O_ALTER_TABLE_SPEC",def:s[0]})},{name:"P_CREATE_DB$ebnf$1$subexpression$1",symbols:[_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE,"__"]},{name:"P_CREATE_DB$ebnf$1",symbols:["P_CREATE_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_CREATE_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT]},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1",symbols:["P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1","__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_DB$ebnf$2",symbols:["P_CREATE_DB$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$ebnf$3",symbols:[]},{name:"P_CREATE_DB$ebnf$3$subexpression$1",symbols:["__","O_CREATE_DB_SPEC"],postprocess:s=>s[1]},{name:"P_CREATE_DB$ebnf$3",symbols:["P_CREATE_DB$ebnf$3","P_CREATE_DB$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_DB",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"__","P_CREATE_DB$ebnf$1","P_CREATE_DB$subexpression$1","P_CREATE_DB$ebnf$2","__","S_IDENTIFIER","P_CREATE_DB$ebnf$3","S_EOS"],postprocess:s=>({id:"P_CREATE_DB",def:{database:s[6],meta:s[7]}})},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_DB_SPEC$subexpression$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$1","O_CREATE_DB_SPEC$subexpression$1$subexpression$1","O_CREATE_DB_SPEC$subexpression$1$subexpression$2","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_DB_SPEC$subexpression$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_CREATE_DB_SPEC$subexpression$1$subexpression$3","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_CREATE_DB_SPEC",symbols:["O_CREATE_DB_SPEC$subexpression$1"],postprocess:s=>({id:"O_CREATE_DB_SPEC",def:s[0]})},{name:"P_CREATE_INDEX$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_INDEX$ebnf$1",symbols:["P_CREATE_INDEX$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE]},{name:"P_CREATE_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE]},{name:"P_CREATE_INDEX$ebnf$2",symbols:["P_CREATE_INDEX$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3",symbols:["P_CREATE_INDEX$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$4$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_INDEX$ebnf$4",symbols:["P_CREATE_INDEX$ebnf$4$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$5$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$5",symbols:["P_CREATE_INDEX$ebnf$5$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$5",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1",symbols:[]},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1",symbols:["P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1","P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>{var t;return[s[3]].concat((t=s[4])!==null&&t!==void 0?t:[])}},{name:"P_CREATE_INDEX$ebnf$6",symbols:["P_CREATE_INDEX$ebnf$6$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$6",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$7$subexpression$1",symbols:["_",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_CREATE_INDEX$ebnf$7$subexpression$1",symbols:["_",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_CREATE_INDEX$ebnf$7",symbols:["P_CREATE_INDEX$ebnf$7$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$7",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$8",symbols:[]},{name:"P_CREATE_INDEX$ebnf$8$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$8",symbols:["P_CREATE_INDEX$ebnf$8","P_CREATE_INDEX$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX$ebnf$9",symbols:[]},{name:"P_CREATE_INDEX$ebnf$9$subexpression$1",symbols:["_","P_INDEX_ALGORITHM_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$9$subexpression$1",symbols:["_","P_LOCK_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$9",symbols:["P_CREATE_INDEX$ebnf$9","P_CREATE_INDEX$ebnf$9$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_INDEX$ebnf$1","P_CREATE_INDEX$ebnf$2","P_CREATE_INDEX$ebnf$3","__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"P_CREATE_INDEX$ebnf$4","__","S_IDENTIFIER","P_CREATE_INDEX$ebnf$5","__",_.has("K_ON")?{type:"K_ON"}:K_ON,"__","S_IDENTIFIER","P_CREATE_INDEX$ebnf$6","P_CREATE_INDEX$ebnf$7","P_CREATE_INDEX$ebnf$8","P_CREATE_INDEX$ebnf$9","S_EOS"],postprocess:s=>{var t,o;let E=s[3]?s[3].value+" ":"";return E=E+s[5].value,{id:"P_CREATE_INDEX",def:{name:s[8],type:E,index:s[9],table:s[13],columns:s[14],options:((t=s[16])!==null&&t!==void 0?t:[]).concat((o=s[17])!==null&&o!==void 0?o:[])}}}},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1",symbols:["_",_.has("K_ASC")?{type:"K_ASC"}:K_ASC],postprocess:s=>s[1]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1",symbols:["_",_.has("K_DESC")?{type:"K_DESC"}:K_DESC],postprocess:s=>s[1]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1","P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2"],postprocess:s=>({length:s[0]?s[0].value:void 0,sort:s[1]?s[1].value:void 0})},{name:"P_INDEX_COLUMN$ebnf$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN",symbols:["S_IDENTIFIER","P_INDEX_COLUMN$ebnf$1"],postprocess:s=>({id:"P_INDEX_COLUMN",def:{column:s[0],length:s[1]&&s[1].length?s[1].length:void 0,sort:s[1]&&s[1].sort?s[1].sort:void 0}})},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_BTREE")?{type:"K_BTREE"}:K_BTREE],postprocess:f},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_HASH")?{type:"K_HASH"}:K_HASH],postprocess:f},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_RTREE")?{type:"K_RTREE"}:K_RTREE],postprocess:f},{name:"P_INDEX_TYPE",symbols:[_.has("K_USING")?{type:"K_USING"}:K_USING,"__","P_INDEX_TYPE$subexpression$1"],postprocess:s=>({id:"P_INDEX_TYPE",def:s[2].value})},{name:"O_INDEX_OPTION$subexpression$1$subexpression$1",symbols:["__"]},{name:"O_INDEX_OPTION$subexpression$1$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE,"O_INDEX_OPTION$subexpression$1$subexpression$1",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({keyBlockSize:s[2].value})},{name:"O_INDEX_OPTION$subexpression$1",symbols:["P_INDEX_TYPE"],postprocess:s=>({indexType:s[0]})},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_PARSER")?{type:"K_PARSER"}:K_PARSER,"__","S_IDENTIFIER"],postprocess:s=>({parser:s[4]})},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"__","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_INDEX_OPTION",symbols:["O_INDEX_OPTION$subexpression$1"],postprocess:s=>({id:"O_INDEX_OPTION",def:s[0]})},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$1",symbols:["__"]},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM,"P_INDEX_ALGORITHM_OPTION$subexpression$1","P_INDEX_ALGORITHM_OPTION$subexpression$2"],postprocess:s=>({id:"P_INDEX_ALGORITHM_OPTION",def:{algorithm:s[2].value}})},{name:"P_LOCK_OPTION$subexpression$1",symbols:["__"]},{name:"P_LOCK_OPTION$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:f},{name:"P_LOCK_OPTION",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK,"P_LOCK_OPTION$subexpression$1","P_LOCK_OPTION$subexpression$2"],postprocess:s=>({id:"P_LOCK_OPTION",def:{lock:s[2].value}})},{name:"P_CREATE_TABLE$subexpression$1",symbols:["P_CREATE_TABLE_COMMON"],postprocess:f},{name:"P_CREATE_TABLE$subexpression$1",symbols:["P_CREATE_TABLE_LIKE"],postprocess:f},{name:"P_CREATE_TABLE",symbols:["P_CREATE_TABLE$subexpression$1"],postprocess:s=>({id:"P_CREATE_TABLE",def:s[0]})},{name:"P_CREATE_TABLE_COMMON$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_TABLE_COMMON$ebnf$1",symbols:["P_CREATE_TABLE_COMMON$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$2$subexpression$1",symbols:["__",_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY]},{name:"P_CREATE_TABLE_COMMON$ebnf$2",symbols:["P_CREATE_TABLE_COMMON$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$3$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_TABLE_COMMON$ebnf$3",symbols:["P_CREATE_TABLE_COMMON$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$4$subexpression$1",symbols:["_","P_CREATE_TABLE_OPTIONS"],postprocess:s=>s[1]},{name:"P_CREATE_TABLE_COMMON$ebnf$4",symbols:["P_CREATE_TABLE_COMMON$ebnf$4$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_TABLE_COMMON$ebnf$1","P_CREATE_TABLE_COMMON$ebnf$2","__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_CREATE_TABLE_COMMON$ebnf$3","__","S_IDENTIFIER","_","P_CREATE_TABLE_CREATE_DEFINITIONS","P_CREATE_TABLE_COMMON$ebnf$4","S_EOS"],postprocess:s=>({id:"P_CREATE_TABLE_COMMON",def:{table:s[7],columnsDef:s[9],tableOptions:s[10]}})},{name:"P_CREATE_TABLE_LIKE$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_TABLE_LIKE$ebnf$1",symbols:["P_CREATE_TABLE_LIKE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$ebnf$2$subexpression$1",symbols:["__",_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY]},{name:"P_CREATE_TABLE_LIKE$ebnf$2",symbols:["P_CREATE_TABLE_LIKE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$ebnf$3$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_TABLE_LIKE$ebnf$3",symbols:["P_CREATE_TABLE_LIKE$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$subexpression$1",symbols:["__",_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE,"__","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"P_CREATE_TABLE_LIKE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE,"__","S_IDENTIFIER","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[5]},{name:"P_CREATE_TABLE_LIKE",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_TABLE_LIKE$ebnf$1","P_CREATE_TABLE_LIKE$ebnf$2","__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_CREATE_TABLE_LIKE$ebnf$3","__","S_IDENTIFIER","P_CREATE_TABLE_LIKE$subexpression$1","S_EOS"],postprocess:s=>({id:"P_CREATE_TABLE_LIKE",def:{table:s[7],like:s[8]}})},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1",symbols:[]},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","O_CREATE_TABLE_CREATE_DEFINITION"],postprocess:s=>s[3]},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1",symbols:["P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1"],postprocess:s=>{var t;return[s[0]].concat((t=s[1])!==null&&t!==void 0?t:[])}},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({id:"P_CREATE_TABLE_CREATE_DEFINITIONS",def:s[2]})},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1",symbols:["O_DATATYPE","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2"],postprocess:s=>{var t;let o={datatype:s[0],columnDefinition:(t=s[1])!==null&&t!==void 0?t:[]};return s[2]&&(o.reference=s[2]),o}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["S_IDENTIFIER","_","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1"],postprocess:s=>({column:{name:s[0],def:s[2]}})},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4"],postprocess:s=>{var t;return{primaryKey:{name:s[0],index:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8"],postprocess:s=>{var t;return{index:{name:s[1],index:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14"],postprocess:s=>{var t,o;return s[3]&&["index","key"].includes(s[3].toLowerCase())&&(s[3]=void 0),{uniqueKey:{name:s[3],index:(t=s[4])!==null&&t!==void 0?t:void 0,columns:[s[8]].concat((o=s[9])!==null&&o!==void 0?o:[]),options:s[12]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:[_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18"],postprocess:s=>{var t;return s[2]&&["index","key"].includes(s[2].toLowerCase())&&(s[2]=void 0),{fulltextIndex:{name:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:[_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22"],postprocess:s=>{var t;return s[2]&&["index","key"].includes(s[2].toLowerCase())&&(s[2]=void 0),{spatialIndex:{name:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_","P_COLUMN_REFERENCE"],postprocess:s=>{var t;return{foreignKey:{name:s[0],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),reference:s[13]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1"],postprocess:s=>({id:"O_CREATE_TABLE_CREATE_DEFINITION",def:s[0]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_UNSIGNED")?{type:"K_UNSIGNED"}:K_UNSIGNED],postprocess:s=>({unsigned:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_ZEROFILL")?{type:"K_ZEROFILL"}:K_ZEROFILL],postprocess:s=>({zerofill:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET,"__","O_CHARSET"],postprocess:s=>({charset:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET,"__","O_CHARSET"],postprocess:s=>({charset:s[4]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"__","O_COLLATION"],postprocess:s=>({collation:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>({nullable:!1})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>({nullable:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__","O_DEFAULT_VALUE"],postprocess:s=>({default:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT],postprocess:s=>({autoincrement:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_COLUMN_DEFINITION$subexpression$1$ebnf$1"],postprocess:s=>({unique:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__"]},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$2",_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>({primary:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"__","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE,"__",_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({invisibleWithSystemVersioning:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE,"__",_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({invisibleWithoutSystemVersioning:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE],postprocess:s=>({invisible:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COLUMN_FORMAT")?{type:"K_COLUMN_FORMAT"}:K_COLUMN_FORMAT,"__","O_COLUMN_DEFINITION$subexpression$1$subexpression$1"],postprocess:s=>({format:s[2].value})},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE,"__","O_COLUMN_DEFINITION$subexpression$1$subexpression$2"],postprocess:s=>({storage:s[2].value})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>"("+(s[3]?s[3].value:"")+")"},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON,"__",_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE,"__",_.has("K_CURRENT_TIMESTAMP")?{type:"K_CURRENT_TIMESTAMP"}:K_CURRENT_TIMESTAMP,"O_COLUMN_DEFINITION$subexpression$1$ebnf$3"],postprocess:s=>{var t;return{onUpdate:s[4].value+((t=s[5])!==null&&t!==void 0?t:"")}}},{name:"O_COLUMN_DEFINITION",symbols:["O_COLUMN_DEFINITION$subexpression$1"],postprocess:s=>({id:"O_COLUMN_DEFINITION",def:s[0]})},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1",symbols:[]},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1",symbols:["P_COLUMN_REFERENCE$subexpression$1$ebnf$1","P_COLUMN_REFERENCE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_COLUMN_REFERENCE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","P_COLUMN_REFERENCE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_"],postprocess:s=>{var t;return[s[3]].concat((t=s[4])!==null&&t!==void 0?t:[])}},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_FULL")?{type:"K_FULL"}:K_FULL],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_PARTIAL")?{type:"K_PARTIAL"}:K_PARTIAL],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_SIMPLE")?{type:"K_SIMPLE"}:K_SIMPLE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1",symbols:[_.has("K_MATCH")?{type:"K_MATCH"}:K_MATCH,"__","P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1","_"],postprocess:s=>s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$1",symbols:["P_COLUMN_REFERENCE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_COLUMN_REFERENCE$ebnf$2",symbols:[]},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1",symbols:[_.has("K_DELETE")?{type:"K_DELETE"}:K_DELETE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1",symbols:[_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT],postprocess:s=>s[0].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE],postprocess:s=>s[0].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO,"__",_.has("K_ACTION")?{type:"K_ACTION"}:K_ACTION],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON,"__","P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1","__","P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2","_"],postprocess:s=>({trigger:s[2].value,action:s[4]})},{name:"P_COLUMN_REFERENCE$ebnf$2",symbols:["P_COLUMN_REFERENCE$ebnf$2","P_COLUMN_REFERENCE$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_COLUMN_REFERENCE",symbols:[_.has("K_REFERENCES")?{type:"K_REFERENCES"}:K_REFERENCES,"__","S_IDENTIFIER","P_COLUMN_REFERENCE$subexpression$1","P_COLUMN_REFERENCE$ebnf$1","P_COLUMN_REFERENCE$ebnf$2"],postprocess:s=>{var t,o;return{id:"P_COLUMN_REFERENCE",def:{table:s[2],columns:(t=s[3])!==null&&t!==void 0?t:[],match:s[4],on:(o=s[5])!==null&&o!==void 0?o:[]}}}},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1",symbols:[]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1",symbols:["__"]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_"]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1",symbols:["P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1","O_CREATE_TABLE_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1",symbols:["P_CREATE_TABLE_OPTIONS$ebnf$1","P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_TABLE_OPTIONS",symbols:["O_CREATE_TABLE_OPTION","P_CREATE_TABLE_OPTIONS$ebnf$1"],postprocess:s=>{var t;return{id:"P_CREATE_TABLE_OPTIONS",def:[s[0]].concat((t=s[1])!==null&&t!==void 0?t:[])}}},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({autoincrement:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_AVG_ROW_LENGTH")?{type:"K_AVG_ROW_LENGTH"}:K_AVG_ROW_LENGTH,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({avgRowLength:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_CHECKSUM")?{type:"K_CHECKSUM"}:K_CHECKSUM,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({checksum:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_COMPRESSION")?{type:"K_COMPRESSION"}:K_COMPRESSION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8","O_QUOTED_STRING"],postprocess:s=>({compression:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_CONNECTION")?{type:"K_CONNECTION"}:K_CONNECTION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9","O_QUOTED_STRING"],postprocess:s=>({connection:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",symbols:[_.has("K_DATA")?{type:"K_DATA"}:K_DATA,"__"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"__"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",_.has("K_DIRECTORY")?{type:"K_DIRECTORY"}:K_DIRECTORY,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11","O_QUOTED_STRING"],postprocess:s=>({[s[0].value.toLowerCase()+"Directory"]:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_DELAY_KEY_WRITE")?{type:"K_DELAY_KEY_WRITE"}:K_DELAY_KEY_WRITE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({delayKeyWrite:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENCRYPTION")?{type:"K_ENCRYPTION"}:K_ENCRYPTION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13","O_QUOTED_STRING"],postprocess:s=>({encryption:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENCRYPTION_KEY_ID")?{type:"K_ENCRYPTION_KEY_ID"}:K_ENCRYPTION_KEY_ID,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({encryptionKeyId:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16",symbols:[_.has("K_YES")?{type:"K_YES"}:K_YES],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_IETF_QUOTES")?{type:"K_IETF_QUOTES"}:K_IETF_QUOTES,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16"],postprocess:s=>({ietfQuotes:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENGINE")?{type:"K_ENGINE"}:K_ENGINE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17","O_ENGINE"],postprocess:s=>({engine:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_LAST")?{type:"K_LAST"}:K_LAST],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_INSERT_METHOD")?{type:"K_INSERT_METHOD"}:K_INSERT_METHOD,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19"],postprocess:s=>({insertMethod:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({keyBlockSize:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_MAX_ROWS")?{type:"K_MAX_ROWS"}:K_MAX_ROWS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({maxRows:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_MIN_ROWS")?{type:"K_MIN_ROWS"}:K_MIN_ROWS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({minRows:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PACK_KEYS")?{type:"K_PACK_KEYS"}:K_PACK_KEYS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24"],postprocess:s=>({packKeys:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PAGE_CHECKSUM")?{type:"K_PAGE_CHECKSUM"}:K_PAGE_CHECKSUM,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({pageChecksum:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PASSWORD")?{type:"K_PASSWORD"}:K_PASSWORD,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26","O_QUOTED_STRING"],postprocess:s=>({password:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_COMPRESSED")?{type:"K_COMPRESSED"}:K_COMPRESSED],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_REDUNDANT")?{type:"K_REDUNDANT"}:K_REDUNDANT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_COMPACT")?{type:"K_COMPACT"}:K_COMPACT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_PAGE")?{type:"K_PAGE"}:K_PAGE],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ROW_FORMAT")?{type:"K_ROW_FORMAT"}:K_ROW_FORMAT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28"],postprocess:s=>({rowFormat:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_AUTO_RECALC")?{type:"K_STATS_AUTO_RECALC"}:K_STATS_AUTO_RECALC,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30"],postprocess:s=>({statsAutoRecalc:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_PERSISTENT")?{type:"K_STATS_PERSISTENT"}:K_STATS_PERSISTENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32"],postprocess:s=>({statsPersistent:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_SAMPLE_PAGES")?{type:"K_STATS_SAMPLE_PAGES"}:K_STATS_SAMPLE_PAGES,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33","O_TABLE_OPTION_VALUE"],postprocess:s=>({statsSamplePages:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_TRANSACTIONAL")?{type:"K_TRANSACTIONAL"}:K_TRANSACTIONAL,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({transactional:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({withSystemVersioning:!0})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1",symbols:["__",_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE,"__","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1"],postprocess:s=>s[3].value},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE,"__","S_IDENTIFIER","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3"],postprocess:s=>{let t={tablespaceName:s[2]};return s[3]&&(t.tablespaceStorage=s[3]),t}},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4",symbols:[]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_UNION")?{type:"K_UNION"}:K_UNION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","S_IDENTIFIER","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>{var t;return{union:[s[4]].concat((t=s[5])!==null&&t!==void 0?t:[])}}},{name:"O_CREATE_TABLE_OPTION",symbols:["O_CREATE_TABLE_OPTION$subexpression$1"],postprocess:s=>({id:"O_CREATE_TABLE_OPTION",def:s[0]})},{name:"O_DATATYPE$subexpression$1",symbols:["O_INTEGER_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FIXED_POINT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FLOATING_POINT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_BIT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_BOOLEAN_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_DATETIME_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_YEAR_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FIXED_STRING_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_ENUM_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_SET_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_SPATIAL_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_JSON_DATATYPE"],postprocess:f},{name:"O_DATATYPE",symbols:["O_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_DATATYPE",def:s[0]})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_INT")?{type:"K_INT"}:K_INT],postprocess:s=>({datatype:s[0].value,width:4})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_INTEGER")?{type:"K_INTEGER"}:K_INTEGER],postprocess:s=>({datatype:s[0].value,width:4})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_TINYINT")?{type:"K_TINYINT"}:K_TINYINT],postprocess:s=>({datatype:s[0].value,width:1})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_SMALLINT")?{type:"K_SMALLINT"}:K_SMALLINT],postprocess:s=>({datatype:s[0].value,width:2})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMINT")?{type:"K_MEDIUMINT"}:K_MEDIUMINT],postprocess:s=>({datatype:s[0].value,width:3})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_BIGINT")?{type:"K_BIGINT"}:K_BIGINT],postprocess:s=>({datatype:s[0].value,width:8})},{name:"O_INTEGER_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_INTEGER_DATATYPE$ebnf$1",symbols:["O_INTEGER_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_INTEGER_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_INTEGER_DATATYPE",symbols:["O_INTEGER_DATATYPE$subexpression$1","O_INTEGER_DATATYPE$ebnf$1"],postprocess:s=>({id:"O_INTEGER_DATATYPE",def:{datatype:s[0].datatype,width:s[1]?s[1]:s[0].width}})},{name:"O_FIXED_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_DECIMAL")?{type:"K_DECIMAL"}:K_DECIMAL],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_NUMERIC")?{type:"K_NUMERIC"}:K_NUMERIC],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:s[7].value})},{name:"O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:0})},{name:"O_FIXED_POINT_DATATYPE$ebnf$1",symbols:["O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FIXED_POINT_DATATYPE",symbols:["O_FIXED_POINT_DATATYPE$subexpression$1","O_FIXED_POINT_DATATYPE$ebnf$1"],postprocess:s=>{let t={id:"O_FIXED_POINT_DATATYPE",def:{datatype:s[0].value}};return s[1]?(t.def.digits=s[1].digits,t.def.decimals=s[1].decimals):(t.def.digits=10,t.def.decimals=0),t}},{name:"O_FLOATING_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_FLOAT")?{type:"K_FLOAT"}:K_FLOAT],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_DOUBLE")?{type:"K_DOUBLE"}:K_DOUBLE],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:s[7].value})},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1",symbols:["O_FLOATING_POINT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FLOATING_POINT_DATATYPE",symbols:["O_FLOATING_POINT_DATATYPE$subexpression$1","O_FLOATING_POINT_DATATYPE$ebnf$1"],postprocess:s=>{let t={id:"O_FLOATING_POINT_DATATYPE",def:{datatype:s[0].value}};return s[1]&&(t.def.digits=s[1].digits,t.def.decimals=s[1].decimals),t}},{name:"O_BIT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_"],postprocess:s=>s[3].value},{name:"O_BIT_DATATYPE$ebnf$1",symbols:["O_BIT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_BIT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_BIT_DATATYPE",symbols:[_.has("K_BIT")?{type:"K_BIT"}:K_BIT,"O_BIT_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_BIT_DATATYPE",def:{datatype:s[0].value,length:(t=s[1])!==null&&t!==void 0?t:1}}}},{name:"O_BOOLEAN_DATATYPE$subexpression$1",symbols:[_.has("K_BOOLEAN")?{type:"K_BOOLEAN"}:K_BOOLEAN],postprocess:f},{name:"O_BOOLEAN_DATATYPE$subexpression$1",symbols:[_.has("K_BOOL")?{type:"K_BOOL"}:K_BOOL],postprocess:f},{name:"O_BOOLEAN_DATATYPE",symbols:["O_BOOLEAN_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_BOOLEAN_DATATYPE",def:{datatype:s[0].value}})},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_DATE")?{type:"K_DATE"}:K_DATE],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_TIME")?{type:"K_TIME"}:K_TIME],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_DATETIME")?{type:"K_DATETIME"}:K_DATETIME],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_TIMESTAMP")?{type:"K_TIMESTAMP"}:K_TIMESTAMP],postprocess:f},{name:"O_DATETIME_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_DATETIME_DATATYPE$ebnf$1",symbols:["O_DATETIME_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_DATETIME_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DATETIME_DATATYPE",symbols:["O_DATETIME_DATATYPE$subexpression$1","O_DATETIME_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_DATETIME_DATATYPE",def:{datatype:s[0].value,fractional:(t=s[1])!==null&&t!==void 0?t:0}}}},{name:"O_YEAR_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_YEAR_DATATYPE$ebnf$1",symbols:["O_YEAR_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_YEAR_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_YEAR_DATATYPE",symbols:[_.has("K_YEAR")?{type:"K_YEAR"}:K_YEAR,"O_YEAR_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_YEAR_DATATYPE",def:{datatype:s[0].value,digits:(t=s[1])!==null&&t!==void 0?t:4}}}},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_NCHAR")?{type:"K_NCHAR"}:K_NCHAR],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_NATIONAL")?{type:"K_NATIONAL"}:K_NATIONAL,"__",_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value+" "+s[2].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_BINARY")?{type:"K_BINARY"}:K_BINARY],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1","O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1"],postprocess:s=>{var t;return{datatype:s[0],length:(t=s[1])!==null&&t!==void 0?t:1}}},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2",symbols:[_.has("K_VARCHAR")?{type:"K_VARCHAR"}:K_VARCHAR],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2",symbols:[_.has("K_VARBINARY")?{type:"K_VARBINARY"}:K_VARBINARY],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$3",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2","O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$3"],postprocess:s=>({datatype:s[0].value,length:s[1]})},{name:"O_VARIABLE_STRING_DATATYPE",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_VARIABLE_STRING_DATATYPE",def:s[0]})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_BLOB")?{type:"K_BLOB"}:K_BLOB],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_TEXT")?{type:"K_TEXT"}:K_TEXT],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1","O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1"],postprocess:s=>{var t;return{datatype:s[0].value,length:(t=s[1])!==null&&t!==void 0?t:65535}}},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_TINYBLOB")?{type:"K_TINYBLOB"}:K_TINYBLOB],postprocess:s=>({datatype:s[0].value,length:255})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMBLOB")?{type:"K_MEDIUMBLOB"}:K_MEDIUMBLOB],postprocess:s=>({datatype:s[0].value,length:16777215})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_LONGBLOB")?{type:"K_LONGBLOB"}:K_LONGBLOB],postprocess:s=>({datatype:s[0].value,length:4294967295})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_TINYTEXT")?{type:"K_TINYTEXT"}:K_TINYTEXT],postprocess:s=>({datatype:s[0].value,length:255})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMTEXT")?{type:"K_MEDIUMTEXT"}:K_MEDIUMTEXT],postprocess:s=>({datatype:s[0].value,length:16777215})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_LONGTEXT")?{type:"K_LONGTEXT"}:K_LONGTEXT],postprocess:s=>({datatype:s[0].value,length:4294967295})},{name:"O_FIXED_STRING_DATATYPE",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_FIXED_STRING_DATATYPE",def:s[0]})},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1",symbols:[]},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[3].value},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1",symbols:["O_ENUM_DATATYPE$subexpression$1$ebnf$1","O_ENUM_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ENUM_DATATYPE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING,"O_ENUM_DATATYPE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>[s[3].value].concat(s[4])},{name:"O_ENUM_DATATYPE",symbols:[_.has("K_ENUM")?{type:"K_ENUM"}:K_ENUM,"O_ENUM_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_ENUM_DATATYPE",def:{datatype:s[0].value,values:s[1]}})},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1",symbols:[]},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[3].value},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1",symbols:["O_SET_DATATYPE$subexpression$1$ebnf$1","O_SET_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_SET_DATATYPE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING,"O_SET_DATATYPE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>[s[3].value].concat(s[4])},{name:"O_SET_DATATYPE",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"O_SET_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_SET_DATATYPE",def:{datatype:s[0].value,values:s[1]}})},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_GEOMETRY")?{type:"K_GEOMETRY"}:K_GEOMETRY],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_POINT")?{type:"K_POINT"}:K_POINT],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_LINESTRING")?{type:"K_LINESTRING"}:K_LINESTRING],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_POLYGON")?{type:"K_POLYGON"}:K_POLYGON],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTIPOINT")?{type:"K_MULTIPOINT"}:K_MULTIPOINT],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTILINESTRING")?{type:"K_MULTILINESTRING"}:K_MULTILINESTRING],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTIPOLYGON")?{type:"K_MULTIPOLYGON"}:K_MULTIPOLYGON],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_GEOMETRYCOLLECTION")?{type:"K_GEOMETRYCOLLECTION"}:K_GEOMETRYCOLLECTION],postprocess:f},{name:"O_SPATIAL_DATATYPE",symbols:["O_SPATIAL_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_SPATIAL_DATATYPE",def:{datatype:s[0].value}})},{name:"O_JSON_DATATYPE",symbols:[_.has("K_JSON")?{type:"K_JSON"}:K_JSON],postprocess:s=>({id:"O_JSON_DATATYPE",def:{datatype:s[0].value}})},{name:"P_DROP_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_DROP_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_DROP_DB$ebnf$1$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_DB$ebnf$1",symbols:["P_DROP_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_DB",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_DB$subexpression$1","P_DROP_DB$ebnf$1","__","S_IDENTIFIER","S_EOS"],postprocess:s=>({id:"P_DROP_DB",def:s[5]})},{name:"P_DROP_INDEX$ebnf$1$subexpression$1",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE,"__"]},{name:"P_DROP_INDEX$ebnf$1$subexpression$1",symbols:[_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE,"__"]},{name:"P_DROP_INDEX$ebnf$1",symbols:["P_DROP_INDEX$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_INDEX$ebnf$2",symbols:["P_DROP_INDEX$ebnf$2$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_DROP_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_DROP_INDEX$ebnf$3",symbols:["P_DROP_INDEX$ebnf$3$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$4",symbols:[]},{name:"P_DROP_INDEX$ebnf$4$subexpression$1",symbols:["__","P_INDEX_ALGORITHM_OPTION"],postprocess:s=>s[1]},{name:"P_DROP_INDEX$ebnf$4$subexpression$1",symbols:["__","P_LOCK_OPTION"],postprocess:s=>s[1]},{name:"P_DROP_INDEX$ebnf$4",symbols:["P_DROP_INDEX$ebnf$4","P_DROP_INDEX$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_DROP_INDEX",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_INDEX$ebnf$1",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"P_DROP_INDEX$ebnf$2","__","S_IDENTIFIER","__",_.has("K_ON")?{type:"K_ON"}:K_ON,"__","S_IDENTIFIER","P_DROP_INDEX$ebnf$3","P_DROP_INDEX$ebnf$4","S_EOS"],postprocess:s=>({id:"P_DROP_INDEX",def:{index:s[6],table:s[10],options:s[12]?s[12]:[]}})},{name:"P_DROP_TABLE$ebnf$1$subexpression$1",symbols:[_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY,"__"]},{name:"P_DROP_TABLE$ebnf$1",symbols:["P_DROP_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_TABLE$ebnf$2",symbols:["P_DROP_TABLE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$3",symbols:[]},{name:"P_DROP_TABLE$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"P_DROP_TABLE$ebnf$3",symbols:["P_DROP_TABLE$ebnf$3","P_DROP_TABLE$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_DROP_TABLE$ebnf$4$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_DROP_TABLE$ebnf$4$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_DROP_TABLE$ebnf$4",symbols:["P_DROP_TABLE$ebnf$4$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$5$subexpression$1",symbols:["__",_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT]},{name:"P_DROP_TABLE$ebnf$5$subexpression$1",symbols:["__",_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE]},{name:"P_DROP_TABLE$ebnf$5",symbols:["P_DROP_TABLE$ebnf$5$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$5",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_TABLE$ebnf$1",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_DROP_TABLE$ebnf$2","__","S_IDENTIFIER","P_DROP_TABLE$ebnf$3","P_DROP_TABLE$ebnf$4","P_DROP_TABLE$ebnf$5","S_EOS"],postprocess:s=>{var t;return{id:"P_DROP_TABLE",def:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[])}}},{name:"P_RENAME_TABLE$ebnf$1$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_RENAME_TABLE$ebnf$1$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_RENAME_TABLE$ebnf$1",symbols:["P_RENAME_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_RENAME_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_RENAME_TABLE$ebnf$2",symbols:[]},{name:"P_RENAME_TABLE$ebnf$2$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER"],postprocess:s=>({table:s[3],newName:s[7]})},{name:"P_RENAME_TABLE$ebnf$2",symbols:["P_RENAME_TABLE$ebnf$2","P_RENAME_TABLE$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_RENAME_TABLE",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"__","S_IDENTIFIER","P_RENAME_TABLE$ebnf$1","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER","P_RENAME_TABLE$ebnf$2","S_EOS"],postprocess:s=>{var t;return{id:"P_RENAME_TABLE",def:[{table:s[4],newName:s[9]}].concat((t=s[10])!==null&&t!==void 0?t:[])}}},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_UNKNOWN")?{type:"S_UNKNOWN"}:S_UNKNOWN]},{name:"P_SET$ebnf$1$subexpression$1",symbols:["S_IDENTIFIER"]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_SET$ebnf$1",symbols:["P_SET$ebnf$1$subexpression$1"]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_UNKNOWN")?{type:"S_UNKNOWN"}:S_UNKNOWN]},{name:"P_SET$ebnf$1$subexpression$2",symbols:["S_IDENTIFIER"]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_SET$ebnf$1",symbols:["P_SET$ebnf$1","P_SET$ebnf$1$subexpression$2"],postprocess:s=>s[0].concat([s[1]])},{name:"P_SET",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__","P_SET$ebnf$1","S_EOS"],postprocess:s=>({id:"P_SET"})},{name:"P_USE_DB",symbols:[_.has("K_USE")?{type:"K_USE"}:K_USE,"__","S_IDENTIFIER","S_EOS"],postprocess:s=>({id:"P_USE_DB",def:{database:s[2]}})}],ParserStart:"P_DDS"};Et.default=Ac});var yu=Q(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});var bc=Su();Object.defineProperty(No,"Grammar",{enumerable:!0,get:function(){return bc.default}})});var So=Q(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.TableOptions=void 0;var h=he(),un=class{static fromDef(t){if(t.id==="P_CREATE_TABLE_OPTIONS")return un.fromArray(t.def);throw new TypeError(`Unknown json id to build table options from: ${t.id}`)}static fromArray(t){let o=new un;return t.forEach(E=>{h.isDefined(E.def.autoincrement)&&(o.autoincrement=E.def.autoincrement),h.isDefined(E.def.avgRowLength)&&(o.avgRowLength=E.def.avgRowLength),h.isDefined(E.def.charset)&&(o.charset=E.def.charset.toLowerCase()),h.isDefined(E.def.checksum)&&(o.checksum=E.def.checksum),h.isDefined(E.def.collation)&&(o.collation=E.def.collation.toLowerCase()),h.isDefined(E.def.comment)&&(o.comment=E.def.comment),h.isDefined(E.def.compression)&&(o.compression=E.def.compression.toLowerCase()),h.isDefined(E.def.connection)&&(o.connection=E.def.connection),h.isDefined(E.def.dataDirectory)&&(o.dataDirectory=E.def.dataDirectory),h.isDefined(E.def.indexDirectory)&&(o.indexDirectory=E.def.indexDirectory),h.isDefined(E.def.delayKeyWrite)&&(o.delayKeyWrite=E.def.delayKeyWrite),h.isDefined(E.def.encryption)&&(o.encryption=E.def.encryption.toLowerCase()),h.isDefined(E.def.encryptionKeyId)&&(o.encryptionKeyId=E.def.encryptionKeyId),h.isDefined(E.def.ietfQuotes)&&(o.ietfQuotes=E.def.ietfQuotes.toLowerCase()),h.isDefined(E.def.engine)&&(o.engine=E.def.engine),h.isDefined(E.def.insertMethod)&&(o.insertMethod=E.def.insertMethod.toLowerCase()),h.isDefined(E.def.keyBlockSize)&&(o.keyBlockSize=E.def.keyBlockSize),h.isDefined(E.def.maxRows)&&(o.maxRows=E.def.maxRows),h.isDefined(E.def.minRows)&&(o.minRows=E.def.minRows),h.isDefined(E.def.packKeys)&&(h.isString(E.def.packKeys)?o.packKeys=E.def.packKeys.toLowerCase():o.packKeys=E.def.packKeys),h.isDefined(E.def.pageChecksum)&&(o.pageChecksum=E.def.pageChecksum),h.isDefined(E.def.password)&&(o.password=E.def.password),h.isDefined(E.def.rowFormat)&&(o.rowFormat=E.def.rowFormat.toLowerCase()),h.isDefined(E.def.statsAutoRecalc)&&(h.isString(E.def.statsAutoRecalc)?o.statsAutoRecalc=E.def.statsAutoRecalc.toLowerCase():o.statsAutoRecalc=E.def.statsAutoRecalc),h.isDefined(E.def.statsPersistent)&&(h.isString(E.def.statsPersistent)?o.statsPersistent=E.def.statsPersistent.toLowerCase():o.statsPersistent=E.def.statsPersistent),h.isDefined(E.def.statsSamplePages)&&(h.isString(E.def.statsSamplePages)?o.statsSamplePages=E.def.statsSamplePages.toLowerCase():o.statsSamplePages=E.def.statsSamplePages),h.isDefined(E.def.transactional)&&(o.transactional=E.def.transactional),h.isDefined(E.def.withSystemVersioning)&&(o.withSystemVersioning=E.def.withSystemVersioning),h.isDefined(E.def.tablespaceName)&&(o.tablespaceName=E.def.tablespaceName),h.isDefined(E.def.tablespaceStorage)&&(o.tablespaceStorage=E.def.tablespaceStorage.toLowerCase()),h.isDefined(E.def.union)&&(o.union=E.def.union)}),o}toJSON(){let t={};return h.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),h.isDefined(this.avgRowLength)&&(t.avgRowLength=this.avgRowLength),h.isDefined(this.charset)&&(t.charset=this.charset),h.isDefined(this.checksum)&&(t.checksum=this.checksum),h.isDefined(this.collation)&&(t.collation=this.collation),h.isDefined(this.comment)&&(t.comment=this.comment),h.isDefined(this.compression)&&(t.compression=this.compression),h.isDefined(this.connection)&&(t.connection=this.connection),h.isDefined(this.dataDirectory)&&(t.dataDirectory=this.dataDirectory),h.isDefined(this.indexDirectory)&&(t.indexDirectory=this.indexDirectory),h.isDefined(this.delayKeyWrite)&&(t.delayKeyWrite=this.delayKeyWrite),h.isDefined(this.encryption)&&(t.encryption=this.encryption),h.isDefined(this.encryptionKeyId)&&(t.encryptionKeyId=this.encryptionKeyId),h.isDefined(this.ietfQuotes)&&(t.ietfQuotes=this.ietfQuotes),h.isDefined(this.engine)&&(t.engine=this.engine),h.isDefined(this.insertMethod)&&(t.insertMethod=this.insertMethod),h.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),h.isDefined(this.maxRows)&&(t.maxRows=this.maxRows),h.isDefined(this.minRows)&&(t.minRows=this.minRows),h.isDefined(this.packKeys)&&(t.packKeys=this.packKeys),h.isDefined(this.pageChecksum)&&(t.pageChecksum=this.pageChecksum),h.isDefined(this.password)&&(t.password=this.password),h.isDefined(this.rowFormat)&&(t.rowFormat=this.rowFormat),h.isDefined(this.statsAutoRecalc)&&(t.statsAutoRecalc=this.statsAutoRecalc),h.isDefined(this.statsPersistent)&&(t.statsPersistent=this.statsPersistent),h.isDefined(this.statsSamplePages)&&(t.statsSamplePages=this.statsSamplePages),h.isDefined(this.transactional)&&(t.transactional=this.transactional),h.isDefined(this.withSystemVersioning)&&(t.withSystemVersioning=this.withSystemVersioning),h.isDefined(this.tablespaceName)&&(t.tablespaceName=this.tablespaceName),h.isDefined(this.tablespaceStorage)&&(t.tablespaceStorage=this.tablespaceStorage),h.isDefined(this.union)&&(t.union=this.union),t}clone(){let t=new un;return h.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),h.isDefined(this.avgRowLength)&&(t.avgRowLength=this.avgRowLength),h.isDefined(this.charset)&&(t.charset=this.charset),h.isDefined(this.checksum)&&(t.checksum=this.checksum),h.isDefined(this.collation)&&(t.collation=this.collation),h.isDefined(this.comment)&&(t.comment=this.comment),h.isDefined(this.compression)&&(t.compression=this.compression),h.isDefined(this.connection)&&(t.connection=this.connection),h.isDefined(this.dataDirectory)&&(t.dataDirectory=this.dataDirectory),h.isDefined(this.indexDirectory)&&(t.indexDirectory=this.indexDirectory),h.isDefined(this.delayKeyWrite)&&(t.delayKeyWrite=this.delayKeyWrite),h.isDefined(this.encryption)&&(t.encryption=this.encryption),h.isDefined(this.encryptionKeyId)&&(t.encryptionKeyId=this.encryptionKeyId),h.isDefined(this.ietfQuotes)&&(t.ietfQuotes=this.ietfQuotes),h.isDefined(this.engine)&&(t.engine=this.engine),h.isDefined(this.insertMethod)&&(t.insertMethod=this.insertMethod),h.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),h.isDefined(this.maxRows)&&(t.maxRows=this.maxRows),h.isDefined(this.minRows)&&(t.minRows=this.minRows),h.isDefined(this.packKeys)&&(t.packKeys=this.packKeys),h.isDefined(this.pageChecksum)&&(t.pageChecksum=this.pageChecksum),h.isDefined(this.password)&&(t.password=this.password),h.isDefined(this.rowFormat)&&(t.rowFormat=this.rowFormat),h.isDefined(this.statsAutoRecalc)&&(t.statsAutoRecalc=this.statsAutoRecalc),h.isDefined(this.statsPersistent)&&(t.statsPersistent=this.statsPersistent),h.isDefined(this.statsSamplePages)&&(t.statsSamplePages=this.statsSamplePages),h.isDefined(this.transactional)&&(t.transactional=this.transactional),h.isDefined(this.withSystemVersioning)&&(t.withSystemVersioning=this.withSystemVersioning),h.isDefined(this.tablespaceName)&&(t.tablespaceName=this.tablespaceName),h.isDefined(this.tablespaceStorage)&&(t.tablespaceStorage=this.tablespaceStorage),h.isDefined(this.union)&&(t.union=this.union.slice()),t}mergeWith(t){h.isDefined(t.autoincrement)&&(this.autoincrement=t.autoincrement),h.isDefined(t.avgRowLength)&&(this.avgRowLength=t.avgRowLength),h.isDefined(t.charset)&&(this.charset=t.charset),h.isDefined(t.checksum)&&(this.checksum=t.checksum),h.isDefined(t.collation)&&(this.collation=t.collation),h.isDefined(t.comment)&&(this.comment=t.comment),h.isDefined(t.compression)&&(this.compression=t.compression),h.isDefined(t.connection)&&(this.connection=t.connection),h.isDefined(t.dataDirectory)&&(this.dataDirectory=t.dataDirectory),h.isDefined(t.indexDirectory)&&(this.indexDirectory=t.indexDirectory),h.isDefined(t.delayKeyWrite)&&(this.delayKeyWrite=t.delayKeyWrite),h.isDefined(t.encryption)&&(this.encryption=t.encryption),h.isDefined(t.encryptionKeyId)&&(this.encryptionKeyId=t.encryptionKeyId),h.isDefined(t.ietfQuotes)&&(this.ietfQuotes=t.ietfQuotes),h.isDefined(t.engine)&&(this.engine=t.engine),h.isDefined(t.insertMethod)&&(this.insertMethod=t.insertMethod),h.isDefined(t.keyBlockSize)&&(this.keyBlockSize=t.keyBlockSize),h.isDefined(t.maxRows)&&(this.maxRows=t.maxRows),h.isDefined(t.minRows)&&(this.minRows=t.minRows),h.isDefined(t.packKeys)&&(this.packKeys=t.packKeys),h.isDefined(t.pageChecksum)&&(this.pageChecksum=t.pageChecksum),h.isDefined(t.password)&&(this.password=t.password),h.isDefined(t.rowFormat)&&(this.rowFormat=t.rowFormat),h.isDefined(t.statsAutoRecalc)&&(this.statsAutoRecalc=t.statsAutoRecalc),h.isDefined(t.statsPersistent)&&(this.statsPersistent=t.statsPersistent),h.isDefined(t.statsSamplePages)&&(this.statsSamplePages=t.statsSamplePages),h.isDefined(t.transactional)&&(this.transactional=t.transactional),h.isDefined(t.withSystemVersioning)&&(this.withSystemVersioning=t.withSystemVersioning),h.isDefined(t.tablespaceName)&&(this.tablespaceName=t.tablespaceName),h.isDefined(t.tablespaceStorage)&&(this.tablespaceStorage=t.tablespaceStorage),h.isDefined(t.union)&&(this.union=t.union.slice())}};Tr.TableOptions=un});var Lu=Q(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ColumnReferenceOn=void 0;var xn=class{static fromObject(t){let o=new xn;return o.action=t.action.toLowerCase(),o.trigger=t.trigger.toLowerCase(),o}toJSON(){return{trigger:this.trigger,action:this.action}}clone(){return xn.fromObject(this)}};lr.ColumnReferenceOn=xn});var Ks=Q(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.IndexColumn=void 0;var fr=he(),an=class{static fromDef(t){if(t.id==="P_INDEX_COLUMN")return an.fromObject(t.def);throw new TypeError(`Unknown json id to build index column from: ${t.id}`)}static fromObject(t){let o=new an;return o.column=t.column,t.length&&(o.length=t.length),t.sort&&(o.sort=t.sort),o}toJSON(){let t={column:this.column};return fr.isDefined(this.length)&&(t.length=this.length),fr.isDefined(this.sort)&&(t.sort=this.sort),t}clone(){let t=new an;return t.column=this.column,fr.isDefined(this.length)&&(t.length=this.length),fr.isDefined(this.sort)&&(t.sort=this.sort),t}};Ar.IndexColumn=an});var yo=Q(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.ColumnReference=void 0;var Cu=he(),cc=Lu(),mc=Ks(),Pn=class{constructor(){this.columns=[],this.on=[]}static fromDef(t){if(t.id==="P_COLUMN_REFERENCE"){let o=t.def,E=new Pn;return E.table=o.table,o.match&&(E.match=o.match.toLowerCase()),o.columns.length&&(E.columns=o.columns.map(mc.IndexColumn.fromDef)),o.on.length&&(E.on=o.on.map(cc.ColumnReferenceOn.fromObject)),E}throw new TypeError(`Unknown json id to build column reference from: ${t.id}`)}toJSON(){let t={table:this.table};return Cu.isDefined(this.match)&&(t.match=this.match),this.on&&this.on.length&&(t.on=this.on.map(o=>o.toJSON())),this.columns&&this.columns.length&&(t.columns=this.columns.map(o=>o.toJSON())),t}clone(){let t=new Pn;return t.table=this.table,Cu.isDefined(this.match)&&(t.match=this.match),this.on&&this.on.length&&(t.on=this.on.map(o=>o.clone())),this.columns&&this.columns.length&&(t.columns=this.columns.map(o=>o.clone())),t}};br.ColumnReference=Pn});var Lo=Q(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.ColumnOptions=void 0;var ce=he(),Dn=class{static fromArray(t){let o=new Dn;return t.forEach(E=>{Object.assign(o,E.def)}),o.collation&&(o.collation=o.collation.toLowerCase()),o.charset&&(o.charset=o.charset.toLowerCase()),o.storage&&(o.storage=o.storage.toLowerCase()),o.format&&(o.format=o.format.toLowerCase()),ce.isDefined(o.nullable)||(o.nullable=!0),o.zerofill&&(o.unsigned=!0),o.primary&&(o.nullable=!1),o}toJSON(){let t={};return ce.isDefined(this.unsigned)&&(t.unsigned=this.unsigned),ce.isDefined(this.zerofill)&&(t.zerofill=this.zerofill),ce.isDefined(this.charset)&&(t.charset=this.charset),ce.isDefined(this.collation)&&(t.collation=this.collation),ce.isDefined(this.nullable)&&(t.nullable=this.nullable),ce.isDefined(this.nullable)&&(t.nullable=this.nullable),ce.isDefined(this.default)&&(t.default=this.default),ce.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),ce.isDefined(this.unique)&&(t.unique=this.unique),ce.isDefined(this.primary)&&(t.primary=this.primary),ce.isDefined(this.invisible)&&(t.invisible=this.invisible),ce.isDefined(this.format)&&(t.format=this.format),ce.isDefined(this.storage)&&(t.storage=this.storage),ce.isDefined(this.comment)&&(t.comment=this.comment),ce.isDefined(this.onUpdate)&&(t.onUpdate=this.onUpdate),ce.isString(t.default)&&t.default.toLowerCase()==="null"&&(t.default=null),ce.isDefined(this.invisibleWithSystemVersioning)&&(t.invisibleWithSystemVersioning=this.invisibleWithSystemVersioning),ce.isDefined(this.invisibleWithoutSystemVersioning)&&(t.invisibleWithoutSystemVersioning=this.invisibleWithoutSystemVersioning),t}mergeWith(t){Object.getOwnPropertyNames(t).forEach(o=>{let E=t[o];ce.isDefined(E)&&ce.setProperty(this,o,E)})}clone(){let t=new Dn;return Object.getOwnPropertyNames(this).forEach(o=>{let E=this[o];ce.isDefined(E)&&ce.setProperty(t,o,E)}),t}};cr.ColumnOptions=Dn});var dn=Q(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.IndexOptions=void 0;var de=he(),Kn=class{static fromArray(t){let o=new Kn;return t.forEach(E=>{de.isDefined(E.def.comment)&&(o.comment=E.def.comment.toLowerCase()),de.isDefined(E.def.indexType)&&(o.indexType=E.def.indexType.def.toLowerCase()),de.isDefined(E.def.keyBlockSize)&&(o.keyBlockSize=E.def.keyBlockSize),de.isDefined(E.def.parser)&&(o.parser=E.def.parser),de.isDefined(E.def.algorithm)&&(o.algorithm=E.def.algorithm),de.isDefined(E.def.lock)&&(o.lock=E.def.lock)}),o}toJSON(){let t={};return de.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),de.isDefined(this.indexType)&&(t.indexType=this.indexType),de.isDefined(this.algorithm)&&(t.algorithm=this.algorithm),de.isDefined(this.comment)&&(t.comment=this.comment),de.isDefined(this.parser)&&(t.parser=this.parser),de.isDefined(this.lock)&&(t.lock=this.lock),t}clone(){let t=new Kn;return de.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),de.isDefined(this.indexType)&&(t.indexType=this.indexType),de.isDefined(this.algorithm)&&(t.algorithm=this.algorithm),de.isDefined(this.comment)&&(t.comment=this.comment),de.isDefined(this.parser)&&(t.parser=this.parser),de.isDefined(this.lock)&&(t.lock=this.lock),t}};mr.IndexOptions=Kn});var Rr=Q(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.PrimaryKey=void 0;var Ir=he(),Ic=Ks(),Oc=dn(),pn=class{static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return pn.fromObject(t.def.primaryKey);throw new TypeError(`Unknown json id to build primary key from: ${t.id}`)}static fromObject(t){let o=new pn;return o.columns=t.columns.map(Ic.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),t.options&&t.options.length&&(o.options=Oc.IndexOptions.fromArray(t.options)),o}toJSON(){var t;let o={columns:((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.toJSON())};return Ir.isDefined(this.name)&&(o.name=this.name),Ir.isDefined(this.options)&&(o.options=this.options.toJSON()),Ir.isDefined(this.indexType)&&(o.indexType=this.indexType),o}clone(){var t;let o=new pn;return o.columns=((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.clone()),Ir.isDefined(this.indexType)&&(o.indexType=this.indexType),this.options&&(o.options=this.options.clone()),o}pushColumn(t){this.columns||(this.columns=[]),this.columns.push(t)}dropColumn(t){if(!this.columns)return!1;let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>{var T;return((T=this.columns)!==null&&T!==void 0?T:[]).some(c=>c.column===E.name)})}hasAllColumnsFromTable(t){var o,E;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(T=>{var c;return((c=this.columns)!==null&&c!==void 0?c:[]).some(O=>O.column===T.name)}).length===((E=this.columns)!==null&&E!==void 0?E:[]).length}renameColumn(t,o){var E;return(E=this.columns)===null||E===void 0?void 0:E.filter(T=>T.column===t.name).forEach(T=>{T.column=o})}};Or.PrimaryKey=pn});var Sr=Q(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.ForeignKey=void 0;var hr=he(),Rc=yo(),hc=Ks(),$n=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION"){if(hr.isDefined(t.def.foreignKey))return $n.fromObject(t.def.foreignKey);throw new TypeError(`Statement ${t.id} has undefined foreignKey. Cannot format foreignKey.`)}throw new TypeError(`Unknown json id to build foreign key from: ${t.id}`)}static fromObject(t){let o=new $n;return o.columns=t.columns.map(hc.IndexColumn.fromDef),o.reference=Rc.ColumnReference.fromDef(t.reference),t.name&&(o.name=t.name),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON()),reference:this.reference.toJSON()};return hr.isDefined(this.name)&&(t.name=this.name),t}clone(){let t=new $n;return t.columns=this.columns.map(o=>o.clone()),t.reference=this.reference.clone(),hr.isDefined(this.name)&&(t.name=this.name),t}pushColumn(t){this.columns.push(t)}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!hr.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}hasAllColumnsFromRefTable(t){var o,E;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(T=>{var c;return(c=this.reference.columns)===null||c===void 0?void 0:c.some(O=>O.column===T.name)}).length===((E=this.reference.columns)===null||E===void 0?void 0:E.length)}getReferencedTable(t){var o;return(o=t.find(E=>E.name===this.reference.table))!==null&&o!==void 0?o:void 0}referencesTableAndColumn(t,o){var E;return this.reference.table===t.name&&((E=this.reference.columns)!==null&&E!==void 0?E:[]).some(T=>T.column===o.name)}referencesTable(t){return this.reference.table===t.name}renameColumn(t,o){var E;return(E=this.reference.columns)===null||E===void 0?void 0:E.filter(T=>T.column===t.name).forEach(T=>{T.column=o})}updateReferencedTableName(t){this.reference.table=t}};Nr.ForeignKey=$n});var ut=Q(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.UniqueKey=void 0;var Ws=he(),Nc=dn(),Sc=Ks(),Qs=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return Qs.fromObject(t.def.uniqueKey);if(t.id==="P_CREATE_INDEX")return Qs.fromObject(t.def);throw new TypeError(`Unknown json id to build unique key from: ${t.id}`)}static fromObject(t){let o=new Qs;return o.columns=t.columns.map(Sc.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),Ws.isDefined(t.options)&&t.options.length&&(o.options=Nc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return Ws.isDefined(this.name)&&(t.name=this.name),Ws.isDefined(this.indexType)&&(t.indexType=this.indexType),Ws.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new Qs;return t.columns=this.columns.map(o=>o.clone()),Ws.isDefined(this.name)&&(t.name=this.name),Ws.isDefined(this.indexType)&&(t.indexType=this.indexType),Ws.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!Ws.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};yr.UniqueKey=Qs});var Co=Q(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.Datatype=void 0;var os=he(),Tn=class{static fromDef(t){if(t.id==="O_DATATYPE"){let o=new Tn;return Object.assign(o,t.def.def),o.datatype=Tn.filterDatatype(o.datatype),o}throw new TypeError(`Unknown json id to build datatype from: ${t.id}`)}static filterDatatype(t){let o=t.toLowerCase();return o==="integer"||o==="tinyint"||o==="smallint"||o==="mediumint"||o==="bigint"?"int":o==="numeric"?"decimal":o==="bool"?"boolean":o==="tinyblob"||o==="mediumblob"||o==="longblob"?"blob":o==="tinytext"||o==="mediumtext"||o==="longtext"?"text":o==="national char"||o==="character"||o==="nchar"?"char":o}getMaxIndexableSize(){return["int","decimal","float","double","bit","boolean","date","time","datetime","timestamp","year","json"].includes(this.datatype)||["geometry","point","linestring","polygon","multipoint","multilinestring","multipolygon","geometrycollection"].includes(this.datatype)?0:["blob","text","char","binary","varchar","varbinary"].includes(this.datatype)?this.length:0}toJSON(){let t={datatype:this.datatype};return os.isDefined(this.width)&&(t.width=this.width),os.isDefined(this.digits)&&(t.digits=this.digits),os.isDefined(this.decimals)&&(t.decimals=this.decimals),os.isDefined(this.length)&&(t.length=this.length),os.isDefined(this.fractional)&&(t.fractional=this.fractional),os.isDefined(this.values)&&(t.values=this.values),t}clone(){let t=new Tn;return t.datatype=this.datatype,os.isDefined(this.width)&&(t.width=this.width),os.isDefined(this.digits)&&(t.digits=this.digits),os.isDefined(this.decimals)&&(t.decimals=this.decimals),os.isDefined(this.length)&&(t.length=this.length),os.isDefined(this.fractional)&&(t.fractional=this.fractional),os.isDefined(this.values)&&(t.values=this.values.slice()),t}};Lr.Datatype=Tn});var Po=Q(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.Column=void 0;var xu=he(),yc=yo(),Lc=Lo(),xo=Ks(),Cc=Rr(),xc=Sr(),Pc=ut(),Dc=Co(),ln=class{static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION"){let o=t.def.column;return ln.fromObject({name:o.name,datatype:o.def.datatype,reference:o.def.reference,columnDefinition:o.def.columnDefinition})}throw new TypeError(`Unknown json id to build column from: ${t.id}`)}static fromObject(t){let o=new ln;return o.name=t.name,o.type=Dc.Datatype.fromDef(t.datatype),t.reference&&(o.reference=yc.ColumnReference.fromDef(t.reference)),t.columnDefinition&&(o.options=Lc.ColumnOptions.fromArray(t.columnDefinition)),o}toJSON(){let t={name:this.name,type:this.type.toJSON()};return xu.isDefined(this.options)&&(t.options=this.options.toJSON()),xu.isDefined(this.reference)&&(t.reference=this.reference.toJSON()),t}clone(){let t=new ln;return t.name=this.name,t.type=this.type.clone(),this.options&&(t.options=this.options.clone()),t}isPrimaryKey(){return this.options?this.options.primary===!0:!1}isUniqueKey(){return this.options?this.options.unique===!0:!1}isForeignKey(){return!!this.reference}extractPrimaryKey(){if(!this.isPrimaryKey())return;delete this.options.primary;let t=new xo.IndexColumn;t.column=this.name;let o=new Cc.PrimaryKey;return o.pushColumn(t),o}extractForeignKey(){if(!this.isForeignKey())return;let t=new xo.IndexColumn;t.column=this.name;let o=new xc.ForeignKey;return o.pushColumn(t),o.reference=this.reference,delete this.reference,o}extractUniqueKey(){if(!this.isUniqueKey())return;delete this.options.unique;let t=new xo.IndexColumn;t.column=this.name;let o=new Pc.UniqueKey;return o.columns.push(t),o}};Cr.Column=ln});var Pr=Q(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.FulltextIndex=void 0;var at=he(),Kc=Ks(),dc=dn(),qs=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return qs.fromObject(t.def.fulltextIndex);if(t.id==="P_CREATE_INDEX")return qs.fromObject(t.def);throw new TypeError(`Unknown json id to build fulltext index from: ${t.id}`)}static fromObject(t){let o=new qs;return o.columns=t.columns.map(Kc.IndexColumn.fromDef),t.name&&(o.name=t.name),at.isDefined(t.options)&&t.options.length&&(o.options=dc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return at.isDefined(this.name)&&(t.name=this.name),at.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new qs;return t.columns=this.columns.map(o=>o.clone()),at.isDefined(this.name)&&(t.name=this.name),at.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};xr.FulltextIndex=qs});var Kr=Q(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.SpatialIndex=void 0;var pt=he(),Bc=Ks(),vc=dn(),ks=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return ks.fromObject(t.def.spatialIndex);if(t.id==="P_CREATE_INDEX")return ks.fromObject(t.def);throw new TypeError(`Unknown json id to build spatial index from: ${t.id}`)}static fromObject(t){let o=new ks;return o.columns=t.columns.map(Bc.IndexColumn.fromDef),t.name&&(o.name=t.name),pt.isDefined(t.options)&&t.options.length&&(o.options=vc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return pt.isDefined(this.name)&&(t.name=this.name),pt.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new ks;return t.columns=this.columns.map(o=>o.clone()),pt.isDefined(this.name)&&(t.name=this.name),pt.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};Dr.SpatialIndex=ks});var Br=Q(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.Index=void 0;var Vs=he(),gc=Ks(),Mc=dn(),Js=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return Js.fromObject(t.def.index);if(t.id==="P_CREATE_INDEX")return Js.fromObject(t.def);throw new TypeError(`Unknown json id to build index from: ${t.id}`)}static fromObject(t){let o=new Js;return o.columns=t.columns.map(gc.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),Vs.isDefined(t.options)&&t.options.length&&(o.options=Mc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return Vs.isDefined(this.options)&&(t.options=this.options.toJSON()),Vs.isDefined(this.indexType)&&(t.indexType=this.indexType),Vs.isDefined(this.name)&&(t.name=this.name),t}clone(){let t=new Js;return t.columns=this.columns.map(o=>o.clone()),Vs.isDefined(this.options)&&(t.options=this.options.clone()),Vs.isDefined(this.indexType)&&(t.indexType=this.indexType),Vs.isDefined(this.name)&&(t.name=this.name),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!Vs.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};dr.Index=Js});var Pu=Q(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.Table=void 0;var V=he(),Fc=So(),Uc=Po(),wc=Pr(),Yc=Kr(),Xc=Sr(),Gc=ut(),Hc=Rr(),Wc=Br(),Bn=class{static fromCommonDef(t,o){if(t.id==="P_CREATE_TABLE_COMMON"){let E=t.def,T=new Bn;return T.database=o,T.name=E.table,E.tableOptions&&(T.options=Fc.TableOptions.fromDef(E.tableOptions)),E.columnsDef.def.forEach(O=>{if(V.isDefined(O.def.column)){let Y=Uc.Column.fromDef(O);T.addColumn(Y)}else V.isDefined(O.def.fulltextIndex)?T.pushFulltextIndex(wc.FulltextIndex.fromDef(O)):V.isDefined(O.def.spatialIndex)?T.pushSpatialIndex(Yc.SpatialIndex.fromDef(O)):V.isDefined(O.def.foreignKey)?T.pushForeignKey(Xc.ForeignKey.fromDef(O)):V.isDefined(O.def.uniqueKey)?T.pushUniqueKey(Gc.UniqueKey.fromDef(O)):V.isDefined(O.def.primaryKey)?T.setPrimaryKey(Hc.PrimaryKey.fromDef(O)):V.isDefined(O.def.index)&&T.pushIndex(Wc.Index.fromDef(O))}),T}throw new TypeError(`Unknown json id to build table from: ${t.id}`)}static fromAlikeDef(t,o=[]){if(t.id==="P_CREATE_TABLE_LIKE"){let E=t.def,T=o.find(O=>O.name===E.like);if(!T)return;let c=T.clone();return c.name=E.table,c}throw new TypeError(`Unknown json id to build table from: ${t.id}`)}toJSON(){var t;let o={name:this.name,columns:((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.toJSON())};return V.isDefined(this.primaryKey)&&(o.primaryKey=this.primaryKey.toJSON()),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&(o.foreignKeys=this.foreignKeys.map(E=>E.toJSON())),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&(o.uniqueKeys=this.uniqueKeys.map(E=>E.toJSON())),V.isDefined(this.indexes)&&this.indexes.length&&(o.indexes=this.indexes.map(E=>E.toJSON())),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&(o.spatialIndexes=this.spatialIndexes.map(E=>E.toJSON())),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&(o.fulltextIndexes=this.fulltextIndexes.map(E=>E.toJSON())),V.isDefined(this.options)&&(o.options=this.options.toJSON()),o}clone(){var t;let o=new Bn;return o.database=this.database,o.name=this.name,o.columns=((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.clone()),V.isDefined(this.options)&&(o.options=this.options.clone()),V.isDefined(this.primaryKey)&&(o.primaryKey=this.primaryKey.clone()),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&(o.uniqueKeys=this.uniqueKeys.map(E=>E.clone())),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&(o.foreignKeys=this.foreignKeys.map(E=>E.clone())),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&(o.fulltextIndexes=this.fulltextIndexes.map(E=>E.clone())),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&(o.spatialIndexes=this.spatialIndexes.map(E=>E.clone())),V.isDefined(this.indexes)&&this.indexes.length&&(o.indexes=this.indexes.map(E=>E.clone())),o}getTable(t){return this.database.getTable(t)}getTables(){return this.database.getTables()}setDatabase(t){this.database=t}renameTo(t){this.database.tables.forEach(o=>{var E;((E=o.foreignKeys)!==null&&E!==void 0?E:[]).filter(T=>T.referencesTable(this)).forEach(T=>T.updateReferencedTableName(t))}),this.name=t}addColumn(t,o){var E;if(!this.getColumn(t.name)&&!(t.options&&t.options.autoincrement&&((E=this.columns)!==null&&E!==void 0?E:[]).some(T=>T.options&&T.options.autoincrement))&&!(this.primaryKey&&t.options&&t.options.primary)){if(V.isArray(this.columns)||(this.columns=[]),!V.isDefined(o))this.columns.push(t);else if(!o.after)this.columns.unshift(t);else{let T=this.columns.find(Y=>Y.name===o.after);if(!T)return;let c=this.columns.indexOf(T),O=this.columns.splice(c+1);this.columns.push(t),this.columns=this.columns.concat(O)}this.extractColumnKeys(t)}}extractColumnKeys(t){let o=t.extractPrimaryKey(),E=t.extractForeignKey(),T=t.extractUniqueKey();o&&this.setPrimaryKey(o),E&&this.pushForeignKey(E),T&&this.pushUniqueKey(T)}moveColumn(t,o){if(!V.isDefined(this.columns)||!V.isDefined(o)||!this.columns.includes(t))return!1;let E;if(o.after&&(E=this.getColumn(o.after),!E))return!1;let T=this.columns.indexOf(t),c=this.columns.splice(T);if(c.shift(),this.columns=this.columns.concat(c),o.after){if(!E)return!1;T=this.columns.indexOf(E),c=this.columns.splice(T+1),this.columns.push(t),this.columns=this.columns.concat(c)}else this.columns.unshift(t);return!0}renameColumn(t,o){var E,T,c,O,Y;return((E=this.columns)!==null&&E!==void 0?E:[]).includes(t)?(this.getTables().forEach(I=>{var L;((L=I.foreignKeys)!==null&&L!==void 0?L:[]).filter(P=>P.referencesTable(this)).forEach(P=>P.renameColumn(t,o))}),((T=this.fulltextIndexes)!==null&&T!==void 0?T:[]).forEach(I=>I.renameColumn(t,o)),((c=this.spatialIndexes)!==null&&c!==void 0?c:[]).forEach(I=>I.renameColumn(t,o)),((O=this.indexes)!==null&&O!==void 0?O:[]).forEach(I=>I.renameColumn(t,o)),((Y=this.uniqueKeys)!==null&&Y!==void 0?Y:[]).forEach(I=>I.renameColumn(t,o)),this.primaryKey&&this.primaryKey.renameColumn(t,o),t.name=o,!0):!1}getColumnPosition(t){var o,E,T;let c=((o=this.columns)!==null&&o!==void 0?o:[]).indexOf(t);if(c===0)return{after:null};if(c+1!==((E=this.columns)!==null&&E!==void 0?E:[]).length)return{after:((T=this.columns)!==null&&T!==void 0?T:[])[c-1].name}}dropPrimaryKey(){!this.primaryKey||this.primaryKey.getColumnsFromTable(this).some(o=>o.options&&o.options.autoincrement)||delete this.primaryKey}dropColumn(t){var o;if(this.getTables().some(O=>{var Y;return((Y=O.foreignKeys)!==null&&Y!==void 0?Y:[]).some(I=>I.referencesTableAndColumn(this,t))})||!V.isDefined(this.columns)||this.columns.length===1)return;let T=this.columns.indexOf(t),c=this.columns.splice(T);c.shift(),this.columns=this.columns.concat(c),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&this.fulltextIndexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&this.spatialIndexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.indexes)&&this.indexes.length&&this.indexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&this.uniqueKeys.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&this.foreignKeys.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropForeignKey(O)}),V.isDefined(this.primaryKey)&&this.primaryKey.dropColumn(t.name)&&!(!((o=this.primaryKey.columns)===null||o===void 0)&&o.length)&&delete this.primaryKey}dropIndexByInstance(t){let o=this.getIndexTypeByInstance(t);if(!V.isDefined(o)||!V.isDefined(this[o]))return;let E=this[o],T=E.indexOf(t),c=E.splice(T);c.shift(),this[o]=E.concat(c)}dropForeignKey(t){if(!V.isDefined(this.foreignKeys))return;let o=this.foreignKeys.indexOf(t),E=this.foreignKeys.splice(o);E.shift(),this.foreignKeys=this.foreignKeys.concat(E)}getIndexByName(t){let o=this.getIndexTypeByName(t);if(!o)return;let E=this[o];if(!V.isArray(E))return;let T=E.find(c=>c.name===t);return T??void 0}getIndexTypeByInstance(t){return["uniqueKeys","indexes","fulltextIndexes","spatialIndexes"].find(T=>{var c;return((c=this[T])!==null&&c!==void 0?c:[]).some(O=>O===t)})}getIndexTypeByName(t){return["uniqueKeys","indexes","fulltextIndexes","spatialIndexes"].find(T=>{var c;return((c=this[T])!==null&&c!==void 0?c:[]).some(O=>O.name===t)})}getColumn(t){var o;return((o=this.columns)!==null&&o!==void 0?o:[]).find(E=>E.name===t)}getForeignKey(t){var o;return((o=this.foreignKeys)!==null&&o!==void 0?o:[]).find(E=>E.name===t)}hasForeignKey(t){var o;return((o=this.foreignKeys)!==null&&o!==void 0?o:[]).some(E=>E.name===t)}setPrimaryKey(t){var o;this.primaryKey||!t.hasAllColumnsFromTable(this)||(((o=t.columns)!==null&&o!==void 0?o:[]).forEach(E=>{if(!E.column)return;let T=this.getColumn(E.column);!T||!T.options||(T.options.nullable=!1)}),this.primaryKey=t)}pushFulltextIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(V.isDefined(this.fulltextIndexes)||(this.fulltextIndexes=[]),this.fulltextIndexes.push(t))}pushSpatialIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(V.isDefined(this.spatialIndexes)||(this.spatialIndexes=[]),this.spatialIndexes.push(t))}pushUniqueKey(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(t.setIndexSizeFromTable(this),V.isDefined(this.uniqueKeys)||(this.uniqueKeys=[]),this.uniqueKeys.push(t))}pushForeignKey(t){t.name&&this.getIndexByName(t.name)||(t.setIndexSizeFromTable(this),V.isDefined(this.foreignKeys)||(this.foreignKeys=[]),this.foreignKeys.push(t))}pushIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(t.setIndexSizeFromTable(this),V.isDefined(this.indexes)||(this.indexes=[]),this.indexes.push(t))}};vr.Table=Bn});var Ku=Q(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.CreateTable=void 0;var Du=Pu(),Do=class{getTable(t){return this.database.getTable(t)}getTables(){return this.database.getTables()}setDatabase(t){this.database=t}pushTable(t){this.database.pushTable(t)}handleDef(t){if(t.id==="P_CREATE_TABLE"){let o=t.def;if(o.id==="P_CREATE_TABLE_COMMON"){let E=Du.Table.fromCommonDef(o,this.database);E&&this.pushTable(E)}else if(o.id==="P_CREATE_TABLE_LIKE"){let E=Du.Table.fromAlikeDef(o,this.getTables());if(!E)return;E.foreignKeys=[],E&&this.pushTable(E)}return}throw new TypeError(`Expected P_CREATE_TABLE rule to be handled but received ${t.id}`)}};gr.CreateTable=Do});var du=Q(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.CreateIndex=void 0;var Qc=ut(),qc=Pr(),kc=Kr(),Vc=Br(),Ko=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_CREATE_INDEX"){let o=this.getTable(t.def.table);if(!o)return;let E=t.def.type.toLowerCase();E.includes("unique")?o.pushUniqueKey(Qc.UniqueKey.fromDef(t)):E.includes("fulltext")?o.pushFulltextIndex(qc.FulltextIndex.fromDef(t)):E.includes("spatial")?o.pushSpatialIndex(kc.SpatialIndex.fromDef(t)):o.pushIndex(Vc.Index.fromDef(t));return}throw new TypeError(`Expected P_CREATE_INDEX rule to be handled but received ${t.id}`)}};Mr.CreateIndex=Ko});var gu=Q(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.AlterTable=void 0;var vn=he(),Bu=So(),vu=Po(),Jc=Br(),zc=Rr(),Zc=ut(),jc=Pr(),em=Kr(),sm=Sr(),nm=Lo(),tm=Co(),gn=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_ALTER_TABLE"){let o=this.getTable(t.def.table);if(!o)return;t.def.specs.forEach(E=>{let T=E.def.spec,c=E.def.tableOptions;if(T){let O=T.def,Y=O.action,I=gn[Y];vn.isFunction(I)&&I(O,o)}else c&&(o.options||(o.options=new Bu.TableOptions),o.options.mergeWith(Bu.TableOptions.fromDef(c)))});return}throw new TypeError(`Expected P_ALTER_TABLE rule to be handled but received ${t.id}`)}static addColumn(t,o){let E=vu.Column.fromObject(t);E.reference&&delete E.reference,o.addColumn(E,t.position)}static addColumns(t,o){t.columns.forEach(E=>{let T=vu.Column.fromObject(E);T.reference&&delete T.reference,o.addColumn(T)})}static addIndex(t,o){let E=Jc.Index.fromObject(t);o.pushIndex(E)}static addPrimaryKey(t,o){let E=zc.PrimaryKey.fromObject(t);o.setPrimaryKey(E)}static addUniqueKey(t,o){let E=Zc.UniqueKey.fromObject(t);o.pushUniqueKey(E)}static addFulltextIndex(t,o){let E=jc.FulltextIndex.fromObject(t);o.pushFulltextIndex(E)}static addSpatialIndex(t,o){let E=em.SpatialIndex.fromObject(t);o.pushFulltextIndex(E)}static addForeignKey(t,o){let E=sm.ForeignKey.fromObject(t);o.pushForeignKey(E)}static setDefaultColumnValue(t,o){let E=o.getColumn(t.column);!vn.isDefined(E)||!vn.isDefined(E.options)||(E.options.default=t.value)}static dropDefaultColumnValue(t,o){let E=o.getColumn(t.column);!vn.isDefined(E)||!vn.isDefined(E.options)||delete E.options.default}static changeColumn(t,o){var E,T;let c=o.getColumn(t.column);if(!c)return;let O;if(t.position){if(t.position.after&&!o.getColumn(t.position.after))return;O=t.position}else O=o.getColumnPosition(c);let Y=tm.Datatype.fromDef(t.datatype),I;t.columnDefinition&&(I=nm.ColumnOptions.fromArray(t.columnDefinition)),vn.isDefined(I)&&(I.primary&&o.primaryKey||I.autoincrement&&((E=o.columns)!==null&&E!==void 0?E:[]).some(L=>{var P;return L!==c&&((P=L.options)===null||P===void 0?void 0:P.autoincrement)})||(I.unique&&((T=o.uniqueKeys)===null||T===void 0?void 0:T.some(L=>L.columns.length===1&&L.columns[0].column===c.name))&&delete I.unique,O&&o.moveColumn(c,O)&&(t.newName&&t.newName!==c.name&&o.renameColumn(c,t.newName),c.type=Y,c.options=I,o.extractColumnKeys(c))))}static dropColumn(t,o){let E=o.getColumn(t.column);!E||o.dropColumn(E)}static dropIndex(t,o){if(t.index.toLowerCase()==="primary"){gn.dropPrimaryKey(t,o);return}let E=o.getIndexByName(t.index);!E||o.dropIndexByInstance(E)}static dropPrimaryKey(t,o){o.dropPrimaryKey()}static dropForeignKey(t,o){let E=o.getForeignKey(t.key);!E||o.dropForeignKey(E)}static renameIndex(t,o){let E=o.getIndexByName(t.index);!E||(E.name=t.newName)}static rename(t,o){o.renameTo(t.newName)}};Fr.AlterTable=gn});var Mu=Q(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.RenameTable=void 0;var Bo=class{getTable(t){var o;return(o=this.database.getTable(t))!==null&&o!==void 0?o:void 0}setDatabase(t){this.database=t}getTables(){return this.database.getTables()}handleDef(t){if(t.id==="P_RENAME_TABLE"){t.def.forEach(o=>{let E=this.getTables().find(T=>T.name===o.table);!E||E.renameTo(o.newName)});return}throw new TypeError(`Expected P_RENAME_TABLE rule to be handled but received ${t.id}`)}};Ur.RenameTable=Bo});var Fu=Q(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.DropTable=void 0;var vo=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_DROP_TABLE"){t.def.forEach(o=>{let E=this.getTable(o);if(!E)return;let T=this.database.getTables();if(T.some(Y=>{var I;return(I=Y.foreignKeys)===null||I===void 0?void 0:I.some(L=>L.referencesTable(E))})||!E)return;let O=T.splice(T.indexOf(E));O.shift(),T=T.concat(O),this.database.setTables(T)});return}throw new TypeError(`Expected P_DROP_TABLE rule to be handled but received ${t.id}`)}};wr.DropTable=vo});var Uu=Q(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.DropIndex=void 0;var go=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_DROP_INDEX"){let o=this.getTable(t.def.table);if(!o)return;let E=o.getIndexByName(t.def.index);if(!E)return;o.dropIndexByInstance(E);return}throw new TypeError(`Expected P_DROP_INDEX rule to be handled but received ${t.id}`)}};Yr.DropIndex=go});var wu=Q(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Database=void 0;var rm=Ku(),_m=du(),om=gu(),im=Mu(),Em=Fu(),um=Uu(),$t=class{constructor(){this.ddsCollection=[],this.tables=[]}getTables(){return this.tables}setTables(t){this.tables=t}getTable(t){return this.tables.find(o=>o.name===t)}pushTable(t){this.tables.some(o=>o.name===t.name)||this.tables.push(t)}parseDdsCollection(t){this.ddsCollection=t,this.ddsCollection.forEach(o=>{if(!o)return;let E=o.def,T=$t.getHandler(E.id);!T||(T.setDatabase(this),T.handleDef(E))})}static getHandler(t){if(t==="P_CREATE_TABLE")return new rm.CreateTable;if(t==="P_CREATE_INDEX")return new _m.CreateIndex;if(t==="P_ALTER_TABLE")return new om.AlterTable;if(t==="P_RENAME_TABLE")return new im.RenameTable;if(t==="P_DROP_TABLE")return new Em.DropTable;if(t==="P_DROP_INDEX")return new um.DropIndex}};Xr.Database=$t});var Yu=Q(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.format=void 0;var am=wu();Gr.format=s=>{if(s.id==="MAIN"){let t=new am.Database;return t.parseDdsCollection(s.def),t.getTables().map(o=>o.toJSON())}throw new TypeError("Invalid JSON format provided for CompactFormatter. Please provide JSON from root element, containing { id: MAIN }.")}});var Xu=Q(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.Datatype=void 0;var Mn=he(),Fn=class{static fromCompactJson(t){let o=new Fn;return o.datatype=t.datatype,Mn.isDefined(t.decimals)&&(o.decimals=t.decimals),Mn.isDefined(t.digits)&&(o.digits=t.digits),Mn.isDefined(t.fractional)&&(o.fractional=t.fractional),Mn.isDefined(t.length)&&(o.length=t.length),Mn.isDefined(t.values)&&(o.values=t.values),Mn.isDefined(t.width)&&(o.width=t.width),o}static filterDatatype(t){return t==="int"?"integer":t==="decimal"||t==="float"||t==="double"?"number":t==="boolean"?"boolean":"string"}toJSON(){let t={type:Fn.filterDatatype(this.datatype)};if(this.datatype==="int"){let o=Math.pow(2,8*this.width);this.isUnsigned?(t.minimum=0,t.maximum=o):(t.minimum=0-o/2,t.maximum=0-t.minimum-1)}else if(this.datatype==="decimal"||this.datatype==="float")t.maximum=Number(`${"9".repeat(this.digits-this.decimals)}.${"9".repeat(this.decimals)}`),this.isUnsigned?t.minimum=0:t.minimum=0-t.maximum;else if(this.datatype==="date")t.format="date";else if(this.datatype==="time")t.format="time";else if(this.datatype==="datetime")t.format="date-time";else if(this.datatype==="year")t.pattern=`\\d{1,${this.digits}}`;else if(this.datatype==="char"||this.datatype==="binary"||this.datatype==="varchar"||this.datatype==="varbinary"||this.datatype==="text")t.maxLength=this.length;else if(this.datatype==="enum")t.enum=this.values;else if(this.datatype==="set"){let o=this.values.join("|");t.pattern=`^(${o})(,(${o}))*$`}return t}};Hr.Datatype=Fn});var Gu=Q(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.Column=void 0;var Tt=he(),pm=Xu(),lt=class{static fromCompactJson(t){let o=new lt;o.datatype=pm.Datatype.fromCompactJson(t.type),o.name=t.name;let E=t.options;return E&&(E.unsigned&&(o.datatype.isUnsigned=E.unsigned),(E.default===null||Tt.isString(E.default)&&E.default.length)&&(o.default=E.default),Tt.isString(E.comment)&&E.comment.length&&(o.comment=E.comment),o.isNullable=E.nullable),o}toJSON(){let t={},o=this.datatype.toJSON();return this.isPrimaryKey===!0&&(t.$comment="primary key",o.minimum=1),Tt.isDefined(this.comment)&&(t.description=this.comment),Object.getOwnPropertyNames(o).forEach(E=>{let T=o[E],c=Tt.isNumber(T);(c&&Number.isFinite(T)||!c)&&Tt.setProperty(t,E,T)}),typeof this.default<"u"&&(t.default=this.default),t}};Wr.Column=lt});var Hu=Q(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.Table=void 0;var Un=he(),$m=Gu(),ft=class{constructor(){this.columns=[]}static fromCompactJson(t){var o;let E=new ft;E.name=t.name,Un.isDefined(t.columns)&&(E.columns=t.columns.map(c=>$m.Column.fromCompactJson(c))),Un.isDefined(t.primaryKey)&&((o=t.primaryKey.columns)!==null&&o!==void 0?o:[]).map(c=>c.column).map(c=>E.columns.find(O=>O.name===c)).filter(Un.isDefined).forEach(c=>{c.isPrimaryKey=!0});let T=t.options;return T&&Un.isDefined(T.comment)&&(E.comment=T.comment),E}toJSON(t){let o={$schema:"http://json-schema.org/draft-07/schema",$comment:`JSON Schema for ${this.name} table`,$id:this.name,title:this.name,description:"",type:"object",required:[],definitions:{},properties:{}};return Un.isDefined(this.comment)?o.description=this.comment:delete o.description,this.columns.forEach(E=>{let T=E.toJSON(),c=E.name,O={};o.properties[c]={$ref:`#/definitions/${c}`},Object.getOwnPropertyNames(T).forEach(Y=>{Un.setProperty(O,Y,T[Y])}),o.definitions[c]=O,E.isNullable===!1&&o.required.push(c)}),t.useRef===!1&&(o.properties=o.definitions,delete o.definitions),o}};Qr.Table=ft});var Wu=Q(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.Database=void 0;var Tm=Hu(),Mo=class{constructor(){this.compactJsonTables=[],this.tables=[]}getTables(){return this.tables}setTables(t){this.tables=t}getTable(t){return this.tables.find(o=>o.name===t)}pushTable(t){this.tables.some(o=>o.name===t.name)||this.tables.push(t)}parseCompactJson(t){this.setTables(t.map(o=>Tm.Table.fromCompactJson(o)))}};qr.Database=Mo});var Qu=Q(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.format=void 0;var lm=Wu();kr.format=(s,t)=>{let o=new lm.Database;return o.parseCompactJson(s),o.getTables().map(T=>T.toJSON(t))}});var ku=Q(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.Parser=void 0;var qu=Iu(),fm=he(),Am=yu(),bm=Yu(),cm=Qu(),wn=class{constructor(t="mysql"){if(this.statements=[],this.remains="",this.escaped=!1,this.quoted="",!t||t==="mysql"||t==="mariadb")this.compiledGrammar=qu.Grammar.fromCompiled(Am.Grammar),this.compactFormatter=bm.format,this.jsonSchemaFormatter=cm.format;else throw new TypeError(`Unsupported SQL dialect given to parser: '${t}. Please provide 'mysql', 'mariadb' or none to use default.`);this.resetParser()}feed(t){let o,E,T="",c=0;for(o=0;o1){let Y=Number(O[1]),I=o+Y-1;c.message=c.message.replace(/\d+/,I)}}throw this.resetParser(),this.statements=[],this.remains="",this.escaped=!1,this.quoted="",c}return this.remains="",this.escaped=!1,this.quoted="",{id:"MAIN",def:T}}toCompactJson(t){return this.compactFormatter(t??this.results)}toJsonSchemaArray(t={useRef:!0},o){return this.jsonSchemaFormatter(o??this.toCompactJson(),t)}};Vr.Parser=wn});var Ju=Q(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0})});var Zu=Q(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0})});var ea=Q(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0})});var na=Q(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0})});var ta=Q(Os=>{"use strict";var mm=Os&&Os.__createBinding||(Object.create?function(s,t,o,E){E===void 0&&(E=o),Object.defineProperty(s,E,{enumerable:!0,get:function(){return t[o]}})}:function(s,t,o,E){E===void 0&&(E=o),s[E]=t[o]}),Jr=Os&&Os.__exportStar||function(s,t){for(var o in s)o!=="default"&&!t.hasOwnProperty(o)&&mm(t,s,o)};Object.defineProperty(Os,"__esModule",{value:!0});Jr(Ju(),Os);Jr(Zu(),Os);Jr(ea(),Os);Jr(na(),Os)});var ra=Q(zs=>{"use strict";var Im=zs&&zs.__createBinding||(Object.create?function(s,t,o,E){E===void 0&&(E=o),Object.defineProperty(s,E,{enumerable:!0,get:function(){return t[o]}})}:function(s,t,o,E){E===void 0&&(E=o),s[E]=t[o]}),Om=zs&&zs.__exportStar||function(s,t){for(var o in s)o!=="default"&&!t.hasOwnProperty(o)&&Im(t,s,o)};Object.defineProperty(zs,"__esModule",{value:!0});var Rm=ku();Object.defineProperty(zs,"Parser",{enumerable:!0,get:function(){return Rm.Parser}});Om(ta(),zs)});var _a=Q((Yn,At)=>{(function(){var s,t="4.17.21",o=200,E="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",T="Expected a function",c="Invalid `variable` option passed into `_.template`",O="__lodash_hash_undefined__",Y=500,I="__lodash_placeholder__",L=1,P=2,K=4,q=1,X=2,te=1,_e=2,Se=4,re=8,ye=16,xe=32,pe=64,We=128,fs=256,Zs=512,R=30,x="...",v=800,U=16,J=1,G=2,se=3,Ee=1/0,ue=9007199254740991,w=17976931348623157e292,Ae=0/0,Be=4294967295,Ne=Be-1,is=Be>>>1,ds=[["ary",We],["bind",te],["bindKey",_e],["curry",re],["curryRight",ye],["flip",Zs],["partial",xe],["partialRight",pe],["rearg",fs]],Pe="[object Arguments]",As="[object Array]",Bs="[object AsyncFunction]",Es="[object Boolean]",bs="[object Date]",jr="[object DOMException]",ct="[object Error]",mt="[object Function]",Yo="[object GeneratorFunction]",us="[object Map]",Xn="[object Number]",ua="[object Null]",Rs="[object Object]",Xo="[object Promise]",aa="[object Proxy]",Gn="[object RegExp]",as="[object Set]",Hn="[object String]",It="[object Symbol]",pa="[object Undefined]",Wn="[object WeakMap]",$a="[object WeakSet]",Qn="[object ArrayBuffer]",fn="[object DataView]",e_="[object Float32Array]",s_="[object Float64Array]",n_="[object Int8Array]",t_="[object Int16Array]",r_="[object Int32Array]",__="[object Uint8Array]",o_="[object Uint8ClampedArray]",i_="[object Uint16Array]",E_="[object Uint32Array]",Ta=/\b__p \+= '';/g,la=/\b(__p \+=) '' \+/g,fa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Go=/&(?:amp|lt|gt|quot|#39);/g,Ho=/[&<>"']/g,Aa=RegExp(Go.source),ba=RegExp(Ho.source),ca=/<%-([\s\S]+?)%>/g,ma=/<%([\s\S]+?)%>/g,Wo=/<%=([\s\S]+?)%>/g,Ia=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oa=/^\w*$/,Ra=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,u_=/[\\^$.*+?()[\]{}|]/g,ha=RegExp(u_.source),a_=/^\s+/,Na=/\s/,Sa=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ya=/\{\n\/\* \[wrapped with (.+)\] \*/,La=/,? & /,Ca=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,xa=/[()=,{}\[\]\/\s]/,Pa=/\\(\\)?/g,Da=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Qo=/\w*$/,Ka=/^[-+]0x[0-9a-f]+$/i,da=/^0b[01]+$/i,Ba=/^\[object .+?Constructor\]$/,va=/^0o[0-7]+$/i,ga=/^(?:0|[1-9]\d*)$/,Ma=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,Fa=/['\n\r\u2028\u2029\\]/g,Rt="\\ud800-\\udfff",Ua="\\u0300-\\u036f",wa="\\ufe20-\\ufe2f",Ya="\\u20d0-\\u20ff",qo=Ua+wa+Ya,ko="\\u2700-\\u27bf",Vo="a-z\\xdf-\\xf6\\xf8-\\xff",Xa="\\xac\\xb1\\xd7\\xf7",Ga="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ha="\\u2000-\\u206f",Wa=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Jo="A-Z\\xc0-\\xd6\\xd8-\\xde",zo="\\ufe0e\\ufe0f",Zo=Xa+Ga+Ha+Wa,p_="['\u2019]",Qa="["+Rt+"]",jo="["+Zo+"]",ht="["+qo+"]",ei="\\d+",qa="["+ko+"]",si="["+Vo+"]",ni="[^"+Rt+Zo+ei+ko+Vo+Jo+"]",$_="\\ud83c[\\udffb-\\udfff]",ka="(?:"+ht+"|"+$_+")",ti="[^"+Rt+"]",T_="(?:\\ud83c[\\udde6-\\uddff]){2}",l_="[\\ud800-\\udbff][\\udc00-\\udfff]",An="["+Jo+"]",ri="\\u200d",_i="(?:"+si+"|"+ni+")",Va="(?:"+An+"|"+ni+")",oi="(?:"+p_+"(?:d|ll|m|re|s|t|ve))?",ii="(?:"+p_+"(?:D|LL|M|RE|S|T|VE))?",Ei=ka+"?",ui="["+zo+"]?",Ja="(?:"+ri+"(?:"+[ti,T_,l_].join("|")+")"+ui+Ei+")*",za="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Za="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ai=ui+Ei+Ja,ja="(?:"+[qa,T_,l_].join("|")+")"+ai,ep="(?:"+[ti+ht+"?",ht,T_,l_,Qa].join("|")+")",sp=RegExp(p_,"g"),np=RegExp(ht,"g"),f_=RegExp($_+"(?="+$_+")|"+ep+ai,"g"),tp=RegExp([An+"?"+si+"+"+oi+"(?="+[jo,An,"$"].join("|")+")",Va+"+"+ii+"(?="+[jo,An+_i,"$"].join("|")+")",An+"?"+_i+"+"+oi,An+"+"+ii,Za,za,ei,ja].join("|"),"g"),rp=RegExp("["+ri+Rt+qo+zo+"]"),_p=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,op=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ip=-1,le={};le[e_]=le[s_]=le[n_]=le[t_]=le[r_]=le[__]=le[o_]=le[i_]=le[E_]=!0,le[Pe]=le[As]=le[Qn]=le[Es]=le[fn]=le[bs]=le[ct]=le[mt]=le[us]=le[Xn]=le[Rs]=le[Gn]=le[as]=le[Hn]=le[Wn]=!1;var Te={};Te[Pe]=Te[As]=Te[Qn]=Te[fn]=Te[Es]=Te[bs]=Te[e_]=Te[s_]=Te[n_]=Te[t_]=Te[r_]=Te[us]=Te[Xn]=Te[Rs]=Te[Gn]=Te[as]=Te[Hn]=Te[It]=Te[__]=Te[o_]=Te[i_]=Te[E_]=!0,Te[ct]=Te[mt]=Te[Wn]=!1;var Ep={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},up={"&":"&","<":"<",">":">",'"':""","'":"'"},ap={"&":"&","<":"<",">":">",""":'"',"'":"'"},pp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$p=parseFloat,Tp=parseInt,pi=typeof global=="object"&&global&&global.Object===Object&&global,lp=typeof self=="object"&&self&&self.Object===Object&&self,De=pi||lp||Function("return this")(),A_=typeof Yn=="object"&&Yn&&!Yn.nodeType&&Yn,js=A_&&typeof At=="object"&&At&&!At.nodeType&&At,$i=js&&js.exports===A_,b_=$i&&pi.process,Ze=function(){try{var A=js&&js.require&&js.require("util").types;return A||b_&&b_.binding&&b_.binding("util")}catch{}}(),Ti=Ze&&Ze.isArrayBuffer,li=Ze&&Ze.isDate,fi=Ze&&Ze.isMap,Ai=Ze&&Ze.isRegExp,bi=Ze&&Ze.isSet,ci=Ze&&Ze.isTypedArray;function Qe(A,N,m){switch(m.length){case 0:return A.call(N);case 1:return A.call(N,m[0]);case 2:return A.call(N,m[0],m[1]);case 3:return A.call(N,m[0],m[1],m[2])}return A.apply(N,m)}function fp(A,N,m,d){for(var H=-1,oe=A==null?0:A.length;++H-1}function c_(A,N,m){for(var d=-1,H=A==null?0:A.length;++d-1;);return m}function yi(A,N){for(var m=A.length;m--&&bn(N,A[m],0)>-1;);return m}function Np(A,N){for(var m=A.length,d=0;m--;)A[m]===N&&++d;return d}var Sp=R_(Ep),yp=R_(up);function Lp(A){return"\\"+pp[A]}function Cp(A,N){return A==null?s:A[N]}function cn(A){return rp.test(A)}function xp(A){return _p.test(A)}function Pp(A){for(var N,m=[];!(N=A.next()).done;)m.push(N.value);return m}function y_(A){var N=-1,m=Array(A.size);return A.forEach(function(d,H){m[++N]=[H,d]}),m}function Li(A,N){return function(m){return A(N(m))}}function Ms(A,N){for(var m=-1,d=A.length,H=0,oe=[];++m-1}function b$(e,n){var r=this.__data__,i=Yt(r,e);return i<0?(++this.size,r.push([e,n])):r[i][1]=n,this}hs.prototype.clear=T$,hs.prototype.delete=l$,hs.prototype.get=f$,hs.prototype.has=A$,hs.prototype.set=b$;function Ns(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n=n?e:n)),e}function ns(e,n,r,i,u,p){var $,l=n&L,b=n&P,S=n&K;if(r&&($=u?r(e,i,u,p):r(e)),$!==s)return $;if(!be(e))return e;var y=W(e);if(y){if($=OT(e),!l)return Ye(e,$)}else{var C=Me(e),D=C==mt||C==Yo;if(Hs(e))return uE(e,l);if(C==Rs||C==Pe||D&&!u){if($=b||D?{}:CE(e),!l)return b?aT(e,d$($,e)):uT(e,Ui($,e))}else{if(!Te[C])return u?e:{};$=RT(e,C,l)}}p||(p=new $s);var B=p.get(e);if(B)return B;p.set(e,$),tu(e)?e.forEach(function(F){$.add(ns(F,n,r,F,e,p))}):su(e)&&e.forEach(function(F,j){$.set(j,ns(F,n,r,j,e,p))});var M=S?b?Z_:z_:b?Ge:Ke,z=y?s:M(e);return je(z||e,function(F,j){z&&(j=F,F=e[j]),jn($,j,ns(F,n,r,j,e,p))}),$}function B$(e){var n=Ke(e);return function(r){return wi(r,e,n)}}function wi(e,n,r){var i=r.length;if(e==null)return!i;for(e=$e(e);i--;){var u=r[i],p=n[u],$=e[u];if($===s&&!(u in e)||!p($))return!1}return!0}function Yi(e,n,r){if(typeof e!="function")throw new es(T);return ot(function(){e.apply(s,r)},n)}function et(e,n,r,i){var u=-1,p=Nt,$=!0,l=e.length,b=[],S=n.length;if(!l)return b;r&&(n=fe(n,qe(r))),i?(p=c_,$=!1):n.length>=o&&(p=qn,$=!1,n=new nn(n));e:for(;++uu?0:u+r),i=i===s||i>u?u:k(i),i<0&&(i+=u),i=r>i?0:_u(i);r0&&r(l)?n>1?ve(l,n-1,r,i,u):gs(u,l):i||(u[u.length]=l)}return u}var d_=fE(),Hi=fE(!0);function cs(e,n){return e&&d_(e,n,Ke)}function B_(e,n){return e&&Hi(e,n,Ke)}function Gt(e,n){return vs(n,function(r){return xs(e[r])})}function rn(e,n){n=Xs(n,e);for(var r=0,i=n.length;e!=null&&rn}function M$(e,n){return e!=null&&ae.call(e,n)}function F$(e,n){return e!=null&&n in $e(e)}function U$(e,n,r){return e>=ge(n,r)&&e=120&&y.length>=120)?new nn($&&y):s}y=e[0];var C=-1,D=l[0];e:for(;++C-1;)l!==e&&Bt.call(l,b,1),Bt.call(e,b,1);return e}function sE(e,n){for(var r=e?n.length:0,i=r-1;r--;){var u=n[r];if(r==i||u!==p){var p=u;Cs(u)?Bt.call(e,u,1):H_(e,u)}}return e}function Y_(e,n){return e+Mt(vi()*(n-e+1))}function Z$(e,n,r,i){for(var u=-1,p=Ce(gt((n-e)/(r||1)),0),$=m(p);p--;)$[i?p:++u]=e,e+=r;return $}function X_(e,n){var r="";if(!e||n<1||n>ue)return r;do n%2&&(r+=e),n=Mt(n/2),n&&(e+=e);while(n);return r}function Z(e,n){return _o(DE(e,n,He),e+"")}function j$(e){return Fi(Cn(e))}function eT(e,n){var r=Cn(e);return er(r,tn(n,0,r.length))}function tt(e,n,r,i){if(!be(e))return e;n=Xs(n,e);for(var u=-1,p=n.length,$=p-1,l=e;l!=null&&++uu?0:u+n),r=r>u?u:r,r<0&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0;for(var p=m(u);++i>>1,$=e[p];$!==null&&!Ve($)&&(r?$<=n:$=o){var S=n?null:lT(e);if(S)return yt(S);$=!1,u=qn,b=new nn}else b=n?[]:l;e:for(;++i=i?e:ts(e,n,r)}var EE=Wp||function(e){return De.clearTimeout(e)};function uE(e,n){if(n)return e.slice();var r=e.length,i=Pi?Pi(r):new e.constructor(r);return e.copy(i),i}function k_(e){var n=new e.constructor(e.byteLength);return new Kt(n).set(new Kt(e)),n}function _T(e,n){var r=n?k_(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}function oT(e){var n=new e.constructor(e.source,Qo.exec(e));return n.lastIndex=e.lastIndex,n}function iT(e){return Zn?$e(Zn.call(e)):{}}function aE(e,n){var r=n?k_(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function pE(e,n){if(e!==n){var r=e!==s,i=e===null,u=e===e,p=Ve(e),$=n!==s,l=n===null,b=n===n,S=Ve(n);if(!l&&!S&&!p&&e>n||p&&$&&b&&!l&&!S||i&&$&&b||!r&&b||!u)return 1;if(!i&&!p&&!S&&e=l)return b;var S=r[i];return b*(S=="desc"?-1:1)}}return e.index-n.index}function $E(e,n,r,i){for(var u=-1,p=e.length,$=r.length,l=-1,b=n.length,S=Ce(p-$,0),y=m(b+S),C=!i;++l1?r[u-1]:s,$=u>2?r[2]:s;for(p=e.length>3&&typeof p=="function"?(u--,p):s,$&&Ue(r[0],r[1],$)&&(p=u<3?s:p,u=1),n=$e(n);++i-1?u[p?n[$]:$]:s}}function cE(e){return Ls(function(n){var r=n.length,i=r,u=ss.prototype.thru;for(e&&n.reverse();i--;){var p=n[i];if(typeof p!="function")throw new es(T);if(u&&!$&&Zt(p)=="wrapper")var $=new ss([],!0)}for(i=$?i:r;++i1&&ne.reverse(),y&&bl))return!1;var S=p.get(e),y=p.get(n);if(S&&y)return S==n&&y==e;var C=-1,D=!0,B=r&X?new nn:s;for(p.set(e,n),p.set(n,e);++C1?"& ":"")+n[i],n=n.join(r>2?", ":" "),e.replace(Sa,`{ -/* [wrapped with `+n+`] */ -`)}function NT(e){return W(e)||En(e)||!!(di&&e&&e[di])}function Cs(e,n){var r=typeof e;return n=n??ue,!!n&&(r=="number"||r!="symbol"&&ga.test(e))&&e>-1&&e%1==0&&e0){if(++n>=v)return arguments[0]}else n=0;return e.apply(s,arguments)}}function er(e,n){var r=-1,i=e.length,u=i-1;for(n=n===s?i:n;++r1?e[n-1]:s;return r=typeof r=="function"?(e.pop(),r):s,GE(e,r)});function HE(e){var n=a(e);return n.__chain__=!0,n}function vl(e,n){return n(e),e}function sr(e,n){return n(e)}var gl=Ls(function(e){var n=e.length,r=n?e[0]:0,i=this.__wrapped__,u=function(p){return K_(p,e)};return n>1||this.__actions__.length||!(i instanceof ee)||!Cs(r)?this.thru(u):(i=i.slice(r,+r+(n?1:0)),i.__actions__.push({func:sr,args:[u],thisArg:s}),new ss(i,this.__chain__).thru(function(p){return n&&!p.length&&p.push(s),p}))});function Ml(){return HE(this)}function Fl(){return new ss(this.value(),this.__chain__)}function Ul(){this.__values__===s&&(this.__values__=ru(this.value()));var e=this.__index__>=this.__values__.length,n=e?s:this.__values__[this.__index__++];return{done:e,value:n}}function wl(){return this}function Yl(e){for(var n,r=this;r instanceof wt;){var i=ME(r);i.__index__=0,i.__values__=s,n?u.__wrapped__=i:n=i;var u=i;r=r.__wrapped__}return u.__wrapped__=e,n}function Xl(){var e=this.__wrapped__;if(e instanceof ee){var n=e;return this.__actions__.length&&(n=new ee(this)),n=n.reverse(),n.__actions__.push({func:sr,args:[oo],thisArg:s}),new ss(n,this.__chain__)}return this.thru(oo)}function Gl(){return oE(this.__wrapped__,this.__actions__)}var Hl=qt(function(e,n,r){ae.call(e,r)?++e[r]:Ss(e,r,1)});function Wl(e,n,r){var i=W(e)?mi:v$;return r&&Ue(e,n,r)&&(n=s),i(e,g(n,3))}function Ql(e,n){var r=W(e)?vs:Gi;return r(e,g(n,3))}var ql=bE(FE),kl=bE(UE);function Vl(e,n){return ve(nr(e,n),1)}function Jl(e,n){return ve(nr(e,n),Ee)}function zl(e,n,r){return r=r===s?1:k(r),ve(nr(e,n),r)}function WE(e,n){var r=W(e)?je:ws;return r(e,g(n,3))}function QE(e,n){var r=W(e)?Ap:Xi;return r(e,g(n,3))}var Zl=qt(function(e,n,r){ae.call(e,r)?e[r].push(n):Ss(e,r,[n])});function jl(e,n,r,i){e=Xe(e)?e:Cn(e),r=r&&!i?k(r):0;var u=e.length;return r<0&&(r=Ce(u+r,0)),ir(e)?r<=u&&e.indexOf(n,r)>-1:!!u&&bn(e,n,r)>-1}var ef=Z(function(e,n,r){var i=-1,u=typeof n=="function",p=Xe(e)?m(e.length):[];return ws(e,function($){p[++i]=u?Qe(n,$,r):st($,n,r)}),p}),sf=qt(function(e,n,r){Ss(e,r,n)});function nr(e,n){var r=W(e)?fe:Vi;return r(e,g(n,3))}function nf(e,n,r,i){return e==null?[]:(W(n)||(n=n==null?[]:[n]),r=i?s:r,W(r)||(r=r==null?[]:[r]),ji(e,n,r))}var tf=qt(function(e,n,r){e[r?0:1].push(n)},function(){return[[],[]]});function rf(e,n,r){var i=W(e)?m_:hi,u=arguments.length<3;return i(e,g(n,4),r,u,ws)}function _f(e,n,r){var i=W(e)?bp:hi,u=arguments.length<3;return i(e,g(n,4),r,u,Xi)}function of(e,n){var r=W(e)?vs:Gi;return r(e,_r(g(n,3)))}function Ef(e){var n=W(e)?Fi:j$;return n(e)}function uf(e,n,r){(r?Ue(e,n,r):n===s)?n=1:n=k(n);var i=W(e)?P$:eT;return i(e,n)}function af(e){var n=W(e)?D$:nT;return n(e)}function pf(e){if(e==null)return 0;if(Xe(e))return ir(e)?mn(e):e.length;var n=Me(e);return n==us||n==as?e.size:F_(e).length}function $f(e,n,r){var i=W(e)?I_:tT;return r&&Ue(e,n,r)&&(n=s),i(e,g(n,3))}var Tf=Z(function(e,n){if(e==null)return[];var r=n.length;return r>1&&Ue(e,n[0],n[1])?n=[]:r>2&&Ue(n[0],n[1],n[2])&&(n=[n[0]]),ji(e,ve(n,1),[])}),tr=Qp||function(){return De.Date.now()};function lf(e,n){if(typeof n!="function")throw new es(T);return e=k(e),function(){if(--e<1)return n.apply(this,arguments)}}function qE(e,n,r){return n=r?s:n,n=e&&n==null?e.length:n,ys(e,We,s,s,s,s,n)}function kE(e,n){var r;if(typeof n!="function")throw new es(T);return e=k(e),function(){return--e>0&&(r=n.apply(this,arguments)),e<=1&&(n=s),r}}var Eo=Z(function(e,n,r){var i=te;if(r.length){var u=Ms(r,yn(Eo));i|=xe}return ys(e,i,n,r,u)}),VE=Z(function(e,n,r){var i=te|_e;if(r.length){var u=Ms(r,yn(VE));i|=xe}return ys(n,i,e,r,u)});function JE(e,n,r){n=r?s:n;var i=ys(e,re,s,s,s,s,s,n);return i.placeholder=JE.placeholder,i}function zE(e,n,r){n=r?s:n;var i=ys(e,ye,s,s,s,s,s,n);return i.placeholder=zE.placeholder,i}function ZE(e,n,r){var i,u,p,$,l,b,S=0,y=!1,C=!1,D=!0;if(typeof e!="function")throw new es(T);n=_s(n)||0,be(r)&&(y=!!r.leading,C="maxWait"in r,p=C?Ce(_s(r.maxWait)||0,n):p,D="trailing"in r?!!r.trailing:D);function B(Re){var ls=i,Ds=u;return i=u=s,S=Re,$=e.apply(Ds,ls),$}function M(Re){return S=Re,l=ot(j,n),y?B(Re):$}function z(Re){var ls=Re-b,Ds=Re-S,bu=n-ls;return C?ge(bu,p-Ds):bu}function F(Re){var ls=Re-b,Ds=Re-S;return b===s||ls>=n||ls<0||C&&Ds>=p}function j(){var Re=tr();if(F(Re))return ne(Re);l=ot(j,z(Re))}function ne(Re){return l=s,D&&i?B(Re):(i=u=s,$)}function Je(){l!==s&&EE(l),S=0,i=b=u=l=s}function we(){return l===s?$:ne(tr())}function ze(){var Re=tr(),ls=F(Re);if(i=arguments,u=this,b=Re,ls){if(l===s)return M(b);if(C)return EE(l),l=ot(j,n),B(b)}return l===s&&(l=ot(j,n)),$}return ze.cancel=Je,ze.flush=we,ze}var ff=Z(function(e,n){return Yi(e,1,n)}),Af=Z(function(e,n,r){return Yi(e,_s(n)||0,r)});function bf(e){return ys(e,Zs)}function rr(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new es(T);var r=function(){var i=arguments,u=n?n.apply(this,i):i[0],p=r.cache;if(p.has(u))return p.get(u);var $=e.apply(this,i);return r.cache=p.set(u,$)||p,$};return r.cache=new(rr.Cache||Ns),r}rr.Cache=Ns;function _r(e){if(typeof e!="function")throw new es(T);return function(){var n=arguments;switch(n.length){case 0:return!e.call(this);case 1:return!e.call(this,n[0]);case 2:return!e.call(this,n[0],n[1]);case 3:return!e.call(this,n[0],n[1],n[2])}return!e.apply(this,n)}}function cf(e){return kE(2,e)}var mf=rT(function(e,n){n=n.length==1&&W(n[0])?fe(n[0],qe(g())):fe(ve(n,1),qe(g()));var r=n.length;return Z(function(i){for(var u=-1,p=ge(i.length,r);++u=n}),En=Qi(function(){return arguments}())?Qi:function(e){return me(e)&&ae.call(e,"callee")&&!Ki.call(e,"callee")},W=m.isArray,Bf=Ti?qe(Ti):Y$;function Xe(e){return e!=null&&or(e.length)&&!xs(e)}function Oe(e){return me(e)&&Xe(e)}function vf(e){return e===!0||e===!1||me(e)&&Fe(e)==Es}var Hs=kp||Io,gf=li?qe(li):X$;function Mf(e){return me(e)&&e.nodeType===1&&!it(e)}function Ff(e){if(e==null)return!0;if(Xe(e)&&(W(e)||typeof e=="string"||typeof e.splice=="function"||Hs(e)||Ln(e)||En(e)))return!e.length;var n=Me(e);if(n==us||n==as)return!e.size;if(_t(e))return!F_(e).length;for(var r in e)if(ae.call(e,r))return!1;return!0}function Uf(e,n){return nt(e,n)}function wf(e,n,r){r=typeof r=="function"?r:s;var i=r?r(e,n):s;return i===s?nt(e,n,s,r):!!i}function ao(e){if(!me(e))return!1;var n=Fe(e);return n==ct||n==jr||typeof e.message=="string"&&typeof e.name=="string"&&!it(e)}function Yf(e){return typeof e=="number"&&Bi(e)}function xs(e){if(!be(e))return!1;var n=Fe(e);return n==mt||n==Yo||n==Bs||n==aa}function eu(e){return typeof e=="number"&&e==k(e)}function or(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ue}function be(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function me(e){return e!=null&&typeof e=="object"}var su=fi?qe(fi):H$;function Xf(e,n){return e===n||M_(e,n,eo(n))}function Gf(e,n,r){return r=typeof r=="function"?r:s,M_(e,n,eo(n),r)}function Hf(e){return nu(e)&&e!=+e}function Wf(e){if(LT(e))throw new H(E);return qi(e)}function Qf(e){return e===null}function qf(e){return e==null}function nu(e){return typeof e=="number"||me(e)&&Fe(e)==Xn}function it(e){if(!me(e)||Fe(e)!=Rs)return!1;var n=dt(e);if(n===null)return!0;var r=ae.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&xt.call(r)==Xp}var po=Ai?qe(Ai):W$;function kf(e){return eu(e)&&e>=-ue&&e<=ue}var tu=bi?qe(bi):Q$;function ir(e){return typeof e=="string"||!W(e)&&me(e)&&Fe(e)==Hn}function Ve(e){return typeof e=="symbol"||me(e)&&Fe(e)==It}var Ln=ci?qe(ci):q$;function Vf(e){return e===s}function Jf(e){return me(e)&&Me(e)==Wn}function zf(e){return me(e)&&Fe(e)==$a}var Zf=zt(U_),jf=zt(function(e,n){return e<=n});function ru(e){if(!e)return[];if(Xe(e))return ir(e)?ps(e):Ye(e);if(kn&&e[kn])return Pp(e[kn]());var n=Me(e),r=n==us?y_:n==as?yt:Cn;return r(e)}function Ps(e){if(!e)return e===0?e:0;if(e=_s(e),e===Ee||e===-Ee){var n=e<0?-1:1;return n*w}return e===e?e:0}function k(e){var n=Ps(e),r=n%1;return n===n?r?n-r:n:0}function _u(e){return e?tn(k(e),0,Be):0}function _s(e){if(typeof e=="number")return e;if(Ve(e))return Ae;if(be(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=be(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Ni(e);var r=da.test(e);return r||va.test(e)?Tp(e.slice(2),r?2:8):Ka.test(e)?Ae:+e}function ou(e){return ms(e,Ge(e))}function eA(e){return e?tn(k(e),-ue,ue):e===0?e:0}function ie(e){return e==null?"":ke(e)}var sA=Nn(function(e,n){if(_t(n)||Xe(n)){ms(n,Ke(n),e);return}for(var r in n)ae.call(n,r)&&jn(e,r,n[r])}),iu=Nn(function(e,n){ms(n,Ge(n),e)}),Er=Nn(function(e,n,r,i){ms(n,Ge(n),e,i)}),nA=Nn(function(e,n,r,i){ms(n,Ke(n),e,i)}),tA=Ls(K_);function rA(e,n){var r=hn(e);return n==null?r:Ui(r,n)}var _A=Z(function(e,n){e=$e(e);var r=-1,i=n.length,u=i>2?n[2]:s;for(u&&Ue(n[0],n[1],u)&&(i=1);++r1),p}),ms(e,Z_(e),r),i&&(r=ns(r,L|P|K,fT));for(var u=n.length;u--;)H_(r,n[u]);return r});function hA(e,n){return uu(e,_r(g(n)))}var NA=Ls(function(e,n){return e==null?{}:J$(e,n)});function uu(e,n){if(e==null)return{};var r=fe(Z_(e),function(i){return[i]});return n=g(n),eE(e,r,function(i,u){return n(i,u[0])})}function SA(e,n,r){n=Xs(n,e);var i=-1,u=n.length;for(u||(u=1,e=s);++in){var i=e;e=n,n=i}if(r||e%1||n%1){var u=vi();return ge(e+u*(n-e+$p("1e-"+((u+"").length-1))),n)}return Y_(e,n)}var gA=Sn(function(e,n,r){return n=n.toLowerCase(),e+(r?$u(n):n)});function $u(e){return lo(ie(e).toLowerCase())}function Tu(e){return e=ie(e),e&&e.replace(Ma,Sp).replace(np,"")}function MA(e,n,r){e=ie(e),n=ke(n);var i=e.length;r=r===s?i:tn(k(r),0,i);var u=r;return r-=n.length,r>=0&&e.slice(r,u)==n}function FA(e){return e=ie(e),e&&ba.test(e)?e.replace(Ho,yp):e}function UA(e){return e=ie(e),e&&ha.test(e)?e.replace(u_,"\\$&"):e}var wA=Sn(function(e,n,r){return e+(r?"-":"")+n.toLowerCase()}),YA=Sn(function(e,n,r){return e+(r?" ":"")+n.toLowerCase()}),XA=AE("toLowerCase");function GA(e,n,r){e=ie(e),n=k(n);var i=n?mn(e):0;if(!n||i>=n)return e;var u=(n-i)/2;return Jt(Mt(u),r)+e+Jt(gt(u),r)}function HA(e,n,r){e=ie(e),n=k(n);var i=n?mn(e):0;return n&&i>>0,r?(e=ie(e),e&&(typeof n=="string"||n!=null&&!po(n))&&(n=ke(n),!n&&cn(e))?Gs(ps(e),0,r):e.split(n,r)):[]}var zA=Sn(function(e,n,r){return e+(r?" ":"")+lo(n)});function ZA(e,n,r){return e=ie(e),r=r==null?0:tn(k(r),0,e.length),n=ke(n),e.slice(r,r+n.length)==n}function jA(e,n,r){var i=a.templateSettings;r&&Ue(e,n,r)&&(n=s),e=ie(e),n=Er({},n,i,hE);var u=Er({},n.imports,i.imports,hE),p=Ke(u),$=S_(u,p),l,b,S=0,y=n.interpolate||Ot,C="__p += '",D=L_((n.escape||Ot).source+"|"+y.source+"|"+(y===Wo?Da:Ot).source+"|"+(n.evaluate||Ot).source+"|$","g"),B="//# sourceURL="+(ae.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ip+"]")+` -`;e.replace(D,function(F,j,ne,Je,we,ze){return ne||(ne=Je),C+=e.slice(S,ze).replace(Fa,Lp),j&&(l=!0,C+=`' + -__e(`+j+`) + -'`),we&&(b=!0,C+=`'; -`+we+`; -__p += '`),ne&&(C+=`' + -((__t = (`+ne+`)) == null ? '' : __t) + -'`),S=ze+F.length,F}),C+=`'; -`;var M=ae.call(n,"variable")&&n.variable;if(!M)C=`with (obj) { -`+C+` -} -`;else if(xa.test(M))throw new H(c);C=(b?C.replace(Ta,""):C).replace(la,"$1").replace(fa,"$1;"),C="function("+(M||"obj")+`) { -`+(M?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(l?", __e = _.escape":"")+(b?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+C+`return __p -}`;var z=fu(function(){return oe(p,B+"return "+C).apply(s,$)});if(z.source=C,ao(z))throw z;return z}function eb(e){return ie(e).toLowerCase()}function sb(e){return ie(e).toUpperCase()}function nb(e,n,r){if(e=ie(e),e&&(r||n===s))return Ni(e);if(!e||!(n=ke(n)))return e;var i=ps(e),u=ps(n),p=Si(i,u),$=yi(i,u)+1;return Gs(i,p,$).join("")}function tb(e,n,r){if(e=ie(e),e&&(r||n===s))return e.slice(0,Ci(e)+1);if(!e||!(n=ke(n)))return e;var i=ps(e),u=yi(i,ps(n))+1;return Gs(i,0,u).join("")}function rb(e,n,r){if(e=ie(e),e&&(r||n===s))return e.replace(a_,"");if(!e||!(n=ke(n)))return e;var i=ps(e),u=Si(i,ps(n));return Gs(i,u).join("")}function _b(e,n){var r=R,i=x;if(be(n)){var u="separator"in n?n.separator:u;r="length"in n?k(n.length):r,i="omission"in n?ke(n.omission):i}e=ie(e);var p=e.length;if(cn(e)){var $=ps(e);p=$.length}if(r>=p)return e;var l=r-mn(i);if(l<1)return i;var b=$?Gs($,0,l).join(""):e.slice(0,l);if(u===s)return b+i;if($&&(l+=b.length-l),po(u)){if(e.slice(l).search(u)){var S,y=b;for(u.global||(u=L_(u.source,ie(Qo.exec(u))+"g")),u.lastIndex=0;S=u.exec(y);)var C=S.index;b=b.slice(0,C===s?l:C)}}else if(e.indexOf(ke(u),l)!=l){var D=b.lastIndexOf(u);D>-1&&(b=b.slice(0,D))}return b+i}function ob(e){return e=ie(e),e&&Aa.test(e)?e.replace(Go,Bp):e}var ib=Sn(function(e,n,r){return e+(r?" ":"")+n.toUpperCase()}),lo=AE("toUpperCase");function lu(e,n,r){return e=ie(e),n=r?s:n,n===s?xp(e)?Mp(e):Ip(e):e.match(n)||[]}var fu=Z(function(e,n){try{return Qe(e,s,n)}catch(r){return ao(r)?r:new H(r)}}),Eb=Ls(function(e,n){return je(n,function(r){r=Is(r),Ss(e,r,Eo(e[r],e))}),e});function ub(e){var n=e==null?0:e.length,r=g();return e=n?fe(e,function(i){if(typeof i[1]!="function")throw new es(T);return[r(i[0]),i[1]]}):[],Z(function(i){for(var u=-1;++uue)return[];var r=Be,i=ge(e,Be);n=g(n),e-=Be;for(var u=N_(i,n);++r0||n<0)?new ee(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),n!==s&&(n=k(n),r=n<0?r.dropRight(-n):r.take(n-e)),r)},ee.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},ee.prototype.toArray=function(){return this.take(Be)},cs(ee.prototype,function(e,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),i=/^(?:head|last)$/.test(n),u=a[i?"take"+(n=="last"?"Right":""):n],p=i||/^find/.test(n);!u||(a.prototype[n]=function(){var $=this.__wrapped__,l=i?[1]:arguments,b=$ instanceof ee,S=l[0],y=b||W($),C=function(j){var ne=u.apply(a,gs([j],l));return i&&D?ne[0]:ne};y&&r&&typeof S=="function"&&S.length!=1&&(b=y=!1);var D=this.__chain__,B=!!this.__actions__.length,M=p&&!D,z=b&&!B;if(!p&&y){$=z?$:new ee(this);var F=e.apply($,l);return F.__actions__.push({func:sr,args:[C],thisArg:s}),new ss(F,D)}return M&&z?e.apply(this,l):(F=this.thru(C),M?i?F.value()[0]:F.value():F)})}),je(["pop","push","shift","sort","splice","unshift"],function(e){var n=Lt[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(i&&!this.__chain__){var p=this.value();return n.apply(W(p)?p:[],u)}return this[r](function($){return n.apply(W($)?$:[],u)})}}),cs(ee.prototype,function(e,n){var r=a[n];if(r){var i=r.name+"";ae.call(Rn,i)||(Rn[i]=[]),Rn[i].push({name:n,func:r})}}),Rn[kt(s,_e).name]=[{name:"wrapper",func:s}],ee.prototype.clone=_$,ee.prototype.reverse=o$,ee.prototype.value=i$,a.prototype.at=gl,a.prototype.chain=Ml,a.prototype.commit=Fl,a.prototype.next=Ul,a.prototype.plant=Yl,a.prototype.reverse=Xl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Gl,a.prototype.first=a.prototype.head,kn&&(a.prototype[kn]=wl),a},Fs=Fp();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(De._=Fs,define(function(){return Fs})):js?((js.exports=Fs)._=Fs,A_._=Fs):De._=Fs}).call(Yn)});var Km={};Zb(Km,{schemaToErd:()=>wo});module.exports=jb(Km);var zr=require("fs"),Zr=ar(require("path"),1);var oa=ar(ra(),1),bt=ar(require("assert"),1),ia=ar(_a(),1);var Fo={"inter-token":["BINARY","national","STORED"],"match-token":["VIRTUAL","type = innodb","default 0000-00-00 00:00:00","default 0000-00-00","CONSTRAINT check_active"],"func-token":["GENERATED","CHECK","PARTITION BY LIST (transaction_type)"]};var hm=new oa.Parser("mysql");function Nm(s,t){let o=s,E,T,c;for(;T=o.indexOf(t),T!==-1;){E=0,c=void 0;for(let O=T+t.length;ONm(o,E),s)}function ym(s){return Object.keys(Fo).reduce((t,o)=>{let E=Fo[o];if(ia.default.isEmpty(E))return t;switch(o){case"inter-token":let T=new RegExp(`\\s+(${E.join("|")})\\s+`,"gmi");return t.replace(T," ");case"match-token":let c=new RegExp(`(${E.join("|")})`,"gm");return t.replace(c,"");case"func-token":return Sm(t,E);default:(0,bt.default)(!1,`Not supported token type: ${o}`);break}return(0,bt.default)(!1,"This can never be reached."),t},s)}function Lm(s){let t=[],o=/(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i,E=0;for(;EO.$comment==="primary key"?[...T,c]:T,[]);return{tableName:t,columnNames:o,primaryKeys:E}}var xm=s=>s.replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi,"").replace(/COMMENT\s+['"](.*?)['"]/gi,"").replace(/\/\*.*?\*\/|--.*?\n/gs,""),Ea=s=>Lm(xm(s)).reduce((t,o)=>{try{let E={useRef:!0},T=hm.feed(o).toJsonSchemaArray(E);if(T.length===0)return t;(0,bt.default)(T.length===1,"Parse only one DDL at a time.");let{tableName:c,columnNames:O,primaryKeys:Y}=Cm(T[0]);return{...t,[c]:{columnNames:O,primaryKeys:Y}}}catch{return console.error(`Can not parse "${o}"`),t}},{});function Pm(s,t,o){let T=t.map(c=>o.includes(c)?`*${c}`:c).join(` - `);return`entity ${s} { - ${T} -} -`}function Dm(s,t,o,E){let T=Object.keys(E);return t.reduce((c,O)=>{if(!o.includes(O)&&T.includes(O)){let Y=E[O];return[...c,`${s}::${O} --> ${Y.tableName}::${Y.columnName}`]}return c},[])}function Uo(s){let t=Object.entries(s).reduce((T,[c,{columnNames:O,primaryKeys:Y}])=>T+Pm(c,O,Y),""),o=Object.entries(s).reduce((T,[c,{primaryKeys:O}])=>O.reduce((Y,I)=>{let L=I.startsWith(c)?I:`${c}_${I}`,P={tableName:c,columnName:I};return{...Y,[L]:P}},T),{}),E=Object.entries(s).reduce((T,[c,{columnNames:O,primaryKeys:Y}])=>[...T,...Dm(c,O,Y,o)],[]);return`@startuml - -' hide the spot -hide circle -hide methods -hide stereotypes - -' avoid problems with angled crows feet -skinparam linetype ortho - -${t} - -${E.join(` -`)} - -@enduml -`}async function wo(s,t){let o=await zr.promises.readFile(s,"utf8"),E=Ea(o),T=Uo(E),c=t||Zr.default.parse(s).dir,O=Zr.default.join(c,`${Zr.default.parse(s).name}.puml`);return c&&await zr.promises.mkdir(c,{recursive:!0}),await zr.promises.writeFile(O,T,"utf8"),{pumlFilePath:O,pumlStr:T}}0&&(module.exports={schemaToErd}); -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ diff --git a/dist/main.mjs b/dist/main.mjs deleted file mode 100644 index 50249c0..0000000 --- a/dist/main.mjs +++ /dev/null @@ -1,74 +0,0 @@ -var Qb=Object.create;var fu=Object.defineProperty;var qb=Object.getOwnPropertyDescriptor;var kb=Object.getOwnPropertyNames;var Vb=Object.getPrototypeOf,Jb=Object.prototype.hasOwnProperty;var Q=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var zb=(s,t,o,E)=>{if(t&&typeof t=="object"||typeof t=="function")for(let T of kb(t))!Jb.call(s,T)&&T!==o&&fu(s,T,{get:()=>t[T],enumerable:!(E=qb(t,T))||E.enumerable});return s};var Au=(s,t,o)=>(o=s!=null?Qb(Vb(s)):{},zb(t||!s||!s.__esModule?fu(o,"default",{value:s,enumerable:!0}):o,s));var cu=Q((bu,Er)=>{(function(s,t){typeof Er=="object"&&Er.exports?Er.exports=t():s.nearley=t()})(bu,function(){function s(I,L,P){return this.id=++s.highestId,this.name=I,this.symbols=L,this.postprocess=P,this}s.highestId=0,s.prototype.toString=function(I){var L=typeof I>"u"?this.symbols.map(Y).join(" "):this.symbols.slice(0,I).map(Y).join(" ")+" \u25CF "+this.symbols.slice(I).map(Y).join(" ");return this.name+" \u2192 "+L};function t(I,L,P,K){this.rule=I,this.dot=L,this.reference=P,this.data=[],this.wantedBy=K,this.isComplete=this.dot===I.symbols.length}t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(I){var L=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return L.left=this,L.right=I,L.isComplete&&(L.data=L.build(),L.right=void 0),L},t.prototype.build=function(){var I=[],L=this;do I.push(L.right.data),L=L.left;while(L.left);return I.reverse(),I},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,c.fail))};function o(I,L){this.grammar=I,this.index=L,this.states=[],this.wants={},this.scannable=[],this.completed={}}o.prototype.process=function(I){for(var L=this.states,P=this.wants,K=this.completed,q=0;q0&&L.push(" ^ "+K+" more lines identical to this"),K=0,L.push(" "+te)),P=te}},c.prototype.getSymbolDisplay=function(I){return O(I)},c.prototype.buildFirstStateStack=function(I,L){if(L.indexOf(I)!==-1)return null;if(I.wantedBy.length===0)return[I];var P=I.wantedBy[0],K=[I].concat(L),q=this.buildFirstStateStack(P,K);return q===null?null:[I].concat(q)},c.prototype.save=function(){var I=this.table[this.current];return I.lexerState=this.lexerState,I},c.prototype.restore=function(I){var L=I.index;this.current=L,this.table[L]=I,this.table.splice(L+1),this.lexerState=I.lexerState,this.results=this.finish()},c.prototype.rewind=function(I){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[I])},c.prototype.finish=function(){var I=[],L=this.grammar.start,P=this.table[this.table.length-1];return P.states.forEach(function(K){K.rule.name===L&&K.dot===K.rule.symbols.length&&K.reference===0&&K.data!==c.fail&&I.push(K)}),I.map(function(K){return K.data})};function O(I){var L=typeof I;if(L==="string")return I;if(L==="object"){if(I.literal)return JSON.stringify(I.literal);if(I instanceof RegExp)return"character matching "+I;if(I.type)return I.type+" token";if(I.test)return"token matching "+String(I.test);throw new Error("Unknown symbol type: "+I)}}function Y(I){var L=typeof I;if(L==="string")return I;if(L==="object"){if(I.literal)return JSON.stringify(I.literal);if(I instanceof RegExp)return I.toString();if(I.type)return"%"+I.type;if(I.test)return"<"+String(I.test)+">";throw new Error("Unknown symbol type: "+I)}}return{Parser:c,Grammar:E,Rule:s}})});var he=Q(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.setProperty=Ie.isDefined=Ie.isObject=Ie.isFunction=Ie.isNumber=Ie.isString=Ie.isArray=Ie.filterNullValues=Ie.trimString=Ie.stringArrayToMapping=void 0;function Zb(s=[],t=E=>E,o=E=>E){return s.reduce((E,T)=>(E[t(T)]=o(T),E),{})}Ie.stringArrayToMapping=Zb;function jb(s,t="",o="\\s\\0\\x0B"){return s.replace(new RegExp(`^[${t+o}]*|[${t+o}]*$`,"gim"),"")}Ie.trimString=jb;function ec(s){return Object.getOwnPropertyNames(s).forEach(t=>{s[t]===null&&delete s[t]}),s}Ie.filterNullValues=ec;function sc(s){return Array.isArray(s)}Ie.isArray=sc;function nc(s){return typeof s=="string"}Ie.isString=nc;function tc(s){return typeof s=="number"}Ie.isNumber=tc;function rc(s){return typeof s=="function"}Ie.isFunction=rc;function _c(s){return s!==null&&typeof s=="object"}Ie.isObject=_c;function oc(s){return typeof s<"u"&&s!==null}Ie.isDefined=oc;function ic(s,t,o){typeof o!="function"&&Object.defineProperty(s,t,{value:o,enumerable:!0,configurable:!0,writable:!0})}Ie.setProperty=ic});var Iu=Q((mu,ur)=>{(function(s,t){typeof define=="function"&&define.amd?define([],t):typeof ur=="object"&&ur.exports?ur.exports=t():s.moo=t()})(mu,function(){"use strict";var s=Object.prototype.hasOwnProperty,t=Object.prototype.toString,o=typeof new RegExp().sticky=="boolean";function E(R){return R&&t.call(R)==="[object RegExp]"}function T(R){return R&&typeof R=="object"&&!E(R)&&!Array.isArray(R)}function c(R){return R.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function O(R){var x=new RegExp("|"+R);return x.exec("").length-1}function Y(R){return"("+R+")"}function I(R){if(!R.length)return"(?!)";var x=R.map(function(v){return"(?:"+v+")"}).join("|");return"(?:"+x+")"}function L(R){if(typeof R=="string")return"(?:"+c(R)+")";if(E(R)){if(R.ignoreCase)throw new Error("RegExp /i flag not allowed");if(R.global)throw new Error("RegExp /g flag is implied");if(R.sticky)throw new Error("RegExp /y flag is implied");if(R.multiline)throw new Error("RegExp /m flag is implied");return R.source}else throw new Error("Not a pattern: "+R)}function P(R){for(var x=Object.getOwnPropertyNames(R),v=[],U=0;U0)throw new Error("RegExp has capture groups: "+Pe+` -Use (?: \u2026 ) instead`);if(!w.lineBreaks&&Pe.test(` -`))throw new Error("Rule should declare lineBreaks: "+Pe);Ee.push(Y(ds))}}var Bs=v&&v.fallback,Es=o&&!Bs?"ym":"gm",bs=o||Bs?"":"|";G===!0&&(Es+="u");var Vr=new RegExp(I(Ee)+bs,Es);return{regexp:Vr,groups:se,fast:U,error:v||te}}function Se(R){var x=_e(X(R));return new pe({start:x},"start")}function re(R,x,v){var U=R&&(R.push||R.next);if(U&&!v[U])throw new Error("Missing state '"+U+"' (in token '"+R.defaultType+"' of state '"+x+"')");if(R&&R.pop&&+R.pop!=1)throw new Error("pop must be 1 (in token '"+R.defaultType+"' of state '"+x+"')")}function ye(R,x){var v=R.$all?X(R.$all):[];delete R.$all;var U=Object.getOwnPropertyNames(R);x||(x=U[0]);for(var J=Object.create(null),G=0;G{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});var Ec=he(),uc=Ec.stringArrayToMapping(["STATS_SAMPLE_PAGES","GEOMETRYCOLLECTION","STATS_AUTO_RECALC","ENCRYPTION_KEY_ID","CURRENT_TIMESTAMP","STATS_PERSISTENT","DELAY_KEY_WRITE","MULTILINESTRING","LOCALTIMESTAMP","AUTO_INCREMENT","AVG_ROW_LENGTH","UNIX_TIMESTAMP","LAST_INSERT_ID","KEY_BLOCK_SIZE","COLUMN_FORMAT","CONNECTION_ID","PAGE_CHECKSUM","TRANSACTIONAL","UTC_TIMESTAMP","INSERT_METHOD","SESSION_USER","MULTIPOLYGON","CURRENT_DATE","CURRENT_TIME","CURRENT_USER","COMPRESSION","IETF_QUOTES","SYSTEM_TIME","SYSTEM_USER","VERSIONING","MULTIPOINT","LINESTRING","CONNECTION","MEDIUMBLOB","COMPRESSED","ENCRYPTION","VALIDATION","CONSTRAINT","ROW_FORMAT","UUID_SHORT","FOUND_ROWS","TABLESPACE","REFERENCES","MEDIUMTEXT","VARBINARY","TEMPORARY","REDUNDANT","EXCLUSIVE","ROW_COUNT","LOCALTIME","MEDIUMINT","TIMESTAMP","DIRECTORY","INVISIBLE","PACK_KEYS","ALGORITHM","CHARACTER","TINYBLOB","UTC_TIME","NATIONAL","FULLTEXT","GEOMETRY","MAX_ROWS","DATABASE","LONGBLOB","UNSIGNED","TINYTEXT","DATETIME","MIN_ROWS","ZEROFILL","UTC_DATE","PASSWORD","CHECKSUM","RESTRICT","LONGTEXT","SMALLINT","CONVERT","SPATIAL","INPLACE","STORAGE","SYSDATE","FOREIGN","TINYINT","DYNAMIC","DISCARD","DISABLE","DEFAULT","DECIMAL","CURTIME","CURDATE","INTEGER","COMPACT","COMMENT","COLLATE","REPLACE","CHARSET","CASCADE","BOOLEAN","NUMERIC","OFFLINE","PRIMARY","POLYGON","VARCHAR","VERSION","WITHOUT","PARTIAL","ENABLE","MEMORY","CREATE","MODIFY","DELETE","ENGINE","UPDATE","BIGINT","SYSTEM","SIMPLE","EXISTS","RENAME","BINARY","NOWAIT","IGNORE","SHARED","IMPORT","ACTION","ONLINE","SCHEMA","PERIOD","UNIQUE","DOUBLE","CHANGE","PARSER","COLUMN","INDEX","FLOAT","POINT","ALTER","ROUND","NCHAR","MATCH","RTREE","BTREE","AFTER","USING","FORCE","TABLE","ORDER","FIXED","FIRST","FALSE","UNION","UUID","LOCK","LIKE","LAST","KEYS","CHAR","JSON","COPY","WAIT","NONE","HASH","FULL","BLOB","YEAR","USER","PAGE","TEXT","TIME","RAND","NULL","BOOL","ENUM","DATA","DROP","TRUE","WITH","DISK","DESC","DATE","ZLIB","BIT","YES","INT","KEY","NOW","SET","ADD","LZ4","NOT","FOR","ASC","USE","AS","NO","BY","ON","OR","IF","PI","TO"],s=>`K_${s}`,s=>new RegExp(`\\b${s.split("").reduce((t,o)=>(t+=`[${o.toUpperCase()}${o.toLowerCase()}]`,t),"")}\\b`));bo.default=uc});var Ru=Q(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.default={WS:{match:/(?:\s+|#.*|-- +.*|\/\*(?:[\s\S])*?\*\/)+/,lineBreaks:!0},S_EQUAL:"=",S_LPARENS:"(",S_RPARENS:")",S_COMMA:",",S_SEMICOLON:";",S_BIT_FORMAT:{match:/b'[01]+'|0b[01]+/},S_HEXA_FORMAT:{match:/[Xx]'[0-9a-fA-F]+'|0x[0-9a-fA-F]+/},S_DQUOTE_STRING:{match:/""|"(?:(?:"")|[^"\\]|\\.)*"/,value:s=>s.substr(1,s.length-2).replace(/\\"/g,'"').replace(/""/g,'"')},S_SQUOTE_STRING:{match:/''|'(?:(?:'')|[^'\\]|\\.)*'/,value:s=>s.substr(1,s.length-2).replace(/\\'/g,"'").replace(/''/g,"'")},S_NUMBER:{match:/[+-]?(?:\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)/,value:Number},S_IDENTIFIER_QUOTED:{match:/`(?:(?:``)|[^`\\])*`/,value:s=>s.substr(1,s.length-2).replace(/``/g,"`")},S_IDENTIFIER_UNQUOTED:{match:/[0-9a-zA-Z$_]+/},S_UNKNOWN:{match:/.+/}}});var hu=Q(Et=>{"use strict";var mo=Et&&Et.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Et,"__esModule",{value:!0});function f(s){return s[0]}var ac=mo(Iu()),pc=mo(Ou()),$c=mo(Ru()),Tc=Object.assign({},pc.default,$c.default),_=ac.default.compile(Tc),lc={Lexer:_,ParserRules:[{name:"P_DDS$subexpression$1",symbols:["P_CREATE_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_CREATE_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_CREATE_INDEX","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_ALTER_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_ALTER_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_DB","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_DROP_INDEX","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_RENAME_TABLE","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_SET","_"],postprocess:f},{name:"P_DDS$subexpression$1",symbols:["P_USE_DB","_"],postprocess:f},{name:"P_DDS",symbols:["_","P_DDS$subexpression$1"],postprocess:s=>({id:"P_DDS",def:s[1]})},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1",_.has("WS")?{type:"WS"}:WS],postprocess:s=>s[0].concat([s[1]])},{name:"_",symbols:["_$ebnf$1"]},{name:"__$ebnf$1",symbols:[_.has("WS")?{type:"WS"}:WS]},{name:"__$ebnf$1",symbols:["__$ebnf$1",_.has("WS")?{type:"WS"}:WS],postprocess:s=>s[0].concat([s[1]])},{name:"__",symbols:["__$ebnf$1"]},{name:"S_EOS",symbols:["_",_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"O_CHARSET",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_CHARSET",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_COLLATION",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_COLLATION",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_ENGINE",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_ENGINE",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT],postprocess:s=>s[0].value},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DEFAULT_VALUE$ebnf$1$subexpression$1",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_DEFAULT_VALUE$ebnf$1$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>"("+(s[2]?s[2].value:"")+")"},{name:"O_DEFAULT_VALUE$ebnf$1",symbols:["O_DEFAULT_VALUE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_DEFAULT_VALUE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DEFAULT_VALUE",symbols:["S_IDENTIFIER","O_DEFAULT_VALUE$ebnf$1"],postprocess:s=>{var t;return s[0]+((t=s[1])!==null&&t!==void 0?t:"")}},{name:"O_DEFAULT_VALUE",symbols:["O_QUOTED_STRING"],postprocess:f},{name:"O_QUOTED_STRING",symbols:[_.has("S_DQUOTE_STRING")?{type:"S_DQUOTE_STRING"}:S_DQUOTE_STRING],postprocess:s=>s[0].value},{name:"O_QUOTED_STRING",symbols:[_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[0].value},{name:"O_TABLE_OPTION_VALUE",symbols:["O_QUOTED_STRING"],postprocess:s=>s[0]},{name:"O_TABLE_OPTION_VALUE",symbols:["S_IDENTIFIER"],postprocess:s=>s[0]},{name:"O_TABLE_OPTION_VALUE",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("S_IDENTIFIER_QUOTED")?{type:"S_IDENTIFIER_QUOTED"}:S_IDENTIFIER_QUOTED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("S_IDENTIFIER_UNQUOTED")?{type:"S_IDENTIFIER_UNQUOTED"}:S_IDENTIFIER_UNQUOTED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TO")?{type:"K_TO"}:K_TO],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PI")?{type:"K_PI"}:K_PI],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IF")?{type:"K_IF"}:K_IF],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_OR")?{type:"K_OR"}:K_OR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BY")?{type:"K_BY"}:K_BY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AS")?{type:"K_AS"}:K_AS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USE")?{type:"K_USE"}:K_USE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ASC")?{type:"K_ASC"}:K_ASC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOR")?{type:"K_FOR"}:K_FOR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOT")?{type:"K_NOT"}:K_NOT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LZ4")?{type:"K_LZ4"}:K_LZ4],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOW")?{type:"K_NOW"}:K_NOW],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INT")?{type:"K_INT"}:K_INT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_YES")?{type:"K_YES"}:K_YES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BIT")?{type:"K_BIT"}:K_BIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ZLIB")?{type:"K_ZLIB"}:K_ZLIB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATE")?{type:"K_DATE"}:K_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DESC")?{type:"K_DESC"}:K_DESC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TRUE")?{type:"K_TRUE"}:K_TRUE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATA")?{type:"K_DATA"}:K_DATA],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENUM")?{type:"K_ENUM"}:K_ENUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BOOL")?{type:"K_BOOL"}:K_BOOL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RAND")?{type:"K_RAND"}:K_RAND],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TIME")?{type:"K_TIME"}:K_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TEXT")?{type:"K_TEXT"}:K_TEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PAGE")?{type:"K_PAGE"}:K_PAGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USER")?{type:"K_USER"}:K_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_YEAR")?{type:"K_YEAR"}:K_YEAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BLOB")?{type:"K_BLOB"}:K_BLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FULL")?{type:"K_FULL"}:K_FULL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_HASH")?{type:"K_HASH"}:K_HASH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_JSON")?{type:"K_JSON"}:K_JSON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LAST")?{type:"K_LAST"}:K_LAST],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UUID")?{type:"K_UUID"}:K_UUID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNION")?{type:"K_UNION"}:K_UNION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FALSE")?{type:"K_FALSE"}:K_FALSE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ORDER")?{type:"K_ORDER"}:K_ORDER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FORCE")?{type:"K_FORCE"}:K_FORCE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_USING")?{type:"K_USING"}:K_USING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BTREE")?{type:"K_BTREE"}:K_BTREE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RTREE")?{type:"K_RTREE"}:K_RTREE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MATCH")?{type:"K_MATCH"}:K_MATCH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NCHAR")?{type:"K_NCHAR"}:K_NCHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROUND")?{type:"K_ROUND"}:K_ROUND],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_POINT")?{type:"K_POINT"}:K_POINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FLOAT")?{type:"K_FLOAT"}:K_FLOAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PARSER")?{type:"K_PARSER"}:K_PARSER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHANGE")?{type:"K_CHANGE"}:K_CHANGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DOUBLE")?{type:"K_DOUBLE"}:K_DOUBLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PERIOD")?{type:"K_PERIOD"}:K_PERIOD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ACTION")?{type:"K_ACTION"}:K_ACTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IMPORT")?{type:"K_IMPORT"}:K_IMPORT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IGNORE")?{type:"K_IGNORE"}:K_IGNORE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BINARY")?{type:"K_BINARY"}:K_BINARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SIMPLE")?{type:"K_SIMPLE"}:K_SIMPLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BIGINT")?{type:"K_BIGINT"}:K_BIGINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENGINE")?{type:"K_ENGINE"}:K_ENGINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DELETE")?{type:"K_DELETE"}:K_DELETE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MODIFY")?{type:"K_MODIFY"}:K_MODIFY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENABLE")?{type:"K_ENABLE"}:K_ENABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PARTIAL")?{type:"K_PARTIAL"}:K_PARTIAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VERSION")?{type:"K_VERSION"}:K_VERSION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VARCHAR")?{type:"K_VARCHAR"}:K_VARCHAR],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_POLYGON")?{type:"K_POLYGON"}:K_POLYGON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NUMERIC")?{type:"K_NUMERIC"}:K_NUMERIC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_BOOLEAN")?{type:"K_BOOLEAN"}:K_BOOLEAN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPACT")?{type:"K_COMPACT"}:K_COMPACT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INTEGER")?{type:"K_INTEGER"}:K_INTEGER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURDATE")?{type:"K_CURDATE"}:K_CURDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURTIME")?{type:"K_CURTIME"}:K_CURTIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DECIMAL")?{type:"K_DECIMAL"}:K_DECIMAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISABLE")?{type:"K_DISABLE"}:K_DISABLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DISCARD")?{type:"K_DISCARD"}:K_DISCARD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYINT")?{type:"K_TINYINT"}:K_TINYINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSDATE")?{type:"K_SYSDATE"}:K_SYSDATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONVERT")?{type:"K_CONVERT"}:K_CONVERT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SMALLINT")?{type:"K_SMALLINT"}:K_SMALLINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LONGTEXT")?{type:"K_LONGTEXT"}:K_LONGTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHECKSUM")?{type:"K_CHECKSUM"}:K_CHECKSUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PASSWORD")?{type:"K_PASSWORD"}:K_PASSWORD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_DATE")?{type:"K_UTC_DATE"}:K_UTC_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ZEROFILL")?{type:"K_ZEROFILL"}:K_ZEROFILL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MIN_ROWS")?{type:"K_MIN_ROWS"}:K_MIN_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATETIME")?{type:"K_DATETIME"}:K_DATETIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYTEXT")?{type:"K_TINYTEXT"}:K_TINYTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNSIGNED")?{type:"K_UNSIGNED"}:K_UNSIGNED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LONGBLOB")?{type:"K_LONGBLOB"}:K_LONGBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MAX_ROWS")?{type:"K_MAX_ROWS"}:K_MAX_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_GEOMETRY")?{type:"K_GEOMETRY"}:K_GEOMETRY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_NATIONAL")?{type:"K_NATIONAL"}:K_NATIONAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_TIME")?{type:"K_UTC_TIME"}:K_UTC_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TINYBLOB")?{type:"K_TINYBLOB"}:K_TINYBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PACK_KEYS")?{type:"K_PACK_KEYS"}:K_PACK_KEYS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DIRECTORY")?{type:"K_DIRECTORY"}:K_DIRECTORY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TIMESTAMP")?{type:"K_TIMESTAMP"}:K_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMINT")?{type:"K_MEDIUMINT"}:K_MEDIUMINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCALTIME")?{type:"K_LOCALTIME"}:K_LOCALTIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROW_COUNT")?{type:"K_ROW_COUNT"}:K_ROW_COUNT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REDUNDANT")?{type:"K_REDUNDANT"}:K_REDUNDANT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VARBINARY")?{type:"K_VARBINARY"}:K_VARBINARY],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMTEXT")?{type:"K_MEDIUMTEXT"}:K_MEDIUMTEXT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_REFERENCES")?{type:"K_REFERENCES"}:K_REFERENCES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_FOUND_ROWS")?{type:"K_FOUND_ROWS"}:K_FOUND_ROWS],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UUID_SHORT")?{type:"K_UUID_SHORT"}:K_UUID_SHORT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ROW_FORMAT")?{type:"K_ROW_FORMAT"}:K_ROW_FORMAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENCRYPTION")?{type:"K_ENCRYPTION"}:K_ENCRYPTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPRESSED")?{type:"K_COMPRESSED"}:K_COMPRESSED],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MEDIUMBLOB")?{type:"K_MEDIUMBLOB"}:K_MEDIUMBLOB],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONNECTION")?{type:"K_CONNECTION"}:K_CONNECTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LINESTRING")?{type:"K_LINESTRING"}:K_LINESTRING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTIPOINT")?{type:"K_MULTIPOINT"}:K_MULTIPOINT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM_USER")?{type:"K_SYSTEM_USER"}:K_SYSTEM_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SYSTEM_TIME")?{type:"K_SYSTEM_TIME"}:K_SYSTEM_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_IETF_QUOTES")?{type:"K_IETF_QUOTES"}:K_IETF_QUOTES],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COMPRESSION")?{type:"K_COMPRESSION"}:K_COMPRESSION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_USER")?{type:"K_CURRENT_USER"}:K_CURRENT_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_TIME")?{type:"K_CURRENT_TIME"}:K_CURRENT_TIME],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_DATE")?{type:"K_CURRENT_DATE"}:K_CURRENT_DATE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTIPOLYGON")?{type:"K_MULTIPOLYGON"}:K_MULTIPOLYGON],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_SESSION_USER")?{type:"K_SESSION_USER"}:K_SESSION_USER],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_INSERT_METHOD")?{type:"K_INSERT_METHOD"}:K_INSERT_METHOD],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UTC_TIMESTAMP")?{type:"K_UTC_TIMESTAMP"}:K_UTC_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_TRANSACTIONAL")?{type:"K_TRANSACTIONAL"}:K_TRANSACTIONAL],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_PAGE_CHECKSUM")?{type:"K_PAGE_CHECKSUM"}:K_PAGE_CHECKSUM],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CONNECTION_ID")?{type:"K_CONNECTION_ID"}:K_CONNECTION_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_COLUMN_FORMAT")?{type:"K_COLUMN_FORMAT"}:K_COLUMN_FORMAT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LAST_INSERT_ID")?{type:"K_LAST_INSERT_ID"}:K_LAST_INSERT_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_UNIX_TIMESTAMP")?{type:"K_UNIX_TIMESTAMP"}:K_UNIX_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AVG_ROW_LENGTH")?{type:"K_AVG_ROW_LENGTH"}:K_AVG_ROW_LENGTH],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_LOCALTIMESTAMP")?{type:"K_LOCALTIMESTAMP"}:K_LOCALTIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_MULTILINESTRING")?{type:"K_MULTILINESTRING"}:K_MULTILINESTRING],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_DELAY_KEY_WRITE")?{type:"K_DELAY_KEY_WRITE"}:K_DELAY_KEY_WRITE],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_PERSISTENT")?{type:"K_STATS_PERSISTENT"}:K_STATS_PERSISTENT],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_CURRENT_TIMESTAMP")?{type:"K_CURRENT_TIMESTAMP"}:K_CURRENT_TIMESTAMP],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_ENCRYPTION_KEY_ID")?{type:"K_ENCRYPTION_KEY_ID"}:K_ENCRYPTION_KEY_ID],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_AUTO_RECALC")?{type:"K_STATS_AUTO_RECALC"}:K_STATS_AUTO_RECALC],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_GEOMETRYCOLLECTION")?{type:"K_GEOMETRYCOLLECTION"}:K_GEOMETRYCOLLECTION],postprocess:s=>s[0].value},{name:"S_IDENTIFIER",symbols:[_.has("K_STATS_SAMPLE_PAGES")?{type:"K_STATS_SAMPLE_PAGES"}:K_STATS_SAMPLE_PAGES],postprocess:s=>s[0].value},{name:"P_ALTER_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_ALTER_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_ALTER_DB$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$1",symbols:["P_ALTER_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_ALTER_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_ALTER_DB$ebnf$2$subexpression$1",symbols:["__","O_ALTER_DB_SPEC"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$2",symbols:["P_ALTER_DB$ebnf$2$subexpression$1"]},{name:"P_ALTER_DB$ebnf$2$subexpression$2",symbols:["__","O_ALTER_DB_SPEC"],postprocess:s=>s[1]},{name:"P_ALTER_DB$ebnf$2",symbols:["P_ALTER_DB$ebnf$2","P_ALTER_DB$ebnf$2$subexpression$2"],postprocess:s=>s[0].concat([s[1]])},{name:"P_ALTER_DB",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","P_ALTER_DB$subexpression$1","P_ALTER_DB$ebnf$1","P_ALTER_DB$ebnf$2","S_EOS"],postprocess:s=>({id:"P_ALTER_DB",def:{database:s[3],meta:s[4]}})},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_DB_SPEC$subexpression$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$1","O_ALTER_DB_SPEC$subexpression$1$subexpression$1","O_ALTER_DB_SPEC$subexpression$1$subexpression$2","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_DB_SPEC$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_ALTER_DB_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_DB_SPEC$subexpression$1",symbols:["O_ALTER_DB_SPEC$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_ALTER_DB_SPEC$subexpression$1$subexpression$3","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_ALTER_DB_SPEC",symbols:["O_ALTER_DB_SPEC$subexpression$1"],postprocess:s=>({id:"O_ALTER_DB_SPEC",def:s[0]})},{name:"P_ALTER_TABLE$ebnf$1$subexpression$1",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE,"__"]},{name:"P_ALTER_TABLE$ebnf$1",symbols:["P_ALTER_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$2$subexpression$1",symbols:[_.has("K_IGNORE")?{type:"K_IGNORE"}:K_IGNORE,"__"]},{name:"P_ALTER_TABLE$ebnf$2",symbols:["P_ALTER_TABLE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$3$subexpression$1",symbols:[_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"__"]},{name:"P_ALTER_TABLE$ebnf$3$subexpression$1",symbols:[_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT,"__"]},{name:"P_ALTER_TABLE$ebnf$3",symbols:["P_ALTER_TABLE$ebnf$3$subexpression$1"],postprocess:f},{name:"P_ALTER_TABLE$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_ALTER_TABLE$ebnf$4",symbols:[]},{name:"P_ALTER_TABLE$ebnf$4$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_ALTER_TABLE_SPECS"],postprocess:s=>s[3]},{name:"P_ALTER_TABLE$ebnf$4",symbols:["P_ALTER_TABLE$ebnf$4","P_ALTER_TABLE$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_ALTER_TABLE",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","P_ALTER_TABLE$ebnf$1","P_ALTER_TABLE$ebnf$2",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"__","S_IDENTIFIER","__","P_ALTER_TABLE$ebnf$3","P_ALTER_TABLE_SPECS","P_ALTER_TABLE$ebnf$4","S_EOS"],postprocess:s=>({id:"P_ALTER_TABLE",def:{table:s[6],specs:[s[9]].concat(s[10])}})},{name:"P_ALTER_TABLE_SPECS$subexpression$1",symbols:["P_CREATE_TABLE_OPTIONS"],postprocess:s=>({tableOptions:s[0]})},{name:"P_ALTER_TABLE_SPECS$subexpression$1",symbols:["O_ALTER_TABLE_SPEC"],postprocess:s=>({spec:s[0]})},{name:"P_ALTER_TABLE_SPECS",symbols:["P_ALTER_TABLE_SPECS$subexpression$1"],postprocess:s=>({id:"P_ALTER_TABLE_SPECS",def:s[0]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$1","__","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$3","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$4"],postprocess:s=>{var t;let o={action:"addColumn",name:s[3],datatype:s[5],columnDefinition:(t=s[6])!==null&&t!==void 0?t:[],position:s[8]};return s[7]&&(o.reference=s[7]),o}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5$subexpression$1",symbols:["__",_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1$ebnf$2"],postprocess:s=>{var t;let o={name:s[3],datatype:s[5],columnDefinition:(t=s[6])!==null&&t!==void 0?t:[]};return s[7]&&(o.reference=s[7]),o}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1",symbols:["S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$1","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$2","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1$ebnf$3"],postprocess:s=>{var t,o;let E={name:s[0],datatype:s[2],columnDefinition:(t=s[3])!==null&&t!==void 0?t:[]};return s[4]&&(E.reference=s[4]),[E].concat((o=s[5])!==null&&o!==void 0?o:[])}},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$5","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({action:"addColumns",columns:s[5]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$2","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$6","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$7","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$8","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$9"],postprocess:s=>{var t;return{action:"addIndex",name:s[3],index:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$10",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$11","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$12","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$13"],postprocess:s=>{var t;return{action:"addPrimaryKey",name:s[2],index:s[6],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),options:s[14]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$14",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$15","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$16","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$17","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$18","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$19"],postprocess:s=>{var t;return s[5]&&["index","key"].includes(s[5].toLowerCase())&&(s[5]=void 0),{action:"addUniqueKey",name:s[2],index:s[6],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),options:s[14]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$20","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$21","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$22","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$23"],postprocess:s=>{var t;return s[4]&&["index","key"].includes(s[4].toLowerCase())&&(s[4]=void 0),{action:"addFulltextIndex",name:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$24","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$25","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$26","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$27"],postprocess:s=>{var t;return s[4]&&["index","key"].includes(s[4].toLowerCase())&&(s[4]=void 0),{action:"addSpatialIndex",name:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$28",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$29","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$30","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_","P_COLUMN_REFERENCE"],postprocess:s=>{var t;return{action:"addForeignKey",name:s[2],columns:[s[10]].concat((t=s[11])!==null&&t!==void 0?t:[]),reference:s[15]}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM,"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$3","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$4"],postprocess:s=>({action:"changeAlgorithm",algorithm:s[2].value})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$31","S_IDENTIFIER","__",_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__","O_DEFAULT_VALUE"],postprocess:s=>({action:"setDefaultColumnValue",column:s[3],value:s[9]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ALTER")?{type:"K_ALTER"}:K_ALTER,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$32","S_IDENTIFIER","__",_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>({action:"dropDefaultColumnValue",column:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_CHANGE")?{type:"K_CHANGE"}:K_CHANGE,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$33","S_IDENTIFIER","__","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$34","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$35","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$36"],postprocess:s=>{let t={action:"changeColumn",column:s[3],newName:s[5],datatype:s[7],columnDefinition:s[8],position:s[10]};return s[9]&&(t.reference=s[9]),t}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1",symbols:["__",_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:s=>({after:null})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1",symbols:["__",_.has("K_AFTER")?{type:"K_AFTER"}:K_AFTER,"__","S_IDENTIFIER"],postprocess:s=>({after:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_MODIFY")?{type:"K_MODIFY"}:K_MODIFY,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$37","S_IDENTIFIER","__","O_DATATYPE","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$38","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$39","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$40"],postprocess:s=>{let t={action:"changeColumn",column:s[3],newName:void 0,datatype:s[5],columnDefinition:s[6],position:s[8]};return s[7]&&(t.reference=s[7]),t}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41$subexpression$1",symbols:["__",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"__","O_COLLATION"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_CONVERT")?{type:"K_CONVERT"}:K_CONVERT,"__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$5","__","O_CHARSET","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$41"],postprocess:s=>({action:"convertToCharacterSet",charset:s[6],collate:s[7]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ENABLE")?{type:"K_ENABLE"}:K_ENABLE,"__",_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>({action:"enableKeys"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DISABLE")?{type:"K_DISABLE"}:K_DISABLE,"__",_.has("K_KEYS")?{type:"K_KEYS"}:K_KEYS],postprocess:s=>({action:"disableKeys"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DISCARD")?{type:"K_DISCARD"}:K_DISCARD,"__",_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>({action:"discardTablespace"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_IMPORT")?{type:"K_IMPORT"}:K_IMPORT,"__",_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE],postprocess:s=>({action:"importTablespace"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42$subexpression$1",symbols:[_.has("K_COLUMN")?{type:"K_COLUMN"}:K_COLUMN,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43$subexpression$1",symbols:[_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$42","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$43","S_IDENTIFIER"],postprocess:s=>({action:"dropColumn",column:s[4]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$6","__","S_IDENTIFIER"],postprocess:s=>({action:"dropIndex",index:s[4]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>({action:"dropPrimaryKey"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"__","S_IDENTIFIER"],postprocess:s=>({action:"dropForeignKey",key:s[6]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_FORCE")?{type:"K_FORCE"}:K_FORCE],postprocess:s=>({action:"force"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7",symbols:["__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK,"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$7","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$8"],postprocess:s=>({action:"changeLock",lock:s[2].value})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44",symbols:[]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ORDER")?{type:"K_ORDER"}:K_ORDER,"__",_.has("K_BY")?{type:"K_BY"}:K_BY,"__","S_IDENTIFIER","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$44"],postprocess:s=>{var t;return{action:"orderBy",columns:[s[4]].concat((t=s[5])!==null&&t!==void 0?t:[])}}},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__","O_ALTER_TABLE_SPEC$subexpression$1$subexpression$9","__","S_IDENTIFIER","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER"],postprocess:s=>({action:"renameIndex",index:s[4],newName:s[8]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1",symbols:[_.has("K_TO")?{type:"K_TO"}:K_TO,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1",symbols:[_.has("K_AS")?{type:"K_AS"}:K_AS,"__"]},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45",symbols:["O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45$subexpression$1"],postprocess:f},{name:"O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45",symbols:[],postprocess:()=>null},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__","O_ALTER_TABLE_SPEC$subexpression$1$ebnf$45","S_IDENTIFIER"],postprocess:s=>({action:"rename",newName:s[3]})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>({action:"withValidation"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT,"__",_.has("K_VALIDATION")?{type:"K_VALIDATION"}:K_VALIDATION],postprocess:s=>({action:"withoutValidation"})},{name:"O_ALTER_TABLE_SPEC$subexpression$1",symbols:[_.has("K_ADD")?{type:"K_ADD"}:K_ADD,"__",_.has("K_PERIOD")?{type:"K_PERIOD"}:K_PERIOD,"__",_.has("K_FOR")?{type:"K_FOR"}:K_FOR,"__",_.has("K_SYSTEM_TIME")?{type:"K_SYSTEM_TIME"}:K_SYSTEM_TIME,"_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","S_IDENTIFIER","_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({action:"addPeriodForSystemTime",startColumnName:s[10],endColumnName:s[14]})},{name:"O_ALTER_TABLE_SPEC",symbols:["O_ALTER_TABLE_SPEC$subexpression$1"],postprocess:s=>({id:"O_ALTER_TABLE_SPEC",def:s[0]})},{name:"P_CREATE_DB$ebnf$1$subexpression$1",symbols:[_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE,"__"]},{name:"P_CREATE_DB$ebnf$1",symbols:["P_CREATE_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_CREATE_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT]},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1",symbols:["P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"P_CREATE_DB$ebnf$2$subexpression$1$ebnf$1","__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_DB$ebnf$2",symbols:["P_CREATE_DB$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_DB$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_DB$ebnf$3",symbols:[]},{name:"P_CREATE_DB$ebnf$3$subexpression$1",symbols:["__","O_CREATE_DB_SPEC"],postprocess:s=>s[1]},{name:"P_CREATE_DB$ebnf$3",symbols:["P_CREATE_DB$ebnf$3","P_CREATE_DB$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_DB",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"__","P_CREATE_DB$ebnf$1","P_CREATE_DB$subexpression$1","P_CREATE_DB$ebnf$2","__","S_IDENTIFIER","P_CREATE_DB$ebnf$3","S_EOS"],postprocess:s=>({id:"P_CREATE_DB",def:{database:s[6],meta:s[7]}})},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_DB_SPEC$subexpression$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$1","O_CREATE_DB_SPEC$subexpression$1$subexpression$1","O_CREATE_DB_SPEC$subexpression$1$subexpression$2","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_DB_SPEC$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$3",symbols:["__"]},{name:"O_CREATE_DB_SPEC$subexpression$1$subexpression$3",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_DB_SPEC$subexpression$1",symbols:["O_CREATE_DB_SPEC$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_CREATE_DB_SPEC$subexpression$1$subexpression$3","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_CREATE_DB_SPEC",symbols:["O_CREATE_DB_SPEC$subexpression$1"],postprocess:s=>({id:"O_CREATE_DB_SPEC",def:s[0]})},{name:"P_CREATE_INDEX$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_INDEX$ebnf$1",symbols:["P_CREATE_INDEX$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE]},{name:"P_CREATE_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE]},{name:"P_CREATE_INDEX$ebnf$2",symbols:["P_CREATE_INDEX$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$3",symbols:["P_CREATE_INDEX$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$4$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_INDEX$ebnf$4",symbols:["P_CREATE_INDEX$ebnf$4$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$5$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$5",symbols:["P_CREATE_INDEX$ebnf$5$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$5",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1",symbols:[]},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1",symbols:["P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1","P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX$ebnf$6$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","P_CREATE_INDEX$ebnf$6$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>{var t;return[s[3]].concat((t=s[4])!==null&&t!==void 0?t:[])}},{name:"P_CREATE_INDEX$ebnf$6",symbols:["P_CREATE_INDEX$ebnf$6$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$6",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$7$subexpression$1",symbols:["_",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_CREATE_INDEX$ebnf$7$subexpression$1",symbols:["_",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_CREATE_INDEX$ebnf$7",symbols:["P_CREATE_INDEX$ebnf$7$subexpression$1"],postprocess:f},{name:"P_CREATE_INDEX$ebnf$7",symbols:[],postprocess:()=>null},{name:"P_CREATE_INDEX$ebnf$8",symbols:[]},{name:"P_CREATE_INDEX$ebnf$8$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$8",symbols:["P_CREATE_INDEX$ebnf$8","P_CREATE_INDEX$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX$ebnf$9",symbols:[]},{name:"P_CREATE_INDEX$ebnf$9$subexpression$1",symbols:["_","P_INDEX_ALGORITHM_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$9$subexpression$1",symbols:["_","P_LOCK_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_INDEX$ebnf$9",symbols:["P_CREATE_INDEX$ebnf$9","P_CREATE_INDEX$ebnf$9$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_INDEX",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_INDEX$ebnf$1","P_CREATE_INDEX$ebnf$2","P_CREATE_INDEX$ebnf$3","__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"P_CREATE_INDEX$ebnf$4","__","S_IDENTIFIER","P_CREATE_INDEX$ebnf$5","__",_.has("K_ON")?{type:"K_ON"}:K_ON,"__","S_IDENTIFIER","P_CREATE_INDEX$ebnf$6","P_CREATE_INDEX$ebnf$7","P_CREATE_INDEX$ebnf$8","P_CREATE_INDEX$ebnf$9","S_EOS"],postprocess:s=>{var t,o;let E=s[3]?s[3].value+" ":"";return E=E+s[5].value,{id:"P_CREATE_INDEX",def:{name:s[8],type:E,index:s[9],table:s[13],columns:s[14],options:((t=s[16])!==null&&t!==void 0?t:[]).concat((o=s[17])!==null&&o!==void 0?o:[])}}}},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1",symbols:["_",_.has("K_ASC")?{type:"K_ASC"}:K_ASC],postprocess:s=>s[1]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1",symbols:["_",_.has("K_DESC")?{type:"K_DESC"}:K_DESC],postprocess:s=>s[1]},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN$ebnf$1$subexpression$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$1","P_INDEX_COLUMN$ebnf$1$subexpression$1$ebnf$2"],postprocess:s=>({length:s[0]?s[0].value:void 0,sort:s[1]?s[1].value:void 0})},{name:"P_INDEX_COLUMN$ebnf$1",symbols:["P_INDEX_COLUMN$ebnf$1$subexpression$1"],postprocess:f},{name:"P_INDEX_COLUMN$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_INDEX_COLUMN",symbols:["S_IDENTIFIER","P_INDEX_COLUMN$ebnf$1"],postprocess:s=>({id:"P_INDEX_COLUMN",def:{column:s[0],length:s[1]&&s[1].length?s[1].length:void 0,sort:s[1]&&s[1].sort?s[1].sort:void 0}})},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_BTREE")?{type:"K_BTREE"}:K_BTREE],postprocess:f},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_HASH")?{type:"K_HASH"}:K_HASH],postprocess:f},{name:"P_INDEX_TYPE$subexpression$1",symbols:[_.has("K_RTREE")?{type:"K_RTREE"}:K_RTREE],postprocess:f},{name:"P_INDEX_TYPE",symbols:[_.has("K_USING")?{type:"K_USING"}:K_USING,"__","P_INDEX_TYPE$subexpression$1"],postprocess:s=>({id:"P_INDEX_TYPE",def:s[2].value})},{name:"O_INDEX_OPTION$subexpression$1$subexpression$1",symbols:["__"]},{name:"O_INDEX_OPTION$subexpression$1$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE,"O_INDEX_OPTION$subexpression$1$subexpression$1",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({keyBlockSize:s[2].value})},{name:"O_INDEX_OPTION$subexpression$1",symbols:["P_INDEX_TYPE"],postprocess:s=>({indexType:s[0]})},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_PARSER")?{type:"K_PARSER"}:K_PARSER,"__","S_IDENTIFIER"],postprocess:s=>({parser:s[4]})},{name:"O_INDEX_OPTION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"__","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_INDEX_OPTION",symbols:["O_INDEX_OPTION$subexpression$1"],postprocess:s=>({id:"O_INDEX_OPTION",def:s[0]})},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$1",symbols:["__"]},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_INPLACE")?{type:"K_INPLACE"}:K_INPLACE],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION$subexpression$2",symbols:[_.has("K_COPY")?{type:"K_COPY"}:K_COPY],postprocess:f},{name:"P_INDEX_ALGORITHM_OPTION",symbols:[_.has("K_ALGORITHM")?{type:"K_ALGORITHM"}:K_ALGORITHM,"P_INDEX_ALGORITHM_OPTION$subexpression$1","P_INDEX_ALGORITHM_OPTION$subexpression$2"],postprocess:s=>({id:"P_INDEX_ALGORITHM_OPTION",def:{algorithm:s[2].value}})},{name:"P_LOCK_OPTION$subexpression$1",symbols:["__"]},{name:"P_LOCK_OPTION$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_NONE")?{type:"K_NONE"}:K_NONE],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_SHARED")?{type:"K_SHARED"}:K_SHARED],postprocess:f},{name:"P_LOCK_OPTION$subexpression$2",symbols:[_.has("K_EXCLUSIVE")?{type:"K_EXCLUSIVE"}:K_EXCLUSIVE],postprocess:f},{name:"P_LOCK_OPTION",symbols:[_.has("K_LOCK")?{type:"K_LOCK"}:K_LOCK,"P_LOCK_OPTION$subexpression$1","P_LOCK_OPTION$subexpression$2"],postprocess:s=>({id:"P_LOCK_OPTION",def:{lock:s[2].value}})},{name:"P_CREATE_TABLE$subexpression$1",symbols:["P_CREATE_TABLE_COMMON"],postprocess:f},{name:"P_CREATE_TABLE$subexpression$1",symbols:["P_CREATE_TABLE_LIKE"],postprocess:f},{name:"P_CREATE_TABLE",symbols:["P_CREATE_TABLE$subexpression$1"],postprocess:s=>({id:"P_CREATE_TABLE",def:s[0]})},{name:"P_CREATE_TABLE_COMMON$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_TABLE_COMMON$ebnf$1",symbols:["P_CREATE_TABLE_COMMON$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$2$subexpression$1",symbols:["__",_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY]},{name:"P_CREATE_TABLE_COMMON$ebnf$2",symbols:["P_CREATE_TABLE_COMMON$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$3$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_TABLE_COMMON$ebnf$3",symbols:["P_CREATE_TABLE_COMMON$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON$ebnf$4$subexpression$1",symbols:["_","P_CREATE_TABLE_OPTIONS"],postprocess:s=>s[1]},{name:"P_CREATE_TABLE_COMMON$ebnf$4",symbols:["P_CREATE_TABLE_COMMON$ebnf$4$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_COMMON$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_COMMON",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_TABLE_COMMON$ebnf$1","P_CREATE_TABLE_COMMON$ebnf$2","__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_CREATE_TABLE_COMMON$ebnf$3","__","S_IDENTIFIER","_","P_CREATE_TABLE_CREATE_DEFINITIONS","P_CREATE_TABLE_COMMON$ebnf$4","S_EOS"],postprocess:s=>({id:"P_CREATE_TABLE_COMMON",def:{table:s[7],columnsDef:s[9],tableOptions:s[10]}})},{name:"P_CREATE_TABLE_LIKE$ebnf$1$subexpression$1",symbols:["__",_.has("K_OR")?{type:"K_OR"}:K_OR,"__",_.has("K_REPLACE")?{type:"K_REPLACE"}:K_REPLACE]},{name:"P_CREATE_TABLE_LIKE$ebnf$1",symbols:["P_CREATE_TABLE_LIKE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$ebnf$2$subexpression$1",symbols:["__",_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY]},{name:"P_CREATE_TABLE_LIKE$ebnf$2",symbols:["P_CREATE_TABLE_LIKE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$ebnf$3$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_CREATE_TABLE_LIKE$ebnf$3",symbols:["P_CREATE_TABLE_LIKE$ebnf$3$subexpression$1"],postprocess:f},{name:"P_CREATE_TABLE_LIKE$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_CREATE_TABLE_LIKE$subexpression$1",symbols:["__",_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE,"__","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"P_CREATE_TABLE_LIKE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("K_LIKE")?{type:"K_LIKE"}:K_LIKE,"__","S_IDENTIFIER","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[5]},{name:"P_CREATE_TABLE_LIKE",symbols:[_.has("K_CREATE")?{type:"K_CREATE"}:K_CREATE,"P_CREATE_TABLE_LIKE$ebnf$1","P_CREATE_TABLE_LIKE$ebnf$2","__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_CREATE_TABLE_LIKE$ebnf$3","__","S_IDENTIFIER","P_CREATE_TABLE_LIKE$subexpression$1","S_EOS"],postprocess:s=>({id:"P_CREATE_TABLE_LIKE",def:{table:s[7],like:s[8]}})},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1",symbols:[]},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","O_CREATE_TABLE_CREATE_DEFINITION"],postprocess:s=>s[3]},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1",symbols:["P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1$ebnf$1"],postprocess:s=>{var t;return[s[0]].concat((t=s[1])!==null&&t!==void 0?t:[])}},{name:"P_CREATE_TABLE_CREATE_DEFINITIONS",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_CREATE_TABLE_CREATE_DEFINITIONS$subexpression$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({id:"P_CREATE_TABLE_CREATE_DEFINITIONS",def:s[2]})},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","O_COLUMN_DEFINITION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_COLUMN_REFERENCE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1",symbols:["O_DATATYPE","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$1","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1$ebnf$2"],postprocess:s=>{var t;let o={datatype:s[0],columnDefinition:(t=s[1])!==null&&t!==void 0?t:[]};return s[2]&&(o.reference=s[2]),o}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["S_IDENTIFIER","_","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$1"],postprocess:s=>({column:{name:s[0],def:s[2]}})},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$1",_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$2","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$3","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$4"],postprocess:s=>{var t;return{primaryKey:{name:s[0],index:s[4],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),options:s[12]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$subexpression$2","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$5","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$6","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$7","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$8"],postprocess:s=>{var t;return{index:{name:s[1],index:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12$subexpression$1",symbols:["__","P_INDEX_TYPE"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$9",_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$10","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$11","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$12","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$13","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$14"],postprocess:s=>{var t,o;return s[3]&&["index","key"].includes(s[3].toLowerCase())&&(s[3]=void 0),{uniqueKey:{name:s[3],index:(t=s[4])!==null&&t!==void 0?t:void 0,columns:[s[8]].concat((o=s[9])!==null&&o!==void 0?o:[]),options:s[12]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:[_.has("K_FULLTEXT")?{type:"K_FULLTEXT"}:K_FULLTEXT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$15","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$16","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$17","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$18"],postprocess:s=>{var t;return s[2]&&["index","key"].includes(s[2].toLowerCase())&&(s[2]=void 0),{fulltextIndex:{name:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1",symbols:["__",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22$subexpression$1",symbols:["_","O_INDEX_OPTION"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:[_.has("K_SPATIAL")?{type:"K_SPATIAL"}:K_SPATIAL,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$19","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$20","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$21","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$22"],postprocess:s=>{var t;return s[2]&&["index","key"].includes(s[2].toLowerCase())&&(s[2]=void 0),{spatialIndex:{name:s[2],columns:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[]),options:s[10]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1",symbols:[_.has("K_CONSTRAINT")?{type:"K_CONSTRAINT"}:K_CONSTRAINT,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1$ebnf$1","__"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24$subexpression$1",symbols:["__","S_IDENTIFIER"],postprocess:s=>s[1]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25",symbols:[]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$23",_.has("K_FOREIGN")?{type:"K_FOREIGN"}:K_FOREIGN,"__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY,"O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$24","_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1$ebnf$25","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_","P_COLUMN_REFERENCE"],postprocess:s=>{var t;return{foreignKey:{name:s[0],columns:[s[8]].concat((t=s[9])!==null&&t!==void 0?t:[]),reference:s[13]}}}},{name:"O_CREATE_TABLE_CREATE_DEFINITION",symbols:["O_CREATE_TABLE_CREATE_DEFINITION$subexpression$1"],postprocess:s=>({id:"O_CREATE_TABLE_CREATE_DEFINITION",def:s[0]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_UNSIGNED")?{type:"K_UNSIGNED"}:K_UNSIGNED],postprocess:s=>({unsigned:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_ZEROFILL")?{type:"K_ZEROFILL"}:K_ZEROFILL],postprocess:s=>({zerofill:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET,"__","O_CHARSET"],postprocess:s=>({charset:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET,"__","O_CHARSET"],postprocess:s=>({charset:s[4]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"__","O_COLLATION"],postprocess:s=>({collation:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_NOT")?{type:"K_NOT"}:K_NOT,"__",_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>({nullable:!1})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>({nullable:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__","O_DEFAULT_VALUE"],postprocess:s=>({default:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT],postprocess:s=>({autoincrement:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1$subexpression$1",symbols:["__",_.has("K_KEY")?{type:"K_KEY"}:K_KEY]},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_UNIQUE")?{type:"K_UNIQUE"}:K_UNIQUE,"O_COLUMN_DEFINITION$subexpression$1$ebnf$1"],postprocess:s=>({unique:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_PRIMARY")?{type:"K_PRIMARY"}:K_PRIMARY,"__"]},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$2",_.has("K_KEY")?{type:"K_KEY"}:K_KEY],postprocess:s=>({primary:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"__","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE,"__",_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({invisibleWithSystemVersioning:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE,"__",_.has("K_WITHOUT")?{type:"K_WITHOUT"}:K_WITHOUT,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({invisibleWithoutSystemVersioning:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_INVISIBLE")?{type:"K_INVISIBLE"}:K_INVISIBLE],postprocess:s=>({invisible:!0})},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_COLUMN_FORMAT")?{type:"K_COLUMN_FORMAT"}:K_COLUMN_FORMAT,"__","O_COLUMN_DEFINITION$subexpression$1$subexpression$1"],postprocess:s=>({format:s[2].value})},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$subexpression$2",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE,"__","O_COLUMN_DEFINITION$subexpression$1$subexpression$2"],postprocess:s=>({storage:s[2].value})},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>"("+(s[3]?s[3].value:"")+")"},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3",symbols:["O_COLUMN_DEFINITION$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_COLUMN_DEFINITION$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_COLUMN_DEFINITION$subexpression$1",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON,"__",_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE,"__",_.has("K_CURRENT_TIMESTAMP")?{type:"K_CURRENT_TIMESTAMP"}:K_CURRENT_TIMESTAMP,"O_COLUMN_DEFINITION$subexpression$1$ebnf$3"],postprocess:s=>{var t;return{onUpdate:s[4].value+((t=s[5])!==null&&t!==void 0?t:"")}}},{name:"O_COLUMN_DEFINITION",symbols:["O_COLUMN_DEFINITION$subexpression$1"],postprocess:s=>({id:"O_COLUMN_DEFINITION",def:s[0]})},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1",symbols:[]},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","P_INDEX_COLUMN"],postprocess:s=>s[3]},{name:"P_COLUMN_REFERENCE$subexpression$1$ebnf$1",symbols:["P_COLUMN_REFERENCE$subexpression$1$ebnf$1","P_COLUMN_REFERENCE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_COLUMN_REFERENCE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","P_INDEX_COLUMN","P_COLUMN_REFERENCE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_"],postprocess:s=>{var t;return[s[3]].concat((t=s[4])!==null&&t!==void 0?t:[])}},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_FULL")?{type:"K_FULL"}:K_FULL],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_PARTIAL")?{type:"K_PARTIAL"}:K_PARTIAL],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1",symbols:[_.has("K_SIMPLE")?{type:"K_SIMPLE"}:K_SIMPLE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1$subexpression$1",symbols:[_.has("K_MATCH")?{type:"K_MATCH"}:K_MATCH,"__","P_COLUMN_REFERENCE$ebnf$1$subexpression$1$subexpression$1","_"],postprocess:s=>s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$1",symbols:["P_COLUMN_REFERENCE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_COLUMN_REFERENCE$ebnf$2",symbols:[]},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1",symbols:[_.has("K_DELETE")?{type:"K_DELETE"}:K_DELETE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1",symbols:[_.has("K_UPDATE")?{type:"K_UPDATE"}:K_UPDATE],postprocess:f},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT],postprocess:s=>s[0].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE],postprocess:s=>s[0].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_NULL")?{type:"K_NULL"}:K_NULL],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO,"__",_.has("K_ACTION")?{type:"K_ACTION"}:K_ACTION],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__",_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:s=>s[0].value+" "+s[2].value},{name:"P_COLUMN_REFERENCE$ebnf$2$subexpression$1",symbols:[_.has("K_ON")?{type:"K_ON"}:K_ON,"__","P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$1","__","P_COLUMN_REFERENCE$ebnf$2$subexpression$1$subexpression$2","_"],postprocess:s=>({trigger:s[2].value,action:s[4]})},{name:"P_COLUMN_REFERENCE$ebnf$2",symbols:["P_COLUMN_REFERENCE$ebnf$2","P_COLUMN_REFERENCE$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_COLUMN_REFERENCE",symbols:[_.has("K_REFERENCES")?{type:"K_REFERENCES"}:K_REFERENCES,"__","S_IDENTIFIER","P_COLUMN_REFERENCE$subexpression$1","P_COLUMN_REFERENCE$ebnf$1","P_COLUMN_REFERENCE$ebnf$2"],postprocess:s=>{var t,o;return{id:"P_COLUMN_REFERENCE",def:{table:s[2],columns:(t=s[3])!==null&&t!==void 0?t:[],match:s[4],on:(o=s[5])!==null&&o!==void 0?o:[]}}}},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1",symbols:[]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1",symbols:["__"]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_"]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1",symbols:["P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1$subexpression$1","O_CREATE_TABLE_OPTION"],postprocess:s=>s[1]},{name:"P_CREATE_TABLE_OPTIONS$ebnf$1",symbols:["P_CREATE_TABLE_OPTIONS$ebnf$1","P_CREATE_TABLE_OPTIONS$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_CREATE_TABLE_OPTIONS",symbols:["O_CREATE_TABLE_OPTION","P_CREATE_TABLE_OPTIONS$ebnf$1"],postprocess:s=>{var t;return{id:"P_CREATE_TABLE_OPTIONS",def:[s[0]].concat((t=s[1])!==null&&t!==void 0?t:[])}}},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_AUTO_INCREMENT")?{type:"K_AUTO_INCREMENT"}:K_AUTO_INCREMENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$1",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({autoincrement:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_AVG_ROW_LENGTH")?{type:"K_AVG_ROW_LENGTH"}:K_AVG_ROW_LENGTH,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$2",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({avgRowLength:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER,"__",_.has("K_SET")?{type:"K_SET"}:K_SET]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3",symbols:[_.has("K_CHARSET")?{type:"K_CHARSET"}:K_CHARSET]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$1","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$3","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$4","O_CHARSET"],postprocess:s=>({charset:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_CHECKSUM")?{type:"K_CHECKSUM"}:K_CHECKSUM,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$5",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({checksum:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT,"__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$2",_.has("K_COLLATE")?{type:"K_COLLATE"}:K_COLLATE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$6","O_COLLATION"],postprocess:s=>({collation:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_COMMENT")?{type:"K_COMMENT"}:K_COMMENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$7","O_QUOTED_STRING"],postprocess:s=>({comment:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_COMPRESSION")?{type:"K_COMPRESSION"}:K_COMPRESSION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$8","O_QUOTED_STRING"],postprocess:s=>({compression:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_CONNECTION")?{type:"K_CONNECTION"}:K_CONNECTION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$9","O_QUOTED_STRING"],postprocess:s=>({connection:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",symbols:[_.has("K_DATA")?{type:"K_DATA"}:K_DATA,"__"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",symbols:[_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"__"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$subexpression$10",_.has("K_DIRECTORY")?{type:"K_DIRECTORY"}:K_DIRECTORY,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$11","O_QUOTED_STRING"],postprocess:s=>({[s[0].value.toLowerCase()+"Directory"]:s[3]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_DELAY_KEY_WRITE")?{type:"K_DELAY_KEY_WRITE"}:K_DELAY_KEY_WRITE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$12",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({delayKeyWrite:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENCRYPTION")?{type:"K_ENCRYPTION"}:K_ENCRYPTION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$13","O_QUOTED_STRING"],postprocess:s=>({encryption:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENCRYPTION_KEY_ID")?{type:"K_ENCRYPTION_KEY_ID"}:K_ENCRYPTION_KEY_ID,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$14",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({encryptionKeyId:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16",symbols:[_.has("K_YES")?{type:"K_YES"}:K_YES],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_IETF_QUOTES")?{type:"K_IETF_QUOTES"}:K_IETF_QUOTES,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$15","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$16"],postprocess:s=>({ietfQuotes:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ENGINE")?{type:"K_ENGINE"}:K_ENGINE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$17","O_ENGINE"],postprocess:s=>({engine:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_NO")?{type:"K_NO"}:K_NO],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_FIRST")?{type:"K_FIRST"}:K_FIRST],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19",symbols:[_.has("K_LAST")?{type:"K_LAST"}:K_LAST],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_INSERT_METHOD")?{type:"K_INSERT_METHOD"}:K_INSERT_METHOD,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$18","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$19"],postprocess:s=>({insertMethod:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_KEY_BLOCK_SIZE")?{type:"K_KEY_BLOCK_SIZE"}:K_KEY_BLOCK_SIZE,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$20",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({keyBlockSize:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_MAX_ROWS")?{type:"K_MAX_ROWS"}:K_MAX_ROWS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$21",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({maxRows:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_MIN_ROWS")?{type:"K_MIN_ROWS"}:K_MIN_ROWS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$22",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({minRows:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PACK_KEYS")?{type:"K_PACK_KEYS"}:K_PACK_KEYS,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$23","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$24"],postprocess:s=>({packKeys:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PAGE_CHECKSUM")?{type:"K_PAGE_CHECKSUM"}:K_PAGE_CHECKSUM,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$25",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({pageChecksum:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_PASSWORD")?{type:"K_PASSWORD"}:K_PASSWORD,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$26","O_QUOTED_STRING"],postprocess:s=>({password:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_DYNAMIC")?{type:"K_DYNAMIC"}:K_DYNAMIC],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_FIXED")?{type:"K_FIXED"}:K_FIXED],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_COMPRESSED")?{type:"K_COMPRESSED"}:K_COMPRESSED],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_REDUNDANT")?{type:"K_REDUNDANT"}:K_REDUNDANT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_COMPACT")?{type:"K_COMPACT"}:K_COMPACT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28",symbols:[_.has("K_PAGE")?{type:"K_PAGE"}:K_PAGE],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_ROW_FORMAT")?{type:"K_ROW_FORMAT"}:K_ROW_FORMAT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$27","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$28"],postprocess:s=>({rowFormat:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_AUTO_RECALC")?{type:"K_STATS_AUTO_RECALC"}:K_STATS_AUTO_RECALC,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$29","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$30"],postprocess:s=>({statsAutoRecalc:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_PERSISTENT")?{type:"K_STATS_PERSISTENT"}:K_STATS_PERSISTENT,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$31","O_CREATE_TABLE_OPTION$subexpression$1$subexpression$32"],postprocess:s=>({statsPersistent:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_STATS_SAMPLE_PAGES")?{type:"K_STATS_SAMPLE_PAGES"}:K_STATS_SAMPLE_PAGES,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$33","O_TABLE_OPTION_VALUE"],postprocess:s=>({statsSamplePages:s[2]})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_TRANSACTIONAL")?{type:"K_TRANSACTIONAL"}:K_TRANSACTIONAL,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$34",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER],postprocess:s=>({transactional:s[2].value})},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_WITH")?{type:"K_WITH"}:K_WITH,"__",_.has("K_SYSTEM")?{type:"K_SYSTEM"}:K_SYSTEM,"__",_.has("K_VERSIONING")?{type:"K_VERSIONING"}:K_VERSIONING],postprocess:s=>({withSystemVersioning:!0})},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_DISK")?{type:"K_DISK"}:K_DISK],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_MEMORY")?{type:"K_MEMORY"}:K_MEMORY],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1",symbols:[_.has("K_DEFAULT")?{type:"K_DEFAULT"}:K_DEFAULT],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1",symbols:["__",_.has("K_STORAGE")?{type:"K_STORAGE"}:K_STORAGE,"__","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1$subexpression$1"],postprocess:s=>s[3].value},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3$subexpression$1"],postprocess:f},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_TABLESPACE")?{type:"K_TABLESPACE"}:K_TABLESPACE,"__","S_IDENTIFIER","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$3"],postprocess:s=>{let t={tablespaceName:s[2]};return s[3]&&(t.tablespaceStorage=s[3]),t}},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",symbols:["__"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",symbols:["_",_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL,"_"]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4",symbols:[]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4",symbols:["O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_CREATE_TABLE_OPTION$subexpression$1",symbols:[_.has("K_UNION")?{type:"K_UNION"}:K_UNION,"O_CREATE_TABLE_OPTION$subexpression$1$subexpression$35",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_","S_IDENTIFIER","O_CREATE_TABLE_OPTION$subexpression$1$ebnf$4","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>{var t;return{union:[s[4]].concat((t=s[5])!==null&&t!==void 0?t:[])}}},{name:"O_CREATE_TABLE_OPTION",symbols:["O_CREATE_TABLE_OPTION$subexpression$1"],postprocess:s=>({id:"O_CREATE_TABLE_OPTION",def:s[0]})},{name:"O_DATATYPE$subexpression$1",symbols:["O_INTEGER_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FIXED_POINT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FLOATING_POINT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_BIT_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_BOOLEAN_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_DATETIME_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_YEAR_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_FIXED_STRING_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_ENUM_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_SET_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_SPATIAL_DATATYPE"],postprocess:f},{name:"O_DATATYPE$subexpression$1",symbols:["O_JSON_DATATYPE"],postprocess:f},{name:"O_DATATYPE",symbols:["O_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_DATATYPE",def:s[0]})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_INT")?{type:"K_INT"}:K_INT],postprocess:s=>({datatype:s[0].value,width:4})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_INTEGER")?{type:"K_INTEGER"}:K_INTEGER],postprocess:s=>({datatype:s[0].value,width:4})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_TINYINT")?{type:"K_TINYINT"}:K_TINYINT],postprocess:s=>({datatype:s[0].value,width:1})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_SMALLINT")?{type:"K_SMALLINT"}:K_SMALLINT],postprocess:s=>({datatype:s[0].value,width:2})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMINT")?{type:"K_MEDIUMINT"}:K_MEDIUMINT],postprocess:s=>({datatype:s[0].value,width:3})},{name:"O_INTEGER_DATATYPE$subexpression$1",symbols:[_.has("K_BIGINT")?{type:"K_BIGINT"}:K_BIGINT],postprocess:s=>({datatype:s[0].value,width:8})},{name:"O_INTEGER_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_INTEGER_DATATYPE$ebnf$1",symbols:["O_INTEGER_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_INTEGER_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_INTEGER_DATATYPE",symbols:["O_INTEGER_DATATYPE$subexpression$1","O_INTEGER_DATATYPE$ebnf$1"],postprocess:s=>({id:"O_INTEGER_DATATYPE",def:{datatype:s[0].datatype,width:s[1]?s[1]:s[0].width}})},{name:"O_FIXED_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_DECIMAL")?{type:"K_DECIMAL"}:K_DECIMAL],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_NUMERIC")?{type:"K_NUMERIC"}:K_NUMERIC],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:s[7].value})},{name:"O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:0})},{name:"O_FIXED_POINT_DATATYPE$ebnf$1",symbols:["O_FIXED_POINT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FIXED_POINT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FIXED_POINT_DATATYPE",symbols:["O_FIXED_POINT_DATATYPE$subexpression$1","O_FIXED_POINT_DATATYPE$ebnf$1"],postprocess:s=>{let t={id:"O_FIXED_POINT_DATATYPE",def:{datatype:s[0].value}};return s[1]?(t.def.digits=s[1].digits,t.def.decimals=s[1].decimals):(t.def.digits=10,t.def.decimals=0),t}},{name:"O_FLOATING_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_FLOAT")?{type:"K_FLOAT"}:K_FLOAT],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$subexpression$1",symbols:[_.has("K_DOUBLE")?{type:"K_DOUBLE"}:K_DOUBLE],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>({digits:s[3].value,decimals:s[7].value})},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1",symbols:["O_FLOATING_POINT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FLOATING_POINT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FLOATING_POINT_DATATYPE",symbols:["O_FLOATING_POINT_DATATYPE$subexpression$1","O_FLOATING_POINT_DATATYPE$ebnf$1"],postprocess:s=>{let t={id:"O_FLOATING_POINT_DATATYPE",def:{datatype:s[0].value}};return s[1]&&(t.def.digits=s[1].digits,t.def.decimals=s[1].decimals),t}},{name:"O_BIT_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS,"_"],postprocess:s=>s[3].value},{name:"O_BIT_DATATYPE$ebnf$1",symbols:["O_BIT_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_BIT_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_BIT_DATATYPE",symbols:[_.has("K_BIT")?{type:"K_BIT"}:K_BIT,"O_BIT_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_BIT_DATATYPE",def:{datatype:s[0].value,length:(t=s[1])!==null&&t!==void 0?t:1}}}},{name:"O_BOOLEAN_DATATYPE$subexpression$1",symbols:[_.has("K_BOOLEAN")?{type:"K_BOOLEAN"}:K_BOOLEAN],postprocess:f},{name:"O_BOOLEAN_DATATYPE$subexpression$1",symbols:[_.has("K_BOOL")?{type:"K_BOOL"}:K_BOOL],postprocess:f},{name:"O_BOOLEAN_DATATYPE",symbols:["O_BOOLEAN_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_BOOLEAN_DATATYPE",def:{datatype:s[0].value}})},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_DATE")?{type:"K_DATE"}:K_DATE],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_TIME")?{type:"K_TIME"}:K_TIME],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_DATETIME")?{type:"K_DATETIME"}:K_DATETIME],postprocess:f},{name:"O_DATETIME_DATATYPE$subexpression$1",symbols:[_.has("K_TIMESTAMP")?{type:"K_TIMESTAMP"}:K_TIMESTAMP],postprocess:f},{name:"O_DATETIME_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_DATETIME_DATATYPE$ebnf$1",symbols:["O_DATETIME_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_DATETIME_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_DATETIME_DATATYPE",symbols:["O_DATETIME_DATATYPE$subexpression$1","O_DATETIME_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_DATETIME_DATATYPE",def:{datatype:s[0].value,fractional:(t=s[1])!==null&&t!==void 0?t:0}}}},{name:"O_YEAR_DATATYPE$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_YEAR_DATATYPE$ebnf$1",symbols:["O_YEAR_DATATYPE$ebnf$1$subexpression$1"],postprocess:f},{name:"O_YEAR_DATATYPE$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_YEAR_DATATYPE",symbols:[_.has("K_YEAR")?{type:"K_YEAR"}:K_YEAR,"O_YEAR_DATATYPE$ebnf$1"],postprocess:s=>{var t;return{id:"O_YEAR_DATATYPE",def:{datatype:s[0].value,digits:(t=s[1])!==null&&t!==void 0?t:4}}}},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_NCHAR")?{type:"K_NCHAR"}:K_NCHAR],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_NATIONAL")?{type:"K_NATIONAL"}:K_NATIONAL,"__",_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value+" "+s[2].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_CHARACTER")?{type:"K_CHARACTER"}:K_CHARACTER],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_CHAR")?{type:"K_CHAR"}:K_CHAR],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_BINARY")?{type:"K_BINARY"}:K_BINARY],postprocess:s=>s[0].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$1","O_VARIABLE_STRING_DATATYPE$subexpression$1$ebnf$1"],postprocess:s=>{var t;return{datatype:s[0],length:(t=s[1])!==null&&t!==void 0?t:1}}},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2",symbols:[_.has("K_VARCHAR")?{type:"K_VARCHAR"}:K_VARCHAR],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2",symbols:[_.has("K_VARBINARY")?{type:"K_VARBINARY"}:K_VARBINARY],postprocess:f},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$3",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_VARIABLE_STRING_DATATYPE$subexpression$1",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$2","O_VARIABLE_STRING_DATATYPE$subexpression$1$subexpression$3"],postprocess:s=>({datatype:s[0].value,length:s[1]})},{name:"O_VARIABLE_STRING_DATATYPE",symbols:["O_VARIABLE_STRING_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_VARIABLE_STRING_DATATYPE",def:s[0]})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_BLOB")?{type:"K_BLOB"}:K_BLOB],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1",symbols:[_.has("K_TEXT")?{type:"K_TEXT"}:K_TEXT],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER,"_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>s[3].value},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:f},{name:"O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1$subexpression$1","O_FIXED_STRING_DATATYPE$subexpression$1$ebnf$1"],postprocess:s=>{var t;return{datatype:s[0].value,length:(t=s[1])!==null&&t!==void 0?t:65535}}},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_TINYBLOB")?{type:"K_TINYBLOB"}:K_TINYBLOB],postprocess:s=>({datatype:s[0].value,length:255})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMBLOB")?{type:"K_MEDIUMBLOB"}:K_MEDIUMBLOB],postprocess:s=>({datatype:s[0].value,length:16777215})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_LONGBLOB")?{type:"K_LONGBLOB"}:K_LONGBLOB],postprocess:s=>({datatype:s[0].value,length:4294967295})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_TINYTEXT")?{type:"K_TINYTEXT"}:K_TINYTEXT],postprocess:s=>({datatype:s[0].value,length:255})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_MEDIUMTEXT")?{type:"K_MEDIUMTEXT"}:K_MEDIUMTEXT],postprocess:s=>({datatype:s[0].value,length:16777215})},{name:"O_FIXED_STRING_DATATYPE$subexpression$1",symbols:[_.has("K_LONGTEXT")?{type:"K_LONGTEXT"}:K_LONGTEXT],postprocess:s=>({datatype:s[0].value,length:4294967295})},{name:"O_FIXED_STRING_DATATYPE",symbols:["O_FIXED_STRING_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_FIXED_STRING_DATATYPE",def:s[0]})},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1",symbols:[]},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[3].value},{name:"O_ENUM_DATATYPE$subexpression$1$ebnf$1",symbols:["O_ENUM_DATATYPE$subexpression$1$ebnf$1","O_ENUM_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_ENUM_DATATYPE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING,"O_ENUM_DATATYPE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>[s[3].value].concat(s[4])},{name:"O_ENUM_DATATYPE",symbols:[_.has("K_ENUM")?{type:"K_ENUM"}:K_ENUM,"O_ENUM_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_ENUM_DATATYPE",def:{datatype:s[0].value,values:s[1]}})},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1",symbols:[]},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING],postprocess:s=>s[3].value},{name:"O_SET_DATATYPE$subexpression$1$ebnf$1",symbols:["O_SET_DATATYPE$subexpression$1$ebnf$1","O_SET_DATATYPE$subexpression$1$ebnf$1$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"O_SET_DATATYPE$subexpression$1",symbols:["_",_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS,"_",_.has("S_SQUOTE_STRING")?{type:"S_SQUOTE_STRING"}:S_SQUOTE_STRING,"O_SET_DATATYPE$subexpression$1$ebnf$1","_",_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS],postprocess:s=>[s[3].value].concat(s[4])},{name:"O_SET_DATATYPE",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"O_SET_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_SET_DATATYPE",def:{datatype:s[0].value,values:s[1]}})},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_GEOMETRY")?{type:"K_GEOMETRY"}:K_GEOMETRY],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_POINT")?{type:"K_POINT"}:K_POINT],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_LINESTRING")?{type:"K_LINESTRING"}:K_LINESTRING],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_POLYGON")?{type:"K_POLYGON"}:K_POLYGON],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTIPOINT")?{type:"K_MULTIPOINT"}:K_MULTIPOINT],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTILINESTRING")?{type:"K_MULTILINESTRING"}:K_MULTILINESTRING],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_MULTIPOLYGON")?{type:"K_MULTIPOLYGON"}:K_MULTIPOLYGON],postprocess:f},{name:"O_SPATIAL_DATATYPE$subexpression$1",symbols:[_.has("K_GEOMETRYCOLLECTION")?{type:"K_GEOMETRYCOLLECTION"}:K_GEOMETRYCOLLECTION],postprocess:f},{name:"O_SPATIAL_DATATYPE",symbols:["O_SPATIAL_DATATYPE$subexpression$1"],postprocess:s=>({id:"O_SPATIAL_DATATYPE",def:{datatype:s[0].value}})},{name:"O_JSON_DATATYPE",symbols:[_.has("K_JSON")?{type:"K_JSON"}:K_JSON],postprocess:s=>({id:"O_JSON_DATATYPE",def:{datatype:s[0].value}})},{name:"P_DROP_DB$subexpression$1",symbols:[_.has("K_DATABASE")?{type:"K_DATABASE"}:K_DATABASE]},{name:"P_DROP_DB$subexpression$1",symbols:[_.has("K_SCHEMA")?{type:"K_SCHEMA"}:K_SCHEMA]},{name:"P_DROP_DB$ebnf$1$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_DB$ebnf$1",symbols:["P_DROP_DB$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_DB$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_DB",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_DB$subexpression$1","P_DROP_DB$ebnf$1","__","S_IDENTIFIER","S_EOS"],postprocess:s=>({id:"P_DROP_DB",def:s[5]})},{name:"P_DROP_INDEX$ebnf$1$subexpression$1",symbols:[_.has("K_ONLINE")?{type:"K_ONLINE"}:K_ONLINE,"__"]},{name:"P_DROP_INDEX$ebnf$1$subexpression$1",symbols:[_.has("K_OFFLINE")?{type:"K_OFFLINE"}:K_OFFLINE,"__"]},{name:"P_DROP_INDEX$ebnf$1",symbols:["P_DROP_INDEX$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_INDEX$ebnf$2",symbols:["P_DROP_INDEX$ebnf$2$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_DROP_INDEX$ebnf$3$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_DROP_INDEX$ebnf$3",symbols:["P_DROP_INDEX$ebnf$3$subexpression$1"],postprocess:f},{name:"P_DROP_INDEX$ebnf$3",symbols:[],postprocess:()=>null},{name:"P_DROP_INDEX$ebnf$4",symbols:[]},{name:"P_DROP_INDEX$ebnf$4$subexpression$1",symbols:["__","P_INDEX_ALGORITHM_OPTION"],postprocess:s=>s[1]},{name:"P_DROP_INDEX$ebnf$4$subexpression$1",symbols:["__","P_LOCK_OPTION"],postprocess:s=>s[1]},{name:"P_DROP_INDEX$ebnf$4",symbols:["P_DROP_INDEX$ebnf$4","P_DROP_INDEX$ebnf$4$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_DROP_INDEX",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_INDEX$ebnf$1",_.has("K_INDEX")?{type:"K_INDEX"}:K_INDEX,"P_DROP_INDEX$ebnf$2","__","S_IDENTIFIER","__",_.has("K_ON")?{type:"K_ON"}:K_ON,"__","S_IDENTIFIER","P_DROP_INDEX$ebnf$3","P_DROP_INDEX$ebnf$4","S_EOS"],postprocess:s=>({id:"P_DROP_INDEX",def:{index:s[6],table:s[10],options:s[12]?s[12]:[]}})},{name:"P_DROP_TABLE$ebnf$1$subexpression$1",symbols:[_.has("K_TEMPORARY")?{type:"K_TEMPORARY"}:K_TEMPORARY,"__"]},{name:"P_DROP_TABLE$ebnf$1",symbols:["P_DROP_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$2$subexpression$1",symbols:["__",_.has("K_IF")?{type:"K_IF"}:K_IF,"__",_.has("K_EXISTS")?{type:"K_EXISTS"}:K_EXISTS]},{name:"P_DROP_TABLE$ebnf$2",symbols:["P_DROP_TABLE$ebnf$2$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$2",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$3",symbols:[]},{name:"P_DROP_TABLE$ebnf$3$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER"],postprocess:s=>s[3]},{name:"P_DROP_TABLE$ebnf$3",symbols:["P_DROP_TABLE$ebnf$3","P_DROP_TABLE$ebnf$3$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_DROP_TABLE$ebnf$4$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_DROP_TABLE$ebnf$4$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_DROP_TABLE$ebnf$4",symbols:["P_DROP_TABLE$ebnf$4$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$4",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE$ebnf$5$subexpression$1",symbols:["__",_.has("K_RESTRICT")?{type:"K_RESTRICT"}:K_RESTRICT]},{name:"P_DROP_TABLE$ebnf$5$subexpression$1",symbols:["__",_.has("K_CASCADE")?{type:"K_CASCADE"}:K_CASCADE]},{name:"P_DROP_TABLE$ebnf$5",symbols:["P_DROP_TABLE$ebnf$5$subexpression$1"],postprocess:f},{name:"P_DROP_TABLE$ebnf$5",symbols:[],postprocess:()=>null},{name:"P_DROP_TABLE",symbols:[_.has("K_DROP")?{type:"K_DROP"}:K_DROP,"__","P_DROP_TABLE$ebnf$1",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"P_DROP_TABLE$ebnf$2","__","S_IDENTIFIER","P_DROP_TABLE$ebnf$3","P_DROP_TABLE$ebnf$4","P_DROP_TABLE$ebnf$5","S_EOS"],postprocess:s=>{var t;return{id:"P_DROP_TABLE",def:[s[6]].concat((t=s[7])!==null&&t!==void 0?t:[])}}},{name:"P_RENAME_TABLE$ebnf$1$subexpression$1",symbols:["__",_.has("K_WAIT")?{type:"K_WAIT"}:K_WAIT,"__",_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_RENAME_TABLE$ebnf$1$subexpression$1",symbols:["__",_.has("K_NOWAIT")?{type:"K_NOWAIT"}:K_NOWAIT]},{name:"P_RENAME_TABLE$ebnf$1",symbols:["P_RENAME_TABLE$ebnf$1$subexpression$1"],postprocess:f},{name:"P_RENAME_TABLE$ebnf$1",symbols:[],postprocess:()=>null},{name:"P_RENAME_TABLE$ebnf$2",symbols:[]},{name:"P_RENAME_TABLE$ebnf$2$subexpression$1",symbols:["_",_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA,"_","S_IDENTIFIER","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER"],postprocess:s=>({table:s[3],newName:s[7]})},{name:"P_RENAME_TABLE$ebnf$2",symbols:["P_RENAME_TABLE$ebnf$2","P_RENAME_TABLE$ebnf$2$subexpression$1"],postprocess:s=>s[0].concat([s[1]])},{name:"P_RENAME_TABLE",symbols:[_.has("K_RENAME")?{type:"K_RENAME"}:K_RENAME,"__",_.has("K_TABLE")?{type:"K_TABLE"}:K_TABLE,"__","S_IDENTIFIER","P_RENAME_TABLE$ebnf$1","__",_.has("K_TO")?{type:"K_TO"}:K_TO,"__","S_IDENTIFIER","P_RENAME_TABLE$ebnf$2","S_EOS"],postprocess:s=>{var t;return{id:"P_RENAME_TABLE",def:[{table:s[4],newName:s[9]}].concat((t=s[10])!==null&&t!==void 0?t:[])}}},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_UNKNOWN")?{type:"S_UNKNOWN"}:S_UNKNOWN]},{name:"P_SET$ebnf$1$subexpression$1",symbols:["S_IDENTIFIER"]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT]},{name:"P_SET$ebnf$1$subexpression$1",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_SET$ebnf$1",symbols:["P_SET$ebnf$1$subexpression$1"]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_UNKNOWN")?{type:"S_UNKNOWN"}:S_UNKNOWN]},{name:"P_SET$ebnf$1$subexpression$2",symbols:["S_IDENTIFIER"]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_EQUAL")?{type:"S_EQUAL"}:S_EQUAL]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_LPARENS")?{type:"S_LPARENS"}:S_LPARENS]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_RPARENS")?{type:"S_RPARENS"}:S_RPARENS]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_COMMA")?{type:"S_COMMA"}:S_COMMA]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_SEMICOLON")?{type:"S_SEMICOLON"}:S_SEMICOLON]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_BIT_FORMAT")?{type:"S_BIT_FORMAT"}:S_BIT_FORMAT]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_HEXA_FORMAT")?{type:"S_HEXA_FORMAT"}:S_HEXA_FORMAT]},{name:"P_SET$ebnf$1$subexpression$2",symbols:[_.has("S_NUMBER")?{type:"S_NUMBER"}:S_NUMBER]},{name:"P_SET$ebnf$1",symbols:["P_SET$ebnf$1","P_SET$ebnf$1$subexpression$2"],postprocess:s=>s[0].concat([s[1]])},{name:"P_SET",symbols:[_.has("K_SET")?{type:"K_SET"}:K_SET,"__","P_SET$ebnf$1","S_EOS"],postprocess:s=>({id:"P_SET"})},{name:"P_USE_DB",symbols:[_.has("K_USE")?{type:"K_USE"}:K_USE,"__","S_IDENTIFIER","S_EOS"],postprocess:s=>({id:"P_USE_DB",def:{database:s[2]}})}],ParserStart:"P_DDS"};Et.default=lc});var Nu=Q(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});var fc=hu();Object.defineProperty(Io,"Grammar",{enumerable:!0,get:function(){return fc.default}})});var Oo=Q(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.TableOptions=void 0;var h=he(),un=class{static fromDef(t){if(t.id==="P_CREATE_TABLE_OPTIONS")return un.fromArray(t.def);throw new TypeError(`Unknown json id to build table options from: ${t.id}`)}static fromArray(t){let o=new un;return t.forEach(E=>{h.isDefined(E.def.autoincrement)&&(o.autoincrement=E.def.autoincrement),h.isDefined(E.def.avgRowLength)&&(o.avgRowLength=E.def.avgRowLength),h.isDefined(E.def.charset)&&(o.charset=E.def.charset.toLowerCase()),h.isDefined(E.def.checksum)&&(o.checksum=E.def.checksum),h.isDefined(E.def.collation)&&(o.collation=E.def.collation.toLowerCase()),h.isDefined(E.def.comment)&&(o.comment=E.def.comment),h.isDefined(E.def.compression)&&(o.compression=E.def.compression.toLowerCase()),h.isDefined(E.def.connection)&&(o.connection=E.def.connection),h.isDefined(E.def.dataDirectory)&&(o.dataDirectory=E.def.dataDirectory),h.isDefined(E.def.indexDirectory)&&(o.indexDirectory=E.def.indexDirectory),h.isDefined(E.def.delayKeyWrite)&&(o.delayKeyWrite=E.def.delayKeyWrite),h.isDefined(E.def.encryption)&&(o.encryption=E.def.encryption.toLowerCase()),h.isDefined(E.def.encryptionKeyId)&&(o.encryptionKeyId=E.def.encryptionKeyId),h.isDefined(E.def.ietfQuotes)&&(o.ietfQuotes=E.def.ietfQuotes.toLowerCase()),h.isDefined(E.def.engine)&&(o.engine=E.def.engine),h.isDefined(E.def.insertMethod)&&(o.insertMethod=E.def.insertMethod.toLowerCase()),h.isDefined(E.def.keyBlockSize)&&(o.keyBlockSize=E.def.keyBlockSize),h.isDefined(E.def.maxRows)&&(o.maxRows=E.def.maxRows),h.isDefined(E.def.minRows)&&(o.minRows=E.def.minRows),h.isDefined(E.def.packKeys)&&(h.isString(E.def.packKeys)?o.packKeys=E.def.packKeys.toLowerCase():o.packKeys=E.def.packKeys),h.isDefined(E.def.pageChecksum)&&(o.pageChecksum=E.def.pageChecksum),h.isDefined(E.def.password)&&(o.password=E.def.password),h.isDefined(E.def.rowFormat)&&(o.rowFormat=E.def.rowFormat.toLowerCase()),h.isDefined(E.def.statsAutoRecalc)&&(h.isString(E.def.statsAutoRecalc)?o.statsAutoRecalc=E.def.statsAutoRecalc.toLowerCase():o.statsAutoRecalc=E.def.statsAutoRecalc),h.isDefined(E.def.statsPersistent)&&(h.isString(E.def.statsPersistent)?o.statsPersistent=E.def.statsPersistent.toLowerCase():o.statsPersistent=E.def.statsPersistent),h.isDefined(E.def.statsSamplePages)&&(h.isString(E.def.statsSamplePages)?o.statsSamplePages=E.def.statsSamplePages.toLowerCase():o.statsSamplePages=E.def.statsSamplePages),h.isDefined(E.def.transactional)&&(o.transactional=E.def.transactional),h.isDefined(E.def.withSystemVersioning)&&(o.withSystemVersioning=E.def.withSystemVersioning),h.isDefined(E.def.tablespaceName)&&(o.tablespaceName=E.def.tablespaceName),h.isDefined(E.def.tablespaceStorage)&&(o.tablespaceStorage=E.def.tablespaceStorage.toLowerCase()),h.isDefined(E.def.union)&&(o.union=E.def.union)}),o}toJSON(){let t={};return h.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),h.isDefined(this.avgRowLength)&&(t.avgRowLength=this.avgRowLength),h.isDefined(this.charset)&&(t.charset=this.charset),h.isDefined(this.checksum)&&(t.checksum=this.checksum),h.isDefined(this.collation)&&(t.collation=this.collation),h.isDefined(this.comment)&&(t.comment=this.comment),h.isDefined(this.compression)&&(t.compression=this.compression),h.isDefined(this.connection)&&(t.connection=this.connection),h.isDefined(this.dataDirectory)&&(t.dataDirectory=this.dataDirectory),h.isDefined(this.indexDirectory)&&(t.indexDirectory=this.indexDirectory),h.isDefined(this.delayKeyWrite)&&(t.delayKeyWrite=this.delayKeyWrite),h.isDefined(this.encryption)&&(t.encryption=this.encryption),h.isDefined(this.encryptionKeyId)&&(t.encryptionKeyId=this.encryptionKeyId),h.isDefined(this.ietfQuotes)&&(t.ietfQuotes=this.ietfQuotes),h.isDefined(this.engine)&&(t.engine=this.engine),h.isDefined(this.insertMethod)&&(t.insertMethod=this.insertMethod),h.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),h.isDefined(this.maxRows)&&(t.maxRows=this.maxRows),h.isDefined(this.minRows)&&(t.minRows=this.minRows),h.isDefined(this.packKeys)&&(t.packKeys=this.packKeys),h.isDefined(this.pageChecksum)&&(t.pageChecksum=this.pageChecksum),h.isDefined(this.password)&&(t.password=this.password),h.isDefined(this.rowFormat)&&(t.rowFormat=this.rowFormat),h.isDefined(this.statsAutoRecalc)&&(t.statsAutoRecalc=this.statsAutoRecalc),h.isDefined(this.statsPersistent)&&(t.statsPersistent=this.statsPersistent),h.isDefined(this.statsSamplePages)&&(t.statsSamplePages=this.statsSamplePages),h.isDefined(this.transactional)&&(t.transactional=this.transactional),h.isDefined(this.withSystemVersioning)&&(t.withSystemVersioning=this.withSystemVersioning),h.isDefined(this.tablespaceName)&&(t.tablespaceName=this.tablespaceName),h.isDefined(this.tablespaceStorage)&&(t.tablespaceStorage=this.tablespaceStorage),h.isDefined(this.union)&&(t.union=this.union),t}clone(){let t=new un;return h.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),h.isDefined(this.avgRowLength)&&(t.avgRowLength=this.avgRowLength),h.isDefined(this.charset)&&(t.charset=this.charset),h.isDefined(this.checksum)&&(t.checksum=this.checksum),h.isDefined(this.collation)&&(t.collation=this.collation),h.isDefined(this.comment)&&(t.comment=this.comment),h.isDefined(this.compression)&&(t.compression=this.compression),h.isDefined(this.connection)&&(t.connection=this.connection),h.isDefined(this.dataDirectory)&&(t.dataDirectory=this.dataDirectory),h.isDefined(this.indexDirectory)&&(t.indexDirectory=this.indexDirectory),h.isDefined(this.delayKeyWrite)&&(t.delayKeyWrite=this.delayKeyWrite),h.isDefined(this.encryption)&&(t.encryption=this.encryption),h.isDefined(this.encryptionKeyId)&&(t.encryptionKeyId=this.encryptionKeyId),h.isDefined(this.ietfQuotes)&&(t.ietfQuotes=this.ietfQuotes),h.isDefined(this.engine)&&(t.engine=this.engine),h.isDefined(this.insertMethod)&&(t.insertMethod=this.insertMethod),h.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),h.isDefined(this.maxRows)&&(t.maxRows=this.maxRows),h.isDefined(this.minRows)&&(t.minRows=this.minRows),h.isDefined(this.packKeys)&&(t.packKeys=this.packKeys),h.isDefined(this.pageChecksum)&&(t.pageChecksum=this.pageChecksum),h.isDefined(this.password)&&(t.password=this.password),h.isDefined(this.rowFormat)&&(t.rowFormat=this.rowFormat),h.isDefined(this.statsAutoRecalc)&&(t.statsAutoRecalc=this.statsAutoRecalc),h.isDefined(this.statsPersistent)&&(t.statsPersistent=this.statsPersistent),h.isDefined(this.statsSamplePages)&&(t.statsSamplePages=this.statsSamplePages),h.isDefined(this.transactional)&&(t.transactional=this.transactional),h.isDefined(this.withSystemVersioning)&&(t.withSystemVersioning=this.withSystemVersioning),h.isDefined(this.tablespaceName)&&(t.tablespaceName=this.tablespaceName),h.isDefined(this.tablespaceStorage)&&(t.tablespaceStorage=this.tablespaceStorage),h.isDefined(this.union)&&(t.union=this.union.slice()),t}mergeWith(t){h.isDefined(t.autoincrement)&&(this.autoincrement=t.autoincrement),h.isDefined(t.avgRowLength)&&(this.avgRowLength=t.avgRowLength),h.isDefined(t.charset)&&(this.charset=t.charset),h.isDefined(t.checksum)&&(this.checksum=t.checksum),h.isDefined(t.collation)&&(this.collation=t.collation),h.isDefined(t.comment)&&(this.comment=t.comment),h.isDefined(t.compression)&&(this.compression=t.compression),h.isDefined(t.connection)&&(this.connection=t.connection),h.isDefined(t.dataDirectory)&&(this.dataDirectory=t.dataDirectory),h.isDefined(t.indexDirectory)&&(this.indexDirectory=t.indexDirectory),h.isDefined(t.delayKeyWrite)&&(this.delayKeyWrite=t.delayKeyWrite),h.isDefined(t.encryption)&&(this.encryption=t.encryption),h.isDefined(t.encryptionKeyId)&&(this.encryptionKeyId=t.encryptionKeyId),h.isDefined(t.ietfQuotes)&&(this.ietfQuotes=t.ietfQuotes),h.isDefined(t.engine)&&(this.engine=t.engine),h.isDefined(t.insertMethod)&&(this.insertMethod=t.insertMethod),h.isDefined(t.keyBlockSize)&&(this.keyBlockSize=t.keyBlockSize),h.isDefined(t.maxRows)&&(this.maxRows=t.maxRows),h.isDefined(t.minRows)&&(this.minRows=t.minRows),h.isDefined(t.packKeys)&&(this.packKeys=t.packKeys),h.isDefined(t.pageChecksum)&&(this.pageChecksum=t.pageChecksum),h.isDefined(t.password)&&(this.password=t.password),h.isDefined(t.rowFormat)&&(this.rowFormat=t.rowFormat),h.isDefined(t.statsAutoRecalc)&&(this.statsAutoRecalc=t.statsAutoRecalc),h.isDefined(t.statsPersistent)&&(this.statsPersistent=t.statsPersistent),h.isDefined(t.statsSamplePages)&&(this.statsSamplePages=t.statsSamplePages),h.isDefined(t.transactional)&&(this.transactional=t.transactional),h.isDefined(t.withSystemVersioning)&&(this.withSystemVersioning=t.withSystemVersioning),h.isDefined(t.tablespaceName)&&(this.tablespaceName=t.tablespaceName),h.isDefined(t.tablespaceStorage)&&(this.tablespaceStorage=t.tablespaceStorage),h.isDefined(t.union)&&(this.union=t.union.slice())}};ar.TableOptions=un});var Su=Q(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.ColumnReferenceOn=void 0;var xn=class{static fromObject(t){let o=new xn;return o.action=t.action.toLowerCase(),o.trigger=t.trigger.toLowerCase(),o}toJSON(){return{trigger:this.trigger,action:this.action}}clone(){return xn.fromObject(this)}};pr.ColumnReferenceOn=xn});var Ks=Q(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.IndexColumn=void 0;var $r=he(),an=class{static fromDef(t){if(t.id==="P_INDEX_COLUMN")return an.fromObject(t.def);throw new TypeError(`Unknown json id to build index column from: ${t.id}`)}static fromObject(t){let o=new an;return o.column=t.column,t.length&&(o.length=t.length),t.sort&&(o.sort=t.sort),o}toJSON(){let t={column:this.column};return $r.isDefined(this.length)&&(t.length=this.length),$r.isDefined(this.sort)&&(t.sort=this.sort),t}clone(){let t=new an;return t.column=this.column,$r.isDefined(this.length)&&(t.length=this.length),$r.isDefined(this.sort)&&(t.sort=this.sort),t}};Tr.IndexColumn=an});var Ro=Q(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ColumnReference=void 0;var yu=he(),Ac=Su(),bc=Ks(),Pn=class{constructor(){this.columns=[],this.on=[]}static fromDef(t){if(t.id==="P_COLUMN_REFERENCE"){let o=t.def,E=new Pn;return E.table=o.table,o.match&&(E.match=o.match.toLowerCase()),o.columns.length&&(E.columns=o.columns.map(bc.IndexColumn.fromDef)),o.on.length&&(E.on=o.on.map(Ac.ColumnReferenceOn.fromObject)),E}throw new TypeError(`Unknown json id to build column reference from: ${t.id}`)}toJSON(){let t={table:this.table};return yu.isDefined(this.match)&&(t.match=this.match),this.on&&this.on.length&&(t.on=this.on.map(o=>o.toJSON())),this.columns&&this.columns.length&&(t.columns=this.columns.map(o=>o.toJSON())),t}clone(){let t=new Pn;return t.table=this.table,yu.isDefined(this.match)&&(t.match=this.match),this.on&&this.on.length&&(t.on=this.on.map(o=>o.clone())),this.columns&&this.columns.length&&(t.columns=this.columns.map(o=>o.clone())),t}};lr.ColumnReference=Pn});var ho=Q(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.ColumnOptions=void 0;var ce=he(),Dn=class{static fromArray(t){let o=new Dn;return t.forEach(E=>{Object.assign(o,E.def)}),o.collation&&(o.collation=o.collation.toLowerCase()),o.charset&&(o.charset=o.charset.toLowerCase()),o.storage&&(o.storage=o.storage.toLowerCase()),o.format&&(o.format=o.format.toLowerCase()),ce.isDefined(o.nullable)||(o.nullable=!0),o.zerofill&&(o.unsigned=!0),o.primary&&(o.nullable=!1),o}toJSON(){let t={};return ce.isDefined(this.unsigned)&&(t.unsigned=this.unsigned),ce.isDefined(this.zerofill)&&(t.zerofill=this.zerofill),ce.isDefined(this.charset)&&(t.charset=this.charset),ce.isDefined(this.collation)&&(t.collation=this.collation),ce.isDefined(this.nullable)&&(t.nullable=this.nullable),ce.isDefined(this.nullable)&&(t.nullable=this.nullable),ce.isDefined(this.default)&&(t.default=this.default),ce.isDefined(this.autoincrement)&&(t.autoincrement=this.autoincrement),ce.isDefined(this.unique)&&(t.unique=this.unique),ce.isDefined(this.primary)&&(t.primary=this.primary),ce.isDefined(this.invisible)&&(t.invisible=this.invisible),ce.isDefined(this.format)&&(t.format=this.format),ce.isDefined(this.storage)&&(t.storage=this.storage),ce.isDefined(this.comment)&&(t.comment=this.comment),ce.isDefined(this.onUpdate)&&(t.onUpdate=this.onUpdate),ce.isString(t.default)&&t.default.toLowerCase()==="null"&&(t.default=null),ce.isDefined(this.invisibleWithSystemVersioning)&&(t.invisibleWithSystemVersioning=this.invisibleWithSystemVersioning),ce.isDefined(this.invisibleWithoutSystemVersioning)&&(t.invisibleWithoutSystemVersioning=this.invisibleWithoutSystemVersioning),t}mergeWith(t){Object.getOwnPropertyNames(t).forEach(o=>{let E=t[o];ce.isDefined(E)&&ce.setProperty(this,o,E)})}clone(){let t=new Dn;return Object.getOwnPropertyNames(this).forEach(o=>{let E=this[o];ce.isDefined(E)&&ce.setProperty(t,o,E)}),t}};fr.ColumnOptions=Dn});var dn=Q(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.IndexOptions=void 0;var de=he(),Kn=class{static fromArray(t){let o=new Kn;return t.forEach(E=>{de.isDefined(E.def.comment)&&(o.comment=E.def.comment.toLowerCase()),de.isDefined(E.def.indexType)&&(o.indexType=E.def.indexType.def.toLowerCase()),de.isDefined(E.def.keyBlockSize)&&(o.keyBlockSize=E.def.keyBlockSize),de.isDefined(E.def.parser)&&(o.parser=E.def.parser),de.isDefined(E.def.algorithm)&&(o.algorithm=E.def.algorithm),de.isDefined(E.def.lock)&&(o.lock=E.def.lock)}),o}toJSON(){let t={};return de.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),de.isDefined(this.indexType)&&(t.indexType=this.indexType),de.isDefined(this.algorithm)&&(t.algorithm=this.algorithm),de.isDefined(this.comment)&&(t.comment=this.comment),de.isDefined(this.parser)&&(t.parser=this.parser),de.isDefined(this.lock)&&(t.lock=this.lock),t}clone(){let t=new Kn;return de.isDefined(this.keyBlockSize)&&(t.keyBlockSize=this.keyBlockSize),de.isDefined(this.indexType)&&(t.indexType=this.indexType),de.isDefined(this.algorithm)&&(t.algorithm=this.algorithm),de.isDefined(this.comment)&&(t.comment=this.comment),de.isDefined(this.parser)&&(t.parser=this.parser),de.isDefined(this.lock)&&(t.lock=this.lock),t}};Ar.IndexOptions=Kn});var mr=Q(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.PrimaryKey=void 0;var br=he(),cc=Ks(),mc=dn(),pn=class{static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return pn.fromObject(t.def.primaryKey);throw new TypeError(`Unknown json id to build primary key from: ${t.id}`)}static fromObject(t){let o=new pn;return o.columns=t.columns.map(cc.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),t.options&&t.options.length&&(o.options=mc.IndexOptions.fromArray(t.options)),o}toJSON(){var t;let o={columns:((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.toJSON())};return br.isDefined(this.name)&&(o.name=this.name),br.isDefined(this.options)&&(o.options=this.options.toJSON()),br.isDefined(this.indexType)&&(o.indexType=this.indexType),o}clone(){var t;let o=new pn;return o.columns=((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.clone()),br.isDefined(this.indexType)&&(o.indexType=this.indexType),this.options&&(o.options=this.options.clone()),o}pushColumn(t){this.columns||(this.columns=[]),this.columns.push(t)}dropColumn(t){if(!this.columns)return!1;let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>{var T;return((T=this.columns)!==null&&T!==void 0?T:[]).some(c=>c.column===E.name)})}hasAllColumnsFromTable(t){var o,E;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(T=>{var c;return((c=this.columns)!==null&&c!==void 0?c:[]).some(O=>O.column===T.name)}).length===((E=this.columns)!==null&&E!==void 0?E:[]).length}renameColumn(t,o){var E;return(E=this.columns)===null||E===void 0?void 0:E.filter(T=>T.column===t.name).forEach(T=>{T.column=o})}};cr.PrimaryKey=pn});var Rr=Q(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.ForeignKey=void 0;var Ir=he(),Ic=Ro(),Oc=Ks(),$n=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION"){if(Ir.isDefined(t.def.foreignKey))return $n.fromObject(t.def.foreignKey);throw new TypeError(`Statement ${t.id} has undefined foreignKey. Cannot format foreignKey.`)}throw new TypeError(`Unknown json id to build foreign key from: ${t.id}`)}static fromObject(t){let o=new $n;return o.columns=t.columns.map(Oc.IndexColumn.fromDef),o.reference=Ic.ColumnReference.fromDef(t.reference),t.name&&(o.name=t.name),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON()),reference:this.reference.toJSON()};return Ir.isDefined(this.name)&&(t.name=this.name),t}clone(){let t=new $n;return t.columns=this.columns.map(o=>o.clone()),t.reference=this.reference.clone(),Ir.isDefined(this.name)&&(t.name=this.name),t}pushColumn(t){this.columns.push(t)}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!Ir.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}hasAllColumnsFromRefTable(t){var o,E;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(T=>{var c;return(c=this.reference.columns)===null||c===void 0?void 0:c.some(O=>O.column===T.name)}).length===((E=this.reference.columns)===null||E===void 0?void 0:E.length)}getReferencedTable(t){var o;return(o=t.find(E=>E.name===this.reference.table))!==null&&o!==void 0?o:void 0}referencesTableAndColumn(t,o){var E;return this.reference.table===t.name&&((E=this.reference.columns)!==null&&E!==void 0?E:[]).some(T=>T.column===o.name)}referencesTable(t){return this.reference.table===t.name}renameColumn(t,o){var E;return(E=this.reference.columns)===null||E===void 0?void 0:E.filter(T=>T.column===t.name).forEach(T=>{T.column=o})}updateReferencedTableName(t){this.reference.table=t}};Or.ForeignKey=$n});var ut=Q(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.UniqueKey=void 0;var Ws=he(),Rc=dn(),hc=Ks(),Qs=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return Qs.fromObject(t.def.uniqueKey);if(t.id==="P_CREATE_INDEX")return Qs.fromObject(t.def);throw new TypeError(`Unknown json id to build unique key from: ${t.id}`)}static fromObject(t){let o=new Qs;return o.columns=t.columns.map(hc.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),Ws.isDefined(t.options)&&t.options.length&&(o.options=Rc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return Ws.isDefined(this.name)&&(t.name=this.name),Ws.isDefined(this.indexType)&&(t.indexType=this.indexType),Ws.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new Qs;return t.columns=this.columns.map(o=>o.clone()),Ws.isDefined(this.name)&&(t.name=this.name),Ws.isDefined(this.indexType)&&(t.indexType=this.indexType),Ws.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!Ws.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};hr.UniqueKey=Qs});var No=Q(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.Datatype=void 0;var os=he(),Tn=class{static fromDef(t){if(t.id==="O_DATATYPE"){let o=new Tn;return Object.assign(o,t.def.def),o.datatype=Tn.filterDatatype(o.datatype),o}throw new TypeError(`Unknown json id to build datatype from: ${t.id}`)}static filterDatatype(t){let o=t.toLowerCase();return o==="integer"||o==="tinyint"||o==="smallint"||o==="mediumint"||o==="bigint"?"int":o==="numeric"?"decimal":o==="bool"?"boolean":o==="tinyblob"||o==="mediumblob"||o==="longblob"?"blob":o==="tinytext"||o==="mediumtext"||o==="longtext"?"text":o==="national char"||o==="character"||o==="nchar"?"char":o}getMaxIndexableSize(){return["int","decimal","float","double","bit","boolean","date","time","datetime","timestamp","year","json"].includes(this.datatype)||["geometry","point","linestring","polygon","multipoint","multilinestring","multipolygon","geometrycollection"].includes(this.datatype)?0:["blob","text","char","binary","varchar","varbinary"].includes(this.datatype)?this.length:0}toJSON(){let t={datatype:this.datatype};return os.isDefined(this.width)&&(t.width=this.width),os.isDefined(this.digits)&&(t.digits=this.digits),os.isDefined(this.decimals)&&(t.decimals=this.decimals),os.isDefined(this.length)&&(t.length=this.length),os.isDefined(this.fractional)&&(t.fractional=this.fractional),os.isDefined(this.values)&&(t.values=this.values),t}clone(){let t=new Tn;return t.datatype=this.datatype,os.isDefined(this.width)&&(t.width=this.width),os.isDefined(this.digits)&&(t.digits=this.digits),os.isDefined(this.decimals)&&(t.decimals=this.decimals),os.isDefined(this.length)&&(t.length=this.length),os.isDefined(this.fractional)&&(t.fractional=this.fractional),os.isDefined(this.values)&&(t.values=this.values.slice()),t}};Nr.Datatype=Tn});var yo=Q(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.Column=void 0;var Lu=he(),Nc=Ro(),Sc=ho(),So=Ks(),yc=mr(),Lc=Rr(),Cc=ut(),xc=No(),ln=class{static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION"){let o=t.def.column;return ln.fromObject({name:o.name,datatype:o.def.datatype,reference:o.def.reference,columnDefinition:o.def.columnDefinition})}throw new TypeError(`Unknown json id to build column from: ${t.id}`)}static fromObject(t){let o=new ln;return o.name=t.name,o.type=xc.Datatype.fromDef(t.datatype),t.reference&&(o.reference=Nc.ColumnReference.fromDef(t.reference)),t.columnDefinition&&(o.options=Sc.ColumnOptions.fromArray(t.columnDefinition)),o}toJSON(){let t={name:this.name,type:this.type.toJSON()};return Lu.isDefined(this.options)&&(t.options=this.options.toJSON()),Lu.isDefined(this.reference)&&(t.reference=this.reference.toJSON()),t}clone(){let t=new ln;return t.name=this.name,t.type=this.type.clone(),this.options&&(t.options=this.options.clone()),t}isPrimaryKey(){return this.options?this.options.primary===!0:!1}isUniqueKey(){return this.options?this.options.unique===!0:!1}isForeignKey(){return!!this.reference}extractPrimaryKey(){if(!this.isPrimaryKey())return;delete this.options.primary;let t=new So.IndexColumn;t.column=this.name;let o=new yc.PrimaryKey;return o.pushColumn(t),o}extractForeignKey(){if(!this.isForeignKey())return;let t=new So.IndexColumn;t.column=this.name;let o=new Lc.ForeignKey;return o.pushColumn(t),o.reference=this.reference,delete this.reference,o}extractUniqueKey(){if(!this.isUniqueKey())return;delete this.options.unique;let t=new So.IndexColumn;t.column=this.name;let o=new Cc.UniqueKey;return o.columns.push(t),o}};Sr.Column=ln});var Lr=Q(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.FulltextIndex=void 0;var at=he(),Pc=Ks(),Dc=dn(),qs=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return qs.fromObject(t.def.fulltextIndex);if(t.id==="P_CREATE_INDEX")return qs.fromObject(t.def);throw new TypeError(`Unknown json id to build fulltext index from: ${t.id}`)}static fromObject(t){let o=new qs;return o.columns=t.columns.map(Pc.IndexColumn.fromDef),t.name&&(o.name=t.name),at.isDefined(t.options)&&t.options.length&&(o.options=Dc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return at.isDefined(this.name)&&(t.name=this.name),at.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new qs;return t.columns=this.columns.map(o=>o.clone()),at.isDefined(this.name)&&(t.name=this.name),at.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};yr.FulltextIndex=qs});var xr=Q(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.SpatialIndex=void 0;var pt=he(),Kc=Ks(),dc=dn(),ks=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return ks.fromObject(t.def.spatialIndex);if(t.id==="P_CREATE_INDEX")return ks.fromObject(t.def);throw new TypeError(`Unknown json id to build spatial index from: ${t.id}`)}static fromObject(t){let o=new ks;return o.columns=t.columns.map(Kc.IndexColumn.fromDef),t.name&&(o.name=t.name),pt.isDefined(t.options)&&t.options.length&&(o.options=dc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return pt.isDefined(this.name)&&(t.name=this.name),pt.isDefined(this.options)&&(t.options=this.options.toJSON()),t}clone(){let t=new ks;return t.columns=this.columns.map(o=>o.clone()),pt.isDefined(this.name)&&(t.name=this.name),pt.isDefined(this.options)&&(t.options=this.options.clone()),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};Cr.SpatialIndex=ks});var Dr=Q(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.Index=void 0;var Vs=he(),Bc=Ks(),vc=dn(),Js=class{constructor(){this.columns=[]}static fromDef(t){if(t.id==="O_CREATE_TABLE_CREATE_DEFINITION")return Js.fromObject(t.def.index);if(t.id==="P_CREATE_INDEX")return Js.fromObject(t.def);throw new TypeError(`Unknown json id to build index from: ${t.id}`)}static fromObject(t){let o=new Js;return o.columns=t.columns.map(Bc.IndexColumn.fromDef),t.name&&(o.name=t.name),t.index&&(o.indexType=t.index.def.toLowerCase()),Vs.isDefined(t.options)&&t.options.length&&(o.options=vc.IndexOptions.fromArray(t.options)),o}toJSON(){let t={columns:this.columns.map(o=>o.toJSON())};return Vs.isDefined(this.options)&&(t.options=this.options.toJSON()),Vs.isDefined(this.indexType)&&(t.indexType=this.indexType),Vs.isDefined(this.name)&&(t.name=this.name),t}clone(){let t=new Js;return t.columns=this.columns.map(o=>o.clone()),Vs.isDefined(this.options)&&(t.options=this.options.clone()),Vs.isDefined(this.indexType)&&(t.indexType=this.indexType),Vs.isDefined(this.name)&&(t.name=this.name),t}dropColumn(t){let o=-1;if(!this.columns.some((c,O)=>(o=O,c.column===t))||o<0)return!1;let T=this.columns.splice(o);return T.shift(),this.columns=this.columns.concat(T),!0}getColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name))}hasAllColumnsFromTable(t){var o;return((o=t.columns)!==null&&o!==void 0?o:[]).filter(E=>this.columns.some(T=>T.column===E.name)).length===this.columns.length}setIndexSizeFromTable(t){this.columns.filter(o=>!Vs.isDefined(o.length)).forEach(o=>{var E;let T=((E=t.columns)!==null&&E!==void 0?E:[]).find(O=>O.name===o.column);if(!T)return;let c=T.type.getMaxIndexableSize();c>0&&(o.length=c)})}renameColumn(t,o){this.columns.filter(E=>E.column===t.name).forEach(E=>{E.column=o})}};Pr.Index=Js});var Cu=Q(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.Table=void 0;var V=he(),gc=Oo(),Mc=yo(),Fc=Lr(),Uc=xr(),wc=Rr(),Yc=ut(),Xc=mr(),Gc=Dr(),Bn=class{static fromCommonDef(t,o){if(t.id==="P_CREATE_TABLE_COMMON"){let E=t.def,T=new Bn;return T.database=o,T.name=E.table,E.tableOptions&&(T.options=gc.TableOptions.fromDef(E.tableOptions)),E.columnsDef.def.forEach(O=>{if(V.isDefined(O.def.column)){let Y=Mc.Column.fromDef(O);T.addColumn(Y)}else V.isDefined(O.def.fulltextIndex)?T.pushFulltextIndex(Fc.FulltextIndex.fromDef(O)):V.isDefined(O.def.spatialIndex)?T.pushSpatialIndex(Uc.SpatialIndex.fromDef(O)):V.isDefined(O.def.foreignKey)?T.pushForeignKey(wc.ForeignKey.fromDef(O)):V.isDefined(O.def.uniqueKey)?T.pushUniqueKey(Yc.UniqueKey.fromDef(O)):V.isDefined(O.def.primaryKey)?T.setPrimaryKey(Xc.PrimaryKey.fromDef(O)):V.isDefined(O.def.index)&&T.pushIndex(Gc.Index.fromDef(O))}),T}throw new TypeError(`Unknown json id to build table from: ${t.id}`)}static fromAlikeDef(t,o=[]){if(t.id==="P_CREATE_TABLE_LIKE"){let E=t.def,T=o.find(O=>O.name===E.like);if(!T)return;let c=T.clone();return c.name=E.table,c}throw new TypeError(`Unknown json id to build table from: ${t.id}`)}toJSON(){var t;let o={name:this.name,columns:((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.toJSON())};return V.isDefined(this.primaryKey)&&(o.primaryKey=this.primaryKey.toJSON()),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&(o.foreignKeys=this.foreignKeys.map(E=>E.toJSON())),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&(o.uniqueKeys=this.uniqueKeys.map(E=>E.toJSON())),V.isDefined(this.indexes)&&this.indexes.length&&(o.indexes=this.indexes.map(E=>E.toJSON())),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&(o.spatialIndexes=this.spatialIndexes.map(E=>E.toJSON())),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&(o.fulltextIndexes=this.fulltextIndexes.map(E=>E.toJSON())),V.isDefined(this.options)&&(o.options=this.options.toJSON()),o}clone(){var t;let o=new Bn;return o.database=this.database,o.name=this.name,o.columns=((t=this.columns)!==null&&t!==void 0?t:[]).map(E=>E.clone()),V.isDefined(this.options)&&(o.options=this.options.clone()),V.isDefined(this.primaryKey)&&(o.primaryKey=this.primaryKey.clone()),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&(o.uniqueKeys=this.uniqueKeys.map(E=>E.clone())),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&(o.foreignKeys=this.foreignKeys.map(E=>E.clone())),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&(o.fulltextIndexes=this.fulltextIndexes.map(E=>E.clone())),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&(o.spatialIndexes=this.spatialIndexes.map(E=>E.clone())),V.isDefined(this.indexes)&&this.indexes.length&&(o.indexes=this.indexes.map(E=>E.clone())),o}getTable(t){return this.database.getTable(t)}getTables(){return this.database.getTables()}setDatabase(t){this.database=t}renameTo(t){this.database.tables.forEach(o=>{var E;((E=o.foreignKeys)!==null&&E!==void 0?E:[]).filter(T=>T.referencesTable(this)).forEach(T=>T.updateReferencedTableName(t))}),this.name=t}addColumn(t,o){var E;if(!this.getColumn(t.name)&&!(t.options&&t.options.autoincrement&&((E=this.columns)!==null&&E!==void 0?E:[]).some(T=>T.options&&T.options.autoincrement))&&!(this.primaryKey&&t.options&&t.options.primary)){if(V.isArray(this.columns)||(this.columns=[]),!V.isDefined(o))this.columns.push(t);else if(!o.after)this.columns.unshift(t);else{let T=this.columns.find(Y=>Y.name===o.after);if(!T)return;let c=this.columns.indexOf(T),O=this.columns.splice(c+1);this.columns.push(t),this.columns=this.columns.concat(O)}this.extractColumnKeys(t)}}extractColumnKeys(t){let o=t.extractPrimaryKey(),E=t.extractForeignKey(),T=t.extractUniqueKey();o&&this.setPrimaryKey(o),E&&this.pushForeignKey(E),T&&this.pushUniqueKey(T)}moveColumn(t,o){if(!V.isDefined(this.columns)||!V.isDefined(o)||!this.columns.includes(t))return!1;let E;if(o.after&&(E=this.getColumn(o.after),!E))return!1;let T=this.columns.indexOf(t),c=this.columns.splice(T);if(c.shift(),this.columns=this.columns.concat(c),o.after){if(!E)return!1;T=this.columns.indexOf(E),c=this.columns.splice(T+1),this.columns.push(t),this.columns=this.columns.concat(c)}else this.columns.unshift(t);return!0}renameColumn(t,o){var E,T,c,O,Y;return((E=this.columns)!==null&&E!==void 0?E:[]).includes(t)?(this.getTables().forEach(I=>{var L;((L=I.foreignKeys)!==null&&L!==void 0?L:[]).filter(P=>P.referencesTable(this)).forEach(P=>P.renameColumn(t,o))}),((T=this.fulltextIndexes)!==null&&T!==void 0?T:[]).forEach(I=>I.renameColumn(t,o)),((c=this.spatialIndexes)!==null&&c!==void 0?c:[]).forEach(I=>I.renameColumn(t,o)),((O=this.indexes)!==null&&O!==void 0?O:[]).forEach(I=>I.renameColumn(t,o)),((Y=this.uniqueKeys)!==null&&Y!==void 0?Y:[]).forEach(I=>I.renameColumn(t,o)),this.primaryKey&&this.primaryKey.renameColumn(t,o),t.name=o,!0):!1}getColumnPosition(t){var o,E,T;let c=((o=this.columns)!==null&&o!==void 0?o:[]).indexOf(t);if(c===0)return{after:null};if(c+1!==((E=this.columns)!==null&&E!==void 0?E:[]).length)return{after:((T=this.columns)!==null&&T!==void 0?T:[])[c-1].name}}dropPrimaryKey(){!this.primaryKey||this.primaryKey.getColumnsFromTable(this).some(o=>o.options&&o.options.autoincrement)||delete this.primaryKey}dropColumn(t){var o;if(this.getTables().some(O=>{var Y;return((Y=O.foreignKeys)!==null&&Y!==void 0?Y:[]).some(I=>I.referencesTableAndColumn(this,t))})||!V.isDefined(this.columns)||this.columns.length===1)return;let T=this.columns.indexOf(t),c=this.columns.splice(T);c.shift(),this.columns=this.columns.concat(c),V.isDefined(this.fulltextIndexes)&&this.fulltextIndexes.length&&this.fulltextIndexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.spatialIndexes)&&this.spatialIndexes.length&&this.spatialIndexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.indexes)&&this.indexes.length&&this.indexes.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.uniqueKeys)&&this.uniqueKeys.length&&this.uniqueKeys.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropIndexByInstance(O)}),V.isDefined(this.foreignKeys)&&this.foreignKeys.length&&this.foreignKeys.forEach(O=>{O.dropColumn(t.name)&&!O.columns.length&&this.dropForeignKey(O)}),V.isDefined(this.primaryKey)&&this.primaryKey.dropColumn(t.name)&&!(!((o=this.primaryKey.columns)===null||o===void 0)&&o.length)&&delete this.primaryKey}dropIndexByInstance(t){let o=this.getIndexTypeByInstance(t);if(!V.isDefined(o)||!V.isDefined(this[o]))return;let E=this[o],T=E.indexOf(t),c=E.splice(T);c.shift(),this[o]=E.concat(c)}dropForeignKey(t){if(!V.isDefined(this.foreignKeys))return;let o=this.foreignKeys.indexOf(t),E=this.foreignKeys.splice(o);E.shift(),this.foreignKeys=this.foreignKeys.concat(E)}getIndexByName(t){let o=this.getIndexTypeByName(t);if(!o)return;let E=this[o];if(!V.isArray(E))return;let T=E.find(c=>c.name===t);return T??void 0}getIndexTypeByInstance(t){return["uniqueKeys","indexes","fulltextIndexes","spatialIndexes"].find(T=>{var c;return((c=this[T])!==null&&c!==void 0?c:[]).some(O=>O===t)})}getIndexTypeByName(t){return["uniqueKeys","indexes","fulltextIndexes","spatialIndexes"].find(T=>{var c;return((c=this[T])!==null&&c!==void 0?c:[]).some(O=>O.name===t)})}getColumn(t){var o;return((o=this.columns)!==null&&o!==void 0?o:[]).find(E=>E.name===t)}getForeignKey(t){var o;return((o=this.foreignKeys)!==null&&o!==void 0?o:[]).find(E=>E.name===t)}hasForeignKey(t){var o;return((o=this.foreignKeys)!==null&&o!==void 0?o:[]).some(E=>E.name===t)}setPrimaryKey(t){var o;this.primaryKey||!t.hasAllColumnsFromTable(this)||(((o=t.columns)!==null&&o!==void 0?o:[]).forEach(E=>{if(!E.column)return;let T=this.getColumn(E.column);!T||!T.options||(T.options.nullable=!1)}),this.primaryKey=t)}pushFulltextIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(V.isDefined(this.fulltextIndexes)||(this.fulltextIndexes=[]),this.fulltextIndexes.push(t))}pushSpatialIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(V.isDefined(this.spatialIndexes)||(this.spatialIndexes=[]),this.spatialIndexes.push(t))}pushUniqueKey(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(t.setIndexSizeFromTable(this),V.isDefined(this.uniqueKeys)||(this.uniqueKeys=[]),this.uniqueKeys.push(t))}pushForeignKey(t){t.name&&this.getIndexByName(t.name)||(t.setIndexSizeFromTable(this),V.isDefined(this.foreignKeys)||(this.foreignKeys=[]),this.foreignKeys.push(t))}pushIndex(t){t.name&&this.getIndexByName(t.name)||!t.hasAllColumnsFromTable(this)||(t.setIndexSizeFromTable(this),V.isDefined(this.indexes)||(this.indexes=[]),this.indexes.push(t))}};Kr.Table=Bn});var Pu=Q(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.CreateTable=void 0;var xu=Cu(),Lo=class{getTable(t){return this.database.getTable(t)}getTables(){return this.database.getTables()}setDatabase(t){this.database=t}pushTable(t){this.database.pushTable(t)}handleDef(t){if(t.id==="P_CREATE_TABLE"){let o=t.def;if(o.id==="P_CREATE_TABLE_COMMON"){let E=xu.Table.fromCommonDef(o,this.database);E&&this.pushTable(E)}else if(o.id==="P_CREATE_TABLE_LIKE"){let E=xu.Table.fromAlikeDef(o,this.getTables());if(!E)return;E.foreignKeys=[],E&&this.pushTable(E)}return}throw new TypeError(`Expected P_CREATE_TABLE rule to be handled but received ${t.id}`)}};dr.CreateTable=Lo});var Du=Q(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.CreateIndex=void 0;var Hc=ut(),Wc=Lr(),Qc=xr(),qc=Dr(),Co=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_CREATE_INDEX"){let o=this.getTable(t.def.table);if(!o)return;let E=t.def.type.toLowerCase();E.includes("unique")?o.pushUniqueKey(Hc.UniqueKey.fromDef(t)):E.includes("fulltext")?o.pushFulltextIndex(Wc.FulltextIndex.fromDef(t)):E.includes("spatial")?o.pushSpatialIndex(Qc.SpatialIndex.fromDef(t)):o.pushIndex(qc.Index.fromDef(t));return}throw new TypeError(`Expected P_CREATE_INDEX rule to be handled but received ${t.id}`)}};Br.CreateIndex=Co});var Bu=Q(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.AlterTable=void 0;var vn=he(),Ku=Oo(),du=yo(),kc=Dr(),Vc=mr(),Jc=ut(),zc=Lr(),Zc=xr(),jc=Rr(),em=ho(),sm=No(),gn=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_ALTER_TABLE"){let o=this.getTable(t.def.table);if(!o)return;t.def.specs.forEach(E=>{let T=E.def.spec,c=E.def.tableOptions;if(T){let O=T.def,Y=O.action,I=gn[Y];vn.isFunction(I)&&I(O,o)}else c&&(o.options||(o.options=new Ku.TableOptions),o.options.mergeWith(Ku.TableOptions.fromDef(c)))});return}throw new TypeError(`Expected P_ALTER_TABLE rule to be handled but received ${t.id}`)}static addColumn(t,o){let E=du.Column.fromObject(t);E.reference&&delete E.reference,o.addColumn(E,t.position)}static addColumns(t,o){t.columns.forEach(E=>{let T=du.Column.fromObject(E);T.reference&&delete T.reference,o.addColumn(T)})}static addIndex(t,o){let E=kc.Index.fromObject(t);o.pushIndex(E)}static addPrimaryKey(t,o){let E=Vc.PrimaryKey.fromObject(t);o.setPrimaryKey(E)}static addUniqueKey(t,o){let E=Jc.UniqueKey.fromObject(t);o.pushUniqueKey(E)}static addFulltextIndex(t,o){let E=zc.FulltextIndex.fromObject(t);o.pushFulltextIndex(E)}static addSpatialIndex(t,o){let E=Zc.SpatialIndex.fromObject(t);o.pushFulltextIndex(E)}static addForeignKey(t,o){let E=jc.ForeignKey.fromObject(t);o.pushForeignKey(E)}static setDefaultColumnValue(t,o){let E=o.getColumn(t.column);!vn.isDefined(E)||!vn.isDefined(E.options)||(E.options.default=t.value)}static dropDefaultColumnValue(t,o){let E=o.getColumn(t.column);!vn.isDefined(E)||!vn.isDefined(E.options)||delete E.options.default}static changeColumn(t,o){var E,T;let c=o.getColumn(t.column);if(!c)return;let O;if(t.position){if(t.position.after&&!o.getColumn(t.position.after))return;O=t.position}else O=o.getColumnPosition(c);let Y=sm.Datatype.fromDef(t.datatype),I;t.columnDefinition&&(I=em.ColumnOptions.fromArray(t.columnDefinition)),vn.isDefined(I)&&(I.primary&&o.primaryKey||I.autoincrement&&((E=o.columns)!==null&&E!==void 0?E:[]).some(L=>{var P;return L!==c&&((P=L.options)===null||P===void 0?void 0:P.autoincrement)})||(I.unique&&((T=o.uniqueKeys)===null||T===void 0?void 0:T.some(L=>L.columns.length===1&&L.columns[0].column===c.name))&&delete I.unique,O&&o.moveColumn(c,O)&&(t.newName&&t.newName!==c.name&&o.renameColumn(c,t.newName),c.type=Y,c.options=I,o.extractColumnKeys(c))))}static dropColumn(t,o){let E=o.getColumn(t.column);!E||o.dropColumn(E)}static dropIndex(t,o){if(t.index.toLowerCase()==="primary"){gn.dropPrimaryKey(t,o);return}let E=o.getIndexByName(t.index);!E||o.dropIndexByInstance(E)}static dropPrimaryKey(t,o){o.dropPrimaryKey()}static dropForeignKey(t,o){let E=o.getForeignKey(t.key);!E||o.dropForeignKey(E)}static renameIndex(t,o){let E=o.getIndexByName(t.index);!E||(E.name=t.newName)}static rename(t,o){o.renameTo(t.newName)}};vr.AlterTable=gn});var vu=Q(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.RenameTable=void 0;var xo=class{getTable(t){var o;return(o=this.database.getTable(t))!==null&&o!==void 0?o:void 0}setDatabase(t){this.database=t}getTables(){return this.database.getTables()}handleDef(t){if(t.id==="P_RENAME_TABLE"){t.def.forEach(o=>{let E=this.getTables().find(T=>T.name===o.table);!E||E.renameTo(o.newName)});return}throw new TypeError(`Expected P_RENAME_TABLE rule to be handled but received ${t.id}`)}};gr.RenameTable=xo});var gu=Q(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.DropTable=void 0;var Po=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_DROP_TABLE"){t.def.forEach(o=>{let E=this.getTable(o);if(!E)return;let T=this.database.getTables();if(T.some(Y=>{var I;return(I=Y.foreignKeys)===null||I===void 0?void 0:I.some(L=>L.referencesTable(E))})||!E)return;let O=T.splice(T.indexOf(E));O.shift(),T=T.concat(O),this.database.setTables(T)});return}throw new TypeError(`Expected P_DROP_TABLE rule to be handled but received ${t.id}`)}};Mr.DropTable=Po});var Mu=Q(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.DropIndex=void 0;var Do=class{getTable(t){return this.database.getTable(t)}setDatabase(t){this.database=t}handleDef(t){if(t.id==="P_DROP_INDEX"){let o=this.getTable(t.def.table);if(!o)return;let E=o.getIndexByName(t.def.index);if(!E)return;o.dropIndexByInstance(E);return}throw new TypeError(`Expected P_DROP_INDEX rule to be handled but received ${t.id}`)}};Fr.DropIndex=Do});var Fu=Q(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.Database=void 0;var nm=Pu(),tm=Du(),rm=Bu(),_m=vu(),om=gu(),im=Mu(),$t=class{constructor(){this.ddsCollection=[],this.tables=[]}getTables(){return this.tables}setTables(t){this.tables=t}getTable(t){return this.tables.find(o=>o.name===t)}pushTable(t){this.tables.some(o=>o.name===t.name)||this.tables.push(t)}parseDdsCollection(t){this.ddsCollection=t,this.ddsCollection.forEach(o=>{if(!o)return;let E=o.def,T=$t.getHandler(E.id);!T||(T.setDatabase(this),T.handleDef(E))})}static getHandler(t){if(t==="P_CREATE_TABLE")return new nm.CreateTable;if(t==="P_CREATE_INDEX")return new tm.CreateIndex;if(t==="P_ALTER_TABLE")return new rm.AlterTable;if(t==="P_RENAME_TABLE")return new _m.RenameTable;if(t==="P_DROP_TABLE")return new om.DropTable;if(t==="P_DROP_INDEX")return new im.DropIndex}};Ur.Database=$t});var Uu=Q(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.format=void 0;var Em=Fu();wr.format=s=>{if(s.id==="MAIN"){let t=new Em.Database;return t.parseDdsCollection(s.def),t.getTables().map(o=>o.toJSON())}throw new TypeError("Invalid JSON format provided for CompactFormatter. Please provide JSON from root element, containing { id: MAIN }.")}});var wu=Q(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.Datatype=void 0;var Mn=he(),Fn=class{static fromCompactJson(t){let o=new Fn;return o.datatype=t.datatype,Mn.isDefined(t.decimals)&&(o.decimals=t.decimals),Mn.isDefined(t.digits)&&(o.digits=t.digits),Mn.isDefined(t.fractional)&&(o.fractional=t.fractional),Mn.isDefined(t.length)&&(o.length=t.length),Mn.isDefined(t.values)&&(o.values=t.values),Mn.isDefined(t.width)&&(o.width=t.width),o}static filterDatatype(t){return t==="int"?"integer":t==="decimal"||t==="float"||t==="double"?"number":t==="boolean"?"boolean":"string"}toJSON(){let t={type:Fn.filterDatatype(this.datatype)};if(this.datatype==="int"){let o=Math.pow(2,8*this.width);this.isUnsigned?(t.minimum=0,t.maximum=o):(t.minimum=0-o/2,t.maximum=0-t.minimum-1)}else if(this.datatype==="decimal"||this.datatype==="float")t.maximum=Number(`${"9".repeat(this.digits-this.decimals)}.${"9".repeat(this.decimals)}`),this.isUnsigned?t.minimum=0:t.minimum=0-t.maximum;else if(this.datatype==="date")t.format="date";else if(this.datatype==="time")t.format="time";else if(this.datatype==="datetime")t.format="date-time";else if(this.datatype==="year")t.pattern=`\\d{1,${this.digits}}`;else if(this.datatype==="char"||this.datatype==="binary"||this.datatype==="varchar"||this.datatype==="varbinary"||this.datatype==="text")t.maxLength=this.length;else if(this.datatype==="enum")t.enum=this.values;else if(this.datatype==="set"){let o=this.values.join("|");t.pattern=`^(${o})(,(${o}))*$`}return t}};Yr.Datatype=Fn});var Yu=Q(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Column=void 0;var Tt=he(),um=wu(),lt=class{static fromCompactJson(t){let o=new lt;o.datatype=um.Datatype.fromCompactJson(t.type),o.name=t.name;let E=t.options;return E&&(E.unsigned&&(o.datatype.isUnsigned=E.unsigned),(E.default===null||Tt.isString(E.default)&&E.default.length)&&(o.default=E.default),Tt.isString(E.comment)&&E.comment.length&&(o.comment=E.comment),o.isNullable=E.nullable),o}toJSON(){let t={},o=this.datatype.toJSON();return this.isPrimaryKey===!0&&(t.$comment="primary key",o.minimum=1),Tt.isDefined(this.comment)&&(t.description=this.comment),Object.getOwnPropertyNames(o).forEach(E=>{let T=o[E],c=Tt.isNumber(T);(c&&Number.isFinite(T)||!c)&&Tt.setProperty(t,E,T)}),typeof this.default<"u"&&(t.default=this.default),t}};Xr.Column=lt});var Xu=Q(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.Table=void 0;var Un=he(),am=Yu(),ft=class{constructor(){this.columns=[]}static fromCompactJson(t){var o;let E=new ft;E.name=t.name,Un.isDefined(t.columns)&&(E.columns=t.columns.map(c=>am.Column.fromCompactJson(c))),Un.isDefined(t.primaryKey)&&((o=t.primaryKey.columns)!==null&&o!==void 0?o:[]).map(c=>c.column).map(c=>E.columns.find(O=>O.name===c)).filter(Un.isDefined).forEach(c=>{c.isPrimaryKey=!0});let T=t.options;return T&&Un.isDefined(T.comment)&&(E.comment=T.comment),E}toJSON(t){let o={$schema:"http://json-schema.org/draft-07/schema",$comment:`JSON Schema for ${this.name} table`,$id:this.name,title:this.name,description:"",type:"object",required:[],definitions:{},properties:{}};return Un.isDefined(this.comment)?o.description=this.comment:delete o.description,this.columns.forEach(E=>{let T=E.toJSON(),c=E.name,O={};o.properties[c]={$ref:`#/definitions/${c}`},Object.getOwnPropertyNames(T).forEach(Y=>{Un.setProperty(O,Y,T[Y])}),o.definitions[c]=O,E.isNullable===!1&&o.required.push(c)}),t.useRef===!1&&(o.properties=o.definitions,delete o.definitions),o}};Gr.Table=ft});var Gu=Q(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.Database=void 0;var pm=Xu(),Ko=class{constructor(){this.compactJsonTables=[],this.tables=[]}getTables(){return this.tables}setTables(t){this.tables=t}getTable(t){return this.tables.find(o=>o.name===t)}pushTable(t){this.tables.some(o=>o.name===t.name)||this.tables.push(t)}parseCompactJson(t){this.setTables(t.map(o=>pm.Table.fromCompactJson(o)))}};Hr.Database=Ko});var Hu=Q(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.format=void 0;var $m=Gu();Wr.format=(s,t)=>{let o=new $m.Database;return o.parseCompactJson(s),o.getTables().map(T=>T.toJSON(t))}});var Qu=Q(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.Parser=void 0;var Wu=cu(),Tm=he(),lm=Nu(),fm=Uu(),Am=Hu(),wn=class{constructor(t="mysql"){if(this.statements=[],this.remains="",this.escaped=!1,this.quoted="",!t||t==="mysql"||t==="mariadb")this.compiledGrammar=Wu.Grammar.fromCompiled(lm.Grammar),this.compactFormatter=fm.format,this.jsonSchemaFormatter=Am.format;else throw new TypeError(`Unsupported SQL dialect given to parser: '${t}. Please provide 'mysql', 'mariadb' or none to use default.`);this.resetParser()}feed(t){let o,E,T="",c=0;for(o=0;o1){let Y=Number(O[1]),I=o+Y-1;c.message=c.message.replace(/\d+/,I)}}throw this.resetParser(),this.statements=[],this.remains="",this.escaped=!1,this.quoted="",c}return this.remains="",this.escaped=!1,this.quoted="",{id:"MAIN",def:T}}toCompactJson(t){return this.compactFormatter(t??this.results)}toJsonSchemaArray(t={useRef:!0},o){return this.jsonSchemaFormatter(o??this.toCompactJson(),t)}};Qr.Parser=wn});var ku=Q(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0})});var Ju=Q(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0})});var Zu=Q(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0})});var ea=Q(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0})});var sa=Q(Os=>{"use strict";var bm=Os&&Os.__createBinding||(Object.create?function(s,t,o,E){E===void 0&&(E=o),Object.defineProperty(s,E,{enumerable:!0,get:function(){return t[o]}})}:function(s,t,o,E){E===void 0&&(E=o),s[E]=t[o]}),qr=Os&&Os.__exportStar||function(s,t){for(var o in s)o!=="default"&&!t.hasOwnProperty(o)&&bm(t,s,o)};Object.defineProperty(Os,"__esModule",{value:!0});qr(ku(),Os);qr(Ju(),Os);qr(Zu(),Os);qr(ea(),Os)});var na=Q(zs=>{"use strict";var cm=zs&&zs.__createBinding||(Object.create?function(s,t,o,E){E===void 0&&(E=o),Object.defineProperty(s,E,{enumerable:!0,get:function(){return t[o]}})}:function(s,t,o,E){E===void 0&&(E=o),s[E]=t[o]}),mm=zs&&zs.__exportStar||function(s,t){for(var o in s)o!=="default"&&!t.hasOwnProperty(o)&&cm(t,s,o)};Object.defineProperty(zs,"__esModule",{value:!0});var Im=Qu();Object.defineProperty(zs,"Parser",{enumerable:!0,get:function(){return Im.Parser}});mm(sa(),zs)});var ta=Q((Yn,At)=>{(function(){var s,t="4.17.21",o=200,E="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",T="Expected a function",c="Invalid `variable` option passed into `_.template`",O="__lodash_hash_undefined__",Y=500,I="__lodash_placeholder__",L=1,P=2,K=4,q=1,X=2,te=1,_e=2,Se=4,re=8,ye=16,xe=32,pe=64,We=128,fs=256,Zs=512,R=30,x="...",v=800,U=16,J=1,G=2,se=3,Ee=1/0,ue=9007199254740991,w=17976931348623157e292,Ae=0/0,Be=4294967295,Ne=Be-1,is=Be>>>1,ds=[["ary",We],["bind",te],["bindKey",_e],["curry",re],["curryRight",ye],["flip",Zs],["partial",xe],["partialRight",pe],["rearg",fs]],Pe="[object Arguments]",As="[object Array]",Bs="[object AsyncFunction]",Es="[object Boolean]",bs="[object Date]",Vr="[object DOMException]",bt="[object Error]",ct="[object Function]",Fo="[object GeneratorFunction]",us="[object Map]",Xn="[object Number]",Ea="[object Null]",Rs="[object Object]",Uo="[object Promise]",ua="[object Proxy]",Gn="[object RegExp]",as="[object Set]",Hn="[object String]",mt="[object Symbol]",aa="[object Undefined]",Wn="[object WeakMap]",pa="[object WeakSet]",Qn="[object ArrayBuffer]",fn="[object DataView]",Jr="[object Float32Array]",zr="[object Float64Array]",Zr="[object Int8Array]",jr="[object Int16Array]",e_="[object Int32Array]",s_="[object Uint8Array]",n_="[object Uint8ClampedArray]",t_="[object Uint16Array]",r_="[object Uint32Array]",$a=/\b__p \+= '';/g,Ta=/\b(__p \+=) '' \+/g,la=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wo=/&(?:amp|lt|gt|quot|#39);/g,Yo=/[&<>"']/g,fa=RegExp(wo.source),Aa=RegExp(Yo.source),ba=/<%-([\s\S]+?)%>/g,ca=/<%([\s\S]+?)%>/g,Xo=/<%=([\s\S]+?)%>/g,ma=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ia=/^\w*$/,Oa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,__=/[\\^$.*+?()[\]{}|]/g,Ra=RegExp(__.source),o_=/^\s+/,ha=/\s/,Na=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Sa=/\{\n\/\* \[wrapped with (.+)\] \*/,ya=/,? & /,La=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ca=/[()=,{}\[\]\/\s]/,xa=/\\(\\)?/g,Pa=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Go=/\w*$/,Da=/^[-+]0x[0-9a-f]+$/i,Ka=/^0b[01]+$/i,da=/^\[object .+?Constructor\]$/,Ba=/^0o[0-7]+$/i,va=/^(?:0|[1-9]\d*)$/,ga=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,It=/($^)/,Ma=/['\n\r\u2028\u2029\\]/g,Ot="\\ud800-\\udfff",Fa="\\u0300-\\u036f",Ua="\\ufe20-\\ufe2f",wa="\\u20d0-\\u20ff",Ho=Fa+Ua+wa,Wo="\\u2700-\\u27bf",Qo="a-z\\xdf-\\xf6\\xf8-\\xff",Ya="\\xac\\xb1\\xd7\\xf7",Xa="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ga="\\u2000-\\u206f",Ha=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",qo="A-Z\\xc0-\\xd6\\xd8-\\xde",ko="\\ufe0e\\ufe0f",Vo=Ya+Xa+Ga+Ha,i_="['\u2019]",Wa="["+Ot+"]",Jo="["+Vo+"]",Rt="["+Ho+"]",zo="\\d+",Qa="["+Wo+"]",Zo="["+Qo+"]",jo="[^"+Ot+Vo+zo+Wo+Qo+qo+"]",E_="\\ud83c[\\udffb-\\udfff]",qa="(?:"+Rt+"|"+E_+")",ei="[^"+Ot+"]",u_="(?:\\ud83c[\\udde6-\\uddff]){2}",a_="[\\ud800-\\udbff][\\udc00-\\udfff]",An="["+qo+"]",si="\\u200d",ni="(?:"+Zo+"|"+jo+")",ka="(?:"+An+"|"+jo+")",ti="(?:"+i_+"(?:d|ll|m|re|s|t|ve))?",ri="(?:"+i_+"(?:D|LL|M|RE|S|T|VE))?",_i=qa+"?",oi="["+ko+"]?",Va="(?:"+si+"(?:"+[ei,u_,a_].join("|")+")"+oi+_i+")*",Ja="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",za="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ii=oi+_i+Va,Za="(?:"+[Qa,u_,a_].join("|")+")"+ii,ja="(?:"+[ei+Rt+"?",Rt,u_,a_,Wa].join("|")+")",ep=RegExp(i_,"g"),sp=RegExp(Rt,"g"),p_=RegExp(E_+"(?="+E_+")|"+ja+ii,"g"),np=RegExp([An+"?"+Zo+"+"+ti+"(?="+[Jo,An,"$"].join("|")+")",ka+"+"+ri+"(?="+[Jo,An+ni,"$"].join("|")+")",An+"?"+ni+"+"+ti,An+"+"+ri,za,Ja,zo,Za].join("|"),"g"),tp=RegExp("["+si+Ot+Ho+ko+"]"),rp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_p=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],op=-1,le={};le[Jr]=le[zr]=le[Zr]=le[jr]=le[e_]=le[s_]=le[n_]=le[t_]=le[r_]=!0,le[Pe]=le[As]=le[Qn]=le[Es]=le[fn]=le[bs]=le[bt]=le[ct]=le[us]=le[Xn]=le[Rs]=le[Gn]=le[as]=le[Hn]=le[Wn]=!1;var Te={};Te[Pe]=Te[As]=Te[Qn]=Te[fn]=Te[Es]=Te[bs]=Te[Jr]=Te[zr]=Te[Zr]=Te[jr]=Te[e_]=Te[us]=Te[Xn]=Te[Rs]=Te[Gn]=Te[as]=Te[Hn]=Te[mt]=Te[s_]=Te[n_]=Te[t_]=Te[r_]=!0,Te[bt]=Te[ct]=Te[Wn]=!1;var ip={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ep={"&":"&","<":"<",">":">",'"':""","'":"'"},up={"&":"&","<":"<",">":">",""":'"',"'":"'"},ap={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pp=parseFloat,$p=parseInt,Ei=typeof global=="object"&&global&&global.Object===Object&&global,Tp=typeof self=="object"&&self&&self.Object===Object&&self,De=Ei||Tp||Function("return this")(),$_=typeof Yn=="object"&&Yn&&!Yn.nodeType&&Yn,js=$_&&typeof At=="object"&&At&&!At.nodeType&&At,ui=js&&js.exports===$_,T_=ui&&Ei.process,Ze=function(){try{var A=js&&js.require&&js.require("util").types;return A||T_&&T_.binding&&T_.binding("util")}catch{}}(),ai=Ze&&Ze.isArrayBuffer,pi=Ze&&Ze.isDate,$i=Ze&&Ze.isMap,Ti=Ze&&Ze.isRegExp,li=Ze&&Ze.isSet,fi=Ze&&Ze.isTypedArray;function Qe(A,N,m){switch(m.length){case 0:return A.call(N);case 1:return A.call(N,m[0]);case 2:return A.call(N,m[0],m[1]);case 3:return A.call(N,m[0],m[1],m[2])}return A.apply(N,m)}function lp(A,N,m,d){for(var H=-1,oe=A==null?0:A.length;++H-1}function l_(A,N,m){for(var d=-1,H=A==null?0:A.length;++d-1;);return m}function hi(A,N){for(var m=A.length;m--&&bn(N,A[m],0)>-1;);return m}function hp(A,N){for(var m=A.length,d=0;m--;)A[m]===N&&++d;return d}var Np=c_(ip),Sp=c_(Ep);function yp(A){return"\\"+ap[A]}function Lp(A,N){return A==null?s:A[N]}function cn(A){return tp.test(A)}function Cp(A){return rp.test(A)}function xp(A){for(var N,m=[];!(N=A.next()).done;)m.push(N.value);return m}function R_(A){var N=-1,m=Array(A.size);return A.forEach(function(d,H){m[++N]=[H,d]}),m}function Ni(A,N){return function(m){return A(N(m))}}function Ms(A,N){for(var m=-1,d=A.length,H=0,oe=[];++m-1}function A$(e,n){var r=this.__data__,i=wt(r,e);return i<0?(++this.size,r.push([e,n])):r[i][1]=n,this}hs.prototype.clear=$$,hs.prototype.delete=T$,hs.prototype.get=l$,hs.prototype.has=f$,hs.prototype.set=A$;function Ns(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n=n?e:n)),e}function ns(e,n,r,i,u,p){var $,l=n&L,b=n&P,S=n&K;if(r&&($=u?r(e,i,u,p):r(e)),$!==s)return $;if(!be(e))return e;var y=W(e);if(y){if($=IT(e),!l)return Ye(e,$)}else{var C=Me(e),D=C==ct||C==Fo;if(Hs(e))return oE(e,l);if(C==Rs||C==Pe||D&&!u){if($=b||D?{}:SE(e),!l)return b?uT(e,K$($,e)):ET(e,gi($,e))}else{if(!Te[C])return u?e:{};$=OT(e,C,l)}}p||(p=new $s);var B=p.get(e);if(B)return B;p.set(e,$),eu(e)?e.forEach(function(F){$.add(ns(F,n,r,F,e,p))}):ZE(e)&&e.forEach(function(F,j){$.set(j,ns(F,n,r,j,e,p))});var M=S?b?k_:q_:b?Ge:Ke,z=y?s:M(e);return je(z||e,function(F,j){z&&(j=F,F=e[j]),jn($,j,ns(F,n,r,j,e,p))}),$}function d$(e){var n=Ke(e);return function(r){return Mi(r,e,n)}}function Mi(e,n,r){var i=r.length;if(e==null)return!i;for(e=$e(e);i--;){var u=r[i],p=n[u],$=e[u];if($===s&&!(u in e)||!p($))return!1}return!0}function Fi(e,n,r){if(typeof e!="function")throw new es(T);return ot(function(){e.apply(s,r)},n)}function et(e,n,r,i){var u=-1,p=ht,$=!0,l=e.length,b=[],S=n.length;if(!l)return b;r&&(n=fe(n,qe(r))),i?(p=l_,$=!1):n.length>=o&&(p=qn,$=!1,n=new nn(n));e:for(;++uu?0:u+r),i=i===s||i>u?u:k(i),i<0&&(i+=u),i=r>i?0:nu(i);r0&&r(l)?n>1?ve(l,n-1,r,i,u):gs(u,l):i||(u[u.length]=l)}return u}var x_=$E(),Yi=$E(!0);function cs(e,n){return e&&x_(e,n,Ke)}function P_(e,n){return e&&Yi(e,n,Ke)}function Xt(e,n){return vs(n,function(r){return xs(e[r])})}function rn(e,n){n=Xs(n,e);for(var r=0,i=n.length;e!=null&&rn}function g$(e,n){return e!=null&&ae.call(e,n)}function M$(e,n){return e!=null&&n in $e(e)}function F$(e,n,r){return e>=ge(n,r)&&e=120&&y.length>=120)?new nn($&&y):s}y=e[0];var C=-1,D=l[0];e:for(;++C-1;)l!==e&&dt.call(l,b,1),dt.call(e,b,1);return e}function Zi(e,n){for(var r=e?n.length:0,i=r-1;r--;){var u=n[r];if(r==i||u!==p){var p=u;Cs(u)?dt.call(e,u,1):w_(e,u)}}return e}function M_(e,n){return e+gt(Ki()*(n-e+1))}function z$(e,n,r,i){for(var u=-1,p=Ce(vt((n-e)/(r||1)),0),$=m(p);p--;)$[i?p:++u]=e,e+=r;return $}function F_(e,n){var r="";if(!e||n<1||n>ue)return r;do n%2&&(r+=e),n=gt(n/2),n&&(e+=e);while(n);return r}function Z(e,n){return so(CE(e,n,He),e+"")}function Z$(e){return vi(Cn(e))}function j$(e,n){var r=Cn(e);return jt(r,tn(n,0,r.length))}function tt(e,n,r,i){if(!be(e))return e;n=Xs(n,e);for(var u=-1,p=n.length,$=p-1,l=e;l!=null&&++uu?0:u+n),r=r>u?u:r,r<0&&(r+=u),u=n>r?0:r-n>>>0,n>>>=0;for(var p=m(u);++i>>1,$=e[p];$!==null&&!Ve($)&&(r?$<=n:$=o){var S=n?null:TT(e);if(S)return St(S);$=!1,u=qn,b=new nn}else b=n?[]:l;e:for(;++i=i?e:ts(e,n,r)}var _E=Hp||function(e){return De.clearTimeout(e)};function oE(e,n){if(n)return e.slice();var r=e.length,i=Li?Li(r):new e.constructor(r);return e.copy(i),i}function H_(e){var n=new e.constructor(e.byteLength);return new Dt(n).set(new Dt(e)),n}function rT(e,n){var r=n?H_(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}function _T(e){var n=new e.constructor(e.source,Go.exec(e));return n.lastIndex=e.lastIndex,n}function oT(e){return Zn?$e(Zn.call(e)):{}}function iE(e,n){var r=n?H_(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function EE(e,n){if(e!==n){var r=e!==s,i=e===null,u=e===e,p=Ve(e),$=n!==s,l=n===null,b=n===n,S=Ve(n);if(!l&&!S&&!p&&e>n||p&&$&&b&&!l&&!S||i&&$&&b||!r&&b||!u)return 1;if(!i&&!p&&!S&&e=l)return b;var S=r[i];return b*(S=="desc"?-1:1)}}return e.index-n.index}function uE(e,n,r,i){for(var u=-1,p=e.length,$=r.length,l=-1,b=n.length,S=Ce(p-$,0),y=m(b+S),C=!i;++l1?r[u-1]:s,$=u>2?r[2]:s;for(p=e.length>3&&typeof p=="function"?(u--,p):s,$&&Ue(r[0],r[1],$)&&(p=u<3?s:p,u=1),n=$e(n);++i-1?u[p?n[$]:$]:s}}function fE(e){return Ls(function(n){var r=n.length,i=r,u=ss.prototype.thru;for(e&&n.reverse();i--;){var p=n[i];if(typeof p!="function")throw new es(T);if(u&&!$&&zt(p)=="wrapper")var $=new ss([],!0)}for(i=$?i:r;++i1&&ne.reverse(),y&&bl))return!1;var S=p.get(e),y=p.get(n);if(S&&y)return S==n&&y==e;var C=-1,D=!0,B=r&X?new nn:s;for(p.set(e,n),p.set(n,e);++C1?"& ":"")+n[i],n=n.join(r>2?", ":" "),e.replace(Na,`{ -/* [wrapped with `+n+`] */ -`)}function hT(e){return W(e)||En(e)||!!(Pi&&e&&e[Pi])}function Cs(e,n){var r=typeof e;return n=n??ue,!!n&&(r=="number"||r!="symbol"&&va.test(e))&&e>-1&&e%1==0&&e0){if(++n>=v)return arguments[0]}else n=0;return e.apply(s,arguments)}}function jt(e,n){var r=-1,i=e.length,u=i-1;for(n=n===s?i:n;++r1?e[n-1]:s;return r=typeof r=="function"?(e.pop(),r):s,wE(e,r)});function YE(e){var n=a(e);return n.__chain__=!0,n}function Bl(e,n){return n(e),e}function er(e,n){return n(e)}var vl=Ls(function(e){var n=e.length,r=n?e[0]:0,i=this.__wrapped__,u=function(p){return C_(p,e)};return n>1||this.__actions__.length||!(i instanceof ee)||!Cs(r)?this.thru(u):(i=i.slice(r,+r+(n?1:0)),i.__actions__.push({func:er,args:[u],thisArg:s}),new ss(i,this.__chain__).thru(function(p){return n&&!p.length&&p.push(s),p}))});function gl(){return YE(this)}function Ml(){return new ss(this.value(),this.__chain__)}function Fl(){this.__values__===s&&(this.__values__=su(this.value()));var e=this.__index__>=this.__values__.length,n=e?s:this.__values__[this.__index__++];return{done:e,value:n}}function Ul(){return this}function wl(e){for(var n,r=this;r instanceof Ut;){var i=BE(r);i.__index__=0,i.__values__=s,n?u.__wrapped__=i:n=i;var u=i;r=r.__wrapped__}return u.__wrapped__=e,n}function Yl(){var e=this.__wrapped__;if(e instanceof ee){var n=e;return this.__actions__.length&&(n=new ee(this)),n=n.reverse(),n.__actions__.push({func:er,args:[no],thisArg:s}),new ss(n,this.__chain__)}return this.thru(no)}function Xl(){return tE(this.__wrapped__,this.__actions__)}var Gl=Qt(function(e,n,r){ae.call(e,r)?++e[r]:Ss(e,r,1)});function Hl(e,n,r){var i=W(e)?Ai:B$;return r&&Ue(e,n,r)&&(n=s),i(e,g(n,3))}function Wl(e,n){var r=W(e)?vs:wi;return r(e,g(n,3))}var Ql=lE(vE),ql=lE(gE);function kl(e,n){return ve(sr(e,n),1)}function Vl(e,n){return ve(sr(e,n),Ee)}function Jl(e,n,r){return r=r===s?1:k(r),ve(sr(e,n),r)}function XE(e,n){var r=W(e)?je:ws;return r(e,g(n,3))}function GE(e,n){var r=W(e)?fp:Ui;return r(e,g(n,3))}var zl=Qt(function(e,n,r){ae.call(e,r)?e[r].push(n):Ss(e,r,[n])});function Zl(e,n,r,i){e=Xe(e)?e:Cn(e),r=r&&!i?k(r):0;var u=e.length;return r<0&&(r=Ce(u+r,0)),or(e)?r<=u&&e.indexOf(n,r)>-1:!!u&&bn(e,n,r)>-1}var jl=Z(function(e,n,r){var i=-1,u=typeof n=="function",p=Xe(e)?m(e.length):[];return ws(e,function($){p[++i]=u?Qe(n,$,r):st($,n,r)}),p}),ef=Qt(function(e,n,r){Ss(e,r,n)});function sr(e,n){var r=W(e)?fe:Qi;return r(e,g(n,3))}function sf(e,n,r,i){return e==null?[]:(W(n)||(n=n==null?[]:[n]),r=i?s:r,W(r)||(r=r==null?[]:[r]),Ji(e,n,r))}var nf=Qt(function(e,n,r){e[r?0:1].push(n)},function(){return[[],[]]});function tf(e,n,r){var i=W(e)?f_:Ii,u=arguments.length<3;return i(e,g(n,4),r,u,ws)}function rf(e,n,r){var i=W(e)?Ap:Ii,u=arguments.length<3;return i(e,g(n,4),r,u,Ui)}function _f(e,n){var r=W(e)?vs:wi;return r(e,rr(g(n,3)))}function of(e){var n=W(e)?vi:Z$;return n(e)}function Ef(e,n,r){(r?Ue(e,n,r):n===s)?n=1:n=k(n);var i=W(e)?x$:j$;return i(e,n)}function uf(e){var n=W(e)?P$:sT;return n(e)}function af(e){if(e==null)return 0;if(Xe(e))return or(e)?mn(e):e.length;var n=Me(e);return n==us||n==as?e.size:B_(e).length}function pf(e,n,r){var i=W(e)?A_:nT;return r&&Ue(e,n,r)&&(n=s),i(e,g(n,3))}var $f=Z(function(e,n){if(e==null)return[];var r=n.length;return r>1&&Ue(e,n[0],n[1])?n=[]:r>2&&Ue(n[0],n[1],n[2])&&(n=[n[0]]),Ji(e,ve(n,1),[])}),nr=Wp||function(){return De.Date.now()};function Tf(e,n){if(typeof n!="function")throw new es(T);return e=k(e),function(){if(--e<1)return n.apply(this,arguments)}}function HE(e,n,r){return n=r?s:n,n=e&&n==null?e.length:n,ys(e,We,s,s,s,s,n)}function WE(e,n){var r;if(typeof n!="function")throw new es(T);return e=k(e),function(){return--e>0&&(r=n.apply(this,arguments)),e<=1&&(n=s),r}}var ro=Z(function(e,n,r){var i=te;if(r.length){var u=Ms(r,yn(ro));i|=xe}return ys(e,i,n,r,u)}),QE=Z(function(e,n,r){var i=te|_e;if(r.length){var u=Ms(r,yn(QE));i|=xe}return ys(n,i,e,r,u)});function qE(e,n,r){n=r?s:n;var i=ys(e,re,s,s,s,s,s,n);return i.placeholder=qE.placeholder,i}function kE(e,n,r){n=r?s:n;var i=ys(e,ye,s,s,s,s,s,n);return i.placeholder=kE.placeholder,i}function VE(e,n,r){var i,u,p,$,l,b,S=0,y=!1,C=!1,D=!0;if(typeof e!="function")throw new es(T);n=_s(n)||0,be(r)&&(y=!!r.leading,C="maxWait"in r,p=C?Ce(_s(r.maxWait)||0,n):p,D="trailing"in r?!!r.trailing:D);function B(Re){var ls=i,Ds=u;return i=u=s,S=Re,$=e.apply(Ds,ls),$}function M(Re){return S=Re,l=ot(j,n),y?B(Re):$}function z(Re){var ls=Re-b,Ds=Re-S,lu=n-ls;return C?ge(lu,p-Ds):lu}function F(Re){var ls=Re-b,Ds=Re-S;return b===s||ls>=n||ls<0||C&&Ds>=p}function j(){var Re=nr();if(F(Re))return ne(Re);l=ot(j,z(Re))}function ne(Re){return l=s,D&&i?B(Re):(i=u=s,$)}function Je(){l!==s&&_E(l),S=0,i=b=u=l=s}function we(){return l===s?$:ne(nr())}function ze(){var Re=nr(),ls=F(Re);if(i=arguments,u=this,b=Re,ls){if(l===s)return M(b);if(C)return _E(l),l=ot(j,n),B(b)}return l===s&&(l=ot(j,n)),$}return ze.cancel=Je,ze.flush=we,ze}var lf=Z(function(e,n){return Fi(e,1,n)}),ff=Z(function(e,n,r){return Fi(e,_s(n)||0,r)});function Af(e){return ys(e,Zs)}function tr(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new es(T);var r=function(){var i=arguments,u=n?n.apply(this,i):i[0],p=r.cache;if(p.has(u))return p.get(u);var $=e.apply(this,i);return r.cache=p.set(u,$)||p,$};return r.cache=new(tr.Cache||Ns),r}tr.Cache=Ns;function rr(e){if(typeof e!="function")throw new es(T);return function(){var n=arguments;switch(n.length){case 0:return!e.call(this);case 1:return!e.call(this,n[0]);case 2:return!e.call(this,n[0],n[1]);case 3:return!e.call(this,n[0],n[1],n[2])}return!e.apply(this,n)}}function bf(e){return WE(2,e)}var cf=tT(function(e,n){n=n.length==1&&W(n[0])?fe(n[0],qe(g())):fe(ve(n,1),qe(g()));var r=n.length;return Z(function(i){for(var u=-1,p=ge(i.length,r);++u=n}),En=Gi(function(){return arguments}())?Gi:function(e){return me(e)&&ae.call(e,"callee")&&!xi.call(e,"callee")},W=m.isArray,df=ai?qe(ai):w$;function Xe(e){return e!=null&&_r(e.length)&&!xs(e)}function Oe(e){return me(e)&&Xe(e)}function Bf(e){return e===!0||e===!1||me(e)&&Fe(e)==Es}var Hs=qp||Ao,vf=pi?qe(pi):Y$;function gf(e){return me(e)&&e.nodeType===1&&!it(e)}function Mf(e){if(e==null)return!0;if(Xe(e)&&(W(e)||typeof e=="string"||typeof e.splice=="function"||Hs(e)||Ln(e)||En(e)))return!e.length;var n=Me(e);if(n==us||n==as)return!e.size;if(_t(e))return!B_(e).length;for(var r in e)if(ae.call(e,r))return!1;return!0}function Ff(e,n){return nt(e,n)}function Uf(e,n,r){r=typeof r=="function"?r:s;var i=r?r(e,n):s;return i===s?nt(e,n,s,r):!!i}function oo(e){if(!me(e))return!1;var n=Fe(e);return n==bt||n==Vr||typeof e.message=="string"&&typeof e.name=="string"&&!it(e)}function wf(e){return typeof e=="number"&&Di(e)}function xs(e){if(!be(e))return!1;var n=Fe(e);return n==ct||n==Fo||n==Bs||n==ua}function zE(e){return typeof e=="number"&&e==k(e)}function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ue}function be(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function me(e){return e!=null&&typeof e=="object"}var ZE=$i?qe($i):G$;function Yf(e,n){return e===n||d_(e,n,J_(n))}function Xf(e,n,r){return r=typeof r=="function"?r:s,d_(e,n,J_(n),r)}function Gf(e){return jE(e)&&e!=+e}function Hf(e){if(yT(e))throw new H(E);return Hi(e)}function Wf(e){return e===null}function Qf(e){return e==null}function jE(e){return typeof e=="number"||me(e)&&Fe(e)==Xn}function it(e){if(!me(e)||Fe(e)!=Rs)return!1;var n=Kt(e);if(n===null)return!0;var r=ae.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&Ct.call(r)==Yp}var io=Ti?qe(Ti):H$;function qf(e){return zE(e)&&e>=-ue&&e<=ue}var eu=li?qe(li):W$;function or(e){return typeof e=="string"||!W(e)&&me(e)&&Fe(e)==Hn}function Ve(e){return typeof e=="symbol"||me(e)&&Fe(e)==mt}var Ln=fi?qe(fi):Q$;function kf(e){return e===s}function Vf(e){return me(e)&&Me(e)==Wn}function Jf(e){return me(e)&&Fe(e)==pa}var zf=Jt(v_),Zf=Jt(function(e,n){return e<=n});function su(e){if(!e)return[];if(Xe(e))return or(e)?ps(e):Ye(e);if(kn&&e[kn])return xp(e[kn]());var n=Me(e),r=n==us?R_:n==as?St:Cn;return r(e)}function Ps(e){if(!e)return e===0?e:0;if(e=_s(e),e===Ee||e===-Ee){var n=e<0?-1:1;return n*w}return e===e?e:0}function k(e){var n=Ps(e),r=n%1;return n===n?r?n-r:n:0}function nu(e){return e?tn(k(e),0,Be):0}function _s(e){if(typeof e=="number")return e;if(Ve(e))return Ae;if(be(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=be(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Oi(e);var r=Ka.test(e);return r||Ba.test(e)?$p(e.slice(2),r?2:8):Da.test(e)?Ae:+e}function tu(e){return ms(e,Ge(e))}function jf(e){return e?tn(k(e),-ue,ue):e===0?e:0}function ie(e){return e==null?"":ke(e)}var eA=Nn(function(e,n){if(_t(n)||Xe(n)){ms(n,Ke(n),e);return}for(var r in n)ae.call(n,r)&&jn(e,r,n[r])}),ru=Nn(function(e,n){ms(n,Ge(n),e)}),ir=Nn(function(e,n,r,i){ms(n,Ge(n),e,i)}),sA=Nn(function(e,n,r,i){ms(n,Ke(n),e,i)}),nA=Ls(C_);function tA(e,n){var r=hn(e);return n==null?r:gi(r,n)}var rA=Z(function(e,n){e=$e(e);var r=-1,i=n.length,u=i>2?n[2]:s;for(u&&Ue(n[0],n[1],u)&&(i=1);++r1),p}),ms(e,k_(e),r),i&&(r=ns(r,L|P|K,lT));for(var u=n.length;u--;)w_(r,n[u]);return r});function RA(e,n){return ou(e,rr(g(n)))}var hA=Ls(function(e,n){return e==null?{}:V$(e,n)});function ou(e,n){if(e==null)return{};var r=fe(k_(e),function(i){return[i]});return n=g(n),zi(e,r,function(i,u){return n(i,u[0])})}function NA(e,n,r){n=Xs(n,e);var i=-1,u=n.length;for(u||(u=1,e=s);++in){var i=e;e=n,n=i}if(r||e%1||n%1){var u=Ki();return ge(e+u*(n-e+pp("1e-"+((u+"").length-1))),n)}return M_(e,n)}var vA=Sn(function(e,n,r){return n=n.toLowerCase(),e+(r?uu(n):n)});function uu(e){return ao(ie(e).toLowerCase())}function au(e){return e=ie(e),e&&e.replace(ga,Np).replace(sp,"")}function gA(e,n,r){e=ie(e),n=ke(n);var i=e.length;r=r===s?i:tn(k(r),0,i);var u=r;return r-=n.length,r>=0&&e.slice(r,u)==n}function MA(e){return e=ie(e),e&&Aa.test(e)?e.replace(Yo,Sp):e}function FA(e){return e=ie(e),e&&Ra.test(e)?e.replace(__,"\\$&"):e}var UA=Sn(function(e,n,r){return e+(r?"-":"")+n.toLowerCase()}),wA=Sn(function(e,n,r){return e+(r?" ":"")+n.toLowerCase()}),YA=TE("toLowerCase");function XA(e,n,r){e=ie(e),n=k(n);var i=n?mn(e):0;if(!n||i>=n)return e;var u=(n-i)/2;return Vt(gt(u),r)+e+Vt(vt(u),r)}function GA(e,n,r){e=ie(e),n=k(n);var i=n?mn(e):0;return n&&i>>0,r?(e=ie(e),e&&(typeof n=="string"||n!=null&&!io(n))&&(n=ke(n),!n&&cn(e))?Gs(ps(e),0,r):e.split(n,r)):[]}var JA=Sn(function(e,n,r){return e+(r?" ":"")+ao(n)});function zA(e,n,r){return e=ie(e),r=r==null?0:tn(k(r),0,e.length),n=ke(n),e.slice(r,r+n.length)==n}function ZA(e,n,r){var i=a.templateSettings;r&&Ue(e,n,r)&&(n=s),e=ie(e),n=ir({},n,i,IE);var u=ir({},n.imports,i.imports,IE),p=Ke(u),$=O_(u,p),l,b,S=0,y=n.interpolate||It,C="__p += '",D=h_((n.escape||It).source+"|"+y.source+"|"+(y===Xo?Pa:It).source+"|"+(n.evaluate||It).source+"|$","g"),B="//# sourceURL="+(ae.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++op+"]")+` -`;e.replace(D,function(F,j,ne,Je,we,ze){return ne||(ne=Je),C+=e.slice(S,ze).replace(Ma,yp),j&&(l=!0,C+=`' + -__e(`+j+`) + -'`),we&&(b=!0,C+=`'; -`+we+`; -__p += '`),ne&&(C+=`' + -((__t = (`+ne+`)) == null ? '' : __t) + -'`),S=ze+F.length,F}),C+=`'; -`;var M=ae.call(n,"variable")&&n.variable;if(!M)C=`with (obj) { -`+C+` -} -`;else if(Ca.test(M))throw new H(c);C=(b?C.replace($a,""):C).replace(Ta,"$1").replace(la,"$1;"),C="function("+(M||"obj")+`) { -`+(M?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(l?", __e = _.escape":"")+(b?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+C+`return __p -}`;var z=$u(function(){return oe(p,B+"return "+C).apply(s,$)});if(z.source=C,oo(z))throw z;return z}function jA(e){return ie(e).toLowerCase()}function eb(e){return ie(e).toUpperCase()}function sb(e,n,r){if(e=ie(e),e&&(r||n===s))return Oi(e);if(!e||!(n=ke(n)))return e;var i=ps(e),u=ps(n),p=Ri(i,u),$=hi(i,u)+1;return Gs(i,p,$).join("")}function nb(e,n,r){if(e=ie(e),e&&(r||n===s))return e.slice(0,Si(e)+1);if(!e||!(n=ke(n)))return e;var i=ps(e),u=hi(i,ps(n))+1;return Gs(i,0,u).join("")}function tb(e,n,r){if(e=ie(e),e&&(r||n===s))return e.replace(o_,"");if(!e||!(n=ke(n)))return e;var i=ps(e),u=Ri(i,ps(n));return Gs(i,u).join("")}function rb(e,n){var r=R,i=x;if(be(n)){var u="separator"in n?n.separator:u;r="length"in n?k(n.length):r,i="omission"in n?ke(n.omission):i}e=ie(e);var p=e.length;if(cn(e)){var $=ps(e);p=$.length}if(r>=p)return e;var l=r-mn(i);if(l<1)return i;var b=$?Gs($,0,l).join(""):e.slice(0,l);if(u===s)return b+i;if($&&(l+=b.length-l),io(u)){if(e.slice(l).search(u)){var S,y=b;for(u.global||(u=h_(u.source,ie(Go.exec(u))+"g")),u.lastIndex=0;S=u.exec(y);)var C=S.index;b=b.slice(0,C===s?l:C)}}else if(e.indexOf(ke(u),l)!=l){var D=b.lastIndexOf(u);D>-1&&(b=b.slice(0,D))}return b+i}function _b(e){return e=ie(e),e&&fa.test(e)?e.replace(wo,dp):e}var ob=Sn(function(e,n,r){return e+(r?" ":"")+n.toUpperCase()}),ao=TE("toUpperCase");function pu(e,n,r){return e=ie(e),n=r?s:n,n===s?Cp(e)?gp(e):mp(e):e.match(n)||[]}var $u=Z(function(e,n){try{return Qe(e,s,n)}catch(r){return oo(r)?r:new H(r)}}),ib=Ls(function(e,n){return je(n,function(r){r=Is(r),Ss(e,r,ro(e[r],e))}),e});function Eb(e){var n=e==null?0:e.length,r=g();return e=n?fe(e,function(i){if(typeof i[1]!="function")throw new es(T);return[r(i[0]),i[1]]}):[],Z(function(i){for(var u=-1;++uue)return[];var r=Be,i=ge(e,Be);n=g(n),e-=Be;for(var u=I_(i,n);++r0||n<0)?new ee(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),n!==s&&(n=k(n),r=n<0?r.dropRight(-n):r.take(n-e)),r)},ee.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},ee.prototype.toArray=function(){return this.take(Be)},cs(ee.prototype,function(e,n){var r=/^(?:filter|find|map|reject)|While$/.test(n),i=/^(?:head|last)$/.test(n),u=a[i?"take"+(n=="last"?"Right":""):n],p=i||/^find/.test(n);!u||(a.prototype[n]=function(){var $=this.__wrapped__,l=i?[1]:arguments,b=$ instanceof ee,S=l[0],y=b||W($),C=function(j){var ne=u.apply(a,gs([j],l));return i&&D?ne[0]:ne};y&&r&&typeof S=="function"&&S.length!=1&&(b=y=!1);var D=this.__chain__,B=!!this.__actions__.length,M=p&&!D,z=b&&!B;if(!p&&y){$=z?$:new ee(this);var F=e.apply($,l);return F.__actions__.push({func:er,args:[C],thisArg:s}),new ss(F,D)}return M&&z?e.apply(this,l):(F=this.thru(C),M?i?F.value()[0]:F.value():F)})}),je(["pop","push","shift","sort","splice","unshift"],function(e){var n=yt[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(i&&!this.__chain__){var p=this.value();return n.apply(W(p)?p:[],u)}return this[r](function($){return n.apply(W($)?$:[],u)})}}),cs(ee.prototype,function(e,n){var r=a[n];if(r){var i=r.name+"";ae.call(Rn,i)||(Rn[i]=[]),Rn[i].push({name:n,func:r})}}),Rn[qt(s,_e).name]=[{name:"wrapper",func:s}],ee.prototype.clone=r$,ee.prototype.reverse=_$,ee.prototype.value=o$,a.prototype.at=vl,a.prototype.chain=gl,a.prototype.commit=Ml,a.prototype.next=Fl,a.prototype.plant=wl,a.prototype.reverse=Yl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Xl,a.prototype.first=a.prototype.head,kn&&(a.prototype[kn]=Ul),a},Fs=Mp();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(De._=Fs,define(function(){return Fs})):js?((js.exports=Fs)._=Fs,$_._=Fs):De._=Fs}).call(Yn)});import{promises as go}from"fs";import Mo from"path";var ra=Au(na(),1),_a=Au(ta(),1);import kr from"assert";var Bo={"inter-token":["BINARY","national","STORED"],"match-token":["VIRTUAL","type = innodb","default 0000-00-00 00:00:00","default 0000-00-00","CONSTRAINT check_active"],"func-token":["GENERATED","CHECK","PARTITION BY LIST (transaction_type)"]};var Om=new ra.Parser("mysql");function Rm(s,t){let o=s,E,T,c;for(;T=o.indexOf(t),T!==-1;){E=0,c=void 0;for(let O=T+t.length;ORm(o,E),s)}function Nm(s){return Object.keys(Bo).reduce((t,o)=>{let E=Bo[o];if(_a.default.isEmpty(E))return t;switch(o){case"inter-token":let T=new RegExp(`\\s+(${E.join("|")})\\s+`,"gmi");return t.replace(T," ");case"match-token":let c=new RegExp(`(${E.join("|")})`,"gm");return t.replace(c,"");case"func-token":return hm(t,E);default:kr(!1,`Not supported token type: ${o}`);break}return kr(!1,"This can never be reached."),t},s)}function Sm(s){let t=[],o=/(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i,E=0;for(;EO.$comment==="primary key"?[...T,c]:T,[]);return{tableName:t,columnNames:o,primaryKeys:E}}var Lm=s=>s.replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi,"").replace(/COMMENT\s+['"](.*?)['"]/gi,"").replace(/\/\*.*?\*\/|--.*?\n/gs,""),oa=s=>Sm(Lm(s)).reduce((t,o)=>{try{let E={useRef:!0},T=Om.feed(o).toJsonSchemaArray(E);if(T.length===0)return t;kr(T.length===1,"Parse only one DDL at a time.");let{tableName:c,columnNames:O,primaryKeys:Y}=ym(T[0]);return{...t,[c]:{columnNames:O,primaryKeys:Y}}}catch{return console.error(`Can not parse "${o}"`),t}},{});function Cm(s,t,o){let T=t.map(c=>o.includes(c)?`*${c}`:c).join(` - `);return`entity ${s} { - ${T} -} -`}function xm(s,t,o,E){let T=Object.keys(E);return t.reduce((c,O)=>{if(!o.includes(O)&&T.includes(O)){let Y=E[O];return[...c,`${s}::${O} --> ${Y.tableName}::${Y.columnName}`]}return c},[])}function vo(s){let t=Object.entries(s).reduce((T,[c,{columnNames:O,primaryKeys:Y}])=>T+Cm(c,O,Y),""),o=Object.entries(s).reduce((T,[c,{primaryKeys:O}])=>O.reduce((Y,I)=>{let L=I.startsWith(c)?I:`${c}_${I}`,P={tableName:c,columnName:I};return{...Y,[L]:P}},T),{}),E=Object.entries(s).reduce((T,[c,{columnNames:O,primaryKeys:Y}])=>[...T,...xm(c,O,Y,o)],[]);return`@startuml - -' hide the spot -hide circle -hide methods -hide stereotypes - -' avoid problems with angled crows feet -skinparam linetype ortho - -${t} - -${E.join(` -`)} - -@enduml -`}async function ia(s,t){let o=await go.readFile(s,"utf8"),E=oa(o),T=vo(E),c=t||Mo.parse(s).dir,O=Mo.join(c,`${Mo.parse(s).name}.puml`);return c&&await go.mkdir(c,{recursive:!0}),await go.writeFile(O,T,"utf8"),{pumlFilePath:O,pumlStr:T}}export{ia as schemaToErd}; -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ diff --git a/package-lock.json b/package-lock.json index 7206f94..677a9c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,14 @@ { "name": "schema-to-erd", - "version": "1.4.2", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "schema-to-erd", - "version": "1.4.2", + "version": "2.0.0", "license": "MIT", "dependencies": { - "commander": "^9.4.0", - "glob": "^8.0.3", - "lodash": "^4.17.21", "plantuml-encoder": "^1.4.0", "sql-ddl-to-json-schema": "^4.0.6" }, @@ -20,14 +17,130 @@ }, "devDependencies": { "@microsoft/eslint-formatter-sarif": "^3.0.0", - "esbuild": "^0.15.7", - "eslint": "^8.24.0", - "eslint-config-airbnb": "^19.0.4", + "@types/glob": "^8.0.0", + "@types/jest": "^29.2.0", + "@types/json-schema": "^7.0.11", + "@types/lodash": "^4.14.186", + "@types/node": "^18.11.3", + "@typescript-eslint/eslint-plugin": "^5.41.0", + "@typescript-eslint/parser": "^5.41.0", + "commander": "^9.4.1", + "eslint": "^8.26.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-no-loops": "^0.3.0", "eslint-plugin-react": "^7.31.8", "eslint-plugin-react-hooks": "^4.6.0", - "mocha": "^10.0.0" + "glob": "^8.0.3", + "mocha": "^10.0.0", + "ts-node": "^10.9.1", + "typescript": "^4.8.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, "node_modules/@babel/runtime": { @@ -55,26 +168,22 @@ "node": ">=6.9.0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz", - "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==", - "cpu": [ - "loong64" - ], + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, "engines": { "node": ">=12" } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -95,29 +204,19 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -137,6 +236,72 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@jest/expect-utils": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", + "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.2.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@microsoft/eslint-formatter-sarif": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@microsoft/eslint-formatter-sarif/-/eslint-formatter-sarif-3.0.0.tgz", @@ -187,12 +352,104 @@ "node": ">= 8" } }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.0.tgz", + "integrity": "sha512-KO7bPV21d65PKwv3LLsD8Jn3E05pjNjRZvkm+YTacWhVmykAb07wW6IkZUmQAltwQafNcDUEUrMO2h3jeBSisg==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/lodash": { + "version": "4.14.186", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz", + "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, "node_modules/@types/moo": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@types/moo/-/moo-0.5.5.tgz", @@ -203,102 +460,403 @@ "resolved": "https://registry.npmjs.org/@types/nearley/-/nearley-2.11.2.tgz", "integrity": "sha512-jeyIDNBxxyWyEk6HemDC+t32b4fxthVsgWDxf88qD2WpX0QpOyY8JvA80AElPTBGRUsO0EKnr6OeVOjK3ZDdnA==" }, + "node_modules/@types/node": { + "version": "18.11.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz", + "integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, "node_modules/@types/stringify-object": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-4.0.1.tgz", "integrity": "sha512-IBlbUGpI7FoWWr1FHQDntMkA7nCEI7Hox/hmwgWgRqohV7SRRkbWB86PayOX++NwtJTapQ8wIs7XtEp4fXonwA==" }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", + "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/type-utils": "5.41.0", + "@typescript-eslint/utils": "5.41.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@typescript-eslint/parser": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", + "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", + "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", + "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/utils": "5.41.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/argparse": { - "version": "2.0.1", + "node_modules/@typescript-eslint/types": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", + "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", + "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", + "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", + "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.41.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true @@ -404,7 +962,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -532,6 +1091,12 @@ "node": ">= 6" } }, + "node_modules/ci-info": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", + "dev": true + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -562,9 +1127,10 @@ "dev": true }, "node_modules/commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true, "engines": { "node": "^12.20.0 || >=14" } @@ -575,12 +1141,6 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, "node_modules/core-js-pure": { "version": "3.25.2", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.2.tgz", @@ -592,6 +1152,12 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -629,501 +1195,154 @@ } } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz", - "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/linux-loong64": "0.15.7", - "esbuild-android-64": "0.15.7", - "esbuild-android-arm64": "0.15.7", - "esbuild-darwin-64": "0.15.7", - "esbuild-darwin-arm64": "0.15.7", - "esbuild-freebsd-64": "0.15.7", - "esbuild-freebsd-arm64": "0.15.7", - "esbuild-linux-32": "0.15.7", - "esbuild-linux-64": "0.15.7", - "esbuild-linux-arm": "0.15.7", - "esbuild-linux-arm64": "0.15.7", - "esbuild-linux-mips64le": "0.15.7", - "esbuild-linux-ppc64le": "0.15.7", - "esbuild-linux-riscv64": "0.15.7", - "esbuild-linux-s390x": "0.15.7", - "esbuild-netbsd-64": "0.15.7", - "esbuild-openbsd-64": "0.15.7", - "esbuild-sunos-64": "0.15.7", - "esbuild-windows-32": "0.15.7", - "esbuild-windows-64": "0.15.7", - "esbuild-windows-arm64": "0.15.7" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz", - "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz", - "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz", - "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz", - "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz", - "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz", - "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz", - "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz", - "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz", - "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz", - "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz", - "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz", - "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==", - "cpu": [ - "ppc64" - ], + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz", - "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==", - "cpu": [ - "riscv64" - ], + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild-linux-s390x": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz", - "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==", - "cpu": [ - "s390x" - ], + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=0.3.1" } }, - "node_modules/esbuild-netbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz", - "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==", - "cpu": [ - "x64" - ], + "node_modules/diff-sequences": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esbuild-openbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz", - "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==", - "cpu": [ - "x64" - ], + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "path-type": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild-sunos-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz", - "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==", - "cpu": [ - "x64" - ], + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/esbuild-windows-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz", - "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==", - "cpu": [ - "ia32" - ], + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild-windows-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz", - "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==", - "cpu": [ - "x64" - ], + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "dependencies": { + "has": "^1.0.3" } }, - "node_modules/esbuild-windows-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz", - "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==", - "cpu": [ - "arm64" - ], + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/escalade": { @@ -1148,15 +1367,15 @@ } }, "node_modules/eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -1172,14 +1391,14 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "glob-parent": "^6.0.1", + "glob-parent": "^6.0.2", "globals": "^13.15.0", - "globby": "^11.1.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -1203,46 +1422,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-airbnb": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", - "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", - "dev": true, - "dependencies": { - "eslint-config-airbnb-base": "^15.0.0", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5" - }, - "engines": { - "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.28.0", - "eslint-plugin-react-hooks": "^4.3.0" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", @@ -1375,6 +1554,15 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/eslint-plugin-no-loops": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-loops/-/eslint-plugin-no-loops-0.3.0.tgz", + "integrity": "sha512-qI0oMgD0mA2Kpad2P/WncEqeVzvJKpHs/6+PA1SW4E6gXSXRmeV2cPv6+fnEgFwC7i+QtFRay2jUQ8DCH02nZg==", + "dev": true, + "peerDependencies": { + "eslint": ">=2.0.0" + } + }, "node_modules/eslint-plugin-react": { "version": "7.31.8", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", @@ -1552,6 +1740,22 @@ "node": ">=0.10.0" } }, + "node_modules/expect": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1678,7 +1882,8 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.2", @@ -1770,6 +1975,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1800,6 +2006,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -1808,6 +2015,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1850,6 +2058,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, "node_modules/grapheme-splitter": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", @@ -1972,6 +2186,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1980,7 +2195,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { "version": "1.0.3", @@ -2141,6 +2357,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -2238,6 +2463,82 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/jest-diff": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", + "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.2.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.2.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", + "dev": true, + "dependencies": { + "@jest/types": "^29.2.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/js-sdsl": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", @@ -2359,7 +2660,8 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -2395,6 +2697,24 @@ "loose-envify": "cli.js" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2724,6 +3044,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { "wrappy": "1" } @@ -2855,6 +3176,38 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-format": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -3183,6 +3536,27 @@ "node": ">=8.6.0 <=17" } }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -3319,6 +3693,58 @@ "node": ">=8.0" } }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -3331,6 +3757,27 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3355,6 +3802,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -3385,6 +3845,12 @@ "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", "dev": true }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3451,7 +3917,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/y18n": { "version": "5.0.8", @@ -3462,6 +3929,12 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -3504,6 +3977,15 @@ "node": ">=10" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -3518,6 +4000,90 @@ } }, "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@babel/runtime": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", @@ -3537,17 +4103,19 @@ "regenerator-runtime": "^0.13.4" } }, - "@esbuild/linux-loong64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz", - "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==", + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "optional": true + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } }, "@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -3562,22 +4130,16 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true - }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3590,64 +4152,389 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "@microsoft/eslint-formatter-sarif": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@microsoft/eslint-formatter-sarif/-/eslint-formatter-sarif-3.0.0.tgz", - "integrity": "sha512-KIKkT44hEqCzqxODYwFMUvYEK0CrdHx/Ll9xiOWgFbBSRuzbxmVy4d/tzfgoucGz72HJZNOMjuyzFTBKntRK5Q==", + "@jest/expect-utils": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", + "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/types": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@microsoft/eslint-formatter-sarif": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@microsoft/eslint-formatter-sarif/-/eslint-formatter-sarif-3.0.0.tgz", + "integrity": "sha512-KIKkT44hEqCzqxODYwFMUvYEK0CrdHx/Ll9xiOWgFbBSRuzbxmVy4d/tzfgoucGz72HJZNOMjuyzFTBKntRK5Q==", + "dev": true, + "requires": { + "eslint": "^8.9.0", + "jschardet": "latest", + "lodash": "^4.17.14", + "utf8": "^3.0.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.0.tgz", + "integrity": "sha512-KO7bPV21d65PKwv3LLsD8Jn3E05pjNjRZvkm+YTacWhVmykAb07wW6IkZUmQAltwQafNcDUEUrMO2h3jeBSisg==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.186", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz", + "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==", + "dev": true + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/moo": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@types/moo/-/moo-0.5.5.tgz", + "integrity": "sha512-eXQpwnkI4Ntw5uJg6i2PINdRFWLr55dqjuYQaLHNjvqTzF14QdNWbCbml9sza0byyXNA0hZlHtcdN+VNDcgVHA==" + }, + "@types/nearley": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@types/nearley/-/nearley-2.11.2.tgz", + "integrity": "sha512-jeyIDNBxxyWyEk6HemDC+t32b4fxthVsgWDxf88qD2WpX0QpOyY8JvA80AElPTBGRUsO0EKnr6OeVOjK3ZDdnA==" + }, + "@types/node": { + "version": "18.11.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz", + "integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/stringify-object": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-4.0.1.tgz", + "integrity": "sha512-IBlbUGpI7FoWWr1FHQDntMkA7nCEI7Hox/hmwgWgRqohV7SRRkbWB86PayOX++NwtJTapQ8wIs7XtEp4fXonwA==" + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", + "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/type-utils": "5.41.0", + "@typescript-eslint/utils": "5.41.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", + "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", "dev": true, "requires": { - "eslint": "^8.9.0", - "jschardet": "latest", - "lodash": "^4.17.14", - "utf8": "^3.0.0" + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", + "debug": "^4.3.4" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "@typescript-eslint/scope-manager": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", + "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "@typescript-eslint/type-utils": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", + "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/utils": "5.41.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "@typescript-eslint/types": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", + "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", "dev": true }, - "@types/moo": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@types/moo/-/moo-0.5.5.tgz", - "integrity": "sha512-eXQpwnkI4Ntw5uJg6i2PINdRFWLr55dqjuYQaLHNjvqTzF14QdNWbCbml9sza0byyXNA0hZlHtcdN+VNDcgVHA==" + "@typescript-eslint/typescript-estree": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", + "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } }, - "@types/nearley": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@types/nearley/-/nearley-2.11.2.tgz", - "integrity": "sha512-jeyIDNBxxyWyEk6HemDC+t32b4fxthVsgWDxf88qD2WpX0QpOyY8JvA80AElPTBGRUsO0EKnr6OeVOjK3ZDdnA==" + "@typescript-eslint/utils": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", + "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } }, - "@types/stringify-object": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-4.0.1.tgz", - "integrity": "sha512-IBlbUGpI7FoWWr1FHQDntMkA7nCEI7Hox/hmwgWgRqohV7SRRkbWB86PayOX++NwtJTapQ8wIs7XtEp4fXonwA==" + "@typescript-eslint/visitor-keys": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", + "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.41.0", + "eslint-visitor-keys": "^3.3.0" + } }, "@ungap/promise-all-settled": { "version": "1.1.2", @@ -3668,6 +4555,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3711,6 +4604,12 @@ "picomatch": "^2.0.4" } }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3791,7 +4690,8 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "binary-extensions": { "version": "2.2.0", @@ -3883,6 +4783,12 @@ } } }, + "ci-info": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", + "dev": true + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -3910,9 +4816,10 @@ "dev": true }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true }, "concat-map": { "version": "0.0.1", @@ -3920,18 +4827,18 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, "core-js-pure": { "version": "3.25.2", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.2.tgz", "integrity": "sha512-ItD7YpW1cUB4jaqFLZXe1AXkyqIxz6GqPnsDV4uF4hVcWh/WAGIqSqw5p0/WdsILM0Xht9s3Koyw05R3K6RtiA==", "dev": true }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3986,6 +4893,12 @@ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, + "diff-sequences": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", + "dev": true + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -4066,175 +4979,6 @@ "is-symbol": "^1.0.2" } }, - "esbuild": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz", - "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==", - "dev": true, - "requires": { - "@esbuild/linux-loong64": "0.15.7", - "esbuild-android-64": "0.15.7", - "esbuild-android-arm64": "0.15.7", - "esbuild-darwin-64": "0.15.7", - "esbuild-darwin-arm64": "0.15.7", - "esbuild-freebsd-64": "0.15.7", - "esbuild-freebsd-arm64": "0.15.7", - "esbuild-linux-32": "0.15.7", - "esbuild-linux-64": "0.15.7", - "esbuild-linux-arm": "0.15.7", - "esbuild-linux-arm64": "0.15.7", - "esbuild-linux-mips64le": "0.15.7", - "esbuild-linux-ppc64le": "0.15.7", - "esbuild-linux-riscv64": "0.15.7", - "esbuild-linux-s390x": "0.15.7", - "esbuild-netbsd-64": "0.15.7", - "esbuild-openbsd-64": "0.15.7", - "esbuild-sunos-64": "0.15.7", - "esbuild-windows-32": "0.15.7", - "esbuild-windows-64": "0.15.7", - "esbuild-windows-arm64": "0.15.7" - } - }, - "esbuild-android-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz", - "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz", - "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz", - "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz", - "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz", - "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz", - "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz", - "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz", - "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz", - "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz", - "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz", - "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz", - "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz", - "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz", - "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz", - "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz", - "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz", - "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz", - "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz", - "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz", - "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==", - "dev": true, - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -4248,15 +4992,15 @@ "dev": true }, "eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -4272,14 +5016,14 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "glob-parent": "^6.0.1", + "glob-parent": "^6.0.2", "globals": "^13.15.0", - "globby": "^11.1.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -4294,29 +5038,6 @@ "text-table": "^0.2.0" } }, - "eslint-config-airbnb": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", - "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "^15.0.0", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5" - } - }, - "eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - } - }, "eslint-import-resolver-node": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", @@ -4434,6 +5155,13 @@ } } }, + "eslint-plugin-no-loops": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-loops/-/eslint-plugin-no-loops-0.3.0.tgz", + "integrity": "sha512-qI0oMgD0mA2Kpad2P/WncEqeVzvJKpHs/6+PA1SW4E6gXSXRmeV2cPv6+fnEgFwC7i+QtFRay2jUQ8DCH02nZg==", + "dev": true, + "requires": {} + }, "eslint-plugin-react": { "version": "7.31.8", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", @@ -4559,6 +5287,19 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "expect": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4663,7 +5404,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "fsevents": { "version": "2.3.2", @@ -4727,6 +5469,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4739,6 +5482,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -4747,6 +5491,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -4785,6 +5530,12 @@ "slash": "^3.0.0" } }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, "grapheme-splitter": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", @@ -4868,6 +5619,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4876,7 +5628,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "internal-slot": { "version": "1.0.3", @@ -4983,6 +5736,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -5047,6 +5806,67 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "jest-diff": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" + } + }, + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true + }, + "jest-matcher-utils": { + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", + "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" + } + }, + "jest-message-util": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.2.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.2.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", + "dev": true, + "requires": { + "@jest/types": "^29.2.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "js-sdsl": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", @@ -5147,7 +5967,8 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lodash.merge": { "version": "4.6.2", @@ -5174,6 +5995,21 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5421,6 +6257,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "requires": { "wrappy": "1" } @@ -5513,6 +6350,31 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "pretty-format": { + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5731,6 +6593,23 @@ "nearley": "2.20.1" } }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -5831,6 +6710,35 @@ "is-number": "^7.0.0" } }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -5843,6 +6751,21 @@ "strip-bom": "^3.0.0" } }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5858,6 +6781,12 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -5885,6 +6814,12 @@ "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5933,7 +6868,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "y18n": { "version": "5.0.8", @@ -5941,6 +6877,12 @@ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -5974,6 +6916,12 @@ "is-plain-obj": "^2.1.0" } }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 922aa5f..67bae4a 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,18 @@ { "name": "schema-to-erd", - "version": "1.4.2", + "version": "2.0.0", "description": "Generate ERD UML file from Schema DDL file", - "type": "module", - "main": "dist/main.cjs", - "module": "dist/main.mjs", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "files": [ + "dist" + ], "scripts": { - "test": "mocha --timeout 10000", - "lint": "eslint src", - "build": "node build.js", + "lint": "eslint . --ext .ts", + "test": "mocha --timeout 10000 test/**/*.cjs", + "build": "rm -rf dist/ && npm run build:esm && npm run build:cjs", + "build:esm": "tsc", + "build:cjs": "tsc --module CommonJS --outDir dist/cjs", "release": "npm publish --access public" }, "repository": { @@ -32,21 +36,28 @@ }, "homepage": "https://github.com/youngkiu/schema-to-erd#readme", "dependencies": { - "commander": "^9.4.0", - "glob": "^8.0.3", - "lodash": "^4.17.21", "plantuml-encoder": "^1.4.0", "sql-ddl-to-json-schema": "^4.0.6" }, "devDependencies": { "@microsoft/eslint-formatter-sarif": "^3.0.0", - "esbuild": "^0.15.7", - "eslint": "^8.24.0", - "eslint-config-airbnb": "^19.0.4", + "@types/glob": "^8.0.0", + "@types/jest": "^29.2.0", + "@types/json-schema": "^7.0.11", + "@types/lodash": "^4.14.186", + "@types/node": "^18.11.3", + "@typescript-eslint/eslint-plugin": "^5.41.0", + "@typescript-eslint/parser": "^5.41.0", + "commander": "^9.4.1", + "eslint": "^8.26.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-no-loops": "^0.3.0", "eslint-plugin-react": "^7.31.8", "eslint-plugin-react-hooks": "^4.6.0", - "mocha": "^10.0.0" + "glob": "^8.0.3", + "mocha": "^10.0.0", + "ts-node": "^10.9.1", + "typescript": "^4.8.4" } } diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..9ec1443 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,5 @@ +import schemaToErd from './schema_to_erd'; + +export { + schemaToErd, +}; diff --git a/src/main.js b/src/main.js deleted file mode 100644 index 429bf75..0000000 --- a/src/main.js +++ /dev/null @@ -1,5 +0,0 @@ -import schemaToErd from './schema_to_erd.js'; - -export { - schemaToErd, -}; diff --git a/src/parse_ddl.js b/src/parse_ddl.js deleted file mode 100644 index 09d74f8..0000000 --- a/src/parse_ddl.js +++ /dev/null @@ -1,132 +0,0 @@ -import { Parser } from 'sql-ddl-to-json-schema'; -import assert from 'assert'; -import _ from 'lodash'; -import config from './unparsable.config.js'; - -const parser = new Parser('mysql'); - -function removeFunctionKeyword(sqlStr, functionKeyword) { - let removalSqlStr = sqlStr; - let parenthesesDepth; - let removalStart; - let removalEnd; - - /* eslint-disable no-constant-condition */ - while (true) { - removalStart = removalSqlStr.indexOf(functionKeyword); - if (removalStart === -1) { - break; - } - - parenthesesDepth = 0; - removalEnd = undefined; - for (let i = removalStart + functionKeyword.length; i < removalSqlStr.length; i += 1) { - const c = removalSqlStr.charAt(i); - if (c === '(') { - parenthesesDepth += 1; - } else if (c === ')') { - parenthesesDepth -= 1; - if (parenthesesDepth === 0) { - removalEnd = i + 1; - break; - } - } - } - assert(removalEnd, `Not detect removal region - ${sqlStr}`); - removalSqlStr = removalSqlStr.slice(0, removalStart) + removalSqlStr.slice(removalEnd); - } - return removalSqlStr; -} - -function removeFunctionSql(sqlStr, functionKeywords) { - return functionKeywords.reduce( - (acc, functionKeyword) => removeFunctionKeyword(acc, functionKeyword), - sqlStr, - ); -} - -function removeUnparsableToken(ddlStr) { - return Object.keys(config).reduce( - (acc, unparsableType) => { - const values = config[unparsableType]; - if (_.isEmpty(values)) { - return acc; - } - /* eslint-disable no-case-declarations */ - switch (unparsableType) { - case 'inter-token': - const interTokenRegExp = new RegExp(`\\s+(${values.join('|')})\\s+`, 'gmi'); - return acc.replace(interTokenRegExp, ' '); - case 'match-token': - const matchTokenRegExp = new RegExp(`(${values.join('|')})`, 'gm'); - return acc.replace(matchTokenRegExp, ''); - case 'func-token': - return removeFunctionSql(acc, values); - default: - assert(false, `Not supported token type: ${unparsableType}`); - break; - } - assert(false, 'This can never be reached.'); - return acc; - }, - ddlStr, - ); -} - -function splitDdl(sqlStr) { - const ddls = []; - const ddlRegExp = /(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i; - let offset = 0; - while (offset < sqlStr.length) { - const restSqlStr = sqlStr.substring(offset, sqlStr.length); - const start = restSqlStr.search(ddlRegExp); - if (start === -1) { - break; - } - const end = restSqlStr.indexOf(';', start); - if (end === -1) { - throw new Error(`Not found semicolon(;). Error - ${restSqlStr}`); - } - const ddlStr = restSqlStr.substring(start, end + 1); - ddls.push(removeUnparsableToken(ddlStr).replace(/,[\n\r\s]+\)/gm, '\n)')); - offset += end; - } - return ddls; -} - -function extractTableObj(jsonSchemaDocuments) { - const tableName = jsonSchemaDocuments.title; - const columnNames = Object.keys(jsonSchemaDocuments.definitions); - const primaryKeys = Object.entries(jsonSchemaDocuments.definitions) - .reduce((acc, [key, val]) => (val.$comment === 'primary key' ? [...acc, key] : acc), []); - return { - tableName, - columnNames, - primaryKeys, - }; -} - -const removeSqlComments = (sqlStr) => sqlStr - .replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/6441056 - .replace(/COMMENT\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/171483 - .replace(/\/\*.*?\*\/|--.*?\n/gs, ''); // https://stackoverflow.com/a/21018155 - -export default (sqlStr) => splitDdl(removeSqlComments(sqlStr)) - .reduce( - (acc, sql) => { - try { - const options = { useRef: true }; - const jsonSchemaDocuments = parser.feed(sql).toJsonSchemaArray(options); - if (jsonSchemaDocuments.length === 0) { - return acc; - } - assert(jsonSchemaDocuments.length === 1, 'Parse only one DDL at a time.'); - const { tableName, columnNames, primaryKeys } = extractTableObj(jsonSchemaDocuments[0]); - return { ...acc, [tableName]: { columnNames, primaryKeys } }; - } catch (err) { - console.error(`Can not parse "${sql}"`); - return acc; - } - }, - {}, - ); diff --git a/src/parse_ddl.ts b/src/parse_ddl.ts new file mode 100644 index 0000000..b3dacc7 --- /dev/null +++ b/src/parse_ddl.ts @@ -0,0 +1,158 @@ +import { Parser } from 'sql-ddl-to-json-schema'; +import assert from 'assert'; +import config from './unparsable.config'; +import { JSONSchema7 } from 'json-schema'; + +const parser = new Parser('mysql'); + +function removeFunctionKeyword(sqlStr: string, functionKeyword: string): string { + let removalSqlStr = sqlStr; + let parenthesesDepth; + let removalStart; + let removalEnd; + + /* eslint-disable no-constant-condition */ + while (true) { + removalStart = removalSqlStr.indexOf(functionKeyword); + if (removalStart === -1) { + break; + } + + parenthesesDepth = 0; + removalEnd = undefined; + for (let i = removalStart + functionKeyword.length; i < removalSqlStr.length; i += 1) { + const c = removalSqlStr.charAt(i); + if (c === '(') { + parenthesesDepth += 1; + } else if (c === ')') { + parenthesesDepth -= 1; + if (parenthesesDepth === 0) { + removalEnd = i + 1; + break; + } + } + } + assert(removalEnd, `Not detect removal region - ${sqlStr}`); + removalSqlStr = removalSqlStr.slice(0, removalStart) + removalSqlStr.slice(removalEnd); + } + return removalSqlStr; +} + +function removeFunctionSql(sqlStr: string, functionKeywords: string[]): string { + return functionKeywords.reduce( + (acc, functionKeyword) => removeFunctionKeyword(acc, functionKeyword), + sqlStr, + ); +} + +function removeUnparsableToken(ddlStr: string): string { + return Object.entries(config).reduce( + (acc, [key, value]) => { + if (typeof value !== 'undefined' && value.length > 0) { + /* eslint-disable no-case-declarations */ + switch (key) { + case 'inter-token': + const interTokenRegExp = new RegExp(`\\s+(${value.join('|')})\\s+`, 'gmi'); + return acc.replace(interTokenRegExp, ' '); + case 'match-token': + const matchTokenRegExp = new RegExp(`(${value.join('|')})`, 'gm'); + return acc.replace(matchTokenRegExp, ''); + case 'func-token': + return removeFunctionSql(acc, value); + default: + assert(false, `Not supported token type: ${key}`); + break; + } + assert(false, 'This can never be reached.'); + return acc; + } else { + return acc; + } + }, + ddlStr, + ); +} + +function splitDdl(sqlStr: string): string[] { + const ddls = []; + const ddlRegExp = /(CREATE|ALTER|DROP|RENAME|TRUNCATE)\sTABLE/i; + let offset = 0; + while (offset < sqlStr.length) { + const restSqlStr = sqlStr.substring(offset, sqlStr.length); + const start = restSqlStr.search(ddlRegExp); + if (start === -1) { + break; + } + const end = restSqlStr.indexOf(';', start); + if (end === -1) { + throw new Error(`Not found semicolon(;). Error - ${restSqlStr}`); + } + const ddlStr = restSqlStr.substring(start, end + 1); + ddls.push(removeUnparsableToken(ddlStr).replace(/,[\n\r\s]+\)/gm, '\n)')); + offset += end; + } + return ddls; +} + +function extractTableObj(jsonSchemaDocuments: JSONSchema7): + { primaryKeys: string[]; columnNames: string[]; tableName: string } | undefined +{ + const { title: tableName, definitions } = jsonSchemaDocuments; + if (tableName === undefined || definitions === undefined) { + return undefined; + } + const columnNames = Object.keys(definitions); + const primaryKeys = Object.entries(definitions) + .reduce( + (acc, [key, val]) => { + if (typeof val === 'boolean') { + return acc; + } + return (val.$comment === 'primary key' ? [...acc, key] : acc); + } + , [] + ); + + return { + tableName, + columnNames, + primaryKeys, + }; +} + +const removeSqlComments = (sqlStr: string): string => sqlStr + .replace(/alter\s+table\s+(.*)\s+comment\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/6441056 + .replace(/COMMENT\s+['"](.*?)['"]/gi, '') // https://stackoverflow.com/a/171483 + .replace(/\/\*.*?\*\/|--.*?\n/gs, ''); // https://stackoverflow.com/a/21018155 + +export type parseDdlType = { + [tableName: string]: { + columnNames: string[], + primaryKeys: string[], + } +}; + +export default (sqlStr: string): parseDdlType => + splitDdl(removeSqlComments(sqlStr)) + .reduce( + (acc, sql) => { + try { + const options = { useRef: true }; + const jsonSchemaDocuments = parser.feed(sql).toJsonSchemaArray(options); + if (jsonSchemaDocuments.length === 0) { + return acc; + } + assert(jsonSchemaDocuments.length === 1, 'Parse only one DDL at a time.'); + const tableObj = extractTableObj(jsonSchemaDocuments[0]); + if (tableObj === undefined) { + return acc; + } + const { tableName, columnNames, primaryKeys } = tableObj; + return { ...acc, [tableName]: { columnNames, primaryKeys } }; + } catch (err) { + throw Error(`Can not parse "${sql}"`); + return acc; + } + }, + {}, + ); diff --git a/src/plantuml_table.js b/src/plantuml_table.ts similarity index 68% rename from src/plantuml_table.js rename to src/plantuml_table.ts index acab1e3..674d3b4 100644 --- a/src/plantuml_table.js +++ b/src/plantuml_table.ts @@ -1,4 +1,6 @@ -function generateEntity(tableName, columnNames, primaryKeys) { +import { parseDdlType } from "./parse_ddl"; + +function generateEntity(tableName: string, columnNames: string[], primaryKeys: string[]): string { const columnNamesWithPk = columnNames.map((columnName) => (primaryKeys.includes(columnName) ? `*${columnName}` : columnName)); const columnsStr = columnNamesWithPk.join('\n '); return `entity ${tableName} { @@ -7,9 +9,16 @@ function generateEntity(tableName, columnNames, primaryKeys) { `; } -function generateRelation(tableName, columnNames, primaryKeys, allPKs) { +type pkObjType = { + [primaryKeyName: string]: { + [tableName: string]: string, + columnName: string, + } +}; + +function generateRelation(tableName: string, columnNames: string[], primaryKeys: string[], allPKs: pkObjType): string[] { const allPkNames = Object.keys(allPKs); - return columnNames.reduce( + return columnNames.reduce( (acc, columnName) => { if (!primaryKeys.includes(columnName) && allPkNames.includes(columnName)) { const foreignKey = allPKs[columnName]; @@ -21,14 +30,14 @@ function generateRelation(tableName, columnNames, primaryKeys, allPKs) { ); } -export default function generatePlantUml(tableColumns) { - const entities = Object.entries(tableColumns).reduce( +export default function generatePlantUml(tableColumns: parseDdlType) { + const entities: string = Object.entries(tableColumns).reduce( (acc, [tableName, { columnNames, primaryKeys }]) => ( acc + generateEntity(tableName, columnNames, primaryKeys) ), '', ); - const allPKs = Object.entries(tableColumns).reduce( + const allPKs: pkObjType = Object.entries(tableColumns).reduce( (accTable, [tableName, { primaryKeys }]) => primaryKeys.reduce( (accPk, primaryKey) => { const primaryKeyName = primaryKey.startsWith(tableName) ? primaryKey : `${tableName}_${primaryKey}`; @@ -39,7 +48,7 @@ export default function generatePlantUml(tableColumns) { ), {}, ); - const relations = Object.entries(tableColumns).reduce( + const relations: string[] = Object.entries(tableColumns).reduce( (acc, [tableName, { columnNames, primaryKeys }]) => [ ...acc, ...generateRelation(tableName, columnNames, primaryKeys, allPKs), ], diff --git a/src/schema_to_erd.js b/src/schema_to_erd.js deleted file mode 100644 index 0e31ec4..0000000 --- a/src/schema_to_erd.js +++ /dev/null @@ -1,20 +0,0 @@ -import { promises as fs } from 'fs'; -import path from 'path'; -import parseDdl from './parse_ddl.js'; -import generatePlantUml from './plantuml_table.js'; - -export default async function schemaToErd(schemaFilePath, outputDirPath) { - const sqlStr = await fs.readFile(schemaFilePath, 'utf8'); - - const tableColumns = parseDdl(sqlStr); - const pumlStr = generatePlantUml(tableColumns); - - const pumlDirPath = outputDirPath || path.parse(schemaFilePath).dir; - const pumlFilePath = path.join(pumlDirPath, `${path.parse(schemaFilePath).name}.puml`); - if (pumlDirPath) { - await fs.mkdir(pumlDirPath, { recursive: true }); - } - await fs.writeFile(pumlFilePath, pumlStr, 'utf8'); - - return { pumlFilePath, pumlStr }; -} diff --git a/src/schema_to_erd.ts b/src/schema_to_erd.ts new file mode 100644 index 0000000..4e2f952 --- /dev/null +++ b/src/schema_to_erd.ts @@ -0,0 +1,22 @@ +import { promises as fs } from 'fs'; +import path from 'path'; +import parseDdl, { parseDdlType } from './parse_ddl'; +import generatePlantUml from './plantuml_table'; +import { PathLike } from "node:fs"; + +export default async function schemaToErd(schemaFilePath: PathLike, outputDirPath?: PathLike) { + const sqlStr = await fs.readFile(schemaFilePath, 'utf8'); + + const tableColumns: parseDdlType = parseDdl(sqlStr); + const pumlStr = generatePlantUml(tableColumns); + + const schemaFilePathStr = schemaFilePath.toString(); + const pumlDirPath = outputDirPath?.toString() || path.parse(schemaFilePathStr).dir; + const pumlFilePath = path.join(pumlDirPath, `${path.parse(schemaFilePathStr).name}.puml`); + if (pumlDirPath) { + await fs.mkdir(pumlDirPath, { recursive: true }); + } + await fs.writeFile(pumlFilePath, pumlStr, 'utf8'); + + return { pumlFilePath, pumlStr }; +} diff --git a/src/unparsable.config.js b/src/unparsable.config.ts similarity index 98% rename from src/unparsable.config.js rename to src/unparsable.config.ts index 8cdc0ba..bc3690d 100644 --- a/src/unparsable.config.js +++ b/src/unparsable.config.ts @@ -2,4 +2,4 @@ export default { 'inter-token': ['BINARY', 'national', 'STORED'], 'match-token': ['VIRTUAL', 'type = innodb', 'default 0000-00-00 00:00:00', 'default 0000-00-00', 'CONSTRAINT check_active'], 'func-token': ['GENERATED', 'CHECK', 'PARTITION BY LIST (transaction_type)'], -}; +} diff --git a/test/schema_to_erd.spec.cjs b/test/schema_to_erd.spec.cjs new file mode 100644 index 0000000..e9d9635 --- /dev/null +++ b/test/schema_to_erd.spec.cjs @@ -0,0 +1,37 @@ +const { schemaToErd } = require('../dist/cjs/index'); +const fs = require('fs').promises; +const path = require('path'); +const glob = require('glob'); +const assert = require('assert'); + +const compareFiles = async (filePath1, filePath2) => { + const isExistsFilePath1 = !!(await fs.stat(filePath1).catch((e) => false)); + const isExistsFilePath2 = !!(await fs.stat(filePath2).catch((e) => false)); + if (isExistsFilePath1 !== isExistsFilePath2) { + console.error(`Not exist file: ${isExistsFilePath1 ?? isExistsFilePath2}`) + return false; + } + + const filePath1Buf = await fs.readFile(filePath1); + const filePath2Buf = await fs.readFile(filePath2); + const isEqual = filePath1Buf.equals(filePath2Buf); + if (isEqual) { + await fs.unlink(filePath1); + } + return isEqual; +}; + +const fileList = glob.sync('schema_samples/**/*.sql'); +console.log(fileList); + +describe('samples', () => { + fileList.map((filePath) => { + it(path.parse(filePath).base, async () => { + const { pumlFilePath } = await schemaToErd(filePath); + const { dir, base } = path.parse(pumlFilePath); + const pathParts = dir.split(path.sep); + const expectedFilePath = path.join('./puml_examples', ...pathParts.slice(1), base); + assert.ok(await compareFiles(pumlFilePath, expectedFilePath)); + }); + }); +}); diff --git a/test/schema_to_erd.spec.js b/test/schema_to_erd.spec.mjs similarity index 77% rename from test/schema_to_erd.spec.js rename to test/schema_to_erd.spec.mjs index 691e97a..c149383 100644 --- a/test/schema_to_erd.spec.js +++ b/test/schema_to_erd.spec.mjs @@ -1,18 +1,18 @@ -import { schemaToErd } from '../src/main.js'; +/* package.json + * { + * "type": "module", + * "scripts": { + * "test": "mocha --timeout 10000 --experimental-specifier-resolution=node" + * } + * } + */ + +import { schemaToErd } from '../dist/esm/index'; import { promises as fs } from 'fs'; import path from 'path'; import glob from 'glob'; import assert from 'assert'; -const getSqlFiles = (pattern, options) => { - return new Promise((resolve, reject) => { - glob(pattern, options, (err, data) => { - if (err) return reject(err) - resolve(data) - }) - }) -} - const compareFiles = async (filePath1, filePath2) => { const isExistsFilePath1 = !!(await fs.stat(filePath1).catch((e) => false)); const isExistsFilePath2 = !!(await fs.stat(filePath2).catch((e) => false)); @@ -30,10 +30,10 @@ const compareFiles = async (filePath1, filePath2) => { return isEqual; }; -const fileList = await getSqlFiles('schema_samples/**/*.sql'); +const fileList = glob.sync('schema_samples/**/*.sql'); console.log(fileList); -describe('samples', () => { +describe('samples', () => { fileList.map((filePath) => { it(path.parse(filePath).base, async () => { const { pumlFilePath } = await schemaToErd(filePath); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..727f936 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,103 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "es2015", /* Specify what module code is generated. */ + "rootDir": "./src", /* Specify the root folder within your source files. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./dist/esm", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + // "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +}