@peerbit/indexer-sqlite3
Advanced tools
@@ -8,3 +8,3 @@ import { type AbstractType } from "@dao-xyz/borsh"; | ||
| type FKMode = "strict" | "race-tolerant"; | ||
| export declare class SQLLiteIndex<T extends Record<string, any>> implements Index<T, any> { | ||
| export declare class SQLiteIndex<T extends Record<string, any>> implements Index<T, any> { | ||
| readonly properties: { | ||
@@ -14,2 +14,3 @@ scope: string[]; | ||
| schema: AbstractType<any>; | ||
| persisted?: boolean; | ||
| start?: () => Promise<void> | void; | ||
@@ -36,2 +37,3 @@ stop?: () => Promise<void> | void; | ||
| schema: AbstractType<any>; | ||
| persisted?: boolean; | ||
| start?: () => Promise<void> | void; | ||
@@ -43,2 +45,3 @@ stop?: () => Promise<void> | void; | ||
| }); | ||
| persisted(): boolean; | ||
| get tables(): Map<string, Table>; | ||
@@ -59,3 +62,5 @@ get rootTables(): Table[]; | ||
| }): Promise<IndexedResult<T> | undefined>; | ||
| put(value: T, _id?: any): Promise<void>; | ||
| put(value: T, _id?: any, options?: { | ||
| replace?: boolean; | ||
| }): Promise<void>; | ||
| iterate<S extends Shape | undefined>(request?: types.IterateOptions, options?: { | ||
@@ -91,2 +96,3 @@ shape?: S; | ||
| scope(name: string): Promise<types.Indices>; | ||
| persisted(): boolean; | ||
| start(): Promise<void>; | ||
@@ -96,3 +102,3 @@ stop(): Promise<void>; | ||
| } | ||
| export {}; | ||
| export { SQLiteIndex as SQLLiteIndex }; | ||
| //# sourceMappingURL=engine.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA+B,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EACX,KAAK,EACL,yBAAyB,EACzB,aAAa,EACb,KAAK,EACL,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEN,KAAK,KAAK,EAkBV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAYtD,KAAK,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC;AA2CzC,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACtD,YAAW,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;IAwDvB,QAAQ,CAAC,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,EAAE,EAAE,QAAQ,CAAC;QACb,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAClC;IAjDF,OAAO,CAAC,aAAa,CAAoC;YAE3C,gBAAgB;IAmB9B,aAAa,EAAG,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAG,MAAM,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAOb;IACF,OAAO,CAAC,YAAY,CAA6C;IAEjE,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAS;IAEvB,EAAE,EAAE,MAAM,CAAC;gBAED,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,EAAE,EAAE,QAAQ,CAAC;QACb,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAClC,EACD,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAexD,IAAI,MAAM,uBAKT;IAED,IAAI,UAAU,YAKb;IAED,IAAI,MAAM;eAjDD,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;gBAE3C,MAAM;OAoDf;IAED,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC,EAAE,GAAG,CAAC;IA0B5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA0Gd,eAAe;IAOvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCb,mBAAmB;IAW3B,GAAG,CACR,EAAE,EAAE,KAAK,CAAC,KAAK,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,GACxB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAwClC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD7C,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,SAAS,EAClC,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,EAC9B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YA8Jd,eAAe;IAUvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAY1B,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IA6CvD,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAiDtD,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1D,IAAI,WAAW,IAAI,MAAM,CAExB;CACD;AAED,qBAAa,aAAc,YAAW,KAAK,CAAC,OAAO;IAOjD,QAAQ,CAAC,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,EAAE,EAAE,QAAQ,CAAC;QACb,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAXF,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,MAAM,CAAQ;gBAGZ,UAAU,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,EAAE,EAAE,QAAQ,CAAC;QACb,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB;IAOI,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EACnD,UAAU,EAAE,yBAAyB,CAAC,CAAC,EAAE,UAAU,CAAC,GAClD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAoB1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IAwB3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB3B"} | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"} |
+75
-9
@@ -6,3 +6,3 @@ import { getSchema } from "@dao-xyz/borsh"; | ||
| import { MissingFieldError, buildJoin, convertCountRequestToQuery, convertDeleteRequestToQuery, convertFromSQLType, convertSearchRequestToQuery, convertSumRequestToQuery, convertToSQLType, escapeColumnName, generateSelectQuery, getInlineTableFieldName, getSQLTable, getTablePrefixedField, insert, resolveInstanceFromValue, resolveTable, selectAllFieldsFromTable, selectChildren, } from "./schema.js"; | ||
| import { isFKError } from "./utils.js"; | ||
| import { isFKError, isUniqueConstraintError } from "./utils.js"; | ||
| const escapePathToSQLName = (path) => { | ||
@@ -12,2 +12,4 @@ return path.map((x) => x.replace(/[^a-zA-Z0-9]/g, "_")); | ||
| const putStatementKey = (table) => table.name + "_put"; | ||
| const insertKnownIdStatementKey = (table) => table.name + "_insert_known_id"; | ||
| const putStatementBatchNoReturnKey = (table, rows) => table.name + "_put_batch_noreturn_" + rows; | ||
| const replaceStatementKey = (table) => table.name + "_replicate"; | ||
@@ -58,3 +60,18 @@ const resolveChildrenStatement = (table) => table.name + "_resolve_children"; | ||
| } | ||
| export class SQLLiteIndex { | ||
| const createBatchInsertSQL = (table, rows) => { | ||
| const columns = table.fields.map((field) => escapeColumnName(field.name)).join(", "); | ||
| const rowPlaceholder = `(${table.fields.map(() => "?").join(", ")})`; | ||
| return `insert into ${table.name} (${columns}) VALUES ${Array.from({ | ||
| length: rows, | ||
| }) | ||
| .map(() => rowPlaceholder) | ||
| .join(", ")};`; | ||
| }; | ||
| const canUseWithoutRowId = (table) => { | ||
| if (table.inline || table.primary === false || !table.primaryField) { | ||
| return false; | ||
| } | ||
| return !/^INTEGER\b/i.test(table.primaryField.type); | ||
| }; | ||
| export class SQLiteIndex { | ||
| properties; | ||
@@ -114,2 +131,5 @@ // SQLite writes are inherently serialized per connection. | ||
| } | ||
| persisted() { | ||
| return this.properties.persisted ?? true; | ||
| } | ||
| get tables() { | ||
@@ -176,3 +196,6 @@ if (this.closed) { | ||
| } | ||
| const sqlCreateTable = `create table if not exists ${table.name} (${[...table.fields, ...table.constraints].map((s) => s.definition).join(", ")}) strict`; | ||
| const tableOptions = canUseWithoutRowId(table) | ||
| ? " strict, without rowid" | ||
| : " strict"; | ||
| const sqlCreateTable = `create table if not exists ${table.name} (${[...table.fields, ...table.constraints].map((s) => s.definition).join(", ")})${tableOptions}`; | ||
| this.properties.db.exec(sqlCreateTable); | ||
@@ -213,5 +236,8 @@ /* const fieldsToIndex = table.fields.filter( | ||
| let sqlPut = `insert into ${table.name} (${table.fields.map((field) => escapeColumnName(field.name)).join(", ")}) VALUES (${table.fields.map((_x) => "?").join(", ")}) RETURNING ${table.primary};`; | ||
| // insert without replace when the caller already knows the id is fresh | ||
| let sqlInsertKnownId = `insert into ${table.name} (${table.fields.map((field) => escapeColumnName(field.name)).join(", ")}) VALUES (${table.fields.map((_x) => "?").join(", ")});`; | ||
| // insert or replace with id already defined | ||
| let sqlReplace = `insert or replace into ${table.name} (${table.fields.map((field) => escapeColumnName(field.name)).join(", ")}) VALUES (${table.fields.map((_x) => "?").join(", ")});`; | ||
| await this.properties.db.prepare(sqlPut, putStatementKey(table)); | ||
| await this.properties.db.prepare(sqlInsertKnownId, insertKnownIdStatementKey(table)); | ||
| await this.properties.db.prepare(sqlReplace, replaceStatementKey(table)); | ||
@@ -310,3 +336,3 @@ if (table.parent) { | ||
| } | ||
| async put(value, _id) { | ||
| async put(value, _id, options) { | ||
| return this.withWriteBarrier(async () => { | ||
@@ -319,6 +345,27 @@ const classOfValue = value.constructor; | ||
| if (preId != null) { | ||
| statement = this.properties.db.statements.get(replaceStatementKey(table)); | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| const shouldReplace = options?.replace ?? true; | ||
| if (!shouldReplace) { | ||
| statement = this.properties.db.statements.get(insertKnownIdStatementKey(table)); | ||
| try { | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } | ||
| catch (error) { | ||
| if (!isUniqueConstraintError(error)) { | ||
| throw error; | ||
| } | ||
| await statement.reset?.(); | ||
| statement = this.properties.db.statements.get(replaceStatementKey(table)); | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } | ||
| } | ||
| else { | ||
| statement = this.properties.db.statements.get(replaceStatementKey(table)); | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } | ||
| return preId; | ||
@@ -343,2 +390,16 @@ } | ||
| throw new Error("Unexpected"); | ||
| }, undefined, undefined, { | ||
| insertSimpleVecRows: async (rows, table) => { | ||
| if (rows.length === 0) { | ||
| return; | ||
| } | ||
| const key = putStatementBatchNoReturnKey(table, rows.length); | ||
| const sql = createBatchInsertSQL(table, rows.length); | ||
| const statement = this.properties.db.statements.get(key) || | ||
| (await this.properties.db.prepare(sql, key)); | ||
| const values = rows.flat(); | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| }, | ||
| }); | ||
@@ -594,6 +655,7 @@ }); | ||
| } | ||
| const index = new SQLLiteIndex({ | ||
| const index = new SQLiteIndex({ | ||
| db: this.properties.db, | ||
| schema: properties.schema, | ||
| scope: this._scope, | ||
| persisted: await this.persisted(), | ||
| }); | ||
@@ -628,2 +690,5 @@ await index.init(properties); | ||
| } | ||
| persisted() { | ||
| return this.properties.directory != null; | ||
| } | ||
| async start() { | ||
@@ -671,2 +736,3 @@ this.closed = false; | ||
| } | ||
| export { SQLiteIndex as SQLLiteIndex }; | ||
| //# sourceMappingURL=engine.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"} |
@@ -1,5 +0,9 @@ | ||
| import { SQLLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import { SQLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import type { SQLiteBrowserOptions, SQLiteProfileSample } from "./sqlite3.browser.js"; | ||
| import type { SQLiteLockingMode, SQLitePragmaOptions, SQLiteSynchronousMode, SQLiteTempStoreMode, SqliteWorkerProtocol } from "./sqlite3-messages.worker.js"; | ||
| export declare const encodeName: (name: string) => string; | ||
| declare const create: (directory?: string) => Promise<SQLiteIndices>; | ||
| export { create, SQLiteIndices, SQLLiteIndex }; | ||
| declare const create: (directory?: string, options?: SQLiteBrowserOptions) => Promise<SQLiteIndices>; | ||
| declare const createDatabase: (directory?: string, options?: SQLiteBrowserOptions) => Promise<import("./types.ts").Database>; | ||
| export { create, createDatabase, SQLiteIndices, SQLiteIndex, SQLiteIndex as SQLLiteIndex, }; | ||
| export type { SQLiteBrowserOptions, SQLiteLockingMode, SQLitePragmaOptions, SQLiteProfileSample, SQLiteSynchronousMode, SQLiteTempStoreMode, SqliteWorkerProtocol, }; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG1D,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,aAAa,CAG/D,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,QAAA,MAAM,MAAM,GACX,YAAY,MAAM,EAClB,UAAU,oBAAoB,KAC5B,OAAO,CAAC,aAAa,CAGvB,CAAC;AAEF,QAAA,MAAM,cAAc,GACnB,YAAY,MAAM,EAClB,UAAU,oBAAoB,2CACC,CAAC;AAEjC,OAAO,EACN,MAAM,EACN,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,IAAI,YAAY,GAC3B,CAAC;AACF,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,GACpB,CAAC"} |
| import { BinaryWriter } from "@dao-xyz/borsh"; | ||
| import { sha256Sync, toBase58 } from "@peerbit/crypto"; | ||
| import { SQLLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import { SQLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import { create as sqlite3 } from "./sqlite3.js"; | ||
@@ -10,7 +10,8 @@ export const encodeName = (name) => { | ||
| }; | ||
| const create = async (directory) => { | ||
| const db = await sqlite3(directory); | ||
| const create = async (directory, options) => { | ||
| const db = await sqlite3(directory, options); | ||
| return new SQLiteIndices({ db, directory }); | ||
| }; | ||
| export { create, SQLiteIndices, SQLLiteIndex }; | ||
| const createDatabase = (directory, options) => sqlite3(directory, options); | ||
| export { create, createDatabase, SQLiteIndices, SQLiteIndex, SQLiteIndex as SQLLiteIndex, }; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,EAAE,SAAkB,EAA0B,EAAE;IACnE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAajD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,EACnB,SAAkB,EAClB,OAA8B,EACL,EAAE;IAC3B,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACtB,SAAkB,EAClB,OAA8B,EAC7B,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEjC,OAAO,EACN,MAAM,EACN,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,IAAI,YAAY,GAC3B,CAAC"} |
@@ -58,3 +58,7 @@ import { type AbstractType, type Constructor, type Field, type FieldType } from "@dao-xyz/borsh"; | ||
| export declare const resolveTable: <B extends boolean, R = B extends true ? Table : Table | undefined>(key: string[], tables: Map<string, Table>, clazz: string | Constructor<any>, throwOnMissing: B) => R; | ||
| export declare const insert: (insertFn: (values: any[], table: Table) => Promise<any> | any, obj: Record<string, any>, tables: Map<string, Table>, table: Table, fields: Field[], handleNestedCallback?: (cb: (parentId: any) => Promise<void>) => Promise<void> | void | number, parentId?: any, index?: number) => Promise<void>; | ||
| export declare const insert: (insertFn: (values: any[], table: Table, options?: { | ||
| requireId?: boolean; | ||
| }) => Promise<any> | any, obj: Record<string, any>, tables: Map<string, Table>, table: Table, fields: Field[], handleNestedCallback?: (cb: (parentId: any) => Promise<void>) => Promise<void> | void | number, parentId?: any, index?: number, options?: { | ||
| insertSimpleVecRows?: (rows: any[][], table: Table) => Promise<void> | void; | ||
| }) => Promise<void>; | ||
| export declare const getTablePrefixedField: (table: Table, key: string, skipPrefix?: boolean) => string; | ||
@@ -61,0 +65,0 @@ export declare const getTableNameFromPrefixedField: (prefixedField: string) => string; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,SAAS,EAWd,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AAqBxE,MAAM,MAAM,YAAY,GACrB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,MAAM,GACN,UAAU,GACV,SAAS,GACT,WAAW,CAAC;AAEf,MAAM,MAAM,aAAa,GACtB,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,WAAW,GACX,IAAI,CAAC;AAKR,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,MAAM,WAE5C,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,MAAM,WACwB,CAAC;AAEtE,eAAO,MAAM,gBAAgB,GAC5B,OAAO,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,OAAO,SAAS,KACd,aAcF,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,aAAU,WACjC,CAAC;AAEzB,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED,eAAO,MAAM,kBAAkB,GAC9B,OAAO,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,EACtD,MAAM,SAAS,GAAG,SAAS,QA+B3B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,EAAE,oBAAkB,WAmB5D,CAAC;AAEF,KAAK,QAAQ,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AACF,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AA8F1D,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,GACvB,MAAM,YAAY,CAAC,GAAG,CAAC,EACvB,MAAM,MAAM,EAAE,EACd,SAAS,MAAM,GAAG,KAAK,EACvB,QAAQ,OAAO,EACf,cACG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC,GAC5D,SAAS,EACZ,oBAAmB,OAAe,KAGhC,KAAK,EA6CP,CAAC;AA0BF,eAAO,MAAM,YAAY,GACxB,MAAM,MAAM,EAAE,YAAK,EACnB,OAAO,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAuBhC,CAAC;AAEF,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAe7C,eAAO,MAAM,YAAY,GACxB,WAAW,MAAM,EACjB,MAAM,MAAM,EAAE,EACd,MAAM,WAAW,CAAC,GAAG,CAAC,EACtB,SAAS,MAAM,GAAG,KAAK,EACvB,yBAAyB,CACxB,MAAM,EAAE,QAAQ,EAAE,EAClB,WAAW,EAAE,aAAa,EAAE,KACxB,IAAI,EACT,SAAQ,KAAK,EAAO,EACpB,oBAAkB,KAChB;IACF,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,YAAY,EAAE,KAAK,EAAE,CAAC;CAmPtB,CAAC;AAEF,eAAO,MAAM,YAAY,GACxB,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,EAE9C,KAAK,MAAM,EAAE,EACb,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,EAChC,gBAAgB,CAAC,KACf,CAmBF,CAAC;AAkIF,eAAO,MAAM,MAAM,GAClB,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAC7D,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,EACZ,QAAQ,KAAK,EAAE,EACf,uBAAuB,CACtB,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,KAChC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,EAClC,WAAU,GAAe,EACzB,QAAQ,MAAM,KACZ,OAAO,CAAC,IAAI,CA+Id,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,OAAO,KAAK,EACZ,KAAK,MAAM,EACX,aAAY,OAAe,WAEgE,CAAC;AAC7F,eAAO,MAAM,6BAA6B,GAAI,eAAe,MAAM,WACvC,CAAC;AAE7B,eAAO,MAAM,uBAAuB,GACnC,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EACnC,MAAM,MAAM,KACV,MAqBF,CAAC;AAmCF,eAAO,MAAM,cAAc,GAAI,eAAe,KAAK,WAC0B,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAC/B,OAAO,KAAK,EACZ,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,WAGvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACrC,QAAQ,KAAK,EAAE,EACf,OAAO,KAAK,CAAC,KAAK,GAAG,SAAS;aAGpB;QACR,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACX,EAAE;WACI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;aAC1B,MAAM,GAAG,SAAS;GAsC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACpC,OAAO,KAAK,EACZ,OAAO,KAAK,CAAC,KAAK,GAAG,SAAS;;;cAIA,MAAM;YAAM,MAAM;;;CA+GhD,CAAC;AAcF,eAAO,MAAM,wBAAwB,GACpC,CAAC,EACD,CAAC,SAAS,KAAK,CAAC,KAAK,GAAG,SAAS,EAEjC,yBAAyB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5C,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,EACZ,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,EAChE,eAAe,OAAO,EACtB,QAAQ,CAAC,KACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAmNzC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,QAQ5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACvC,SAAS,KAAK,CAAC,aAAa,EAC5B,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,KACV;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;CAWhC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACpC,SAAS,KAAK,CAAC,UAAU,EACzB,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,KACV;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;CAmBhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACtC,SAAS,KAAK,CAAC,YAAY,GAAG,SAAS,EACvC,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,KACV;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;CAWhC,CAAC;AA8DF,eAAO,MAAM,2BAA2B,GACvC,SACG;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;CAAE,GAC1D,SAAS,EACZ,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,YAAY,KAAK,EAAE,EACnB,UAAU;IACT,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC1B,KACC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;CA+EhC,CAAC;AAgKF,eAAO,MAAM,SAAS,GACrB,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,UAAU;IACT,OAAO,CAAC,EAAE,eAAe,CAAC;CAC1B,KACC;IAAE,IAAI,EAAE,MAAM,CAAA;CAqBhB,CAAC;AA0CF,eAAO,MAAM,sBAAsB,GAClC,OAAO,KAAK,CAAC,KAAK,EAClB,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,OAAO,KAAK,EACZ,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,MAAM,MAAM,EAAE,EACd,YAAY,MAAM,GAAG,SAAS,EAC9B,UAAU,MAAM,KACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;CAqFlC,CAAC;AAMF,KAAK,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7C,KAAK,SAAS,GAAG;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,KAAK,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC"} | ||
| {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAKN,cAAc,EACd,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,KAAK,IAAI,iBAAiB,EAC1B,eAAe,EACf,SAAS,EACT,SAAS,EACT,OAAO,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAwB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,gBAAgB,GAAQ;IAC7B,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;CACZ,CAAC;AAEF,MAAM,4BAA4B,GAAG,SAAS,CAAC;AAoB/C,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;AAC1C,IAAI,WAAW,GAAG,sBAAsB,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAoB,EAAE,EAAE;IAChD,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;AAC7E,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAoB,EAAE,EAAE,CAChD,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,KAAsD,EACtD,IAAgB,EACA,EAAE;IAClB,2EAA2E;IAE3E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpB,sBAAsB;YAEtB,OAAO,QAAQ,CAAC,KAAwB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,OAAO,KAAsB,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAC5D,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AAEzB,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACjC,CAAC;CACD;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,KAAsD,EACtD,IAA2B,EAC1B,EAAE;IACH,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,IACC,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,EAAE;YACZ,KAAK,KAAK,EAAE;YACZ,OAAO,KAAK,KAAK,SAAS,EACzB,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,QAAQ,CAAC,KAAwB,CAAC,CAAC,CAAC,wCAAwC;QACpF,CAAC;QACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CACd,mCAAmC,KAAK,0CAA0C,CAClF,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IAChE,IAAI,GAAW,CAAC;IAChB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,0BAA0B,CAAC,CAAC;QACzD,CAAC;QACD,GAAG,GAAG,OAAO,CAAC;IACf,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,GAAG,GAAG,MAAM,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC;AAC7C,CAAC,CAAC;AAmBF,MAAM,oBAAoB,GAAG,CAC5B,IAAc,EACd,KAAY,EACZ,IAAe,EACf,OAAuB,EACvB,UAAmB,EACR,EAAE;IACb,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;IACxD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5C,OAAO;QACN,IAAI;QACJ,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,UAAU,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;QACpF,IAAI,EAAE,OAAO;QACb,SAAS;QACT,IAAI,EAAE,KAAK;QACX,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3C,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;KACnC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACzC,IAAsB,EACtB,IAAc,EACd,OAAe,EACgB,EAAE;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,SAAS,GAAc,KAAK,CAAC,IAAI,CAAC;QAEtC,8CAA8C;QAC9C,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;YACrC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC;QACnC,CAAC;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,oEAAoE;QACpE,IAAI,SAAS,YAAY,cAAc,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC3E,SAAS,GAAG,UAAU,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,+CAA+C;QAC/C,IAAI,SAAS,YAAY,OAAO,EAAE,CAAC;YAClC,SAAS;QACV,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAG,oBAAoB,CACpC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,IAAI,CACJ,CAAC;YACF,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO;oBACN,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACrC,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IACN,OAAO,SAAS,KAAK,UAAU;YAC/B,iBAAiB,CAAC,SAA6B,CAAC,EAC/C,CAAC;YACF,MAAM,MAAM,GAAG,iCAAiC,CAC/C,SAA6B,EAC7B,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EACpB,OAAO,CACP,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,IAAuB,EACvB,IAAc,EACd,OAAuB,EACvB,MAAe,EACf,YAEY,EACZ,oBAA6B,KAAK,EAGxB,EAAE;IACZ,IAAI,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAA8B,CAAC;IACpE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,IAAwB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,GAAG,GAAY,EAAE,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAa,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CACzD,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,EAAE,EACF,iBAAiB,CACjB,CAAC;QAEF,MAAM,KAAK,GAAU;YACpB,IAAI;YACJ,WAAW;YACX,MAAM;YACN,IAAI;YACJ,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAE;YAC9C,OAAO;YACP,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,KAAK;YACxB,aAAa,EAAE,KAAK;YACpB,MAAM;YACN,OAAO,EAAE,IAAI,GAAG,EAAU;SAC1B,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;YACnB,gBAAgB;QACjB,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAY,EAAE,EAAE;IACzC,OAAO,CACN,IAAI,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CACxE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAuB,EAAE,EAAE;IAClD,IAAI,IAAY,CAAC;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC;QAChD,MAAM,IAAI,KAAK,CACd,0BAA0B,QAAQ,kCAAkC,WAAW,mCAAmC,CAClH,CAAC;IACH,CAAC;SAAM,CAAC;QACP,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,OAAiB,EAAE,EACnB,KAAgC,EAC/B,EAAE;IACH,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAI,KAAa,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IAED,IAAI,IAAI,GAAW,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE7E,0FAA0F;IAC1F,mFAAmF;IAEnF,0CAA0C;IAE1C,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAa,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAEvC,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;IACrD,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC;AAMF,MAAM,8BAA8B,GAAG,GAAG,EAAE;IAC3C,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,SAAiB,EACjB,IAAc,EACd,IAAsB,EACtB,OAAuB,EACvB,sBAGS,EACT,SAAkB,EAAE,EACpB,UAAU,GAAG,KAAK,EAKjB,EAAE;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,4EAA4E;IAC5E,6EAA6E;IAC7E,+CAA+C;IAC/C,MAAM,sBAAsB,GAC3B,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,cAAc;QAC9C,CAAC,CAAC;YACA,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,SAAS;SACxB;QACF,CAAC,CAAC,iCAAiC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;YAC1D,uEAAuE;YACvE,iCAAiC;YACjC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,SAAS;SACxB,CAAC;IAEL,MAAM,aAAa,GAClB,OAAO,KAAK,KAAK;QAChB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,CAAC,MAAkB,EAAE,YAA6B,EAAE,EAAE;YACtD,MAAM,CAAC,OAAO,CACb;gBACC,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,cAAc;gBACnB,UAAU,EAAE,GAAG,cAAc,sBAAsB;gBACnD,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,SAAS;gBACxB,IAAI,EAAE,CAAC,cAAc,CAAC;aACtB;YAED,8BAA8B;YAC9B;gBACC,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,eAAe;gBACpB,UAAU,EAAE,GAAG,eAAe,IAAI,sBAAsB,CAAC,IAAI,EAAE;gBAC/D,IAAI,EAAE,sBAAsB,CAAC,IAAI;gBACjC,IAAI,EAAE,sBAAsB,CAAC,IAAI;gBACjC,aAAa,EAAE,sBAAsB,CAAC,aAAa;gBACnD,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,CAAC,eAAe,CAAC;aACvB,CACD,CAAC;YACF,YAAY,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,GAAG,eAAe,KAAK;gBAC7B,UAAU,EAAE,cAAc,eAAe,mBAAmB,eAAe,gBAAgB,SAAS,IAAI,sBAAsB,CAAC,IAAI,qBAAqB;aACxJ,CAAC,CAAC;QACJ,CAAC,CAAC;IAEL,MAAM,gBAAgB,GAAG,CACxB,GAAW,EACX,KAAqD,EACpD,EAAE;QACH,IAAI,QAA0B,CAAC;QAE/B,IAAI,WAAgB,CAAC;QACrB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,WAAW,YAAY,OAAO,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACnD,CAAC;YACD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAChC,KAAK,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACP,WAAW,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,QAAQ,GAAG,WAA+B,CAAC;QAC5C,CAAC;aAAM,CAAC;gBAED,YAAY;;wCADjB,OAAO,CAAC,4BAA4B,CAAC;;;;;;;;;;;wBAGrC,kRAA8B;wBAF/B,6KAOC;;;wBAPK,uDAAY;;oBAEjB,wBADC,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,kBACxC,sBAAsB,GAAC,yDAAM;oBAE9B,YAAY,KAAU;;wBACrB,IAAI,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;qBACrC;;;;YAEF,QAAQ,GAAG,YAAY,CAAC;YACxB,aAAa,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAC5B,QAAQ,EACR,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACb,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACX,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAE/B,KAAK,CAAC,MAAM,GAAG;wBACd,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3B;4BACC,IAAI,EAAE,kBAAkB;4BACxB,GAAG,EAAE,kBAAkB;4BACvB,UAAU,EAAE,kBAAkB,GAAG,UAAU;4BAC3C,IAAI,EAAE,SAAS;4BACf,SAAS,EAAE,KAAK;4BAChB,IAAI,EAAE,SAAS;4BACf,aAAa,EAAE,SAAS;4BACxB,IAAI,EAAE,CAAC,kBAAkB,CAAC;yBAC1B;wBACD,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;qBACxB,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACzB,KAAY,EACZ,IAAe,EACf,UAAmB,EAClB,EAAE;QACH,MAAM,QAAQ,GAAG,oBAAoB,CACpC,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,UAAU,CACV,CAAC;QACF,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,SAAS,CAAC;QAClD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CACnB,GAAW,EACX,KAAY,EACZ,IAAe,EACf,UAAmB,EAClB,EAAE;QACH,IAAI,IAAI,YAAY,cAAc,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACjE,IAAI,GAAG,UAAU,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACrD,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,IACN,OAAO,IAAI,KAAK,UAAU;YAC1B,iBAAiB,CAAC,IAAwB,CAAC,EAC1C,CAAC;YACF,8EAA8E;YAE9E,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,WAAW,CAC5B,IAAwB,EACxB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,aAAa,EACb,UAAU,CACV,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBAClB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM,SAAS,GAAG,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;4BAC5D,YAAY,GAAG,YAAY,IAAI,SAAS,CAAC;4BACzC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;wBACD,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC3C,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,YAAY,OAAO,EAAE,CAAC;YACnC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,OAAO,EAAE,CAAC;gBAC/C,iBAAiB;gBACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,UAAU,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACpD,CAAC;YACD,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACvB,+DAA+D;QAC/D,IAAI,CAAC,YAAY,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,sBAAsB,CAAC,CAAC;QAC/D,CAAC;QACD,sBAAsB,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACP,SAAS;QACT,IAAI,UAAU,EAAE,CAAC;YAChB,oDAAoD;YACpD,IAAI,GAAG,GAAG,8BAA8B,EAAE,CAAC;YAC3C,IAAI,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAE5D,SAAS,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,GAAG;gBACH,UAAU,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU;gBACpD,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,SAAS;gBACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC7B,2BAA2B,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAClD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,MAAM;KACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAI3B,GAAa,EACb,MAA0B,EAC1B,KAAgC,EAChC,cAAiB,EACb,EAAE;IACN,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAC5C,GAAG,EACH,KAAK,CACL,CAAC,CAAC,0CAA0C;IAC7C,MAAM,KAAK,GACV,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,CACT,YAAY,CACX,GAAG,EACH,gBAAgB,CAAC,4BAA4B,CAAC,CAC9C,CAAC,4EAA4E,CAC9E,CAAC;IACH,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACd,uBAAuB,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CACvE,CAAC;IACH,CAAC;IACD,OAAO,KAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAe,EAA6B,EAAE;IACnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU,CAAC;AACpE,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAa,EAAE;IACvD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACzB,WAAkB,EAClB,MAA0B,EAC1B,KAAY,EACX,EAAE;IACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACP,MAAM,SAAS,GAAU;YACxB,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,GAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAQ,EAAE,CAAC,CAAC;gBAC3D,EAAE,CAAwB;SAC3B,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,SAAS;YACV,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,SAAS;YACV,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU;SACzB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CACxE;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACzB,WAAkB,EAClB,MAA0B,EAC1B,KAAY,EACZ,KAAW,EACH,EAAE;IACV,IAAI,SAAS,GAA0C,SAAS,CAAC;IACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,SAAS,GAAG,4BAA4B,CAAC;IAC1C,CAAC;SAAM,CAAC;QACP,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;QACpE,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,UAAiB,EAAE,CAAC,CAAC;YAC1D,EAAE,CAAuB,CAAC;QAC3B,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAChE,CAAC,CAAC,EAAyB,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CACrD,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,WAA2C,CAAC;QACvE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,qEAAqE;QACrE,IAAI,WAAW,IAAI,aAAa,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACzD,SAAS,GAAG,WAAW,CAAC;QACzB,CAAC;aAAM,CAAC;YACP,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,IAAI,aAAa,CAAC;gBACtD,MAAM,QAAQ,GAAG,UAAU;qBACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACb,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC/B,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;gBAC5E,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,MAAM,WAAW,GAChB,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACd,iDAAiD,KAAK,CAAC,GAAG,KAAK;oBAC9D,iBAAiB,YAAY,2BAA2B,QAAQ,IAAI;oBACpE,YAAY,WAAW,4CAA4C,CACpE,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAC5B,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAChC,MAAM,EACN,SAAS,EACT,IAAI,CACJ,CAAC;IACF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAE,EAAE;IAC5C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAC1B,QAIuB,EACvB,GAAwB,EACxB,MAA0B,EAC1B,KAAY,EACZ,MAAe,EACf,oBAEkC,EAClC,WAAgB,SAAS,EACzB,KAAc,EACd,OAKC,EACe,EAAE;IAClB,MAAM,cAAc,GAAU,EAAE,CAAC;IACjC,IAAI,eAAe,GAAmC,EAAE,CAAC;IAEzD,oBAAoB;QACnB,KAAK,CAAC,OAAO,KAAK,KAAK;YACtB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,CAAC,IAAS,EAAE,QAAe,EAAE,EAAE,CACpD,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,YAAY,UAAU,KAAK,KAAK;QACjE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,aAAa;YACvB,CAAC,CAAC,mCAAmC;gBACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,KAAK,EAC1B,IAAS,EACT,KAAY,EACZ,QAAa,EACb,KAAc,EACb,EAAE;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE/D,MAAM,MAAM,CACX,QAAQ,EACR,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAC/B,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,OAAO,CACP,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EACzB,KAAY,EACZ,QAAiB,EACjB,QAAa,EACZ,EAAE;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YACxD,IACC,QAAQ,IAAI,IAAI;gBAChB,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,SAAS,IAAI,IAAI;gBACjB,OAAO,EAAE,mBAAmB,EAC3B,CAAC;gBACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBACpE,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAY,EAAE,CAAC;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM,MAAM,CACX,CAAC,MAAM,EAAE,EAAE;4BACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAClB,OAAO,SAAS,CAAC;wBAClB,CAAC,EACD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAC/B,oBAAoB,EACpB,QAAQ,EACR,CAAC,EACD,OAAO,CACP,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACnD,CAAC;oBACD,OAAO;gBACR,CAAC;YACF,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACP,OAAO;oBACR,CAAC;gBACF,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO;YACR,CAAC;YACD,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,YAAY,GAAY,EAAE,CAAC;IAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,IAAI,YAAY,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7C,IACC,OAAO,aAAa,KAAK,QAAQ;gBACjC,gBAAgB,CAAC,aAAa,CAAC,EAC9B,CAAC;gBACF,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IACN,OAAO,aAAa,KAAK,UAAU;gBACnC,iBAAiB,CAAC,aAAiC,CAAC,EACnD,CAAC;gBACF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAChE,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBACtC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACtC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;oBACD,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qDAAqD;oBACpG,SAAS;gBACV,CAAC;gBAED,MAAM,MAAM,CACX,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACjB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBAClB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,4DAA4D;wBAC5F,IAAI,KAAK,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;4BACtC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oDAAoD;wBAC7E,CAAC;wBACD,OAAO,SAAS,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACP,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAChC,CAAC;gBACF,CAAC,EACD,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAC/B,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAChC,SAAS,EAAE,wEAAwE;gBACnF,SAAS,EAAE,qEAAqE;gBAChF,OAAO,CACP,CAAC;gBACF,yGAAyG;YAC1G,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,2EAA2E;IAC3E,+EAA+E;IAC/E,oFAAoF;IACpF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,YAAY,UAAU,CAAC;QACrD,MAAM,oBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE;QACpD,SAAS,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;KACrC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzD,8BAA8B;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,KAAY,EACZ,GAAW,EACX,aAAsB,KAAK,EAC1B,EAAE,CACH,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,aAAqB,EAAE,EAAE,CACtE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,IAAmC,EACnC,GAAY,EACH,EAAE;IACX,IAAI,GAAG,EAAE,CAAC;QACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,4DAA4D;QAC5D,iCAAiC;QAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,GAAG,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAK,CAAC,IAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAC/D,CAAC,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACzB,KAA8B,EAC9B,IAAmC,EACnC,KAAe,EACd,EAAE;IACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACd,CAAC;YACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,SAAS,CAAC;YAC1B,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAoB,EAAE,EAAE,CACtD,gBAAgB,GAAG,aAAa,CAAC,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,KAAY,EACZ,OAAuC,EACtC,EAAE;IACH,OAAO,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,MAAe,EACf,KAA8B,EAC7B,EAAE;IACH,MAAM,eAAe,GAOf,EAAE,CAAC;IAET,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,EACL,OAAO,EACP,IAAI,EAAE,cAAc,EACpB,OAAO,GACP,GAAG,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,uEAAuE;IACvE,IAAI,UAAU,GAGN,EAAE,CAAC;IAEX,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACb,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,yBAAyB;IACzB,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACtD,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,KAAY,EACZ,KAA8B,EAC7B,EAAE;IACH,IAAI,KAAK,GAA4C,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,IAAI,IAAI,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAmC,EAAE,CAAC;IAC1D,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,MAAM,aAAa,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC3C,IAAI,aAAa,GAAG,GAAG,gBAAgB,IAAI,WAAW,GAAG,CAAC;YAE1D,eAAe,GAAG,IAAI,CAAC,CAAC,4FAA4F;YAEpH,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,MAAM,EAAE,GAAG,8BAA8B,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE/D,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChD,IACC,CAAC,KAAK,CAAC,SAAS;oBACf,CAAC,aAAa,CAAC,KAAK;oBACpB,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;oBACjD,sCAAsC;oBACtC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC;oBACnC,KAAK,CAAC,IAAI,KAAK,eAAe,EAC7B,CAAC;oBACF,IAAI,YAAY,GAAG,GAAG,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,qMAAqM;oBACrM,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;wBACnC,YAAY,GAAG,QAAQ,YAAY,WAAW,CAAC;oBAChD,CAAC;oBAED,uDAAuD;oBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC3B,YAAY,GAAG,OAAO,YAAY,GAAG,CAAC;oBACvC,CAAC;oBAED,IAAI,KAAK,EAAE,CAAC;wBACX,aAAa,IAAI,IAAI,CAAC;oBACvB,CAAC;oBACD,KAAK,GAAG,IAAI,CAAC;oBACb,aAAa,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC1E,CAAC;YACF,CAAC;YACD,aAAa,IAAI,MAAM,CAAC,CAAC,wFAAwF;YAEjH,cAAc,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,aAAa;gBACnB,EAAE;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBAC7D,EAAE;gBACF,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE;aACX,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,gGAAgG;YAChG,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;oBAC7D,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI;oBAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,EAAE;iBACX,CAAC,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChD,IACC,KAAK,CAAC,SAAS;oBACf,CAAC,aAAa,CAAC,KAAK;oBACpB,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAChD,CAAC;oBACF,cAAc,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBACnE,EAAE,EAAE,IAAI,qBAAqB,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG;qBACjE,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClD,IAAI,UAAU,GAA4B,SAAS,CAAC;YACpD,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,UAAU,GAAG,UAAU;oBAC1B,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1D,CAAC,CAAC,SAAS,CAAC;gBAEb,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,SAAS;gBACV,CAAC;gBAED,UAAU;oBACT,UAAU,KAAK,IAAI;wBAClB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;4BAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;4BACf,CAAC,CAAC,UAAU,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACN,OAAO,EAAE,eAAe;YACvB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAiB,CAAC,EAAE;gBAC7D,SAAS;YACV,CAAC,CAAC,SAAS;QACZ,OAAO,EAAE,cAAc,EAAE,6DAA6D;QACtF,IAAI;KACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAW,EAAE,EAAE;IAC1C,IAAI,OAAO,GAAU,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAI5C,uBAA4C,EAC5C,MAA0B,EAC1B,KAAY,EACZ,eAAgE,EAChE,aAAsB,EACtB,KAAS,EACkC,EAAE;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,GAAG,GAAQ,EAAE,CAAC;IAEpB,MAAM,YAAY,GAAG,KAAK,EACzB,KAAY,EACZ,UAAmB,EACnB,OAAgB,EACf,EAAE;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW;QAEtE,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,OAAO,IAAI,UAAU,IAAI,CAAC,eAAe,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CACd,8CAA8C;gBAC7C,KAAK,CAAC,GAAG;gBACT,WAAW;gBACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,GACX,UAAU,KAAK,IAAI;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe;gBAChB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,UAAU,CAAC;QAEhB,IAAI,OAAO,EAAE,CAAC;YACb,uBAAuB;YACvB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,iDAAiD;gBACjD,IAAI,GAAG,GAAsB,SAAS,CAAC;gBACvC,MAAM,SAAS,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAe,CAAC;oBACnE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAiB,CAAC,IAAI,IAAI,CAAC,CAAC;oBAE/D,mEAAmE;oBACnE,uBAAuB;oBACvB,6DAA6D;oBAC7D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACpC,SAAS;wBACV,CAAC;wBACD,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;4BACnC,KAAK,MAAM,IAAI,IAAI,GAAI,EAAE,CAAC;gCACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC7C,CAAC;wBACF,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAClC,KAAK,MAAM,IAAI,IAAI,GAAI,EAAE,CAAC;gCACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BACpD,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACvB,2DAA2D;wBAC3D,+FAA+F;wBAC/F,IAAI,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC1C,MAAM,QAAQ,GACb,uBAAuB,CACtB,qBAAqB,CACpB,SAAS,EACT,SAAS,CAAC,OAAiB,EAC3B,CAAC,aAAa,CACd,CACD,CAAC;wBAEH,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACjD,CAAC;yBAAM,CAAC;wBACP,GAAG,GAAG,EAAE,CAAC;oBACV,CAAC;gBACF,CAAC;gBACD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,kBAAkB;oBAClB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAuB,MAAM,wBAAwB,CAClE,OAAO,EACP,MAAM,EACN,QAAQ,EAAE,WAAW;wBACrB,eAAe,EACf,KAAK,EACL,QAAQ,CACR,CAAC;wBAEF,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa;4BAChE,CAAC,CAAC,QAAQ,CAAC,KAAK;4BAChB,CAAC,CAAC,QAAQ,CAAC;oBACb,CAAC;gBACF,CAAC;YACF,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,uFAAuF;QACtH,CAAC;aAAM,CAAC;YACP,0CAA0C;YAC1C,6BAA6B;YAC7B,IAAI,QAAQ,GAAsB,SAAS,CAAC;YAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC/B,aAAa;oBACb,IACC,uBAAuB,CACtB,qBAAqB,CACpB,KAAK,EACL,KAAK,CAAC,OAAiB,EACvB,CAAC,aAAa,CACd,CACD,IAAI,IAAI,EACR,CAAC;wBACF,QAAQ,GAAG,KAAK,CAAC;wBACjB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxC,CAAC;YACD;;;;;eAKG;YAEH,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAE1C,MAAM,MAAM,GACX,CAAC,uBAAuB,CACvB,qBAAqB,CACpB,SAAS,EACT,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAChD,CACD,CAAC;gBAEH,IAAI,MAAM,EAAE,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;oBAC3B,OAAO;gBACR,CAAC;YACF,CAAC;YAED,aAAa;YACb,IACC,QAAQ,CAAC,OAAO,KAAK,KAAK;gBAC1B,uBAAuB,CACtB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CACjE,IAAI,IAAI,EACR,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC9C,uBAAuB,EACvB,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,QAAQ,CACR,CAAC;gBAEF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,SAAS;QACV,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CACrC,CAAC;QACF,MAAM,UAAU,GAAG,eAAe;YACjC,CAAC,CAAC,uBAAuB,CACvB,qBAAqB,CACpB,SAAS,EACT,eAAgB,CAAC,IAAI,EACrB,CAAC,aAAa,CACd,CACD;YACF,CAAC,CAAC,SAAS,CAAC;QACb,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;YAC7C,IACC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAC1C,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACvC,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,OAAO,EAAE,CAAC;gBACtD,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACP,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,YAAY,OAAO,EAAE,CAAC;YAC1C,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,IAAsB,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAC1C,OAA4B,EAC5B,MAA0B,EAC1B,KAAY,EACuB,EAAE;IACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAChD,QAAQ,EACR,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EACvC,MAAM,EACN,KAAK,CACL,CAAC;IACF,OAAO;QACN,GAAG,EAAE,eAAe,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,eAAe,KAAK,CAAC,OAAO,EAAE;QACzJ,QAAQ;KACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,OAAyB,EACzB,MAA0B,EAC1B,KAAY,EACuB,EAAE;IACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAChD,KAAK,EACL,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EACzD,MAAM,EACN,KAAK,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC9D,IAAI,gBAAgB,CAAC,KAAM,CAAC,IAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAEvE,OAAO;QACN,GAAG,EAAE,cAAc,MAAM,iBAAiB,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE;QAC/D,QAAQ;KACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAuC,EACvC,MAA0B,EAC1B,KAAY,EACuB,EAAE;IACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAChD,OAAO,EACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EACpE,MAAM,EACN,KAAK,CACL,CAAC;IACF,OAAO;QACN,GAAG,EAAE,yBAAyB,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAQ,mBAAmB,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE;QAClG,QAAQ;KACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACpB,IAA2C,EAC3C,MAA0B,EAC1B,KAAY,EACZ,WAAyC,EACzC,eAA+C,EAC/C,OAAiB,EAAE,EACnB,OAGC,EACA,EAAE;IACH,IAAI,cAAc,GAAuB,SAAS,CAAC;IAEnD,IACC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC,OAAO,EAAE,QAAQ,EACjB,CAAC;QACF,IAAI;YACH,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC,CAAC,SAAS,CAAC;IACf,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,cAAc,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CACtD,KAAK,EACL,MAAM,EACN,WAAW,EACX,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EACtB,SAAS,EACT,IAAI,CACJ,CAAC;gBAEF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBAC1C,IAAI,IAAI,EAAE,CAAC;wBACV,cAAc,IAAI,IAAI,CAAC;oBACxB,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC;oBAEZ,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,2EAA2E;oBAChH,cAAc,IAAI,IAAI,YAAY,CAAC,EAAE,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAEpH,eAAe,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;wBACnD,EAAE,EAAE,IAAI,YAAY,CAAC,EAAE,IAAI,QAAQ,GAAG;qBACtC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAC1C,OAEY,EACZ,MAA0B,EAC1B,UAAmB,EACnB,OAIC,EACkC,EAAE;IACrC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,aAAa,GAAW,EAAE,CAAC;IAE/B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,GAAsB,SAAS,CAAC;IAE7C,MAAM,eAAe,GAAG,yBAAyB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9E,IAAI,eAAe,GAAU,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC;YACJ,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CACtC,OAAO,EAAE,IAAI,EACb,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,EAAE,EACF,OAAO,CACP,CAAC;YAEF,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE,CAAC;gBACtC,+CAA+C;gBAC/C,aAAa;oBACZ,cAAc,CAAC,MAAM,GAAG,CAAC;wBACxB,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;4BACzB,CAAC,CAAC,aAAa,GAAG,IAAI,GAAG,cAAc;4BACvC,CAAC,CAAC,cAAc;wBACjB,CAAC,CAAC,aAAa,CAAC;YACnB,CAAC;YAED,0BAA0B;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACxC,SAAS,GAAG,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAExD,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBACJ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAChD,SAAS,EACT,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,0DAA0D;gBAC1E,EAAE,EACF,OAAO,CACP,CAAC;gBAEF,YAAY,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9H,WAAW,GAAG,IAAI,CAAC;gBACnB,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;oBACxC,SAAS,GAAG,KAAK,CAAC;oBAClB,aAAa,GAAG,EAAE,CAAC;oBACnB,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,SAAU,CAAC;IAClB,CAAC;IAED,OAAO;QACN,GAAG,EAAE,GAAG,YAAY,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;QACzH,QAAQ,EAAE,eAAe;KACzB,CAAC;AACH,CAAC,CAAC;AAeF,MAAM,iBAAiB,GAAG,CACzB,WAAyC,EACzC,KAAY,EACX,EAAE;IACH,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG;QACZ,sGAAsG;QACtG,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,MAAe;QACrB,EAAE,EAAE,KAAK,CAAC,IAAI;QACd,OAAO,EAAE,EAAE;KACX,CAAC;IACF,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAI7B,IAAO,EACP,OAkBY,EACZ,MAA0B,EAC1B,KAAY,EACZ,SAAwC,EACxC,OAAiB,EAAE,EACnB,OAGC,EACG,EAAE;IACN,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,eAAe,GAAU,EAAE,CAAC;IAChC,yDAAyD;IACzD,kDAAkD;IAClD,IAAI,WAAW,GAAiC,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC;IAEvE,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,YAAY,CAAC,CAAC,CAAC,EACf,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,SAAS,EACT,CAAC,CACD,CAAC;QACF,YAAY,IAAI,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,SAAS,EACT,CAAC,CACD,CAAC;QACF,YAAY,IAAI,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwCI;IACJ,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE1D,OAAO;QACN,KAAK;QACL,8BAA8B;QAC9B,QAAQ,EAAE,eAAe;KACpB,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,WAAyC,EACzC,OAEC,EACkB,EAAE;IACrB;;oBAEa;IACb,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,SAAS;QACV,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,SAAS;QACV,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,KAAsB,EACtB,OAEC,EACA,EAAE;IACH,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,SAAS,GAAuB,SAAS,CAAC;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,KAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,kEAAkE;IACzG,CAAC;IAED,IAAI,KAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,2BAA2B,GAChC,KAAK,CAAC,IAAI,KAAK,MAAM;YACrB,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK;YAC7B,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QACxC,SAAS;YACR,OAAO,EAAE,OAAO,IAAI,CAAC,2BAA2B;gBAC/C,CAAC,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG;gBAC/E,CAAC,CAAC,EAAE,CAAC;IACR,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,gBAAgB,GACnB,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;QAClE,IAAI,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,IAAI,SAAS,OAAO,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,OAAO,MAAM,KAAK,CAAC,EAAE,IAAI,eAAe,GAAG,CAAC;IAClK,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAqB,EAAE,MAAwB,EAAE,EAAE;IAC5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,KAAkB,EAClB,MAA0B,EAC1B,KAAY,EACZ,WAAyC,EACzC,IAAc,EACd,UAA8B,EAC9B,QAAgB,EACqB,EAAE;IACvC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,eAAe,GAAU,EAAE,CAAC;IAChC,yCAAyC;IAEzC,MAAM,SAAS,GAAG,CACjB,OAAsB,EACtB,IAAc,EACd,UAA8B,EAC9B,UAAkB,EACjB,EAAE;QACH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,KAAK,EACL,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,UAAU,CACV,CAAC;YACF,YAAY;gBACX,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACtE,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACnC,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,KAAK,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,KAAK,EACL,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,QAAQ,CACR,CAAC;QACF,YAAY,IAAI,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,KAAK,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC;YAChC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,QAAQ,CACR,CAAC;gBACF,YAAY;oBACX,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpE,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,KAAK,CAAC,GAAG,EACT,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,QAAQ,CACR,CAAC;YACF,YAAY,GAAG,OAAO,KAAK,GAAG,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACN,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,eAAe;KACzB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAE,EAAE;IACnD,OAAO,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAC7D,CAAC,CAAC;AAkBF;;;;;;;;;;;;;;KAcK;AAEL,MAAM,6BAA6B,GAAG,CAAC,KAAY,EAAE,EAAE;IACtD,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,KAAY,EAAE,EAAE;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,+DAA+D;AACnF,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC3B,KAAY,EACZ,MAA0B,EAC1B,IAAkC,EAClC,IAAc,EACd,KAAyB,EACzB,UAAmB,EACsC,EAAE;IAC3D,+BAA+B;IAE/B,WAAW;IACX,sEAAsE;IACtE,uCAAuC;IAEvC,yBAAyB;IACzB,wEAAwE;IACxE,8EAA8E;IAE9E,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACX,OAAO;gBACN,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,aAAa,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC/C,CAAC;QACH,CAAC;IACF,CAAC;IAED,IAAI,aAAa,GAAgB;QAChC;YACC,KAAK;YACL,EAAE,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI;YACvB,IAAI,EAAE,OAAgB;YACtB,OAAO,EAAE,EAAE;SACX;KACD,CAAC;IACF,IAAI,UAAU,GAA4B,SAAS,CAAC;IAEpD,SAAS;IACT,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB;SAC9C,OAAO,EAAE,EAAE,CAAC;QACb,IAAI,SAAS,GAAgB,EAAE,CAAC;QAChC,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAE,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,oHAAoH;gBACpH,MAAM,IAAI,iBAAiB,CAC1B,sBAAsB,GAAG,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAC3G,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,6BAA6B,CAChD,KAAK,CAIL,CAAC;gBAEF,IAAI,UAAU,GACb,KAAK,CAAC,UAAW,CAAC,KAAK,CAAC,UAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;gBACzD,IAAI,UAAU,EAAE,CAAC;oBAChB,MAAM,cAAc,GAAG;wBACtB,OAAO,EAAE,EAAE;wBACX,KAAK,EAAE,KAAK;wBACZ,EAAE,EAAE,WAAW;wBACf,IAAI,EACH,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAC/B,CAAC,CAAE,MAAgB;4BACnB,CAAC,CAAE,OAAiB;qBACtB,CAAC;oBACF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;4BACnB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;wBACvC,CAAC;wBACD,OAAO;4BACN,QAAQ,EAAE,sBAAsB;4BAChC,aAAa,EAAE,CAAC,cAAc,CAAC;yBAC/B,CAAC;oBACH,CAAC;oBAED,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QACD,UAAU,GAAG,aAAa,CAAC;QAC3B,aAAa,GAAG,SAAS,CAAC;QAE1B;;;;YAII;QAEJ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,aAAa,GAAG,UAAU,CAAC;YAC3B,MAAM;QACP,CAAC;IACF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,GAAgB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC3D,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,YAAY,GACf,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,YAAY,EAAE,MAAM,EAAE,CAAC;QAC7B,YAAY,CAAC,OAAO,CACnB,YAAa,CAAC,UAAW,CAAC,YAAa,CAAC,UAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/D,CAAC;QACF,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ,GACX,YAAY,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC;QACvC,CAAC,CAAC,sBAAsB,CAAC;IAC3B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC9B,KAA4B,EAC5B,MAA0B,EAC1B,KAAY,EACZ,IAAkC,EAClC,IAAc,EACd,UAA8B,EAC9B,QAAgB,EACqB,EAAE;IACvC,gEAAgE;IAChE,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC7B,CAAC,CAAC,mEAAmE;IACtE,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,qEAAqE;IACpG,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAa,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,mBAAmB,CACtD,KAAK,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,UAAU,EACV,KAAK,CACL,CAAC;QACF,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,eAAe,GAAY,EAAE,CAAC;QAElC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CACjD,KAAK,EACL,MAAM,EACN,MAAM,CAAC,KAAK,EACZ,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,QAAQ,CACR,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;YACN,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE;SAChC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAE,CAAC;IACzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IACD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE3C,IAAI,QAAQ,GAAU,EAAE,CAAC;IACzB,MAAM,YAAY,GACjB,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,KAAa,CAAC;IAClB,IAAI,KAAK,YAAY,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACvD,SAAS,GAAG,GAAG,YAAY,UAAU,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC5D,SAAS,GAAG,GAAG,YAAY,UAAU,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC3D,SAAS,GAAG,GAAG,YAAY,MAAM,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,SAAS,IAAI,iBAAiB,CAAC;QAChC,CAAC;QACD,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;QAClD,oCAAoC;QAEpC,MAAM,SAAS,GAAG,GAAG,YAAY,MAAM,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,UAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,YAAY;YACZ,KAAK,GAAG,OAAO,YAAY,WAAW,CAAC;YACvC,QAAQ,CAAC,IAAI,CACZ,IAAI,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,KAAK,GAAG,GAAG,YAAY,MAAM,CAAC;YAC/B,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpD,KAAK,GAAG,GAAG,YAAY,OAAO,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjD,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3D,KAAK,GAAG,GAAG,YAAY,QAAQ,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxD,KAAK,GAAG,GAAG,YAAY,QAAQ,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBACvD,qDAAqD;gBACrD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC;IACnC,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,CAAC,SAAS,EAAE,CAAC;QAC7C,KAAK,GAAG,GAAG,YAAY,MAAM,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,GAAa,EAAE,EAAE;IACjD,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"} |
@@ -0,4 +1,15 @@ | ||
| export type SqliteWorkerProtocol = "legacy" | "clone"; | ||
| export type SQLiteSynchronousMode = "FULL" | "NORMAL" | "OFF"; | ||
| export type SQLiteLockingMode = "NORMAL" | "EXCLUSIVE"; | ||
| export type SQLiteTempStoreMode = "DEFAULT" | "FILE" | "MEMORY"; | ||
| export type SQLitePragmaOptions = { | ||
| synchronous?: SQLiteSynchronousMode; | ||
| lockingMode?: SQLiteLockingMode; | ||
| tempStore?: SQLiteTempStoreMode; | ||
| }; | ||
| interface Message { | ||
| id: string; | ||
| databaseId: string; | ||
| profile?: boolean; | ||
| protocol?: SqliteWorkerProtocol; | ||
| } | ||
@@ -8,2 +19,3 @@ interface CreateDatabase extends Message { | ||
| directory?: string; | ||
| pragmas?: SQLitePragmaOptions; | ||
| } | ||
@@ -30,6 +42,12 @@ interface Exec extends Message { | ||
| } | ||
| type Uint8ArrayType = { | ||
| type Uint8ArrayBase64Type = { | ||
| type: "uint8array"; | ||
| encoding: "base64"; | ||
| base64: string; | ||
| }; | ||
| type Uint8ArrayCloneType = { | ||
| type: "uint8array"; | ||
| encoding: "clone"; | ||
| value: Uint8Array; | ||
| }; | ||
| type SimpleType = { | ||
@@ -39,8 +57,27 @@ type: "simple"; | ||
| }; | ||
| export declare const resolveValue: (value: Uint8ArrayType | SimpleType) => any; | ||
| export declare const encodeValue: (value: any) => Uint8ArrayType | SimpleType; | ||
| export type EncodedValue = Uint8ArrayBase64Type | Uint8ArrayCloneType | SimpleType; | ||
| export type ClientEncodeMetrics = { | ||
| encodeMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| }; | ||
| export type WorkerTiming = { | ||
| decodeMs: number; | ||
| execMs: number; | ||
| totalMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| }; | ||
| export declare const resolveValue: (value: EncodedValue) => any; | ||
| export declare const encodeValue: (value: any, protocol?: SqliteWorkerProtocol) => EncodedValue; | ||
| export declare const encodeValues: (values: any[] | undefined, protocol?: SqliteWorkerProtocol) => { | ||
| values: EncodedValue[] | undefined; | ||
| metrics: ClientEncodeMetrics; | ||
| }; | ||
| interface Run extends Statement { | ||
| type: "run"; | ||
| sql: string; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -52,3 +89,3 @@ interface Statement extends Message { | ||
| type: "bind"; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -60,3 +97,3 @@ interface Step extends Statement { | ||
| type: "get"; | ||
| values?: any[]; | ||
| values?: EncodedValue[]; | ||
| } | ||
@@ -68,7 +105,7 @@ interface Reset extends Statement { | ||
| type: "run-statement"; | ||
| values: any[]; | ||
| values: EncodedValue[]; | ||
| } | ||
| interface All extends Statement { | ||
| type: "all"; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -82,2 +119,3 @@ interface Finalize extends Statement { | ||
| message: string; | ||
| timing?: WorkerTiming; | ||
| } | ||
@@ -88,2 +126,3 @@ interface Response { | ||
| result: any; | ||
| timing?: WorkerTiming; | ||
| } | ||
@@ -90,0 +129,0 @@ export type DatabaseMessages = CreateDatabase | Exec | Prepare | Close | Drop | Open | Run | Status; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3-messages.worker.d.ts","sourceRoot":"","sources":["../../src/sqlite3-messages.worker.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sqlite3-messages.worker.d.ts","sourceRoot":"","sources":["../../src/sqlite3-messages.worker.ts"],"names":[],"mappings":"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"} |
| import { fromBase64, toBase64 } from "@peerbit/crypto"; | ||
| export const resolveValue = (value) => value.type === "simple" ? value.value : fromBase64(value.base64); | ||
| export const encodeValue = (value) => { | ||
| export const resolveValue = (value) => { | ||
| if (value.type === "simple") { | ||
| return value.value; | ||
| } | ||
| return value.encoding === "clone" ? value.value : fromBase64(value.base64); | ||
| }; | ||
| export const encodeValue = (value, protocol = "legacy") => { | ||
| if (value instanceof Uint8Array) { | ||
| return { type: "uint8array", base64: toBase64(value) }; | ||
| return protocol === "clone" | ||
| ? { type: "uint8array", encoding: "clone", value } | ||
| : { type: "uint8array", encoding: "base64", base64: toBase64(value) }; | ||
| } | ||
| return { type: "simple", value }; | ||
| }; | ||
| export const encodeValues = (values, protocol = "legacy") => { | ||
| if (!values || values.length === 0) { | ||
| return { | ||
| values, | ||
| metrics: { | ||
| encodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| }, | ||
| }; | ||
| } | ||
| let blobBytes = 0; | ||
| let blobValueCount = 0; | ||
| const startedAt = performance.now(); | ||
| const encodedValues = values.map((value) => { | ||
| if (value instanceof Uint8Array) { | ||
| blobValueCount++; | ||
| blobBytes += value.byteLength; | ||
| } | ||
| return encodeValue(value, protocol); | ||
| }); | ||
| return { | ||
| values: encodedValues, | ||
| metrics: { | ||
| encodeMs: performance.now() - startedAt, | ||
| valueCount: values.length, | ||
| blobValueCount, | ||
| blobBytes, | ||
| }, | ||
| }; | ||
| }; | ||
| //# sourceMappingURL=sqlite3-messages.worker.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3-messages.worker.js","sourceRoot":"","sources":["../../src/sqlite3-messages.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA2CvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAkC,EAAE,EAAE,CAClE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAA+B,EAAE;IACtE,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC,CAAC"} | ||
| {"version":3,"file":"sqlite3-messages.worker.js","sourceRoot":"","sources":["../../src/sqlite3-messages.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAuFvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,KAAU,EACV,WAAiC,QAAQ,EAC1B,EAAE;IACjB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QACjC,OAAO,QAAQ,KAAK,OAAO;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,MAAyB,EACzB,WAAiC,QAAQ,EAC8B,EAAE;IACzE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;YACN,MAAM;YACN,OAAO,EAAE;gBACR,QAAQ,EAAE,CAAC;gBACX,UAAU,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC;gBACjB,SAAS,EAAE,CAAC;aACZ;SACD,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YACjC,cAAc,EAAE,CAAC;YACjB,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE;YACR,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,cAAc;YACd,SAAS;SACT;KACD,CAAC;AACH,CAAC,CAAC"} |
@@ -0,4 +1,25 @@ | ||
| import * as messages from "./sqlite3-messages.worker.js"; | ||
| import { type Database as IDatabase } from "./types.js"; | ||
| declare const create: (directory?: string) => Promise<IDatabase>; | ||
| type RequestType = messages.DatabaseMessages["type"] | messages.StatementMessages["type"]; | ||
| export type SQLiteBrowserOptions = { | ||
| protocol?: messages.SqliteWorkerProtocol; | ||
| pragmas?: messages.SQLitePragmaOptions; | ||
| profile?: boolean; | ||
| onProfile?: (sample: SQLiteProfileSample) => void; | ||
| }; | ||
| export type SQLiteProfileSample = { | ||
| requestType: RequestType; | ||
| protocol: messages.SqliteWorkerProtocol; | ||
| databaseId: string; | ||
| databaseDirectory?: string; | ||
| sql?: string; | ||
| clientEncodeMs: number; | ||
| clientRoundTripMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| worker?: messages.WorkerTiming; | ||
| }; | ||
| declare const create: (directory?: string, options?: SQLiteBrowserOptions) => Promise<IDatabase>; | ||
| export { create }; | ||
| //# sourceMappingURL=sqlite3.browser.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.browser.d.ts","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,KAAK,QAAQ,IAAI,SAAS,EAG1B,MAAM,YAAY,CAAC;AA2PpB,QAAA,MAAM,MAAM,GAAI,YAAY,MAAM,KAAG,OAAO,CAAC,SAAS,CAOrD,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,CAAC"} | ||
| {"version":3,"file":"sqlite3.browser.d.ts","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EACN,KAAK,QAAQ,IAAI,SAAS,EAG1B,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,GACb,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,GACjC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACzC,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;CAC/B,CAAC;AA8XF,QAAA,MAAM,MAAM,GACX,YAAY,MAAM,EAClB,UAAU,oBAAoB,KAC5B,OAAO,CAAC,SAAS,CAMnB,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,CAAC"} |
+138
-31
@@ -6,2 +6,10 @@ import pDefer from "p-defer"; | ||
| import {} from "./types.js"; | ||
| const DEFAULT_PROTOCOL = "clone"; | ||
| const EMPTY_ENCODE_METRICS = { | ||
| encodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| }; | ||
| const getProtocol = (options) => options?.protocol ?? DEFAULT_PROTOCOL; | ||
| class ProxyStatement { | ||
@@ -11,18 +19,28 @@ send; | ||
| statementId; | ||
| sql; | ||
| options; | ||
| id; | ||
| resolvers = {}; | ||
| constructor(send, databaseId, statementId) { | ||
| needsReset = false; | ||
| constructor(send, databaseId, statementId, sql, options) { | ||
| this.send = send; | ||
| this.databaseId = databaseId; | ||
| this.statementId = statementId; | ||
| this.sql = sql; | ||
| this.options = options; | ||
| this.id = statementId; | ||
| } | ||
| async bind(values) { | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| await this.send({ | ||
| type: "bind", | ||
| values: values.map(messages.encodeValue), | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "bind", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }); | ||
| this.needsReset = true; | ||
| return this; | ||
@@ -36,23 +54,44 @@ } | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "finalize", | ||
| sql: this.sql, | ||
| ...EMPTY_ENCODE_METRICS, | ||
| }); | ||
| this.needsReset = false; | ||
| } | ||
| get(values) { | ||
| return this.send({ | ||
| async get(values) { | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| const result = await this.send({ | ||
| type: "get", | ||
| values: values ? values.map(messages.encodeValue) : undefined, | ||
| values: encoded.values, | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "get", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }); | ||
| this.needsReset = false; | ||
| return result; | ||
| } | ||
| async run(values) { | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| await this.send({ | ||
| type: "run-statement", | ||
| values: values.map(messages.encodeValue), | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "run-statement", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }); | ||
| this.needsReset = false; | ||
| } | ||
| async reset() { | ||
| if (!this.needsReset) { | ||
| return this; | ||
| } | ||
| await this.send({ | ||
@@ -63,30 +102,97 @@ type: "reset", | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "reset", | ||
| sql: this.sql, | ||
| ...EMPTY_ENCODE_METRICS, | ||
| }); | ||
| this.needsReset = false; | ||
| return this; | ||
| } | ||
| async all(values) { | ||
| let id = uuid(); | ||
| const results = await this.send({ | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| const result = await this.send({ | ||
| type: "all", | ||
| values: values.map(messages.encodeValue), | ||
| id, | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, { | ||
| requestType: "all", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }); | ||
| return results; | ||
| this.needsReset = false; | ||
| return result; | ||
| } | ||
| } | ||
| class ProxyDatabase { | ||
| send; | ||
| postMessage; | ||
| options; | ||
| statements = new Map(); | ||
| resolvers = {}; | ||
| databaseId; | ||
| constructor(send) { | ||
| this.send = send; | ||
| directory; | ||
| constructor(postMessage, options) { | ||
| this.postMessage = postMessage; | ||
| this.options = options; | ||
| } | ||
| async send(message, metrics) { | ||
| const startedAt = performance.now(); | ||
| const protocol = getProtocol(this.options); | ||
| const shouldProfile = Boolean(this.options?.profile || this.options?.onProfile); | ||
| const requestType = metrics?.requestType ?? message.type; | ||
| try { | ||
| const response = await this.postMessage({ | ||
| ...message, | ||
| protocol, | ||
| profile: shouldProfile, | ||
| }); | ||
| this.options?.onProfile?.({ | ||
| requestType, | ||
| protocol, | ||
| databaseId: this.databaseId, | ||
| databaseDirectory: this.directory, | ||
| sql: metrics?.sql ?? | ||
| ("sql" in message && typeof message.sql === "string" | ||
| ? message.sql | ||
| : undefined), | ||
| clientEncodeMs: metrics?.encodeMs ?? 0, | ||
| clientRoundTripMs: performance.now() - startedAt, | ||
| valueCount: metrics?.valueCount ?? 0, | ||
| blobValueCount: metrics?.blobValueCount ?? 0, | ||
| blobBytes: metrics?.blobBytes ?? 0, | ||
| worker: response.timing, | ||
| }); | ||
| return response.result; | ||
| } | ||
| catch (error) { | ||
| const responseError = error; | ||
| this.options?.onProfile?.({ | ||
| requestType, | ||
| protocol, | ||
| databaseId: this.databaseId, | ||
| databaseDirectory: this.directory, | ||
| sql: metrics?.sql ?? | ||
| ("sql" in message && typeof message.sql === "string" | ||
| ? message.sql | ||
| : undefined), | ||
| clientEncodeMs: metrics?.encodeMs ?? 0, | ||
| clientRoundTripMs: performance.now() - startedAt, | ||
| valueCount: metrics?.valueCount ?? 0, | ||
| blobValueCount: metrics?.blobValueCount ?? 0, | ||
| blobBytes: metrics?.blobBytes ?? 0, | ||
| worker: responseError?.timing, | ||
| }); | ||
| if (responseError?.type === "error") { | ||
| throw new Error(responseError.message); | ||
| } | ||
| throw error; | ||
| } | ||
| } | ||
| async init(directory) { | ||
| this.databaseId = uuid(); | ||
| this.directory = directory; | ||
| return this.send({ | ||
| type: "create", | ||
| directory, | ||
| pragmas: this.options?.pragmas, | ||
| databaseId: this.databaseId, | ||
@@ -118,3 +224,3 @@ id: uuid(), | ||
| }); | ||
| const statement = new ProxyStatement(this.send, this.databaseId, statementId); | ||
| const statement = new ProxyStatement(this.send.bind(this), this.databaseId, statementId, sql, this.options); | ||
| this.statements.set(statementId, statement); | ||
@@ -156,5 +262,5 @@ if (id != null) { | ||
| } | ||
| let worker = new Worker(new URL("/peerbit/sqlite3/sqlite3.worker.min.js", import.meta.url), { type: "module" }); | ||
| let resolvers = {}; | ||
| let send = (message) => { | ||
| const worker = new Worker(new URL("/peerbit/sqlite3/sqlite3.worker.min.js", import.meta.url), { type: "module" }); | ||
| const resolvers = {}; | ||
| const postMessage = (message) => { | ||
| const promise = new Promise((resolve, reject) => { | ||
@@ -166,3 +272,3 @@ resolvers[message.id] = { resolve, reject }; | ||
| }; | ||
| let isReady = pDefer(); | ||
| const isReady = pDefer(); | ||
| worker.onmessage = async (ev) => { | ||
@@ -175,11 +281,14 @@ const message = ev.data; | ||
| const resolver = resolvers[message.id]; | ||
| if (!resolver) { | ||
| return; | ||
| } | ||
| if (message.type === "error") { | ||
| resolver.reject(new Error(message.message)); | ||
| resolver.reject(message); | ||
| } | ||
| else if (message.type === "response") { | ||
| resolver.resolve(message.result); | ||
| else { | ||
| resolver.resolve(message); | ||
| } | ||
| }; | ||
| const create = async (directory) => { | ||
| const db = new ProxyDatabase(send); | ||
| const create = async (directory, options) => { | ||
| const db = new ProxyDatabase(postMessage, options); | ||
| await isReady.promise; | ||
@@ -198,12 +307,10 @@ await db.init(directory); | ||
| }; | ||
| const create = (directory) => { | ||
| const create = (directory, options) => { | ||
| if (directory) { | ||
| // persist the database | ||
| return init().then((creator) => creator.create(directory)); | ||
| return init().then((creator) => creator.create(directory, options)); | ||
| } | ||
| else { | ||
| return createDatabase(); | ||
| } | ||
| return createDatabase(directory, options); | ||
| }; | ||
| export { create }; | ||
| //# sourceMappingURL=sqlite3.browser.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.browser.js","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sqlite3.browser.js","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"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"} |
@@ -0,4 +1,7 @@ | ||
| import type { SQLitePragmaOptions } from "./sqlite3-messages.worker.js"; | ||
| import type { Database as IDatabase } from "./types.js"; | ||
| declare let create: (directory?: string) => Promise<IDatabase>; | ||
| declare let create: (directory?: string, options?: { | ||
| pragmas?: SQLitePragmaOptions; | ||
| }) => Promise<IDatabase>; | ||
| export { create }; | ||
| //# sourceMappingURL=sqlite3.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.d.ts","sourceRoot":"","sources":["../../src/sqlite3.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,IAAI,SAAS,EAErB,MAAM,YAAY,CAAC;AAEpB,QAAA,IAAI,MAAM,GAAU,YAAY,MAAM,uBA8ErC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"} | ||
| {"version":3,"file":"sqlite3.d.ts","sourceRoot":"","sources":["../../src/sqlite3.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EACX,QAAQ,IAAI,SAAS,EAErB,MAAM,YAAY,CAAC;AAepB,QAAA,IAAI,MAAM,GACT,YAAY,MAAM,EAClB,UAAU;IAAE,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,uBA4E3C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"} |
+14
-5
| import DB from "better-sqlite3"; | ||
| import fs from "fs"; | ||
| let create = async (directory) => { | ||
| const applyPragmas = (db, pragmas) => { | ||
| db.pragma("journal_mode = WAL"); | ||
| db.pragma("foreign_keys = on"); | ||
| db.pragma(`synchronous = ${(pragmas?.synchronous ?? "FULL").toUpperCase()}`); | ||
| if (pragmas?.lockingMode) { | ||
| db.pragma(`locking_mode = ${pragmas.lockingMode.toUpperCase()}`); | ||
| } | ||
| if (pragmas?.tempStore && pragmas.tempStore !== "DEFAULT") { | ||
| db.pragma(`temp_store = ${pragmas.tempStore.toUpperCase()}`); | ||
| } | ||
| db.defaultSafeIntegers(true); | ||
| }; | ||
| let create = async (directory, options) => { | ||
| let db = undefined; | ||
@@ -44,6 +56,3 @@ let statements = new Map(); | ||
| } | ||
| // TODO this test makes things faster, but for benchmarking it might yield wierd results where some runs are faster than others | ||
| db.pragma("journal_mode = WAL"); | ||
| db.pragma("foreign_keys = on"); | ||
| db.defaultSafeIntegers(true); | ||
| applyPragmas(db, options?.pragmas); | ||
| }; | ||
@@ -50,0 +59,0 @@ return { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.js","sourceRoot":"","sources":["../../src/sqlite3.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sqlite3.js","sourceRoot":"","sources":["../../src/sqlite3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,OAA6B,EAAE,EAAE;IACvE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QAC1B,EAAE,CAAC,MAAM,CAAC,kBAAkB,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3D,EAAE,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,IAAI,MAAM,GAAG,KAAK,EACjB,SAAkB,EAClB,OAA2C,EAC1C,EAAE;IACH,IAAI,EAAE,GAA4B,SAAS,CAAC;IAC5C,IAAI,UAAU,GAA4B,IAAI,GAAG,EAAE,CAAC;IACpD,IAAI,UAAkB,CAAC;IAEvB,IAAI,KAAK,GAAG,GAAG,EAAE;QAChB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnB,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,EAAE,EAAE,CAAC;YACR,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,GAAG,SAAS,CAAC;QAChB,CAAC;IACF,CAAC,CAAC;IACF,IAAI,IAAI,GAAG,GAAG,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;YACvB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtB,EAAE,GAAG,SAAS,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,IAAI,IAAI,GAAG,GAAG,EAAE;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,IAAI,SAAS,EAAE,CAAC;gBACf,uEAAuE;gBACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,UAAU,GAAG,GAAG,SAAS,YAAY,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACP,UAAU,GAAG,UAAU,CAAC;YACzB,CAAC;YAED,EAAE,GAAG,IAAI,EAAE,CAAC,UAAU,EAAE;gBACvB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,KAAK,CAAC,mDAAmD;aACnE,CAAC,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;YACrB,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,EAAW;YACrC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC9C,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChB,IAAI,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE9B,IAAI,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAsB,CAAC,CAAC,aAAa;YAChE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,UAAU;QACV,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;KACzB,CAAC,CAAC,gBAAgB;AACjC,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"} |
| import { type Database as SQLDatabase, type PreparedStatement as SQLStatement } from "@sqlite.org/sqlite-wasm"; | ||
| import type { BindableValue } from "./schema.js"; | ||
| import { type Statement as IStatement, type StatementGetResult } from "./types.js"; | ||
| import type { SQLitePragmaOptions } from "./sqlite3-messages.worker.js"; | ||
| export declare const encodeName: (name: string) => string; | ||
@@ -20,3 +21,5 @@ export declare const decodeName: (name: string) => string; | ||
| } | ||
| declare const create: (directory?: string) => Promise<{ | ||
| declare const create: (directory?: string, options?: { | ||
| pragmas?: SQLitePragmaOptions; | ||
| }) => Promise<{ | ||
| close: () => Promise<any> | any; | ||
@@ -23,0 +26,0 @@ exec: (sql: string) => SQLDatabase; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EACtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AA4ED,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM;iBA+ErB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBA2CvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"} | ||
| {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EACtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AA+FD,QAAA,MAAM,MAAM,GACX,YAAY,MAAM,EAClB,UAAU;IAAE,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE;iBAgFzB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBA0CvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"} |
@@ -144,3 +144,16 @@ import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh"; | ||
| }; | ||
| const create = async (directory) => { | ||
| const applyPragmas = (db, pragmas) => { | ||
| db.exec("PRAGMA journal_mode = WAL"); | ||
| db.exec("PRAGMA foreign_keys = on"); | ||
| // Browser SQLite state is a rebuildable materialized view over the log, so | ||
| // NORMAL is a better default tradeoff than FULL for OPFS-backed write latency. | ||
| db.exec(`PRAGMA synchronous = ${(pragmas?.synchronous ?? "NORMAL").toUpperCase()}`); | ||
| if (pragmas?.lockingMode) { | ||
| db.exec(`PRAGMA locking_mode = ${pragmas.lockingMode.toUpperCase()}`); | ||
| } | ||
| if (pragmas?.tempStore && pragmas.tempStore !== "DEFAULT") { | ||
| db.exec(`PRAGMA temp_store = ${pragmas.tempStore.toUpperCase()}`); | ||
| } | ||
| }; | ||
| const create = async (directory, options) => { | ||
| let statements = new Map(); | ||
@@ -253,4 +266,3 @@ const sqlite3 = await getSqlite3(); | ||
| } | ||
| sqliteDb.exec("PRAGMA journal_mode = WAL"); | ||
| sqliteDb.exec("PRAGMA foreign_keys = on"); | ||
| applyPragmas(sqliteDb, options?.pragmas); | ||
| }; | ||
@@ -257,0 +269,0 @@ return { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"} |
+146
-53
| import * as messages from "./sqlite3-messages.worker.js"; | ||
| import { create } from "./sqlite3.wasm.js"; | ||
| const resolveValues = (values, profile = false) => { | ||
| if (!values || values.length === 0) { | ||
| return { | ||
| values: undefined, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| } | ||
| : undefined, | ||
| }; | ||
| } | ||
| let blobBytes = 0; | ||
| let blobValueCount = 0; | ||
| const startedAt = profile ? performance.now() : 0; | ||
| const resolvedValues = values.map((value) => { | ||
| const resolved = messages.resolveValue(value); | ||
| if (profile && resolved instanceof Uint8Array) { | ||
| blobValueCount++; | ||
| blobBytes += resolved.byteLength; | ||
| } | ||
| return resolved; | ||
| }); | ||
| return { | ||
| values: resolvedValues, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: performance.now() - startedAt, | ||
| valueCount: values.length, | ||
| blobValueCount, | ||
| blobBytes, | ||
| } | ||
| : undefined, | ||
| }; | ||
| }; | ||
| class SqliteWorkerHandler { | ||
| databases = new Map(); | ||
| async create(databaseId, directory) { | ||
| const db = await create(directory); | ||
| async create(databaseId, directory, options) { | ||
| const db = await create(directory, options); | ||
| this.databases.set(databaseId, db); | ||
@@ -11,14 +48,20 @@ return db; | ||
| async onMessage(message) { | ||
| if (message.type === "create") { | ||
| await this.create(message.databaseId, message.directory); | ||
| } | ||
| else { | ||
| const profile = Boolean(message.profile); | ||
| const startedAt = profile ? performance.now() : 0; | ||
| let decodeMs = 0; | ||
| let valueCount = 0; | ||
| let blobValueCount = 0; | ||
| let blobBytes = 0; | ||
| const execute = async () => { | ||
| if (message.type === "create") { | ||
| await this.create(message.databaseId, message.directory, { | ||
| pragmas: message.pragmas, | ||
| }); | ||
| return undefined; | ||
| } | ||
| const db = this.databases.get(message.databaseId); | ||
| if (!db) { | ||
| if (message.type === "close") { | ||
| return; // ignore close message if database is not found | ||
| if (message.type === "close" || message.type === "drop") { | ||
| return undefined; | ||
| } | ||
| if (message.type === "drop") { | ||
| return; // ignore close message if database is not found | ||
| } | ||
| if (message.type === "status") { | ||
@@ -35,59 +78,96 @@ return "closed"; | ||
| } | ||
| else if (message.type === "status") { | ||
| if (message.type === "status") { | ||
| return db.status(); | ||
| } | ||
| else if (message.type === "prepare") { | ||
| if (message.type === "prepare") { | ||
| const statementId = message.id; | ||
| await db.prepare(message.sql, message.id); | ||
| // db.statements.get(statementId) -> statement, because sqlite3.wasm stores the statement in a map like this | ||
| return statementId; | ||
| } | ||
| else if (message.type === "close") { | ||
| if (message.type === "close") { | ||
| await db.close(); | ||
| this.databases.delete(message.databaseId); | ||
| return undefined; | ||
| } | ||
| else if (message.type === "drop") { | ||
| if (message.type === "drop") { | ||
| await db.drop(); | ||
| this.databases.delete(message.databaseId); | ||
| return undefined; | ||
| } | ||
| else if (message.type === "open") { | ||
| if (message.type === "open") { | ||
| await db.open(); | ||
| this.databases.set(message.databaseId, db); | ||
| return undefined; | ||
| } | ||
| else if (message.type === "run") { | ||
| return db.run(message.sql, message.values.map(messages.resolveValue)); | ||
| if (message.type === "run") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return db.run(message.sql, resolved.values ?? []); | ||
| } | ||
| else { | ||
| const statement = db.statements.get(message.statementId); | ||
| if (!statement) { | ||
| throw new Error("Statement not found with id: " + message.statementId); | ||
| const statement = db.statements.get(message.statementId); | ||
| if (!statement) { | ||
| throw new Error("Statement not found with id: " + message.statementId); | ||
| } | ||
| if (message.type === "bind") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.bind(resolved.values ?? []); | ||
| } | ||
| if (message.type === "finalize") { | ||
| return statement.finalize(); | ||
| } | ||
| if (message.type === "reset") { | ||
| return statement.reset(); | ||
| } | ||
| if (message.type === "get") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.get(resolved.values); | ||
| } | ||
| if (message.type === "step") { | ||
| return statement.step(); | ||
| } | ||
| if (message.type === "run-statement") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.run(resolved.values ?? []); | ||
| } | ||
| if (message.type === "all") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.all(resolved.values ?? []); | ||
| } | ||
| throw new Error("Unknown statement message type: " + message["type"]); | ||
| }; | ||
| const execStart = profile ? performance.now() : 0; | ||
| const result = await execute(); | ||
| const execMs = profile ? performance.now() - execStart - decodeMs : 0; | ||
| return { | ||
| result, | ||
| timing: profile | ||
| ? { | ||
| decodeMs, | ||
| execMs, | ||
| totalMs: performance.now() - startedAt, | ||
| valueCount, | ||
| blobValueCount, | ||
| blobBytes, | ||
| } | ||
| if (message.type === "bind") { | ||
| return statement.bind(message.values.map(messages.resolveValue)); | ||
| } | ||
| else if (message.type === "finalize") { | ||
| return statement.finalize(); | ||
| } | ||
| else if (message.type === "reset") { | ||
| return statement.reset(); | ||
| } | ||
| else if (message.type === "get") { | ||
| return statement.get(message.values | ||
| ? message.values.map(messages.resolveValue) | ||
| : undefined); | ||
| } | ||
| else if (message.type === "step") { | ||
| return statement.step(); | ||
| } | ||
| else if (message.type === "run-statement") { | ||
| return statement.run(message.values.map(messages.resolveValue)); | ||
| } | ||
| else if (message.type === "all") { | ||
| return statement.all(message.values.map(messages.resolveValue)); | ||
| } | ||
| else { | ||
| throw new Error("Unknown statement message type: " + message["type"]); | ||
| } | ||
| } | ||
| } | ||
| : undefined, | ||
| }; | ||
| } | ||
@@ -97,8 +177,11 @@ } | ||
| self.onmessage = async (messageEvent) => { | ||
| const profile = Boolean(messageEvent.data.profile); | ||
| const startedAt = profile ? performance.now() : 0; | ||
| try { | ||
| const results = await worker.onMessage(messageEvent.data); | ||
| const response = await worker.onMessage(messageEvent.data); | ||
| self.postMessage({ | ||
| type: "response", | ||
| id: messageEvent.data.id, | ||
| result: results, | ||
| result: response.result, | ||
| timing: response.timing, | ||
| }); | ||
@@ -111,2 +194,12 @@ } | ||
| message: error?.message, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: 0, | ||
| execMs: 0, | ||
| totalMs: performance.now() - startedAt, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| } | ||
| : undefined, | ||
| }); | ||
@@ -113,0 +206,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sqlite3.worker.js","sourceRoot":"","sources":["../../src/sqlite3.worker.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sqlite3.worker.js","sourceRoot":"","sources":["../../src/sqlite3.worker.ts"],"names":[],"mappings":"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"} |
| export declare const isFKError: (e: any) => any; | ||
| export declare const isUniqueConstraintError: (e: any) => any; | ||
| //# sourceMappingURL=utils.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,GAAG,GAAG,QAQ/B,CAAC"} | ||
| {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,GAAG,GAAG,QAQ/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,GAAG,QAY7C,CAAC"} |
+11
-0
@@ -8,2 +8,13 @@ export const isFKError = (e) => { | ||
| }; | ||
| export const isUniqueConstraintError = (e) => { | ||
| return (e?.code === "SQLITE_CONSTRAINT_PRIMARYKEY" || | ||
| e?.code === "SQLITE_CONSTRAINT_UNIQUE" || | ||
| e?.rc === 1555 || | ||
| e?.rc === 2067 || | ||
| (e?.message && | ||
| (e.message.includes("SQLITE_CONSTRAINT_PRIMARYKEY") || | ||
| e.message.includes("SQLITE_CONSTRAINT_UNIQUE") || | ||
| e.message.includes("UNIQUE constraint failed") || | ||
| e.message.includes("PRIMARY KEY constraint failed")))); | ||
| }; | ||
| //# sourceMappingURL=utils.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE;IACnC,OAAO,CACN,CAAC,EAAE,IAAI,KAAK,8BAA8B;QAC1C,CAAC,EAAE,EAAE,KAAK,GAAG;QACb,CAAC,CAAC,EAAE,OAAO;YACV,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAClD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CACvD,CAAC;AACH,CAAC,CAAC"} | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE;IACnC,OAAO,CACN,CAAC,EAAE,IAAI,KAAK,8BAA8B;QAC1C,CAAC,EAAE,EAAE,KAAK,GAAG;QACb,CAAC,CAAC,EAAE,OAAO;YACV,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAClD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CACvD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAM,EAAE,EAAE;IACjD,OAAO,CACN,CAAC,EAAE,IAAI,KAAK,8BAA8B;QAC1C,CAAC,EAAE,IAAI,KAAK,0BAA0B;QACtC,CAAC,EAAE,EAAE,KAAK,IAAI;QACd,CAAC,EAAE,EAAE,KAAK,IAAI;QACd,CAAC,CAAC,EAAE,OAAO;YACV,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAClD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CACvD,CAAC;AACH,CAAC,CAAC"} |
+7
-6
| { | ||
| "name": "@peerbit/indexer-sqlite3", | ||
| "version": "3.0.0", | ||
| "version": "3.0.1", | ||
| "description": "SQLite index for document store", | ||
@@ -70,4 +70,4 @@ "type": "module", | ||
| "@peerbit/indexer-interface": "3.0.0", | ||
| "@peerbit/time": "3.0.0", | ||
| "@peerbit/crypto": "3.0.0" | ||
| "@peerbit/crypto": "3.0.0", | ||
| "@peerbit/time": "3.0.0" | ||
| }, | ||
@@ -77,4 +77,4 @@ "devDependencies": { | ||
| "esbuild": "0.27.0", | ||
| "@peerbit/build-assets": "1.1.0", | ||
| "@peerbit/indexer-tests": "3.0.0" | ||
| "@peerbit/indexer-tests": "3.0.0", | ||
| "@peerbit/build-assets": "1.1.0" | ||
| }, | ||
@@ -89,4 +89,5 @@ "scripts": { | ||
| "test:node": "aegir clean && aegir test -t node", | ||
| "lint": "aegir lint" | ||
| "lint": "aegir lint", | ||
| "test:cov": "aegir test -t node --cov" | ||
| } | ||
| } |
+99
-11
@@ -33,3 +33,3 @@ import { type AbstractType, type Constructor, getSchema } from "@dao-xyz/borsh"; | ||
| import type { Database, Statement } from "./types.js"; | ||
| import { isFKError } from "./utils.js"; | ||
| import { isFKError, isUniqueConstraintError } from "./utils.js"; | ||
@@ -41,2 +41,6 @@ const escapePathToSQLName = (path: string[]) => { | ||
| const putStatementKey = (table: Table) => table.name + "_put"; | ||
| const insertKnownIdStatementKey = (table: Table) => | ||
| table.name + "_insert_known_id"; | ||
| const putStatementBatchNoReturnKey = (table: Table, rows: number) => | ||
| table.name + "_put_batch_noreturn_" + rows; | ||
| const replaceStatementKey = (table: Table) => table.name + "_replicate"; | ||
@@ -89,3 +93,20 @@ const resolveChildrenStatement = (table: Table) => | ||
| export class SQLLiteIndex<T extends Record<string, any>> | ||
| const createBatchInsertSQL = (table: Table, rows: number) => { | ||
| const columns = table.fields.map((field) => escapeColumnName(field.name)).join(", "); | ||
| const rowPlaceholder = `(${table.fields.map(() => "?").join(", ")})`; | ||
| return `insert into ${table.name} (${columns}) VALUES ${Array.from({ | ||
| length: rows, | ||
| }) | ||
| .map(() => rowPlaceholder) | ||
| .join(", ")};`; | ||
| }; | ||
| const canUseWithoutRowId = (table: Table) => { | ||
| if (table.inline || table.primary === false || !table.primaryField) { | ||
| return false; | ||
| } | ||
| return !/^INTEGER\b/i.test(table.primaryField.type); | ||
| }; | ||
| export class SQLiteIndex<T extends Record<string, any>> | ||
| implements Index<T, any> | ||
@@ -151,2 +172,3 @@ { | ||
| schema: AbstractType<any>; | ||
| persisted?: boolean; | ||
| start?: () => Promise<void> | void; | ||
@@ -170,2 +192,6 @@ stop?: () => Promise<void> | void; | ||
| persisted(): boolean { | ||
| return this.properties.persisted ?? true; | ||
| } | ||
| get tables() { | ||
@@ -259,3 +285,6 @@ if (this.closed) { | ||
| const sqlCreateTable = `create table if not exists ${table.name} (${[...table.fields, ...table.constraints].map((s) => s.definition).join(", ")}) strict`; | ||
| const tableOptions = canUseWithoutRowId(table) | ||
| ? " strict, without rowid" | ||
| : " strict"; | ||
| const sqlCreateTable = `create table if not exists ${table.name} (${[...table.fields, ...table.constraints].map((s) => s.definition).join(", ")})${tableOptions}`; | ||
| this.properties.db.exec(sqlCreateTable); | ||
@@ -299,2 +328,5 @@ | ||
| // insert without replace when the caller already knows the id is fresh | ||
| let sqlInsertKnownId = `insert into ${table.name} (${table.fields.map((field) => escapeColumnName(field.name)).join(", ")}) VALUES (${table.fields.map((_x) => "?").join(", ")});`; | ||
| // insert or replace with id already defined | ||
@@ -304,2 +336,6 @@ let sqlReplace = `insert or replace into ${table.name} (${table.fields.map((field) => escapeColumnName(field.name)).join(", ")}) VALUES (${table.fields.map((_x) => "?").join(", ")});`; | ||
| await this.properties.db.prepare(sqlPut, putStatementKey(table)); | ||
| await this.properties.db.prepare( | ||
| sqlInsertKnownId, | ||
| insertKnownIdStatementKey(table), | ||
| ); | ||
| await this.properties.db.prepare(sqlReplace, replaceStatementKey(table)); | ||
@@ -439,3 +475,7 @@ | ||
| async put(value: T, _id?: any): Promise<void> { | ||
| async put( | ||
| value: T, | ||
| _id?: any, | ||
| options?: { replace?: boolean }, | ||
| ): Promise<void> { | ||
| return this.withWriteBarrier(async () => { | ||
@@ -449,8 +489,31 @@ const classOfValue = value.constructor as Constructor<T>; | ||
| if (preId != null) { | ||
| statement = this.properties.db.statements.get( | ||
| replaceStatementKey(table), | ||
| )!; | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| const shouldReplace = options?.replace ?? true; | ||
| if (!shouldReplace) { | ||
| statement = this.properties.db.statements.get( | ||
| insertKnownIdStatementKey(table), | ||
| )!; | ||
| try { | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } catch (error) { | ||
| if (!isUniqueConstraintError(error)) { | ||
| throw error; | ||
| } | ||
| await statement.reset?.(); | ||
| statement = this.properties.db.statements.get( | ||
| replaceStatementKey(table), | ||
| )!; | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } | ||
| } else { | ||
| statement = this.properties.db.statements.get( | ||
| replaceStatementKey(table), | ||
| )!; | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| } | ||
| return preId; | ||
@@ -488,2 +551,20 @@ } else { | ||
| }, | ||
| undefined, | ||
| undefined, | ||
| { | ||
| insertSimpleVecRows: async (rows, table) => { | ||
| if (rows.length === 0) { | ||
| return; | ||
| } | ||
| const key = putStatementBatchNoReturnKey(table, rows.length); | ||
| const sql = createBatchInsertSQL(table, rows.length); | ||
| const statement = | ||
| this.properties.db.statements.get(key) || | ||
| (await this.properties.db.prepare(sql, key)); | ||
| const values = rows.flat(); | ||
| this.fkMode === "race-tolerant" | ||
| ? await runIgnoreFK(statement, values) | ||
| : await statement.run(values); | ||
| }, | ||
| }, | ||
| ); | ||
@@ -835,6 +916,7 @@ }); | ||
| const index: types.Index<T, any> = new SQLLiteIndex({ | ||
| const index: types.Index<T, any> = new SQLiteIndex({ | ||
| db: this.properties.db, | ||
| schema: properties.schema, | ||
| scope: this._scope, | ||
| persisted: await this.persisted(), | ||
| }); | ||
@@ -874,2 +956,6 @@ await index.init(properties); | ||
| persisted(): boolean { | ||
| return this.properties.directory != null; | ||
| } | ||
| async start(): Promise<void> { | ||
@@ -924,1 +1010,3 @@ this.closed = false; | ||
| } | ||
| export { SQLiteIndex as SQLLiteIndex }; |
+39
-4
| import { BinaryWriter } from "@dao-xyz/borsh"; | ||
| import { sha256Sync, toBase58 } from "@peerbit/crypto"; | ||
| import { SQLLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import { SQLiteIndex, SQLiteIndices } from "./engine.js"; | ||
| import { create as sqlite3 } from "./sqlite3.js"; | ||
| import type { | ||
| SQLiteBrowserOptions, | ||
| SQLiteProfileSample, | ||
| } from "./sqlite3.browser.js"; | ||
| import type { | ||
| SQLiteLockingMode, | ||
| SQLitePragmaOptions, | ||
| SQLiteSynchronousMode, | ||
| SQLiteTempStoreMode, | ||
| SqliteWorkerProtocol, | ||
| } from "./sqlite3-messages.worker.js"; | ||
@@ -12,6 +23,30 @@ export const encodeName = (name: string): string => { | ||
| const create = async (directory?: string): Promise<SQLiteIndices> => { | ||
| const db = await sqlite3(directory); | ||
| const create = async ( | ||
| directory?: string, | ||
| options?: SQLiteBrowserOptions, | ||
| ): Promise<SQLiteIndices> => { | ||
| const db = await sqlite3(directory, options); | ||
| return new SQLiteIndices({ db, directory }); | ||
| }; | ||
| export { create, SQLiteIndices, SQLLiteIndex }; | ||
| const createDatabase = ( | ||
| directory?: string, | ||
| options?: SQLiteBrowserOptions, | ||
| ) => sqlite3(directory, options); | ||
| export { | ||
| create, | ||
| createDatabase, | ||
| SQLiteIndices, | ||
| SQLiteIndex, | ||
| SQLiteIndex as SQLLiteIndex, | ||
| }; | ||
| export type { | ||
| SQLiteBrowserOptions, | ||
| SQLiteLockingMode, | ||
| SQLitePragmaOptions, | ||
| SQLiteProfileSample, | ||
| SQLiteSynchronousMode, | ||
| SQLiteTempStoreMode, | ||
| SqliteWorkerProtocol, | ||
| }; |
+67
-11
@@ -820,3 +820,7 @@ import { | ||
| export const insert = async ( | ||
| insertFn: (values: any[], table: Table) => Promise<any> | any, | ||
| insertFn: ( | ||
| values: any[], | ||
| table: Table, | ||
| options?: { requireId?: boolean }, | ||
| ) => Promise<any> | any, | ||
| obj: Record<string, any>, | ||
@@ -831,2 +835,8 @@ tables: Map<string, Table>, | ||
| index?: number, | ||
| options?: { | ||
| insertSimpleVecRows?: ( | ||
| rows: any[][], | ||
| table: Table, | ||
| ) => Promise<void> | void; | ||
| }, | ||
| ): Promise<void> => { | ||
@@ -841,2 +851,10 @@ const bindableValues: any[] = []; | ||
| const toInsertValue = (item: any, subTable: Table) => | ||
| typeof item === "function" && item instanceof Uint8Array === false | ||
| ? item | ||
| : subTable.isSimpleValue | ||
| ? // eslint-disable-next-line new-cap | ||
| new subTable.ctor(item) | ||
| : Object.assign(Object.create(subTable.ctor.prototype), item); | ||
| const handleElement = async ( | ||
@@ -852,8 +870,3 @@ item: any, | ||
| insertFn, | ||
| typeof item === "function" && item instanceof Uint8Array === false | ||
| ? item | ||
| : subTable.isSimpleValue | ||
| ? // eslint-disable-next-line new-cap | ||
| new subTable.ctor(item) | ||
| : Object.assign(Object.create(subTable.ctor.prototype), item), | ||
| toInsertValue(item, subTable), | ||
| tables, | ||
@@ -865,2 +878,3 @@ subTable, | ||
| index, | ||
| options, | ||
| ); | ||
@@ -876,2 +890,35 @@ }; | ||
| const arr = obj[field.key]; | ||
| const firstItem = arr.find((item: any) => item != null); | ||
| if ( | ||
| parentId != null && | ||
| arr.length > 1 && | ||
| firstItem != null && | ||
| options?.insertSimpleVecRows | ||
| ) { | ||
| const subTable = getTableFromValue(table, tables, field, firstItem); | ||
| if (subTable.isSimpleValue) { | ||
| const rows: any[][] = []; | ||
| for (let i = 0; i < arr.length; i++) { | ||
| const item = arr[i]; | ||
| await insert( | ||
| (values) => { | ||
| rows.push(values); | ||
| return undefined; | ||
| }, | ||
| toInsertValue(item, subTable), | ||
| tables, | ||
| subTable, | ||
| getSchema(subTable.ctor).fields, | ||
| handleNestedCallback, | ||
| parentId, | ||
| i, | ||
| options, | ||
| ); | ||
| } | ||
| if (rows.length > 0) { | ||
| await options.insertSimpleVecRows(rows, subTable); | ||
| } | ||
| return; | ||
| } | ||
| } | ||
| for (let i = 0; i < arr.length; i++) { | ||
@@ -954,2 +1001,3 @@ const item = arr[i]; | ||
| undefined, // index is not defined here, we are inserting a nested object inline | ||
| options, | ||
| ); | ||
@@ -973,3 +1021,5 @@ /* await insert(, obj[field.key], tables, subTable, getSchema(unwrappedType).fields, parentId, index); */ | ||
| const thisId = await insertFn(bindableValues, table); | ||
| const thisId = await insertFn(bindableValues, table, { | ||
| requireId: nestedCallbacks.length > 0, | ||
| }); | ||
| if (table.primary === false && nestedCallbacks.length > 0) { | ||
@@ -1886,5 +1936,11 @@ throw new Error("Unexpected"); | ||
| const usedColumns = removeDuplicatesOrdered(table!.columns); | ||
| indexedBy = options?.planner | ||
| ? ` INDEXED BY ${options.planner.resolveIndex(table.table.name, usedColumns)} ` | ||
| : ""; | ||
| const usesImplicitPrimaryKeyIndex = | ||
| table.type === "root" && | ||
| table.table.primary !== false && | ||
| usedColumns.length === 1 && | ||
| usedColumns[0] === table.table.primary; | ||
| indexedBy = | ||
| options?.planner && !usesImplicitPrimaryKeyIndex | ||
| ? ` INDEXED BY ${options.planner.resolveIndex(table.table.name, usedColumns)} ` | ||
| : ""; | ||
| } | ||
@@ -1891,0 +1947,0 @@ |
| import { fromBase64, toBase64 } from "@peerbit/crypto"; | ||
| export type SqliteWorkerProtocol = "legacy" | "clone"; | ||
| export type SQLiteSynchronousMode = "FULL" | "NORMAL" | "OFF"; | ||
| export type SQLiteLockingMode = "NORMAL" | "EXCLUSIVE"; | ||
| export type SQLiteTempStoreMode = "DEFAULT" | "FILE" | "MEMORY"; | ||
| export type SQLitePragmaOptions = { | ||
| synchronous?: SQLiteSynchronousMode; | ||
| lockingMode?: SQLiteLockingMode; | ||
| tempStore?: SQLiteTempStoreMode; | ||
| }; | ||
| interface Message { | ||
| id: string; | ||
| databaseId: string; | ||
| profile?: boolean; | ||
| protocol?: SqliteWorkerProtocol; | ||
| } | ||
@@ -12,2 +24,3 @@ | ||
| directory?: string; | ||
| pragmas?: SQLitePragmaOptions; | ||
| } | ||
@@ -41,11 +54,52 @@ | ||
| type Uint8ArrayType = { type: "uint8array"; base64: string }; | ||
| type Uint8ArrayBase64Type = { | ||
| type: "uint8array"; | ||
| encoding: "base64"; | ||
| base64: string; | ||
| }; | ||
| type Uint8ArrayCloneType = { | ||
| type: "uint8array"; | ||
| encoding: "clone"; | ||
| value: Uint8Array; | ||
| }; | ||
| type SimpleType = { type: "simple"; value: any }; | ||
| export const resolveValue = (value: Uint8ArrayType | SimpleType) => | ||
| value.type === "simple" ? value.value : fromBase64(value.base64); | ||
| export const encodeValue = (value: any): Uint8ArrayType | SimpleType => { | ||
| export type EncodedValue = | ||
| | Uint8ArrayBase64Type | ||
| | Uint8ArrayCloneType | ||
| | SimpleType; | ||
| export type ClientEncodeMetrics = { | ||
| encodeMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| }; | ||
| export type WorkerTiming = { | ||
| decodeMs: number; | ||
| execMs: number; | ||
| totalMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| }; | ||
| export const resolveValue = (value: EncodedValue) => { | ||
| if (value.type === "simple") { | ||
| return value.value; | ||
| } | ||
| return value.encoding === "clone" ? value.value : fromBase64(value.base64); | ||
| }; | ||
| export const encodeValue = ( | ||
| value: any, | ||
| protocol: SqliteWorkerProtocol = "legacy", | ||
| ): EncodedValue => { | ||
| if (value instanceof Uint8Array) { | ||
| return { type: "uint8array", base64: toBase64(value) }; | ||
| return protocol === "clone" | ||
| ? { type: "uint8array", encoding: "clone", value } | ||
| : { type: "uint8array", encoding: "base64", base64: toBase64(value) }; | ||
| } | ||
@@ -55,6 +109,44 @@ return { type: "simple", value }; | ||
| export const encodeValues = ( | ||
| values: any[] | undefined, | ||
| protocol: SqliteWorkerProtocol = "legacy", | ||
| ): { values: EncodedValue[] | undefined; metrics: ClientEncodeMetrics } => { | ||
| if (!values || values.length === 0) { | ||
| return { | ||
| values, | ||
| metrics: { | ||
| encodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| }, | ||
| }; | ||
| } | ||
| let blobBytes = 0; | ||
| let blobValueCount = 0; | ||
| const startedAt = performance.now(); | ||
| const encodedValues = values.map((value) => { | ||
| if (value instanceof Uint8Array) { | ||
| blobValueCount++; | ||
| blobBytes += value.byteLength; | ||
| } | ||
| return encodeValue(value, protocol); | ||
| }); | ||
| return { | ||
| values: encodedValues, | ||
| metrics: { | ||
| encodeMs: performance.now() - startedAt, | ||
| valueCount: values.length, | ||
| blobValueCount, | ||
| blobBytes, | ||
| }, | ||
| }; | ||
| }; | ||
| interface Run extends Statement { | ||
| type: "run"; | ||
| sql: string; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -69,3 +161,3 @@ | ||
| type: "bind"; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -79,3 +171,3 @@ | ||
| type: "get"; | ||
| values?: any[]; | ||
| values?: EncodedValue[]; | ||
| } | ||
@@ -89,3 +181,3 @@ | ||
| type: "run-statement"; | ||
| values: any[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -95,3 +187,3 @@ | ||
| type: "all"; | ||
| values: (Uint8ArrayType | SimpleType)[]; | ||
| values: EncodedValue[]; | ||
| } | ||
@@ -108,2 +200,3 @@ | ||
| message: string; | ||
| timing?: WorkerTiming; | ||
| } | ||
@@ -115,2 +208,3 @@ | ||
| result: any; | ||
| timing?: WorkerTiming; | ||
| } | ||
@@ -117,0 +211,0 @@ |
+245
-87
@@ -12,10 +12,50 @@ import pDefer from "p-defer"; | ||
| type RequestType = | ||
| | messages.DatabaseMessages["type"] | ||
| | messages.StatementMessages["type"]; | ||
| export type SQLiteBrowserOptions = { | ||
| protocol?: messages.SqliteWorkerProtocol; | ||
| pragmas?: messages.SQLitePragmaOptions; | ||
| profile?: boolean; | ||
| onProfile?: (sample: SQLiteProfileSample) => void; | ||
| }; | ||
| export type SQLiteProfileSample = { | ||
| requestType: RequestType; | ||
| protocol: messages.SqliteWorkerProtocol; | ||
| databaseId: string; | ||
| databaseDirectory?: string; | ||
| sql?: string; | ||
| clientEncodeMs: number; | ||
| clientRoundTripMs: number; | ||
| valueCount: number; | ||
| blobValueCount: number; | ||
| blobBytes: number; | ||
| worker?: messages.WorkerTiming; | ||
| }; | ||
| type SendMetrics = messages.ClientEncodeMetrics & { | ||
| requestType: RequestType; | ||
| sql?: string; | ||
| }; | ||
| type ResponseMessage = Extract<messages.ResponseMessages, { type: "response" }>; | ||
| type ErrorMessage = Extract<messages.ResponseMessages, { type: "error" }>; | ||
| const DEFAULT_PROTOCOL: messages.SqliteWorkerProtocol = "clone"; | ||
| const EMPTY_ENCODE_METRICS: messages.ClientEncodeMetrics = { | ||
| encodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| }; | ||
| const getProtocol = ( | ||
| options?: SQLiteBrowserOptions, | ||
| ): messages.SqliteWorkerProtocol => options?.protocol ?? DEFAULT_PROTOCOL; | ||
| class ProxyStatement implements IStatement { | ||
| id: string; | ||
| resolvers: { | ||
| [hash in string]: { | ||
| resolve: (...args: any) => void; | ||
| reject: (...args: any) => void; | ||
| }; | ||
| } = {}; | ||
| private needsReset = false; | ||
@@ -25,5 +65,8 @@ constructor( | ||
| message: messages.DatabaseMessages | messages.StatementMessages, | ||
| metrics?: SendMetrics, | ||
| ) => Promise<T>, | ||
| readonly databaseId: string, | ||
| readonly statementId: string, | ||
| readonly sql: string, | ||
| readonly options?: SQLiteBrowserOptions, | ||
| ) { | ||
@@ -34,9 +77,18 @@ this.id = statementId; | ||
| async bind(values: any[]) { | ||
| await this.send({ | ||
| type: "bind", | ||
| values: values.map(messages.encodeValue), | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| await this.send( | ||
| { | ||
| type: "bind", | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "bind", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }, | ||
| ); | ||
| this.needsReset = true; | ||
| return this; | ||
@@ -46,37 +98,75 @@ } | ||
| async finalize() { | ||
| await this.send({ | ||
| type: "finalize", | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| await this.send( | ||
| { | ||
| type: "finalize", | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "finalize", | ||
| sql: this.sql, | ||
| ...EMPTY_ENCODE_METRICS, | ||
| }, | ||
| ); | ||
| this.needsReset = false; | ||
| } | ||
| get(values?: BindableValue[]) { | ||
| return this.send<StatementGetResult>({ | ||
| type: "get", | ||
| values: values ? values.map(messages.encodeValue) : undefined, | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| async get(values?: BindableValue[]) { | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| const result = await this.send<StatementGetResult>( | ||
| { | ||
| type: "get", | ||
| values: encoded.values, | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "get", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }, | ||
| ); | ||
| this.needsReset = false; | ||
| return result; | ||
| } | ||
| async run(values: BindableValue[]) { | ||
| await this.send({ | ||
| type: "run-statement", | ||
| values: values.map(messages.encodeValue), | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| await this.send( | ||
| { | ||
| type: "run-statement", | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "run-statement", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }, | ||
| ); | ||
| this.needsReset = false; | ||
| } | ||
| async reset() { | ||
| await this.send({ | ||
| type: "reset", | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| if (!this.needsReset) { | ||
| return this; | ||
| } | ||
| await this.send( | ||
| { | ||
| type: "reset", | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "reset", | ||
| sql: this.sql, | ||
| ...EMPTY_ENCODE_METRICS, | ||
| }, | ||
| ); | ||
| this.needsReset = false; | ||
| return this; | ||
@@ -86,11 +176,19 @@ } | ||
| async all(values: BindableValue[]) { | ||
| let id = uuid(); | ||
| const results = await this.send({ | ||
| type: "all", | ||
| values: values.map(messages.encodeValue), | ||
| id, | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }); | ||
| return results; | ||
| const encoded = messages.encodeValues(values, getProtocol(this.options)); | ||
| const result = await this.send( | ||
| { | ||
| type: "all", | ||
| values: encoded.values ?? [], | ||
| id: uuid(), | ||
| databaseId: this.databaseId, | ||
| statementId: this.statementId, | ||
| }, | ||
| { | ||
| requestType: "all", | ||
| sql: this.sql, | ||
| ...encoded.metrics, | ||
| }, | ||
| ); | ||
| this.needsReset = false; | ||
| return result; | ||
| } | ||
@@ -101,21 +199,78 @@ } | ||
| statements: Map<string, ProxyStatement> = new Map(); | ||
| databaseId!: string; | ||
| private directory?: string; | ||
| resolvers: { | ||
| [hash in string]: { | ||
| resolve: (...args: any) => void; | ||
| reject: (...args: any) => void; | ||
| }; | ||
| } = {}; | ||
| databaseId!: string; | ||
| constructor( | ||
| readonly send: <T>( | ||
| readonly postMessage: ( | ||
| message: messages.DatabaseMessages | messages.StatementMessages, | ||
| ) => Promise<T>, | ||
| ) => Promise<ResponseMessage>, | ||
| readonly options?: SQLiteBrowserOptions, | ||
| ) {} | ||
| private async send<T>( | ||
| message: messages.DatabaseMessages | messages.StatementMessages, | ||
| metrics?: SendMetrics, | ||
| ): Promise<T> { | ||
| const startedAt = performance.now(); | ||
| const protocol = getProtocol(this.options); | ||
| const shouldProfile = Boolean(this.options?.profile || this.options?.onProfile); | ||
| const requestType = metrics?.requestType ?? message.type; | ||
| try { | ||
| const response = await this.postMessage({ | ||
| ...message, | ||
| protocol, | ||
| profile: shouldProfile, | ||
| }); | ||
| this.options?.onProfile?.({ | ||
| requestType, | ||
| protocol, | ||
| databaseId: this.databaseId, | ||
| databaseDirectory: this.directory, | ||
| sql: | ||
| metrics?.sql ?? | ||
| ("sql" in message && typeof message.sql === "string" | ||
| ? message.sql | ||
| : undefined), | ||
| clientEncodeMs: metrics?.encodeMs ?? 0, | ||
| clientRoundTripMs: performance.now() - startedAt, | ||
| valueCount: metrics?.valueCount ?? 0, | ||
| blobValueCount: metrics?.blobValueCount ?? 0, | ||
| blobBytes: metrics?.blobBytes ?? 0, | ||
| worker: response.timing, | ||
| }); | ||
| return response.result as T; | ||
| } catch (error: any) { | ||
| const responseError = error as ErrorMessage | undefined; | ||
| this.options?.onProfile?.({ | ||
| requestType, | ||
| protocol, | ||
| databaseId: this.databaseId, | ||
| databaseDirectory: this.directory, | ||
| sql: | ||
| metrics?.sql ?? | ||
| ("sql" in message && typeof message.sql === "string" | ||
| ? message.sql | ||
| : undefined), | ||
| clientEncodeMs: metrics?.encodeMs ?? 0, | ||
| clientRoundTripMs: performance.now() - startedAt, | ||
| valueCount: metrics?.valueCount ?? 0, | ||
| blobValueCount: metrics?.blobValueCount ?? 0, | ||
| blobBytes: metrics?.blobBytes ?? 0, | ||
| worker: responseError?.timing, | ||
| }); | ||
| if (responseError?.type === "error") { | ||
| throw new Error(responseError.message); | ||
| } | ||
| throw error; | ||
| } | ||
| } | ||
| async init(directory?: string) { | ||
| this.databaseId = uuid(); | ||
| this.directory = directory; | ||
| return this.send({ | ||
| type: "create", | ||
| directory, | ||
| pragmas: this.options?.pragmas, | ||
| databaseId: this.databaseId, | ||
@@ -150,5 +305,7 @@ id: uuid(), | ||
| const statement = new ProxyStatement( | ||
| this.send, | ||
| this.send.bind(this), | ||
| this.databaseId, | ||
| statementId, | ||
| sql, | ||
| this.options, | ||
| ); | ||
@@ -191,14 +348,6 @@ this.statements.set(statementId, statement); | ||
| } | ||
| /* async get(sql: string) { | ||
| return this.send({ type: 'get', sql, id: uuid() }); | ||
| } | ||
| async run(sql: string, bind: any[]) { | ||
| return this.send({ type: 'run', sql, bind, id: uuid() }); | ||
| } */ | ||
| } | ||
| interface DatabaseCreator { | ||
| create(directory?: string): Promise<ProxyDatabase>; | ||
| create(directory?: string, options?: SQLiteBrowserOptions): Promise<ProxyDatabase>; | ||
| close(): Promise<void> | void; | ||
@@ -213,17 +362,18 @@ } | ||
| let worker = new Worker( | ||
| const worker = new Worker( | ||
| new URL("/peerbit/sqlite3/sqlite3.worker.min.js", import.meta.url), | ||
| { type: "module" }, | ||
| ); | ||
| let resolvers: { | ||
| [hash in string]: { | ||
| resolve: (...args: any) => void; | ||
| reject: (...args: any) => void; | ||
| }; | ||
| } = {}; | ||
| const resolvers: Record< | ||
| string, | ||
| { | ||
| resolve: (message: ResponseMessage) => void; | ||
| reject: (message: ErrorMessage) => void; | ||
| } | ||
| > = {}; | ||
| let send = <T>( | ||
| const postMessage = ( | ||
| message: messages.DatabaseMessages | messages.StatementMessages, | ||
| ) => { | ||
| const promise = new Promise<T>((resolve, reject) => { | ||
| const promise = new Promise<ResponseMessage>((resolve, reject) => { | ||
| resolvers[message.id] = { resolve, reject }; | ||
@@ -236,3 +386,3 @@ }); | ||
| let isReady = pDefer(); | ||
| const isReady = pDefer(); | ||
@@ -248,11 +398,17 @@ worker.onmessage = async (ev) => { | ||
| const resolver = resolvers[message.id]; | ||
| if (!resolver) { | ||
| return; | ||
| } | ||
| if (message.type === "error") { | ||
| resolver.reject(new Error(message.message)); | ||
| } else if (message.type === "response") { | ||
| resolver.resolve(message.result); | ||
| resolver.reject(message); | ||
| } else { | ||
| resolver.resolve(message); | ||
| } | ||
| }; | ||
| const create = async (directory?: string) => { | ||
| const db = new ProxyDatabase(send); | ||
| const create = async ( | ||
| directory?: string, | ||
| options?: SQLiteBrowserOptions, | ||
| ) => { | ||
| const db = new ProxyDatabase(postMessage, options); | ||
| await isReady.promise; | ||
@@ -272,10 +428,12 @@ await db.init(directory); | ||
| const create = (directory?: string): Promise<IDatabase> => { | ||
| const create = ( | ||
| directory?: string, | ||
| options?: SQLiteBrowserOptions, | ||
| ): Promise<IDatabase> => { | ||
| if (directory) { | ||
| // persist the database | ||
| return init().then((creator) => creator.create(directory)); | ||
| } else { | ||
| return createDatabase(); | ||
| return init().then((creator) => creator.create(directory, options)); | ||
| } | ||
| return createDatabase(directory, options); | ||
| }; | ||
| export { create }; |
+19
-5
| import DB from "better-sqlite3"; | ||
| import fs from "fs"; | ||
| import type { SQLitePragmaOptions } from "./sqlite3-messages.worker.js"; | ||
| import type { | ||
@@ -8,3 +9,19 @@ Database as IDatabase, | ||
| let create = async (directory?: string) => { | ||
| const applyPragmas = (db: DB.Database, pragmas?: SQLitePragmaOptions) => { | ||
| db.pragma("journal_mode = WAL"); | ||
| db.pragma("foreign_keys = on"); | ||
| db.pragma(`synchronous = ${(pragmas?.synchronous ?? "FULL").toUpperCase()}`); | ||
| if (pragmas?.lockingMode) { | ||
| db.pragma(`locking_mode = ${pragmas.lockingMode.toUpperCase()}`); | ||
| } | ||
| if (pragmas?.tempStore && pragmas.tempStore !== "DEFAULT") { | ||
| db.pragma(`temp_store = ${pragmas.tempStore.toUpperCase()}`); | ||
| } | ||
| db.defaultSafeIntegers(true); | ||
| }; | ||
| let create = async ( | ||
| directory?: string, | ||
| options?: { pragmas?: SQLitePragmaOptions }, | ||
| ) => { | ||
| let db: DB.Database | undefined = undefined; | ||
@@ -54,6 +71,3 @@ let statements: Map<string, IStatement> = new Map(); | ||
| // TODO this test makes things faster, but for benchmarking it might yield wierd results where some runs are faster than others | ||
| db.pragma("journal_mode = WAL"); | ||
| db.pragma("foreign_keys = on"); | ||
| db.defaultSafeIntegers(true); | ||
| applyPragmas(db, options?.pragmas); | ||
| }; | ||
@@ -60,0 +74,0 @@ |
+25
-3
@@ -15,2 +15,3 @@ import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh"; | ||
| } from "./types.js"; | ||
| import type { SQLitePragmaOptions } from "./sqlite3-messages.worker.js"; | ||
@@ -187,3 +188,25 @@ export const encodeName = (name: string): string => { | ||
| const create = async (directory?: string) => { | ||
| const applyPragmas = ( | ||
| db: SQLDatabase | OpfsSAHPoolDatabase, | ||
| pragmas?: SQLitePragmaOptions, | ||
| ) => { | ||
| db.exec("PRAGMA journal_mode = WAL"); | ||
| db.exec("PRAGMA foreign_keys = on"); | ||
| // Browser SQLite state is a rebuildable materialized view over the log, so | ||
| // NORMAL is a better default tradeoff than FULL for OPFS-backed write latency. | ||
| db.exec( | ||
| `PRAGMA synchronous = ${(pragmas?.synchronous ?? "NORMAL").toUpperCase()}`, | ||
| ); | ||
| if (pragmas?.lockingMode) { | ||
| db.exec(`PRAGMA locking_mode = ${pragmas.lockingMode.toUpperCase()}`); | ||
| } | ||
| if (pragmas?.tempStore && pragmas.tempStore !== "DEFAULT") { | ||
| db.exec(`PRAGMA temp_store = ${pragmas.tempStore.toUpperCase()}`); | ||
| } | ||
| }; | ||
| const create = async ( | ||
| directory?: string, | ||
| options?: { pragmas?: SQLitePragmaOptions }, | ||
| ) => { | ||
| let statements: Map<string, Statement> = new Map(); | ||
@@ -304,4 +327,3 @@ | ||
| } | ||
| sqliteDb.exec("PRAGMA journal_mode = WAL"); | ||
| sqliteDb.exec("PRAGMA foreign_keys = on"); | ||
| applyPragmas(sqliteDb, options?.pragmas); | ||
| }; | ||
@@ -308,0 +330,0 @@ |
+170
-49
| import * as messages from "./sqlite3-messages.worker.js"; | ||
| import { create } from "./sqlite3.wasm.js"; | ||
| const resolveValues = ( | ||
| values: messages.EncodedValue[] | undefined, | ||
| profile = false, | ||
| ) => { | ||
| if (!values || values.length === 0) { | ||
| return { | ||
| values: undefined, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: 0, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| } | ||
| : undefined, | ||
| }; | ||
| } | ||
| let blobBytes = 0; | ||
| let blobValueCount = 0; | ||
| const startedAt = profile ? performance.now() : 0; | ||
| const resolvedValues = values.map((value) => { | ||
| const resolved = messages.resolveValue(value); | ||
| if (profile && resolved instanceof Uint8Array) { | ||
| blobValueCount++; | ||
| blobBytes += resolved.byteLength; | ||
| } | ||
| return resolved; | ||
| }); | ||
| return { | ||
| values: resolvedValues, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: performance.now() - startedAt, | ||
| valueCount: values.length, | ||
| blobValueCount, | ||
| blobBytes, | ||
| } | ||
| : undefined, | ||
| }; | ||
| }; | ||
| class SqliteWorkerHandler { | ||
| databases: Map<string, Awaited<ReturnType<typeof create>>> = new Map(); | ||
| async create(databaseId: string, directory?: string) { | ||
| const db = await create(directory); | ||
| async create( | ||
| databaseId: string, | ||
| directory?: string, | ||
| options?: { pragmas?: messages.SQLitePragmaOptions }, | ||
| ) { | ||
| const db = await create(directory, options); | ||
| this.databases.set(databaseId, db); | ||
@@ -16,13 +63,22 @@ return db; | ||
| ) { | ||
| if (message.type === "create") { | ||
| await this.create(message.databaseId, message.directory); | ||
| } else { | ||
| const profile = Boolean(message.profile); | ||
| const startedAt = profile ? performance.now() : 0; | ||
| let decodeMs = 0; | ||
| let valueCount = 0; | ||
| let blobValueCount = 0; | ||
| let blobBytes = 0; | ||
| const execute = async () => { | ||
| if (message.type === "create") { | ||
| await this.create(message.databaseId, message.directory, { | ||
| pragmas: message.pragmas, | ||
| }); | ||
| return undefined; | ||
| } | ||
| const db = this.databases.get(message.databaseId); | ||
| if (!db) { | ||
| if (message.type === "close") { | ||
| return; // ignore close message if database is not found | ||
| if (message.type === "close" || message.type === "drop") { | ||
| return undefined; | ||
| } | ||
| if (message.type === "drop") { | ||
| return; // ignore close message if database is not found | ||
| } | ||
| if (message.type === "status") { | ||
@@ -39,53 +95,105 @@ return "closed"; | ||
| } | ||
| if (message.type === "exec") { | ||
| return db.exec(message.sql); | ||
| } else if (message.type === "status") { | ||
| } | ||
| if (message.type === "status") { | ||
| return db.status(); | ||
| } else if (message.type === "prepare") { | ||
| } | ||
| if (message.type === "prepare") { | ||
| const statementId = message.id; | ||
| await db.prepare(message.sql, message.id); | ||
| // db.statements.get(statementId) -> statement, because sqlite3.wasm stores the statement in a map like this | ||
| return statementId; | ||
| } else if (message.type === "close") { | ||
| } | ||
| if (message.type === "close") { | ||
| await db.close(); | ||
| this.databases.delete(message.databaseId); | ||
| } else if (message.type === "drop") { | ||
| return undefined; | ||
| } | ||
| if (message.type === "drop") { | ||
| await db.drop(); | ||
| this.databases.delete(message.databaseId); | ||
| } else if (message.type === "open") { | ||
| return undefined; | ||
| } | ||
| if (message.type === "open") { | ||
| await db.open(); | ||
| this.databases.set(message.databaseId, db); | ||
| } else if (message.type === "run") { | ||
| return db.run(message.sql, message.values.map(messages.resolveValue)); | ||
| } else { | ||
| const statement = db.statements.get(message.statementId); | ||
| if (!statement) { | ||
| throw new Error( | ||
| "Statement not found with id: " + message.statementId, | ||
| ); | ||
| } | ||
| return undefined; | ||
| } | ||
| if (message.type === "run") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return db.run(message.sql, resolved.values ?? []); | ||
| } | ||
| if (message.type === "bind") { | ||
| return statement.bind(message.values.map(messages.resolveValue)); | ||
| } else if (message.type === "finalize") { | ||
| return statement.finalize(); | ||
| } else if (message.type === "reset") { | ||
| return statement.reset(); | ||
| } else if (message.type === "get") { | ||
| return statement.get( | ||
| message.values | ||
| ? message.values.map(messages.resolveValue) | ||
| : undefined, | ||
| ); | ||
| } else if (message.type === "step") { | ||
| return statement.step(); | ||
| } else if (message.type === "run-statement") { | ||
| return statement.run(message.values.map(messages.resolveValue)); | ||
| } else if (message.type === "all") { | ||
| return statement.all(message.values.map(messages.resolveValue)); | ||
| } else { | ||
| throw new Error("Unknown statement message type: " + message["type"]); | ||
| } | ||
| const statement = db.statements.get(message.statementId); | ||
| if (!statement) { | ||
| throw new Error("Statement not found with id: " + message.statementId); | ||
| } | ||
| } | ||
| if (message.type === "bind") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.bind(resolved.values ?? []); | ||
| } | ||
| if (message.type === "finalize") { | ||
| return statement.finalize(); | ||
| } | ||
| if (message.type === "reset") { | ||
| return statement.reset(); | ||
| } | ||
| if (message.type === "get") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.get(resolved.values); | ||
| } | ||
| if (message.type === "step") { | ||
| return statement.step(); | ||
| } | ||
| if (message.type === "run-statement") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.run(resolved.values ?? []); | ||
| } | ||
| if (message.type === "all") { | ||
| const resolved = resolveValues(message.values, profile); | ||
| decodeMs = resolved.timing?.decodeMs ?? 0; | ||
| valueCount = resolved.timing?.valueCount ?? 0; | ||
| blobValueCount = resolved.timing?.blobValueCount ?? 0; | ||
| blobBytes = resolved.timing?.blobBytes ?? 0; | ||
| return statement.all(resolved.values ?? []); | ||
| } | ||
| throw new Error("Unknown statement message type: " + message["type"]); | ||
| }; | ||
| const execStart = profile ? performance.now() : 0; | ||
| const result = await execute(); | ||
| const execMs = profile ? performance.now() - execStart - decodeMs : 0; | ||
| return { | ||
| result, | ||
| timing: profile | ||
| ? { | ||
| decodeMs, | ||
| execMs, | ||
| totalMs: performance.now() - startedAt, | ||
| valueCount, | ||
| blobValueCount, | ||
| blobBytes, | ||
| } | ||
| : undefined, | ||
| }; | ||
| } | ||
@@ -100,8 +208,11 @@ } | ||
| ) => { | ||
| const profile = Boolean(messageEvent.data.profile); | ||
| const startedAt = profile ? performance.now() : 0; | ||
| try { | ||
| const results = await worker.onMessage(messageEvent.data); | ||
| const response = await worker.onMessage(messageEvent.data); | ||
| self.postMessage({ | ||
| type: "response", | ||
| id: messageEvent.data.id, | ||
| result: results, | ||
| result: response.result, | ||
| timing: response.timing, | ||
| }); | ||
@@ -113,2 +224,12 @@ } catch (error: any) { | ||
| message: error?.message, | ||
| timing: profile | ||
| ? { | ||
| decodeMs: 0, | ||
| execMs: 0, | ||
| totalMs: performance.now() - startedAt, | ||
| valueCount: 0, | ||
| blobValueCount: 0, | ||
| blobBytes: 0, | ||
| } | ||
| : undefined, | ||
| }); | ||
@@ -115,0 +236,0 @@ } |
+14
-0
@@ -10,1 +10,15 @@ export const isFKError = (e: any) => { | ||
| }; | ||
| export const isUniqueConstraintError = (e: any) => { | ||
| return ( | ||
| e?.code === "SQLITE_CONSTRAINT_PRIMARYKEY" || | ||
| e?.code === "SQLITE_CONSTRAINT_UNIQUE" || | ||
| e?.rc === 1555 || | ||
| e?.rc === 2067 || | ||
| (e?.message && | ||
| (e.message.includes("SQLITE_CONSTRAINT_PRIMARYKEY") || | ||
| e.message.includes("SQLITE_CONSTRAINT_UNIQUE") || | ||
| e.message.includes("UNIQUE constraint failed") || | ||
| e.message.includes("PRIMARY KEY constraint failed"))) | ||
| ); | ||
| }; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
8475443
0.97%81787
1.68%96
2.13%