From 8623ef601f55924dbe1cc65cc726e69629acf19e Mon Sep 17 00:00:00 2001 From: Roy Hashimoto <156154+rhashimoto@users.noreply.github.com> Date: Wed, 18 Jun 2025 11:07:01 -0700 Subject: [PATCH 01/84] Update issue templates --- .../-do-not-post-anything-other-than-a-bug-report.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/-do-not-post-anything-other-than-a-bug-report.md diff --git a/.github/ISSUE_TEMPLATE/-do-not-post-anything-other-than-a-bug-report.md b/.github/ISSUE_TEMPLATE/-do-not-post-anything-other-than-a-bug-report.md new file mode 100644 index 00000000..a4590df9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/-do-not-post-anything-other-than-a-bug-report.md @@ -0,0 +1,10 @@ +--- +name: " Do not post anything other than a bug report" +about: Issues are only for possible bugs in project code. +title: '' +labels: '' +assignees: '' + +--- + + From 4f2b7e8f87acef4e8d9902e6a131f48f656d023e Mon Sep 17 00:00:00 2001 From: Roy Hashimoto <156154+rhashimoto@users.noreply.github.com> Date: Sat, 21 Jun 2025 09:31:30 -0700 Subject: [PATCH 02/84] Replace Facade Proxy with handwritten proxy. (#285) * Replace Proxy with handwritten proxy for jRead/jWrite buffers. * Replace Proxy with handwritten proxy for VFS return data. --------- Co-authored-by: Roy Hashimoto --- src/FacadeVFS.js | 265 +++++++++++++++++++++++++++++++------- src/examples/MemoryVFS.js | 2 +- 2 files changed, 220 insertions(+), 47 deletions(-) diff --git a/src/FacadeVFS.js b/src/FacadeVFS.js index c975fdc9..dbc4947a 100644 --- a/src/FacadeVFS.js +++ b/src/FacadeVFS.js @@ -405,64 +405,30 @@ export class FacadeVFS extends VFS.Base { /** * Wrapped DataView for pointer arguments. - * Pointers to a single value are passed using DataView. A Proxy - * wrapper prevents use of incorrect type or endianness. + * Pointers to a single value are passed using a DataView-like class. + * This wrapper class prevents use of incorrect type or endianness, and + * reacquires the underlying buffer when the WebAssembly memory is resized. * @param {'Int32'|'BigInt64'} type * @param {number} byteOffset * @returns {DataView} */ #makeTypedDataView(type, byteOffset) { - const byteLength = type === 'Int32' ? 4 : 8; - const getter = `get${type}`; - const setter = `set${type}`; - const makeDataView = () => new DataView( - this._module.HEAPU8.buffer, - this._module.HEAPU8.byteOffset + byteOffset, - byteLength); - let dataView = makeDataView(); - return new Proxy(dataView, { - get(_, prop) { - if (dataView.buffer.byteLength === 0) { - // WebAssembly memory resize detached the buffer. - dataView = makeDataView(); - } - if (prop === getter) { - return function(byteOffset, littleEndian) { - if (!littleEndian) throw new Error('must be little endian'); - return dataView[prop](byteOffset, littleEndian); - } - } - if (prop === setter) { - return function(byteOffset, value, littleEndian) { - if (!littleEndian) throw new Error('must be little endian'); - return dataView[prop](byteOffset, value, littleEndian); - } - } - if (typeof prop === 'string' && (prop.match(/^(get)|(set)/))) { - throw new Error('invalid type'); - } - const result = dataView[prop]; - return typeof result === 'function' ? result.bind(dataView) : result; - } - }); + // @ts-ignore + return new DataViewProxy(this._module, byteOffset, type); } /** + * Wrapped Uint8Array for buffer arguments. + * Memory blocks are passed as a Uint8Array-like class. This wrapper + * class reacquires the underlying buffer when the WebAssembly memory + * is resized. * @param {number} byteOffset * @param {number} byteLength + * @returns {Uint8Array} */ #makeDataArray(byteOffset, byteLength) { - let target = this._module.HEAPU8.subarray(byteOffset, byteOffset + byteLength); - return new Proxy(target, { - get: (_, prop, receiver) => { - if (target.buffer.byteLength === 0) { - // WebAssembly memory resize detached the buffer. - target = this._module.HEAPU8.subarray(byteOffset, byteOffset + byteLength); - } - const result = target[prop]; - return typeof result === 'function' ? result.bind(target) : result; - } - }); + // @ts-ignore + return new Uint8ArrayProxy(this._module, byteOffset, byteLength); } #decodeFilename(zName, flags) { @@ -506,3 +472,210 @@ export class FacadeVFS extends VFS.Base { function delegalize(lo32, hi32) { return (hi32 * 0x100000000) + lo32 + (lo32 < 0 ? 2**32 : 0); } + +// This class provides a Uint8Array-like interface for a WebAssembly memory +// buffer. It is used to access memory blocks passed as arguments to +// xRead, xWrite, etc. The class reacquires the underlying buffer when the +// WebAssembly memory is resized, which can happen when the memory is +// detached and resized by the WebAssembly module. +// +// Note that although this class implements the same methods as Uint8Array, +// it is not a real Uint8Array and passing it to functions that expect +// a Uint8Array may not work. Use subarray() to get a real Uint8Array +// if needed. +class Uint8ArrayProxy { + #module; + + #_array = new Uint8Array() + get #array() { + if (this.#_array.buffer.byteLength === 0) { + // WebAssembly memory resize detached the buffer so re-create the + // array with the new buffer. + this.#_array = this.#module.HEAPU8.subarray( + this.byteOffset, + this.byteOffset + this.byteLength); + } + return this.#_array; + } + + /** + * @param {*} module + * @param {number} byteOffset + * @param {number} byteLength + */ + constructor(module, byteOffset, byteLength) { + this.#module = module; + this.byteOffset = byteOffset; + this.length = this.byteLength = byteLength; + } + + get buffer() { + return this.#array.buffer; + } + + at(index) { + return this.#array.at(index); + } + copyWithin(target, start, end) { + this.#array.copyWithin(target, start, end); + } + entries() { + return this.#array.entries(); + } + every(predicate) { + return this.#array.every(predicate); + } + fill(value, start, end) { + this.#array.fill(value, start, end); + } + filter(predicate) { + return this.#array.filter(predicate); + } + find(predicate) { + return this.#array.find(predicate); + } + findIndex(predicate) { + return this.#array.findIndex(predicate); + } + findLast(predicate) { + return this.#array.findLast(predicate); + } + findLastIndex(predicate) { + return this.#array.findLastIndex(predicate); + } + forEach(callback) { + this.#array.forEach(callback); + } + includes(value, start) { + return this.#array.includes(value, start); + } + indexOf(value, start) { + return this.#array.indexOf(value, start); + } + join(separator) { + return this.#array.join(separator); + } + keys() { + return this.#array.keys(); + } + lastIndexOf(value, start) { + return this.#array.lastIndexOf(value, start); + } + map(callback) { + return this.#array.map(callback); + } + reduce(callback, initialValue) { + return this.#array.reduce(callback, initialValue); + } + reduceRight(callback, initialValue) { + return this.#array.reduceRight(callback, initialValue); + } + reverse() { + this.#array.reverse(); + } + set(array, offset) { + this.#array.set(array, offset); + } + slice(start, end) { + return this.#array.slice(start, end); + } + some(predicate) { + return this.#array.some(predicate); + } + sort(compareFn) { + this.#array.sort(compareFn); + } + subarray(begin, end) { + return this.#array.subarray(begin, end); + } + toLocaleString(locales, options) { + // @ts-ignore + return this.#array.toLocaleString(locales, options); + } + toReversed() { + return this.#array.toReversed(); + } + toSorted(compareFn) { + return this.#array.toSorted(compareFn); + } + toString() { + return this.#array.toString(); + } + values() { + return this.#array.values(); + } + with(index, value) { + return this.#array.with(index, value); + } + [Symbol.iterator]() { + return this.#array[Symbol.iterator](); + } +} + +// This class provides a DataView-like interface for a WebAssembly memory +// buffer, restricted to either Int32 or BigInt64 types. It also reacquires +// the underlying buffer when the WebAssembly memory is resized, which can +// happen when the memory is detached and resized by the WebAssembly module. +class DataViewProxy { + #module; + #type; + + #_view = new DataView(new ArrayBuffer(0)); + get #view() { + if (this.#_view.buffer.byteLength === 0) { + // WebAssembly memory resize detached the buffer so re-create the + // view with the new buffer. + this.#_view = new DataView( + this.#module.HEAPU8.buffer, + this.#module.HEAPU8.byteOffset + this.byteOffset); + } + return this.#_view; + } + + /** + * @param {*} module + * @param {number} byteOffset + * @param {'Int32'|'BigInt64'} type + */ + constructor(module, byteOffset, type) { + this.#module = module; + this.byteOffset = byteOffset; + this.#type = type; + } + + get buffer() { + return this.#view.buffer; + } + get byteLength() { + return this.#type === 'Int32' ? 4 : 8; + } + + getInt32(byteOffset, littleEndian) { + if (this.#type !== 'Int32') { + throw new Error('invalid type'); + } + if (!littleEndian) throw new Error('must be little endian'); + return this.#view.getInt32(byteOffset, littleEndian); + } + setInt32(byteOffset, value, littleEndian) { + if (this.#type !== 'Int32') { + throw new Error('invalid type'); + } + if (!littleEndian) throw new Error('must be little endian'); + this.#view.setInt32(byteOffset, value, littleEndian); + } + getBigInt64(byteOffset, littleEndian) { + if (this.#type !== 'BigInt64') { + throw new Error('invalid type'); + } + if (!littleEndian) throw new Error('must be little endian'); + return this.#view.getBigInt64(byteOffset, littleEndian); + } + setBigInt64(byteOffset, value, littleEndian) { + if (this.#type !== 'BigInt64') { + throw new Error('invalid type'); + } + if (!littleEndian) throw new Error('must be little endian'); + this.#view.setBigInt64(byteOffset, value, littleEndian); + } +} \ No newline at end of file diff --git a/src/examples/MemoryVFS.js b/src/examples/MemoryVFS.js index 9da7b71f..fd1b72c6 100644 --- a/src/examples/MemoryVFS.js +++ b/src/examples/MemoryVFS.js @@ -116,7 +116,7 @@ export class MemoryVFS extends FacadeVFS { } // Copy data. - new Uint8Array(file.data, iOffset, pData.byteLength).set(pData); + new Uint8Array(file.data, iOffset, pData.byteLength).set(pData.subarray()); file.size = Math.max(file.size, iOffset + pData.byteLength); return VFS.SQLITE_OK; } From 21cc38a00f54a21eceef0dfc1e31f3c4dae75701 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto <156154+rhashimoto@users.noreply.github.com> Date: Fri, 22 Aug 2025 06:19:52 -0700 Subject: [PATCH 03/84] Use non-CAPTCHA SQLite download URL. (#289) * Use non-CAPTCHA SQLite download URL. * Use consistent Makefile variable bracing. --------- Co-authored-by: Roy Hashimoto --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 409e366a..053b3538 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # dependencies SQLITE_VERSION = version-3.50.1 -SQLITE_TARBALL_URL = https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=${SQLITE_VERSION} +SQLITE_TARBALL_URL = https://www.sqlite.org/src/tarball/$(SQLITE_VERSION)/sqlite.tar.gz EXTENSION_FUNCTIONS = extension-functions.c EXTENSION_FUNCTIONS_URL = https://www.sqlite.org/contrib/download/extension-functions.c?get=25 From a47eda0c7e0d53072921cf1369678af0c07b0414 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto <156154+rhashimoto@users.noreply.github.com> Date: Wed, 24 Sep 2025 10:57:14 -0700 Subject: [PATCH 04/84] Fix WebLocksMixin state initialization. (#293) * Fix WebLocksMixin state initialization. * Don't fetch state in WebLocksMixin file control unnecessarily. * Minor fixes. --------- Co-authored-by: Roy Hashimoto --- src/WebLocksMixin.js | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/src/WebLocksMixin.js b/src/WebLocksMixin.js index 9b1e97b6..e5fd48f9 100644 --- a/src/WebLocksMixin.js +++ b/src/WebLocksMixin.js @@ -48,18 +48,7 @@ export const WebLocksMixin = superclass => class extends superclass { */ async jLock(fileId, lockType) { try { - // Create state on first lock. - if (!this.#mapIdToState.has(fileId)) { - const name = this.getFilename(fileId); - const state = { - baseName: name, - type: VFS.SQLITE_LOCK_NONE, - writeHint: false - }; - this.#mapIdToState.set(fileId, state); - } - - const lockState = this.#mapIdToState.get(fileId); + const lockState = this.#getLockState(fileId); if (lockType <= lockState.type) return VFS.SQLITE_OK; switch (this.#options.lockPolicy) { @@ -82,10 +71,8 @@ export const WebLocksMixin = superclass => class extends superclass { */ async jUnlock(fileId, lockType) { try { - // SQLite can call xUnlock() without ever calling xLock() so - // the state may not exist. - const lockState = this.#mapIdToState.get(fileId); - if (!(lockType < lockState?.type)) return VFS.SQLITE_OK; + const lockState = this.#getLockState(fileId); + if (!(lockType < lockState.type)) return VFS.SQLITE_OK; switch (this.#options.lockPolicy) { case 'exclusive': @@ -107,7 +94,7 @@ export const WebLocksMixin = superclass => class extends superclass { */ async jCheckReservedLock(fileId, pResOut) { try { - const lockState = this.#mapIdToState.get(fileId); + const lockState = this.#getLockState(fileId); switch (this.#options.lockPolicy) { case 'exclusive': return this.#checkReservedExclusive(lockState, pResOut); @@ -130,19 +117,29 @@ export const WebLocksMixin = superclass => class extends superclass { * @returns {number|Promise} */ jFileControl(fileId, op, pArg) { - const lockState = this.#mapIdToState.get(fileId) ?? - (() => { - // Call jLock() to create the lock state. - this.jLock(fileId, VFS.SQLITE_LOCK_NONE); - return this.#mapIdToState.get(fileId); - })(); if (op === WebLocksMixin.WRITE_HINT_OP_CODE && this.#options.lockPolicy === 'shared+hint'){ + const lockState = this.#getLockState(fileId); lockState.writeHint = true; } return VFS.SQLITE_NOTFOUND; } + #getLockState(fileId) { + let lockState = this.#mapIdToState.get(fileId); + if (!lockState) { + // The state doesn't exist yet so create it. + const name = this.getFilename(fileId); + lockState = { + baseName: name, + type: VFS.SQLITE_LOCK_NONE, + writeHint: false + }; + this.#mapIdToState.set(fileId, lockState); + } + return lockState + } + /** * @param {LockState} lockState * @param {number} lockType From a3b1324ed5a57928141b02eb3204421e1164ed53 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Wed, 24 Sep 2025 11:00:04 -0700 Subject: [PATCH 05/84] Bump package version. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d11a7581..690d10ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wa-sqlite", - "version": "1.0.8", + "version": "1.0.9", "type": "module", "main": "src/sqlite-api.js", "types": "src/types/index.d.ts", From c65ec43872c21d3e9c7c8fac0e668ef6543d0b18 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:28:47 +0000 Subject: [PATCH 06/84] Bump brace-expansion from 1.1.11 to 1.1.12 Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e40b41d3..bdbcebea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1161,12 +1161,12 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 12cb6d6310629e3048cadb003e1aca4d8c9bb5c67c3c321bafdd7e7a50155de081f78ea3e0ed92ecc75a9015e784f301efc8132383132f4f7904ad1ac529c562 languageName: node linkType: hard From 51983d39d36c4a33c5e68b3f164e81dc6560203b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:45:16 +0000 Subject: [PATCH 07/84] Bump koa from 2.16.1 to 2.16.3 Bumps [koa](https://github.com/koajs/koa) from 2.16.1 to 2.16.3. - [Release notes](https://github.com/koajs/koa/releases) - [Changelog](https://github.com/koajs/koa/blob/master/History.md) - [Commits](https://github.com/koajs/koa/compare/v2.16.1...v2.16.3) --- updated-dependencies: - dependency-name: koa dependency-version: 2.16.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index bdbcebea..1e6e6b7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2714,8 +2714,8 @@ __metadata: linkType: hard "koa@npm:^2.13.0": - version: 2.16.1 - resolution: "koa@npm:2.16.1" + version: 2.16.3 + resolution: "koa@npm:2.16.3" dependencies: accepts: "npm:^1.3.5" cache-content-type: "npm:^1.0.0" @@ -2740,7 +2740,7 @@ __metadata: statuses: "npm:^1.5.0" type-is: "npm:^1.6.16" vary: "npm:^1.1.2" - checksum: f33b95227e48bffd3a682996e6cf72c4ae2992671529c6c914b76d28172219c9cbd8201b16cc028dc25fafc8f1dc9391a6e7e045740a10ee7d89a5631031a974 + checksum: 62b6bc4939003eab2b77d523207e252f4eed3f75471fce3b50fe46a80fb01b9f425d4094437f25e3579ad90bcf43b652c166ac5b58d277255ed82a0ea7069ac8 languageName: node linkType: hard From 7f9841edf2ceddd9d13c5dfa1b934b808b530b51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:57:23 +0000 Subject: [PATCH 08/84] Bump tar-fs from 3.0.9 to 3.1.1 Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 3.0.9 to 3.1.1. - [Commits](https://github.com/mafintosh/tar-fs/compare/v3.0.9...v3.1.1) --- updated-dependencies: - dependency-name: tar-fs dependency-version: 3.1.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1e6e6b7a..3a49dbc2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3983,8 +3983,8 @@ __metadata: linkType: hard "tar-fs@npm:^3.0.6, tar-fs@npm:^3.0.8": - version: 3.0.9 - resolution: "tar-fs@npm:3.0.9" + version: 3.1.1 + resolution: "tar-fs@npm:3.1.1" dependencies: bare-fs: "npm:^4.0.1" bare-path: "npm:^3.0.0" @@ -3995,7 +3995,7 @@ __metadata: optional: true bare-path: optional: true - checksum: 00e194ef36ced339000099c3cb5205fcd9636a531158d73e0fc1ca056fbcf8dcf39a398cbc71f030bbf938d4f477f47e2913c6e37e9c007bad31e0768a120590 + checksum: f7f7540b563e10541dc0b95f710c68fc1fccde0c1177b4d3bab2023c6d18da19d941a8697fdc1abff54914b71b6e5f2dfb0455572b5c8993b2ab76571cbbc923 languageName: node linkType: hard From a50bad22ec6c4065494722ea6d1c49644c1dba45 Mon Sep 17 00:00:00 2001 From: stevensJourney <51082125+stevensJourney@users.noreply.github.com> Date: Tue, 6 Jan 2026 18:52:15 +0200 Subject: [PATCH 09/84] OPFS Error handling improvements (#304) * Clear retryOps on error (#59) [Fix] OPFS Potential Deadlocks #56 * Update src/examples/OPFSCoopSyncVFS.js Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Reset dist/ to upstream/master * remove async and await from releaseAccessHandle --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/examples/OPFSCoopSyncVFS.js | 33 ++++++++++++++++++++------------- src/sqlite-api.js | 7 +++++-- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/examples/OPFSCoopSyncVFS.js b/src/examples/OPFSCoopSyncVFS.js index 90630e6f..44028251 100644 --- a/src/examples/OPFSCoopSyncVFS.js +++ b/src/examples/OPFSCoopSyncVFS.js @@ -519,17 +519,24 @@ export class OPFSCoopSyncVFS extends FacadeVFS { this._module.retryOps.push((async () => { // Acquire the Web Lock. file.persistentFile.handleLockReleaser = await this.#acquireLock(file.persistentFile); - - // Get access handles for the database and releated files in parallel. - this.log?.(`creating access handles for ${file.path}`) - await Promise.all(DB_RELATED_FILE_SUFFIXES.map(async suffix => { - const persistentFile = this.persistentFiles.get(file.path + suffix); - if (persistentFile) { - persistentFile.accessHandle = - await persistentFile.fileHandle.createSyncAccessHandle(); - } - })); - file.persistentFile.isRequestInProgress = false; + try { + // Get access handles for the database and releated files in parallel. + this.log?.(`creating access handles for ${file.path}`) + await Promise.all(DB_RELATED_FILE_SUFFIXES.map(async suffix => { + const persistentFile = this.persistentFiles.get(file.path + suffix); + if (persistentFile) { + persistentFile.accessHandle = + await persistentFile.fileHandle.createSyncAccessHandle(); + } + })); + } catch (e) { + this.log?.(`failed to create access handles for ${file.path}`, e); + // Close any of the potentially opened access handles + this.#releaseAccessHandle(file); + throw e; + } finally { + file.persistentFile.isRequestInProgress = false; + } })()); return this._module.retryOps.at(-1); } @@ -539,8 +546,8 @@ export class OPFSCoopSyncVFS extends FacadeVFS { /** * @param {File} file */ - async #releaseAccessHandle(file) { - DB_RELATED_FILE_SUFFIXES.forEach(async suffix => { + #releaseAccessHandle(file) { + DB_RELATED_FILE_SUFFIXES.forEach(suffix => { const persistentFile = this.persistentFiles.get(file.path + suffix); if (persistentFile) { persistentFile.accessHandle?.close(); diff --git a/src/sqlite-api.js b/src/sqlite-api.js index 2b3c04f7..a13e68bf 100644 --- a/src/sqlite-api.js +++ b/src/sqlite-api.js @@ -873,8 +873,11 @@ export function Factory(Module) { // Wait for all pending retry operations to complete. This is // normally empty on the first loop iteration. if (Module.retryOps.length) { - await Promise.all(Module.retryOps); - Module.retryOps = []; + try { + await Promise.all(Module.retryOps); + } finally { + Module.retryOps = []; + } } rc = await f(); From 16a6de92aab0b721a6cd410dfbee4e94e18da7b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:54:02 +0000 Subject: [PATCH 10/84] Bump qs from 6.11.2 to 6.14.1 Bumps [qs](https://github.com/ljharb/qs) from 6.11.2 to 6.14.1. - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](https://github.com/ljharb/qs/compare/v6.11.2...v6.14.1) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 251 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 176 insertions(+), 75 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3a49dbc2..d6af5c26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1044,6 +1044,20 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 1a09379937d846f0ce7614e75071c12826945d4e417db634156bf0e4673c495989302f52186dfa9767a1d9181794554717badd193ca2bbab046ef1da741d8efd + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 3d49e7acbeee9e84537f4cb0e0f91893df8eba976759875ae8ee9e3d3c82f6ecdebdb347c2fad9926b92596d93cdfc78ecc988bcdf407e40433e8e8e6fe5d78e + languageName: node + linkType: hard + "async-mutex@npm:0.4.0": version: 0.4.0 resolution: "async-mutex@npm:0.4.0" @@ -1255,14 +1269,23 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0": - version: 1.0.5 - resolution: "call-bind@npm:1.0.5" +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: + es-errors: "npm:^1.3.0" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.1" - set-function-length: "npm:^1.1.1" - checksum: 246d44db6ef9bbd418828dbd5337f80b46be4398d522eded015f31554cbb2ea33025b0203b75c7ab05a1a255b56ef218880cca1743e4121e306729f9e414da39 + checksum: 00482c1f6aa7cfb30fb1dbeb13873edf81cfac7c29ed67a5957d60635a56b2a4a480f1016ddbdb3395cc37900d46037fb965043a51c5c789ffeab4fc535d18b5 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: ef2b96e126ec0e58a7ff694db43f4d0d44f80e641370c21549ed911fecbdbc2df3ebc9bddad918d6bbdefeafb60bb3337902006d5176d72bcd2da74820991af7 languageName: node linkType: hard @@ -1639,17 +1662,6 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.1.1": - version: 1.1.1 - resolution: "define-data-property@npm:1.1.1" - dependencies: - get-intrinsic: "npm:^1.2.1" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - checksum: 5573c8df96b5857408cad64d9b91b69152e305ce4b06218e5f49b59c6cafdbb90a8bd8a0bb83c7bc67a8d479c04aa697063c9bc28d849b7282f9327586d6bc7b - languageName: node - linkType: hard - "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -1733,6 +1745,17 @@ __metadata: languageName: node linkType: hard +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 5add88a3d68d42d6e6130a0cac450b7c2edbe73364bbd2fc334564418569bea97c6943a8fcd70e27130bf32afc236f30982fc4905039b703f23e9e0433c29934 + languageName: node + linkType: hard + "ee-first@npm:1.1.1": version: 1.1.1 resolution: "ee-first@npm:1.1.1" @@ -1793,6 +1816,20 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: f8dc9e660d90919f11084db0a893128f3592b781ce967e4fccfb8f3106cb83e400a4032c559184ec52ee1dbd4b01e7776c7cd0b3327b1961b1a4a7008920fe78 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 + languageName: node + linkType: hard + "es-module-lexer@npm:^1.0.0": version: 1.4.1 resolution: "es-module-lexer@npm:1.4.1" @@ -1800,6 +1837,15 @@ __metadata: languageName: node linkType: hard +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 54fe77de288451dae51c37bfbfe3ec86732dc3778f98f3eb3bdb4bf48063b2c0b8f9c93542656986149d08aa5be3204286e2276053d19582b76753f1a2728867 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -2050,6 +2096,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: eb7e7eb896c5433f3d40982b2ccacdb3dd990dd3499f14040e002b5d54572476513be8a2e6f9609f6e41ab29f2c4469307611ddbfc37ff4e46b765c326663805 + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -2057,15 +2110,34 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": - version: 1.2.2 - resolution: "get-intrinsic@npm:1.2.2" +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: aa96db4f809734d26d49b59bc8669d73a0ae792da561514e987735573a1dfaede516cd102f217a078ea2b42d4c4fb1f83d487932cb15d49826b726cc9cd4470b + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: bb579dda84caa4a3a41611bdd483dade7f00f246f2a7992eb143c5861155290df3fdb48a8406efa3dfb0b434e2c8fafa4eebd469e409d0439247f85fc3fa2cc1 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b languageName: node linkType: hard @@ -2134,12 +2206,10 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 94e296d69f92dc1c0768fcfeecfb3855582ab59a7c75e969d5f96ce50c3d201fd86d5a2857c22565764d5bb8a816c7b1e58f133ec318cd56274da36c5e3fb1a1 languageName: node linkType: hard @@ -2164,29 +2234,20 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1": - version: 1.0.1 - resolution: "has-property-descriptors@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.2.2" - checksum: 21a47bb080a24e79594aef1ce71e1a18a1c5ab4120308e218088f67ebb7f6f408847541e2d96e5bd00e90eef5c5a49e4ebbdc8fc2d5b365a2c379aef071642f0 - languageName: node - linkType: hard - -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: eab2ab0ed1eae6d058b9bbc4c1d99d2751b29717be80d02fd03ead8b62675488de0c7359bc1fdd4b87ef6fd11e796a9631ad4d7452d9324fdada70158c2e5be7 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.2": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: 464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b languageName: node linkType: hard +"has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 959385c98696ebbca51e7534e0dc723ada325efa3475350951363cce216d27373e0259b63edb599f72eb94d6cde8577b4b2375f080b303947e560f85692834fa + languageName: node + linkType: hard + "has-tostringtag@npm:^1.0.0": version: 1.0.0 resolution: "has-tostringtag@npm:1.0.0" @@ -2212,6 +2273,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 7898a9c1788b2862cf0f9c345a6bec77ba4a0c0983c7f19d610c382343d4f98fa260686b225dfb1f88393a66679d2ec58ee310c1d6868c081eda7918f32cc70a + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -2866,6 +2936,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 11df2eda46d092a6035479632e1ec865b8134bdfc4bd9e571a656f4191525404f13a283a515938c3a8de934dbfd9c09674d9da9fa831e6eb7e22b50b197d2edd + languageName: node + linkType: hard + "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -3166,10 +3243,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.9.0": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 92f4989ed83422d56431bc39656d4c780348eb15d397ce352ade6b7fec08f973b53744bd41b94af021901e61acaf78fcc19e65bf464ecc0df958586a672700f0 +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: aa13b1190ad3e366f6c83ad8a16ed37a19ed57d267385aa4bfdccda833d7b90465c057ff6c55d035a6b2e52c1a2295582b294217a0a3a1ae7abdd6877ef781fb languageName: node linkType: hard @@ -3437,11 +3514,11 @@ __metadata: linkType: hard "qs@npm:^6.5.2": - version: 6.11.2 - resolution: "qs@npm:6.11.2" + version: 6.14.1 + resolution: "qs@npm:6.14.1" dependencies: - side-channel: "npm:^1.0.4" - checksum: f2321d0796664d0f94e92447ccd3bdfd6b6f3a50b6b762aa79d7f5b1ea3a7a9f94063ba896b82bc2a877ed6a7426d4081e4f16568fdb04f0ee188cca9d8505b4 + side-channel: "npm:^1.1.0" + checksum: 34b5ab00a910df432d55180ef39c1d1375e550f098b5ec153b41787f1a6a6d7e5f9495593c3b112b77dbc6709d0ae18e55b82847a4c2bbbb0de1e8ccbb1794c5 languageName: node linkType: hard @@ -3689,19 +3766,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.1.1": - version: 1.2.0 - resolution: "set-function-length@npm:1.2.0" - dependencies: - define-data-property: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.2" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.1" - checksum: 6d609cd060c488d7d2178a5d4c3689f8a6afa26fa4c48ff4a0516664ff9b84c1c0898915777f5628092dab55c4fcead205525e2edd15c659423bf86f790fdcae - languageName: node - linkType: hard - "setprototypeof@npm:1.1.0": version: 1.1.0 resolution: "setprototypeof@npm:1.1.0" @@ -3744,14 +3808,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 5771861f77feefe44f6195ed077a9e4f389acc188f895f570d56445e251b861754b547ea9ef73ecee4e01fdada6568bfe9020d2ec2dfc5571e9fa1bbc4a10615 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.0" - get-intrinsic: "npm:^1.0.2" - object-inspect: "npm:^1.9.0" - checksum: c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 7d53b9db292c6262f326b6ff3bc1611db84ece36c2c7dc0e937954c13c73185b0406c56589e2bb8d071d6fee468e14c39fb5d203ee39be66b7b8174f179afaba languageName: node linkType: hard From 308e330ebd20219334ceb6d1e8e9461d7f0de0cd Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 22 Nov 2025 17:54:30 +0000 Subject: [PATCH 11/84] Enable SQLite experimental write hint. --- Makefile | 3 ++- dist/wa-sqlite-async.mjs | 2 +- dist/wa-sqlite-async.wasm | Bin 1231452 -> 1250917 bytes dist/wa-sqlite-jspi.mjs | 2 +- dist/wa-sqlite-jspi.wasm | Bin 602606 -> 611971 bytes dist/wa-sqlite.mjs | 2 +- dist/wa-sqlite.wasm | Bin 596883 -> 606248 bytes 7 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 053b3538..a853d590 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # dependencies -SQLITE_VERSION = version-3.50.1 +SQLITE_VERSION = trunk SQLITE_TARBALL_URL = https://www.sqlite.org/src/tarball/$(SQLITE_VERSION)/sqlite.tar.gz EXTENSION_FUNCTIONS = extension-functions.c @@ -44,6 +44,7 @@ EMCC ?= emcc CFLAGS_COMMON = \ -I'deps/$(SQLITE_VERSION)' \ -Wno-non-literal-null-conversion \ + -DSQLITE_EXPERIMENTAL_PRAGMA_20251114 \ $(CFLAGS_EXTRA) CFLAGS_DEBUG = -g $(CFLAGS_COMMON) CFLAGS_DIST = -Oz -flto $(CFLAGS_COMMON) diff --git a/dist/wa-sqlite-async.mjs b/dist/wa-sqlite-async.mjs index 98d313c3..73fc7387 100644 --- a/dist/wa-sqlite-async.mjs +++ b/dist/wa-sqlite-async.mjs @@ -6,7 +6,7 @@ var Module = (() => { function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite-async.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite-async.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["la"];updateMemoryViews();wasmTable=wasmExports["ef"];addOnInit(wasmExports["ma"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{if(err){wakeUp(29);return}wakeUp(0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve:resolve,reject:reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof Browser!="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof Browser!="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={a:___assert_fail,Y:___syscall_chmod,$:___syscall_faccessat,Z:___syscall_fchmod,X:___syscall_fchown32,b:___syscall_fcntl64,W:___syscall_fstat64,y:___syscall_ftruncate64,Q:___syscall_getcwd,U:___syscall_lstat64,N:___syscall_mkdirat,S:___syscall_newfstatat,M:___syscall_openat,K:___syscall_readlinkat,J:___syscall_rmdir,V:___syscall_stat64,G:___syscall_unlinkat,F:___syscall_utimensat,w:__localtime_js,u:__mmap_js,v:__munmap_js,H:__tzset_js,n:_emscripten_date_now,m:_emscripten_get_now,D:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,o:_fd_close,E:_fd_fdstat_get,L:_fd_read,x:_fd_seek,R:_fd_sync,I:_fd_write,s:_ipp,t:_ipp_async,ga:_ippipppp,ka:_ippipppp_async,i:_ippp,j:_ippp_async,c:_ipppi,d:_ipppi_async,ca:_ipppiii,da:_ipppiii_async,ea:_ipppiiip,fa:_ipppiiip_async,g:_ipppip,h:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,aa:_ippppi,ba:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ha:_ipppppip,ia:_ipppppip_async,ja:_vppippii,r:_vppippii_async,k:_vppp,l:_vppp_async,T:_vpppip,_:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["ma"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["na"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["oa"])(a0,a1,a2,a3);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["pa"])(a0,a1,a2,a3,a4);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["qa"])(a0);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["ra"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sa"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ta"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["ua"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["va"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["wa"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["xa"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["ya"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["za"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Aa"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ba"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ca"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Da"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ea"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Fa"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ga"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ha"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Ia"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Ja"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Ka"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["La"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ma"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Na"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Oa"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Pa"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Qa"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Ra"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Sa"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ta"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Ua"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["Va"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["Wa"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["Xa"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["Ya"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["Za"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["_a"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["$a"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["ab"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["bb"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["db"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["eb"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["fb"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["gb"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["hb"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ib"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["jb"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["kb"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["lb"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["mb"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["nb"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ob"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["pb"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["qb"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["rb"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sb"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["tb"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["ub"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["vb"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["wb"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["xb"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["yb"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["zb"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Ab"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Bb"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Cb"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Db"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Eb"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Fb"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Gb"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Hb"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ib"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Jb"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Kb"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Lb"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Mb"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Nb"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ob"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Pb"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Qb"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Rb"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Sb"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Tb"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Ub"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["Vb"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["Wb"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["Xb"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["Yb"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["Zb"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["_b"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["$b"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["ac"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["bc"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["cc"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["dc"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["ec"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["fc"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["gc"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["hc"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["ic"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["jc"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["kc"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["lc"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["mc"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["nc"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["oc"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["pc"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["qc"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["rc"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["tc"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["uc"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["vc"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["wc"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["xc"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["yc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["zc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Ac"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Bc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Cc"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Dc"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Ec"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Fc"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Gc"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Hc"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Ic"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Jc"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Kc"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Lc"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Mc"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Nc"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Oc"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Pc"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Qc"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Rc"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Sc"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Tc"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Uc"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["Vc"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["Wc"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["Xc"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["Yc"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["Zc"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["_c"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["$c"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["ad"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["bd"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["cd"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["dd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ed"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["fd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["gd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["hd"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["id"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["jd"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["kd"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["ld"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["md"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["nd"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["od"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["pd"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["qd"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["rd"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sd"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["td"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["ud"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["vd"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["wd"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["xd"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["yd"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["zd"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Ad"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Bd"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Cd"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Dd"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ed"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Fd"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Gd"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Hd"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Id"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Jd"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Kd"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Ld"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Md"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Nd"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Od"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Pd"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Qd"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Rd"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Sd"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["Td"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["Ud"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["Vd"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["Wd"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["Xd"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["Yd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["Zd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["_d"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["$d"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ae"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["be"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ce"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["de"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["ee"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["fe"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ge"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["he"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["ie"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["je"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["ke"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["le"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["me"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ne"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["oe"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["pe"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["qe"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["re"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["se"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["te"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["ue"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["ve"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["we"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["xe"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["ye"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["ze"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ae"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Be"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ce"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["De"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Ee"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Fe"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ge"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["He"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Ie"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Je"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Ke"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Le"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Me"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ne"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Oe"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Pe"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Qe"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Re"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Se"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["Te"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["Ue"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ve"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["We"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["Xe"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["Ye"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ze"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["_e"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["af"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["bf"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["cf"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["df"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["ff"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["gf"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["hf"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["jf"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["kf"])();var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["lf"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["mf"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["nf"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["of"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite-async.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite-async.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["la"];updateMemoryViews();wasmTable=wasmExports["ef"];addOnInit(wasmExports["ma"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{if(err){wakeUp(29);return}wakeUp(0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve:resolve,reject:reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof Browser!="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof Browser!="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={a:___assert_fail,Y:___syscall_chmod,$:___syscall_faccessat,Z:___syscall_fchmod,X:___syscall_fchown32,b:___syscall_fcntl64,W:___syscall_fstat64,y:___syscall_ftruncate64,Q:___syscall_getcwd,U:___syscall_lstat64,N:___syscall_mkdirat,S:___syscall_newfstatat,M:___syscall_openat,K:___syscall_readlinkat,J:___syscall_rmdir,V:___syscall_stat64,G:___syscall_unlinkat,F:___syscall_utimensat,w:__localtime_js,u:__mmap_js,v:__munmap_js,H:__tzset_js,n:_emscripten_date_now,m:_emscripten_get_now,D:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,o:_fd_close,E:_fd_fdstat_get,L:_fd_read,x:_fd_seek,R:_fd_sync,I:_fd_write,s:_ipp,t:_ipp_async,ga:_ippipppp,ka:_ippipppp_async,i:_ippp,j:_ippp_async,c:_ipppi,d:_ipppi_async,ca:_ipppiii,da:_ipppiii_async,ea:_ipppiiip,fa:_ipppiiip_async,g:_ipppip,h:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,aa:_ippppi,ba:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ha:_ipppppip,ia:_ipppppip_async,ja:_vppippii,r:_vppippii_async,k:_vppp,l:_vppp_async,T:_vpppip,_:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["ma"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["na"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["oa"])(a0,a1,a2,a3);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["pa"])(a0);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["qa"])(a0,a1,a2,a3,a4);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["ra"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sa"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ta"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["ua"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["va"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["wa"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["xa"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["ya"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["za"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Aa"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ba"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ca"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Da"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ea"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Fa"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ga"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ha"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Ia"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Ja"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Ka"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["La"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ma"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Na"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Oa"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Pa"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Qa"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Ra"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Sa"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ta"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Ua"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["Va"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["Wa"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["Xa"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["Ya"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["Za"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["_a"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["$a"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["ab"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["bb"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["db"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["eb"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["fb"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["gb"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["hb"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ib"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["jb"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["kb"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["lb"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["mb"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["nb"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ob"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["pb"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["qb"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["rb"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sb"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["tb"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["ub"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["vb"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["wb"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["xb"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["yb"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["zb"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Ab"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Bb"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Cb"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Db"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Eb"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Fb"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Gb"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Hb"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ib"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Jb"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Kb"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Lb"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Mb"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Nb"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ob"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Pb"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Qb"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Rb"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Sb"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Tb"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Ub"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["Vb"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["Wb"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["Xb"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["Yb"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["Zb"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["_b"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["$b"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["ac"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["bc"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["cc"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["dc"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["ec"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["fc"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["gc"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["hc"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["ic"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["jc"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["kc"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["lc"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["mc"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["nc"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["oc"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["pc"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["qc"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["rc"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["tc"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["uc"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["vc"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["wc"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["xc"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["yc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["zc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Ac"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Bc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Cc"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Dc"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Ec"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Fc"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Gc"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Hc"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Ic"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Jc"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Kc"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Lc"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Mc"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Nc"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Oc"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Pc"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Qc"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Rc"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Sc"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Tc"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Uc"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["Vc"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["Wc"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["Xc"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["Yc"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["Zc"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["_c"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["$c"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["ad"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["bd"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["cd"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["dd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ed"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["fd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["gd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["hd"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["id"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["jd"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["kd"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["ld"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["md"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["nd"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["od"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["pd"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["qd"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["rd"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sd"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["td"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["ud"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["vd"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["wd"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["xd"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["yd"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["zd"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Ad"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Bd"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Cd"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Dd"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ed"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Fd"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Gd"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Hd"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Id"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Jd"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Kd"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Ld"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Md"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Nd"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Od"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Pd"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Qd"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Rd"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Sd"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["Td"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["Ud"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["Vd"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["Wd"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["Xd"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["Yd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["Zd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["_d"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["$d"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ae"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["be"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ce"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["de"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["ee"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["fe"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ge"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["he"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["ie"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["je"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["ke"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["le"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["me"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ne"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["oe"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["pe"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["qe"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["re"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["se"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["te"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["ue"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["ve"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["we"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["xe"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["ye"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["ze"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ae"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Be"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ce"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["De"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Ee"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Fe"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ge"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["He"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Ie"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Je"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Ke"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Le"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Me"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ne"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Oe"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Pe"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Qe"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Re"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Se"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["Te"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["Ue"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ve"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["We"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["Xe"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["Ye"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ze"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["_e"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["af"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["bf"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["cf"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["df"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["ff"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["gf"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["hf"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["jf"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["kf"])();var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["lf"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["mf"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["nf"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["of"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]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 z 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
Yc%q11{4^wM#S15 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 delta 338031 zcmagH2b`2e@;}_&&*bNs+1UikF5!8GRZu}zMMOlUk!04>Q}p!CO{fb7IMdyEK7fdr z!ABjlU=FAt=75;9V$O;==bYbfb$Fh|`~5$!ckIkOQ(awMRb5qGUETBE(j8tqWBY|w zpNIUI{X|HAv!VWv?dOEyF+9Y}G2xORGwmtZ-6JD(!H_(`jBRWYUgsis^n0Y0h(Ouy9z46&=PIOEvS9NTt)MT$Ty$ zWLP@Gc)h~~V~&$bF`mk0>QiW)W_TnVhoyN6-wBZxyy&FZpq$S{->}$^GpF83i*zQJ z%6P0FV_rIyW*M(9{Sf+&DQY__(w#G)D zad>Tpdl`@cuwp8kW~?cda?&Xb3XM{rBuA}MIj7YLc`74PoHNf6S)Kuu|miM#D4fi*&lry5LGGlg*U{UID-g8xQf)Sue}dg-x6s5u9;Yv{AYVoY-f+0d~ zjp-a@mMP&SllDLh1kOYz-BK~ z&snG7^eys|LpliI))&A5yyux={XC~nBe>X?;Zd$wUWb^)SUTl}ImpfvWiQ2C^zLLb z8J5X-BvJ?n-$6qFS;*x;2q}fb%A2xsPVihU@jH!%5C{H8QULEVPy|6E0KdUlAs{d> zopaI{FjzyPp|NM7Zce(72=UON83Tn)rHhaP#C0HDfYh#uPYM1Xh9<&>k-Xy~G$& zDc7w*>r9R7WSbneMK+Uja;#Ylb2#KclEM7Uv#}v_e3og*3};!`q~W;&sW5|y$?&02 zDj0|ck=;^hS*q-L&@Pc30Jd*f+>oVPTVP1a;6KzP2O$A(F2$gD_(u}t*{vW4pdkY3 z1^g#b#ShSirL&|8sZ>++Qf~PEP5s@JODcuYJGGforr?x?$7{hI&T2pwSg7m^8wfN- zrC&98kk1$K84LouGsGzTAIjup3%LO>GvHKh!KuN#SO2l-pnOZH-Uca}lL4AQ0R#sw zNGXr0if`3E; zh`?OKAM^w^ZADMOPxW6WgJhqAd!8OW7I_T;qTWkd}>R6b42o z75arBln*8f!AB@$p-_N9CiVbIivnhuNMnQ(qtQcy$vc!UbC!`B^ApAF*&@?76>|CI z{8kq)tk<9H%iba(X0(I12eq@GGveTO_G?ZY($2mpi15&M_IW|fY-jhnVpcnQDdQk$`wbov%6jKuXeW575{E$FLEK<*=j+Sx04v1>a!j*GtlG%t3;UoLhB3>SYzD=zkEXGe=Y+gXR0 zimvlwuXc8JM(o|rs;>A)JG^#ZODWOW!R`{GtAl-?6Ww74`+|#U z9qe{j?BBtjD~SU-*s~>ZU#(TU`4)0)(m&6er?6HzKvV%pAII4p^S`zMr!2Ya|A#&@uXN@AN1_Fzd&=wMelVqyooza%Dguq%a_+`(>j#gq}7DTgRLrw z-PQZQcCc^2y$%*WDa4)~?Cz47+QDve#a`%Ih`l@5A>tn$Y-LHbf?Flg-pTGPiH=To zM@e*cvfE3dtCRghba%2ZQ({^tdoeHe?_{@ud!6i7aIcfyQW8C#?Bt714;RECooq!3`Uey_F|(6>l@qf%*$rS|Cwo3G4nqSlu#-Ip{p)1Q!9X;C z{&liv^WtBfY*|VCyOUiH{-G80uajK|{&liz!M{$nG9xCUl`AH7vZW<4xszQ}5>q
jNsE7UvIh#HwUd1a zCG2A7f{9)195AtqJ((9>T_HQWB)YrUSy?fyi&aZvf4m19yV#jvV;4IEZ0urRq{Q?t z_IO^*=whdXja_UJl(38alo5w?v4tgZXcv1dFJ^YJ(@J7i7dsVP>|&=t4ZGOMn8jV} zB&cB*I}u#$VkeZuQC;j2aIuSp3&6%Mc0AbF#pXi|yJ!M!)5RXniwRxq4^K?&Vz+0+ zq%QWmCnkgTteDcpe)Gh(UF=s+Y}duEbH(;u>{?gs(8ZQQ5xdwgp4h32UE_+KyV%d3 z*ad`oV%IKqQC|F|i~Zn<-MZNKp4h#MeHVJ-uU+h0PwdgfzVXDKUF>U5OzmQqWyD@x z>=Ml7F7~A-{sA6%qP2^ipBL@j>@!bvbhA%A(b>&D@kCcQ``8oR-Rwh8OzUPJcw+x< z_P!?$=w{0b;=pdUydZkI*?XRt-p$_i#EfqCMoJvi&ED}sad0<#+Y^U$v$s5PXg6Eq ziJ9H(O;60~W>0zIpWW<9PaM|Gp76xs-K+{_>}HR9;>d3Hm?w_vW{-N}U)}5xPyD-^ zJ?shD%^vc^_-^)~C${Nk4|rliH@hEP>}F?yi{0!#aIu@+>xn7dY;IbF+hQ~+v0XR2 z#}nIkv)>)DLpQq`Z0u&Mz{YNNW?t;v%~pbq-Rv%~v76oLiNAESJHWGtEMhnN!xgRF>^E1mPh&s9B8Jo053cB( z#=dh!*EII6E4rt_7fzeTt}TfDr?Fd$;(%%F*rMpc6Yy^ud(jm$rm-tsanLk&g)0u8 z#x8foA=B7pZhj47C&}IGor&KTzA2oMTa`M~JE_6?GPjydmPj*joUrxPP`mFSf z^LpvE(yOIc!qUs7TMD0-e$T!szAk)K__FYF;nTt=h0hAF6<#g8QkeRB;S%Sg!iR+q z3hx)*D@=K}@J`|F!dr#^t|`1(c%$%f;hWOR!b^a8vG79S`NG?!w@P1?78X7#ttp+# zPsl!3c&GGf>66mOrJX+D&la93JY9IIu)6SV>Fd%5&WEKBO5uB@_e*b<-Y8vIx}X%5 zZYVA)E-ap0JgInm@pJDD?{#m5cZ0XgyW0ER{nh=&{nVD#W?0)2a=zie7@4n~0>%QZ@?Y`x%ao=>`a9?*{b6<5|agQtAQe0kKR=l!!aq*nu zX~k2DbBjNEXNT@Z?pNOV?$h4g-cs*;FY?ZFf61Nee&N30KH#3?-Uo(VE78H|a_WEGoCyI|3A1gjue581K@zmmp#S@APidPgbFJ4x> zw0KEzN%6A$;^L+G%kmfD?}fz+isu*4E1p|CyI3urRXnr!a_Wp?RJ^`;U2$ptn*3Gy zYl};Z*A%ZVUR8X!_)zh|Xlz4EcysZl;*G@>#rehKit~zdinEJ<uCv%RW!mUpIihIhKR$Xn>0=AG)D;+^cBw7z$ux4=8z zo9`Xx&GU}+=6Z9yTfCdSo4gyn<=*w)b>1~z;jxn^uPQwkZ8WpKI_|LAzpdD*5ux4_ zD|YF#jPq9`-t^A_LnZGSC5C#!bq9-ysc}B@*-&AgMvIz8@C7UGX%bvK=u~IkYC#oGZO}xir?9r-0@A9Xk z%l!ZHs9O7eslHksE!^tr3rmISQxn{Q)!C;OvemY$QtO;`M@@dksKNbsR0*EtZ%5w; z_wzHW{H|o$e4J|8N^Rnk4OdeIlWG5W2wZr!n!)bvVPio>oA z3dF?;fkRC7a}#HQvD|n3Lizes^^pCGeFlNgV9*4gPXv${r+M!X|0NqG#zj5rv`iQ$ z-(?5+Y5YBSry|#=B%egcSox%s`gBoD+&o(fsvxRxGw<@(-G`qRJ-^<~eQp%ZK3~tt1;XdD+|$ZjU$`TpcZUy49qqcu zRu?@`gPFBk?YQWG4J&*`bkc_Xng+?#tO_5)1}S{L1L22|*OSqm8}2(`Ea&(zoYhx& zJlWbX1uGbHTlDLQfzHwH{Z;;oqbBSgc?qp4e<>uZetCWEZq*}xNjFs249{;J9oqIE zJ}>&TZAtXtM*G#T;-GT_(CHXDeJ5JE@fG~hXxb*XM`JeLtk%q=3IH&nXgbZ^c)fb_ zG)RHTjtd1%O^;6AXiVgfJec1foi=j)KC=ZVHOeQn9?Pqns|)uiGz=#lpDhCBkk)2L z36CC}&ns+VQ9$g89r2jUs!Q(8Z58db=>g(vXxW&lE6Srra=zD!iJMK}VhOK4eSOWq z=&I3s@f#v%^O5|D6{9!DviJHzFN<*U7Ps^Bqg5L>Ru6r)*jW8?k8D2jw%W1ZzZ3(n z4KhkiG?ghoQ(m!R)>Z+J*4^?z@oFBLJvp^9&+E>blWK{s*}|)id$W{{&K-9(e`Li( zc^c=>M$eDmn4b{kw%LR)j>c}YHQpb+&2e}yCTxlK<0fn`p3PMkE=o03w|J1}qw6O8 zJDN0hO%!cC&$*sA)7*)68P~+GAOTLO?(%)6Haccv9hxqh_!wWcV&6$!+!&}~Q+oKd z5ue`@-7sZyescAzvvbNQ1=Uq==VW#DUA389rWHIK&Yp_KY`>9sRa7@>DD*9Yskw?1 zq=~z)MT@rYhgp5i_Unn)cy-AZe5dNT`a)fG+4b2He?%iabWiS9-EV}lbn8T$Z@Y89 z<;XA+=GF9?8!A2&L6-3S7%ka$SMlP!=-X{K=Z{4jZnuEnQJwiZbaB;Dxt&+6zw;iP ze;m!(WqrOnTDnUMEb7C%92IT5(=jXd+jYJ`iw}0&yYIU^U`h_qU2Up-Q9dOdP2GJi zUlhH%yN|!W?mhy4hyC?Y{-5ZFzjop8K6^X^&WzaeA7XYkTDa%N{OIVuJ^zg_wwgKt ze~+EI1z#TBJ@t=h+^&99_xA&!oeQ_zOu3HezP~?O91D*VxMWR6iLueS|F~M*1%LH{ z(>L08zjd9v9C_AFyiauge(R?2UR29#%8hwPk(ZMjNAK=;VQF9RfJ-qcNWn_)8!c=f z#*dHgYTpEZziOX^zoR=Y7R$5MgOE(s>Z4NE27GQbrt2s^BwEq6KmN9KAJuO@ca2HQ$a>2opO@!GOS?z#Wh-9m&hlvG zUf=U0qnq~b#^08|(cd|L3rAKaRgjAE1qn~`?JELS6B9QjE0ghFJ8^i7tihU*tb9i_ za-TDK7(Ker9zYW8`&D%2{+mbdOgm64R30+A`k312$^E|oOIIFnI6t=f)dX%F_AU^m}NvBzBV?k75G#HGp)Xg4hXQ#JZg(xnQ=7VA=>kx0pc`Xtvxbz zQ1s405Aw5CTzzoF`ScZA9a<+cr+ycQC;Y?emha^@iS|Em7x9Gll1_Prs0MfDHm?5t z&T>O75?%cg@DS`$=HTbc^0V}7X}T=j!Y zp*rS-T%jo!LUam*-f08~IAlD712U)i|qPftYXQTGR z8^aV-rjmt$P08!|WN1U4EV`)VM-&ELxl$|#!I<;y+fGghLa{$u+O9BWky+X z=BL0tr+g|hb~=pknq7K3v6#2<1TUYEh6Cr5L4uzJl$bQDdgNZbJh))nnh>OSTOdx! zVUwcv(e*Mz%nvr`o>i8v*i!COlfRxJl5WQrww%6ce*z;&}9@r&QFzhlbQHCO;;{KS^eT8 z-Y-ON#5_c51;Op>7EkQxf=J3`uGVqgFTuGJR z=fxD%$?J)SoHwXL8u58N@MK=&&NlndkED4ShBGg7Ny~z1387QNqAbJ>i$N}F=%JyK z87${ek&=ZYB%c`z(6#*o4GeS2&ygfy<`$$Sa1cK<8!(7GyqcHpJtXL{8jTM9GSV~H z2mxp+Nl&B5H2WpprAFgbD2T?CDqo=S`C&#DRpT6}fJDnOsFB6Ebq!i;Ry$TGCDRvx zNgJ~F} zyO*`f(D3s3X4zodki&whX>kKgLmdZ01HAIzV8~PDzg54Q#s3;DoaR@59WRQ}Gyhq^ zFN)?L{aAU;JG^HYqF1(45gaVvx1#;Od-G`I+%CSjy6dZ%`e^CgK5#0#HcyG%V|N#) zzaO<9TL~}Vu#zB;Y@)p4T+GIDM-h4?vpoUPP2NRdBFSgZ;pOco0yUTKCvWG!z{=Yf z(^#g!M9BU^jWGw=PBCujffl{mfdv{_eHkd)03j#iUp1A>(mR8~Dh@o>5P|7_&svR}7 z>R(?hS6BK@wmRqrICt_&r7zPkovlnh_b|1J+HbCp`kk=-$U6lIiRLMkUCBwlq#y!e zK;yZtBR!}5RCM+UQFQCP?NdKwc&55+MPZ%lD((%uM1*|6f2A?_+NObP*2atSj@4a% zD>p=&%zl7RjeeSaVCprP!YG)Huxd_U{$3Q#SrR$N{f6+L&!5kqp#Xb)_0YR&3M<~3 zAMmCM!H29-aK>Sl!L_ihqmO;k8} z9M4s2E2Z_S>#mm_S>2(M?^n~$M+#)0pqXCw3!18J`{er$TTdJsyaT5_R2&ryq?e-u zpI%_f2hr<19#rUc0S|(x{*<$jQn>n*06Vi}%c?=6+qmh_O3p0AG7yR$X`{q!K#+Gt zFhUw%j3w)c*h=T3mQ%;3*M$waE!yYQT}QvcrSYRyrleLwgPbInA}|m1ghWrurdP6L zQ&Kaddp@i$!N~iFGoV$u@~zqGlKTqve*t~ufH>B;JWcPR_6$MzD(<^-6~_!S*3Ece zdGV8&U*&DA1J=5L$W`~t{cJR3;qb=T1D9{fO5=Ug(SZv$3w7M<#GKHsn3eYlHnOf5 zK4GJvXfX~I!-85G%+R2YURr}Pz4$?ihRzUWVd{+%tM!0`dirvLW+3dCj-(6YSF`e- z!NxK>NY4m#v2l<$UF0V!r&EC5y&rA0sBeDgD6v=o?RwGQ7qtx4K0b|6hruS+!2`i2 z;J6tzyl2I!u52mx9i@m-t=AtV&W9C16srM2jrQqji1Wx`WG{a{GWvYcm}%fXG5~}V zpvH;AwmXuSSBqd%>&DUbrg7IKy&!GcSeNZ!38C7IvYr}kMg<;a2)yXj)BA4cOsu4# zB4jTrY2Txl>~@s~Jo0>`o%9OOdTkFRgyrQT*vxuugdm%N1fX-OGF8_=fnqXB?XC+L z`(wTA%GJ*l~=)QV)gc`RHV4}dSW z)fgKTK)7Qx82WTcewYlo=+ZO%DGemzDMLjA!bp2034H%=C4aVFtKdVQ)g$*X$ zW`Bz)JhRVw4GDCk;ZNE^kCly@$AxBpY_#&sfx9IOniN?)kl#l&DySyA2V2TMx<$U( z-!cxV`zDCX`v+UezA?;JK{~qU%)Z-_2DZUyBBR%Llo$y$%u3Ny!EoF3s7IR-H7Qg@ z`53IX-xo3I*0M=sgC1-hWTVs0T7TDmnkIQZmv`R5%g6Izob0EeAn9>hTXbZAM5)2t ztQwJxSi%D-n`3yXXsi!0*p_%8CBN*~`L({M+{m>&7%y9N3uwjo7-@gqz<8U-c(9G^ zAA@ZZ69S7s%W-ES>?cG^il@&JV-EI>8>D+lQ2c4EW-WaCW;`T$+QlElu}frenM zynl#bf*hz3fDtCo4o1K%!86dj^()Q@)+o!fu-JC|+!m}6vY_YX@Uj%9e3}+4t7gw$ z#b%MguyO7n%NV(el~<;NiP9K+bVHeXt($4TUgl<2VCsNn7FtusIV8B58U&Qzk#HCj zDwu)&;XwJUAP?)5A0_(xJWIskW3=S#f#C+)Q;cVuIcJl{7&b~=O0UC}?RVwbq9=Am zzM?G$?uEf5>BqyL1SwIMG#9N)Dhy|P#>@-!pyY;rzI+=GCd)v#%`|uUljDh>g-Q1v zaKogLz)s>9rNuDHU<#;u4yg$yTg#K0VJ7gjt)gwk6zLpM!Q7r1^Z^TUu4AGIfQ+o< zqYKX&7Uq16o9zVbnAqS(7SgShkeXi80+6aZ*5Ae6bv;(djkds-(X2yfAs6oRwVItg;4ufrFMUT3n+21ynq*0j0;cQpw z&m`r6+NuuIkT9(U(z2|`!kZuX%u0F;^E^(O#d1+bdez~3&@aDG-FN~@i%-2f zh5D7@s8^vj(q++*^M>-eXqWQ_G*LiOM0N?g!UKc3_Ulduhr1K zF6IaneLLBz32$unw~Ix-oyxtn#m2^0vF>n&BoVj|WYAA7Bt+R50=(I9HbGWsI3?>^ zDRQjTM{CY+IH(_u1v45}9_p_6jQ|qBY8Ch+7RxlSrT}Jw$@lI7P36Po5KE6WB1#(IRt||ySN@2`Dgy;4Hk2A~1+$)(Avq=(6OP%iOvs@c zNrO$2)D~ei{p=Q85T8eDQgtvpGx zwXj%(vKZ}K-=GPMmpmfaQLb+(@pp`Ea~^ukC{P$%!5+!^{0xuHP{UB@Z`<4nt=%DV)+$PG>7Xz7vx zEhE-~!i?Bej?mvXM(-{O*2zMtHIZ!zqysgP!Cz#Xg7%{w+;R(H;sY*suu*5QnnEuI#NP_`q;GlD1+b)B?P|?k`4EeqcoPj&Hf%5 zGB)6w8Tk3Mj;sS+d&R&FV+|QuBzMQg*zg?)hkjx0V1~M-0%S04tBgKu8H4{H`mmJ-2gynw z_Lf^&Xn$|TnNamWi#*%I)`paNB#Qqgw~pce7F)Je%z)H_+EvU#Sp9`HYJ*iFpBOi} zM>ioiGgaPWnvg+`Zo9012zCa}S_%KQN|~H55~|uVBC?oX=||R08QvO=z22wv5)2uK z!GU#K01u55QRIxQzwql3`r=^*%rRDaJM|GO9GE7y9X3$L`ekJZmGO3Hy8vOE%3kMe zc!_Aq#9jpq4PYLEsAHUZY%1KVM_5m*Ge&E(eeg)L2D08qbAqIa_zz2i zECvieua>^lAEJPioL!zpA+%k6+^118D5rx3=Dza21mV6xnKS|jxnCZ&CDxO~Ftz3= zBbGrEkFwAdUv9x0@Bz~h>ZY5}f)q;=n;EDsD)aj2&?~$R3trB`fLW~-tlZWPu^qDP z!zP1++;5DsS027O!9m)3ZDM`j{fW45%F6o<*>%i2cYJ-tS29AwE} zqSq0l#B+G{q4cZiGhW}N&j?RH6eL64-D((j+uZ|6ciq9?u}P!(ULUP<)jEA1Oun2V zAB?}+@2VCgRgb=EXb9G0K21i5rk4=*%`p3BsC@%p1sK4i=7Jb;m1#v!pxb&_SV1nKthM+gYSxV-qt$H{T9l~L&38~^h7^a6bR|+7{(%RYX|>J% zKVmNmZu@b7^>Eyzd?v^G%fcI_Qs`|k_K1efjUSCX>3;H&7}(!02_gL)vIBBmTHHC~ z>`coeszQ7R=L8qcOpG=X(dFc828L=q3+f*w^r)PY>*_UZJDwPsH~a0#;6Yu~`q%DL z+qBMOb__78<=ul0BwTbmECV}0NAIzC^Z}hcuG=7P3Mq%ui3f3CopBh4PO+XhO`gzA zm^=x_06qOB=#oz)t-5q8;C|8oss!2d0-r5vLrE5MD@W|0P%tENp0c<MbwpF_p zlpDe#tO+erbL%-xm3PE=_7{9*#YcvLR34^-)EsB!u!0!QYM}N|+D62TN)HKUSfxjO7_>rNsoCKjKPqF-e#jea9;RCqFkt!toT3+idsb{ zu`eAsnD4ZCjqcTCE?`F=1dOa;Z5+~5WeJcUKym@kCty1RPRYlz8w+aMLG(#L0nR%q zW6@SAAZ#ZWN686Rse|vs)(2kvatpO3p%0X{;&v$KC%x{v^8N`d}MiIRKy zz{=RxJ5WBGG&pc=qli*sn)I;Rqz_OAVj@!LU}7E#cI^+etkRQcx?rFrt>~9!n}&`n zLw|^}f0ZGa85E6DlnD{m0$Dtrp0g@UvPqY}=RuErE+GjEL&F{wf?*#8qNNQK<%wSc z?};+(meCdm-l9sWhfL3CWiy{A9jw(1aRXl&6@1XL`a71FsS&OqL_veO~tfR z0?7}S#ZZwS&hk1*Na?_QG;T#DuWFeP9gU5quNdC%W!(dk#>x!HRi$NSw^VH9>ugRrS)0y&(FllSj$dHI>i`dh4`{w_&oh9E)n$G%jw@%V@&Hpt0r(6>^_56P( zZBKu`kBU=az16m6TLrnIo(l3Q6MP1fjdUa8W1B&Fix4BRs<)FUCw@Ws*iTZYF0-8;G)u;1$45%L|=%R0^e5m>uu6vi0Q=*bvi;5WNJqJt{pYf zMR|#=dT=C;UFc~5a*m9p|DFLvNOV-W%H?}8kf9fN$APN2!TT2TLzrLwrg@+~O1>Yr z@{iJxIt4-|03<`!vws(pLCJ}DsT8Bdw>F1u*dHJs&{#2eFq8&g?8OvX-%{!g5~X=! z!`Tlk1xndH5b!VgK|;X4{!D;8>sNG2S;O=2Mw>_GZxi>~tH-ta`S5@G`M3Pg^wZkx z|2xP>N8i>DJ3&fx*9u0%7fWZ*tU_>Nf@3d}_chE3ItBH>*Q`^=_*G@EYyO!K=2a(bQ1 z&tgtnE+bkZBx)**tqhXR^a?f^kS*$^U4v;VKpbix*3gBZKmSh&M=S2C9S&A2m)%ooCd&ZTYXg_?a-)#6iIi6RE(I!A1CKUZ*(X#5 z7Fo5Zqi00gi)?zyVVpt9sR{$u#sHO|{P?K$s-bm31O659uP?PLW7$5r(gYnSL&YiE zh`7bYE_5H_`3^kaVJT#=r@=r>y8rl$4{CF z2IVS`llm6@CS|czh7S3`W}*zn0Tv4XkgRM*AnP~5Ry0$BvO+~7D&4G}^-)^^O@lX3 z?EOl!H!qQHhu->4hyvzv`BlQ?xg7O~e`M<#H-|L7w%~6ujIJJs*a;2VvNjJXLU=W+Rs!3C>44_)_m=_>qaCdtoKytD;}Yfn&OrN3+9`h*cWa$8?F_--q9iQt;(OagNtxn$ z^e~^x@8hQa{G@{)ENsDVE^iwK$8-5Z0*KtN+A)Dj^v5KJ%~)$JKT_im?sRoBmIYk? zm>^idO?U>e(ODUap-^5!Q|2ez^B*KrS__@PLp+UTbV5Sq&lYwz2P~#BhIAsw$~Xo- zF%~G1xO>ctUu?@wNqnjy5?Q|_4Nu}hK)eJ+zcRgrLgw>ij*l_+lX=ibGaRadV<$lG zj7y?J9nZm>4hx{qNNfbHfU^sc-!ut*bO_sufu6$UZw5K+!znyyHPWQOcnWILDy`sn zt1>pQ4t{n@&`QIa8VroHQv z3A6&&*h@Q5Fm8C;XGYD#qZK=l41UeRR zJdB$zqNawWP!_)xn~FpL8F`fEnQve_V{2>-ap;f*!EWqLvb6l!KwgIie|4Ly;euOsQBoMvjIvL|z~v zbH45j%SWucuyc*cb~=~yO`p)%(|N4i*c#ViUk+>R8`Ib-*HWk`PWYMrw3DTcL@V|^ zw+$kWCk7^(`9Qz$1dYKdFVD&o>^G*hJW+p{Cmo^IXK*~SJ@{uN7UCoeh*g*04;q2I z{z(bsnTdJ8GGqqSfi`q0z0hj%3zS*_WAONZ9+&o-kY-LeIpV>Mwkzqt%!-wQ4kOo- zZRej-o{qxa@xfVKo^1MuGM}aU$K-Lq{OIZjE8!`&QLA6U$gtu%#lXV_R0-Z-KQ#d) z7M#uHsRj^{-Ps8XPD|i?z@5W!^jEVAaOWfp!0uYwFIK-S7W;%029RO58oJQpfJN^M z7f#D$ zNo!OAtkt?#0_pmhc+W7$&2aLc`l73avF*Vn0ZGQ9A+AWNlqH ziguapaV;gkEanN=@xNqVZW~#4EamcY)dWF1_^~w6`711_<;S%+ooD&c>|bkC9^}EL z=dKrS~V>yaV_qK!@L zd{I7Pyf3+3cqNDO`@5{=enIxNcDVg8-LEz1eQS%Z)8BgKyScn>tuNK$&cpHZ#dS`@ z_8FWiSFuW7hp)}BFgI{K)T771ZopAuVj;-=ziocKvH8)uPgQnUX0f$m4YzHuf}{RZ zqk{WbVYC6L5(7bR5sR&5;s0NjV!6hiSPE2`E;smLDQ+~DV!#a+&Pw1WE^n}KQNPuG zxI#lXvCX-e%M}I!^Z(}m*ZjZHwzFDr3kvs4JLvl@$-Gp|Ldp-}0F`^AnvJ4t#N9O2 zqmQ5P*1yS8X`R-sT;61Gf$_JJMv=voFGi~$ZOrMp%_c?n+}{{#>}KlTY!T6LIULVz zT;6Pl+w7w>+Io{)EF_UnkhgPrO9FX2PFkDkq9v}x1aBEAPft5>+MMepp{WX@Sq0}z zv-Q>(zoFy~j%Qi{AfP)8en8%4A%&sjPL5|Wkjh3Afj7T()=g zW6JH-kq*1)y~`3~*}sa*yOJJOCB|&!pJ};=%asXacuy~46fG#jAXNi3l`N+C+4E3L zfU|P6O^6g8eRlv7d?hj^IER6+=y<%|IV2N<&!nDO>blk|7P%Jf-MwiKNq6q$@@_*C z)b-wk=c_EJoqqSBnlXXAFB#@Ne;(%jT;7vF-v8%O+A)S0q%o2-B#ev(h$V_1iXBLn z7Iqe}*jqXlP>=0iONLocJ;3F?h6F8A7!7fNm1@0k_+p@`)qTpys@T- z<~+#deFgzE=fSlQ>;nY4+xw{ZGdQcCiMlAwbK-D8$KA5oM5i=T0;)fI@$^iTU za6%8oFtHw?wh#LN`Ya~So~U~MEK=hlSzJA=dt*Kl9oYBD`dE+qEmU>;@LKrL-6MuD z<>4QRzunQW^HEDTMmrdzeU!^bV<7+0gzU#Go)%F3SPVjFif(n$p}G2~@ZzRTkT1g| zr{cUyK1e$VUy-7%6rw#}+<0n>-b$f^9cm>(W*!p?FKWAk;x3gZz)FBhP{Cr9-*|)r zrKgo5#7QLqn2PxxY^jubhBF*zm{}=BZ@t(UKCTHwp`0#0d5p`)4Vjo}IF4sme5l`S zN#-rA3U-0eb&H(($){oxt#YZIHoHr|+5+bZcy$8o(}748?a^L!bi~U8 z!;RK1K&1mw9}1#$820g?tH>Q&8lFzjb_Y*#`Lsa{DLkpAfbrC)sd1}|tnmM_VtB@) zXfCfv%V+rD{sJdtiip(AK#D$2Xf>g>5WLGrBVO_ATB%xVsVHdFTphiwRa!8=j0WloQ#RpY%m@ncP8lXUq z@~9{{z$sq`4!MC!67elTl9ARn_W9o9+C5m!<@3p~dTrIdVBsibhw(qn!L> ziy9Dh0~qT5!82UG2)KGJQ~w!`eMdQ)GKA%5eU^nMQdw4BNOmzdMY+YtYpiqsQOk$~Fh&0x@-~RDv;&2A4q8F$8f;x5Rf?{s3QH<< zG>hi0DR0C0hsD&rOw^%77!|S?r*L_veAy6)x%sT}Y={Mv5=6N->UMZV52gmS81ONO z7Z5h?8a&74EAhDe=Sa$HZD4>4uiA#lQewLadhu#h`$~PNw=9Ws1$7mo(qPzgn#|ZH zcY4%5UmgXPu`a%5QN2wxkiUPP%h!_rpHE!W>lXB9fWnu(z~$=+;0ruJ86XrKyhO-{ zxrz!7r;qo>UO0kVu7r=ek#L zj~y~1lmtG&55cHWq6;6f0lpv1<{Ipb+DZ3@rXCxE^1*u;MtZn>Bc`6{E~>j5K`CiH zydz%vYez~mNBc}nL?CoPH>_%oc0&VCjMIbmQW@3OkA8h~$lfX>Q+^ePL!c2P8l%!} zKw=AH-n2Z8!>t#&eACbct$C63SL4@Y;Tq1ZN0eHkv)2?+#sWs6j+z_Z^uQG$YQm($BA`dJpPEI&$5$Xp&T!rZ?(~HZuVbFSgDHJu{(%zlz18X zuEj$UK(>5sR=yjzrL)%AiPR}J{Pj@C5-K)ezlNM2xx2ul7tfdjRC&B-aiUrqdkr_F z@kGY7S>Z6`DL9-zeb5S(=bJ>8m1|SjRrl zBcs}wp5PTOKS;=Yg)9bib~H)nLk*XsoX>{|KegySvg|3AmuBTh_Uq`>clw4O+wYqF zzOqbr1b%G3?`M_w6AOYUo$_DM^S-#p0($<*TA*}Z1$ze&A3}@40xYh>IuaL>k!Ipj zGG(zyGj*LRRfG)-$&JyG1=7%X)SucOpA0pPF%f;8DMAY2-IHXsd*}H z{+VuGgN=Kb58BQsr~>8JP+gQDd5!i&jdwAz@&G!CHn>-9k&h~ZN*}6Rp#6L@hN|R) zKCWXvg8DY!r=kOUK;(1Vy|Oj^Vd_!V^m)?p>m)eM4nLGonn4zKJc2JQ3Uz15An;&( zfcu=jNRYf?kU;idTHpfk3`TcvqS_{bgd?!s)xlq*0$CS|!N|8%!o1%i^M}ncrL4gA zmBvP13MC-er$Hp5=6SFN^(6_~H9Y8tspa>hDN>2+Lbb+yt&uePWgH3o+BE8`6iQ!B zNzRK(N}`UN>u~4<;_FW}J57EO@>Dhv8;%eh{$UA)+BwwkgZs2Imvu0&{5;AQwGYAG z7FJU|8}bqg8BrKOSJGfrrFOVs0CgD?*&2MHLb*RJHNN2o!yJ&!RMG1<39(kgv@yjD zPK;@*(pTf?VSTfHKeBODUR3h?QB56qwjJmum8sMd2T|Q$!IiG-PNYlM;6YWf9`X}6 zV^{8$i#UxCd)6~s()0wkY8?tXzl2`}2V%AO*2o64@b^b3I5=E>o6xIOiY5}GI@LRI z5QhqI_Xd&SVI`}XR|+Rr0*qNLL)BOsh<|=|r%C|(gyH1P#MtGGHb?@zj$`d~@fuCsrVfF+8 zok&mV1SNFzd)slz53u?Fz3H<#TIZt?;l44ue$Zew@-5P4irL2pZ=swgCeeQ@NpLF* zV#9?WZOfDBbTUP2Z=;GQY4>*04kkujW{3{TSD=zZAG-cYBj`u=_@}s?(I{nYhE>Qt zQ)$I8=w6AEa&!%y&DQ>GDNrZn3HkWo9TfP)xcqmLd97$SVab;A7u&Rgc|!LMy^H#u zq}{u{+L3JHv*|P;qtia#INX>P$x6;vYUrTVcc`Wx85-F%18Rateh<_N&RDOT?Q;BA z-F+Shr@DjpP&H(_Zff@5GfOF@dRDW@h_qNgDq-#v_68H72{xvDwDB* zz$|OicY-iFTQDQ2j}G~yIsDCx7@~lw{Vnd$F0(bLzpjoY5=Zg7<yW@m$uRAfQ zz<1#ICl2rq!1*iS$N1>N8l9;aK;}y&ywQ?e`yZA_l=_iv8vr6dK$Vdp5)s#KA8_;p z=y(qn#qw16uI5g~A3$PK06>RJLv?-10908Vg^%bNISF`sJxmaTwe*1Kl~4PJ1IkyT zT6bclf?u2)M_&wQtWv?Y&h$!9qF>abic3e`hKcCK^((ZYMiRrY(fJ^#cX>Isfywmh zJrEizmSD&Vj)*sG?7M ztB!^IHYCC5vqb0CZ9woDm&YfNpCz=YiIJnJgr#JBvdHXZ)F82fyt+PL>XQg9 zXBOxVz!I3Q28!Vq#ONVmt+yu-&{|>k=Ukp(;K2OP5oTlczpm1SwKGFHoXdrzkr?@j zc07o={CbT13lu#WM9_#YxL&(yjR5>f8eSRSlj05yvXc!mRM^2*oSb}ZzCT5OPoYaV zRi0wLkEL*`rNzqmOH?1lK>nA87Ep1T?Wiw8_peZUlt6uDpr8#}0;cbU7P(rP^baxA zuTg81H2m6ZjRE~43yX|*9$A8KP*;=yev<&6Zt0+m_vtYRb!qxXxPb80o*s`Z;*F8@ zz-mec-=c0PZs&h%f^X1ph6Ob=e20pm1n|2A@JtPeg($5+&WvHGu7KtoE%{9K!&w%z z*)M1HisUQ{ABA7_2`!yf3rL#>1UYVSW3{DemQYPo3xYg$01be6hok*MGXC+V;4Yt6hsRNBz zF{!JH`Um~!8J&Grr#|b{5f;?dgLbS!hT@n>B}eOGj(g`Ro#1C%CRP_sEcQ8AuEOl3 zbKp6g^}vw;*_PY}wKyT{qw@g)!WJ9C%o;;g)Iz)Ao#+&mE5}WbWxOP5z2E}fdP%g= zHw|J9r>k$HeZMXBT&!VgCGru#FN2>@>Ju~6|0&U!OAI9JQcv(R%6t;2pA8hzF%;Ni z3NE#6a^>Bk5#RI)kuveH{LT}RlsQl)RNYjaE2RZ<@RPJIEf8=*h_b!lr57W+%#x~> zibU%#TwZ3VfOY(Z`qh&iK?-j3M`OKh1mj#r%B;NaW_a8eVbe@py>9L{M1HuuFXi}k z*pCG~t}cbWK<)__dktr>dVFTJwxiHkT~^GcLzQ!b4$;aO5+7EY1z~qoK`W;0{VbaC#rqBfw?kWq4@KWW=K+hi>kM-08J%4b0 zX|h`JmdtJ*T3&5i4mO?47I>zcA)1&idf#~rUD(hNca3R>;rF2{kFJT^Xbn(GBw4iT z!-ndh3%zs{{*VioQX`VU3ye~k7}6Yp^G-35a|AZITo4MZxGf18L4&Lx?Q3Fb0@>mp z?gVbZd`D3oo#jEO>_Fc*7JmK)h+DbeZxTr#Mcplx4YVX702Dw$4{(({zyJg+1}KgU z2?*FK_#KDCur{R|3$SpSPW`mto&wyE(}P5Wmd&-6Z3vZfFopfV@VP=>YsS*A*`F(d z217j%Ostfq2gTkc@Wp81kE6ot*1`iv1U$zId7Z&Cu-QLWXu&~N*IQs5+dzsH?3*X> zP_qx9^AgZy7IZd>w~<<*vgqT4T$TVIN5Htj)+#54jib~8N3v?8y?+`MmTCUx@O01- z75HrAXnpLbqii2bM_YWooO&U7zC~QXraF3=FXVF5%YbHoJ|v3J3%I8cyL$&;7|;!C zQHg6*(f)XW$0j1hn2tANvcEGTSJ*Zu(#X&TS77fNED-oYGXlLXu#FUekL~3iqjyy6~ zcTbhee=`$KlhP35y4m6a1IyrWK@qe|a1tW&n+;az(n)4KVA(CUg&KZ=T4DGn3w)u6 z5Ac%>IC@hw(2+2LL(;&IhCF5YZ`NDiYEWV#?Gz`os(T%@U!rLu*h&G5jrwVzyfq{oO)p7>|xx=EXN3VCpcr;NPSPP6HB-0U- z2#GN4R&bc(fcBg05bo5-YWBu$2D`~S4Yv5IM)--LnDEFi)fx^+#64cwd>}u9K&TdM zq9xNPd?53c3ZT1mxe9J^!Mz{X|Jt-ZzScLn;2IQlyGa4o0~=UapP-@SsM~v81Z>A`7~3u%L$^G{PJbMGK|8VHw%R>L{Ci^M@%SF=@R^RB{!LND|_F_2idK(xNvS6JOZ*s0uQwU!fPyw zHu~K!=s3&6sF8^5gF7Qow~|8e|L4;^c$|=VH=(Ar9Fa*T?sOsVPB5Pidy+Tx1YjXi zssq%d(0f%c;wVCuK_qYuCMGm3axv6M#4#^UeL`+X1XrjuB)-Z_hZgbf9wxoqkVHN8bR!eHsCjQLeazPVO9zM;Zs_ z159RI1Wp?zXmG!20Iyg_w>_RE@W?js&k`E5W_FJD(}`W>EjW&e&=TcOD|&o90Ln_y zj9PKhMG9~Ls2fXi5D(Zf!bs?KUlqTJlk{0l1f&+Ng+F&<4h+?x@PN_=U^22Cbj6!b zFJl{{LrZVL>FztjXhp!Ew|k93 z_|7EEP?ED&C@}LuJ2cv9!|349&K7v8`H2g0&&K(EgIZ}7U6P!yUd_3ZWf{^zlwsFe z4<)j^53;0n(L*sR%=Sc<=CH-Xi7XwG) zs9I@VD%6jO^%mSCW^|zBHz6O1F({-?=vvc94NYacAb%`@dCb5(W?`z^I(&FY z*9Sv&aGYLk{$NH?tV3%cHGXE6pw3OJKA3Vr!W0lX63aVqVpOO&LN`$OdHgBA%Be_?m|n?E z1m$LhO83mtOvMsJYkfSZr*)?^9#%$Fd!dj|C*!$L#ES^j2oPhiPCT1_*$z&UaQ-1c8k;?~!&s#E$9xM^^`Gm|R z37LwhHj=hg2hs)*NB2IfZCB6=t-yY3q8utgLD%ePPQIW!gVn;lS}#yHsM{~rDgyv> zVQ#L*I-I5oecd8LQJB`uOND$rhVm~p_9k8(DGri` z<5msQaJd2YrVX+;EV5Y5FB9?&gRG2WcS_CE$_-Z=3w-17P2Bgro~$^5&xIde%p?iW=jaOd8LqV$1VITdy&1?JfRtZ8bF#K`gb2-PF2|f8P8b3 z-qG0g^mr#mOY))Fp{E6KE4Zo3%mh>~PLJ`tn^2jjnegsfs9@3F(*SxVkp5jI z@Jt&tNct)fpYWm-g5Cdq-?o}hH~DzwPzF~E`F_&wY7x{LW%|Iv;w}u#5)`6g>3fZk zA0*J%B;hKi61L0Dq%#;kOa_t6wmfC>KQuVPICA*N^roiUM{ySh)5n&UAt0MBJ6|f~ z$1#wmwohUZgXdF=2eXZoc0U#H`zFq{^3;DT0SZen1z-Hj+B1t3z zvRF3bhySSD1OHGkL;KPwszsE8zLVP#A<9YW4o&RCC&|VybZ^WbMYpalNd;j17YY5# zjHoHdqaYBGAbz<-eL@WY)*e+}1KN8pM(IoHAJ<{3{`KJLxAjoNhoXL12!ZYIIyf@i z>xL?CdTJcFO~I-oJ4lh~JxKTfsz^krfhCl>8_(|aeyOR)PYvNffiBYh(hwitNnIyH zqFdRev<+Gzy03KGT=_N!@2$j0Rz-D;hQ>jYJ8#>lJT2Xk3r~#7Fz4Ff9f2`I9J=h| zYmKlTcbb-`1s8-zxLLp}uI3*ozD<)&#al^jkeBRWC`GU&vsEklz}_H8|R7Tn`xfogF^{ zTvFT{Q4o{>-bji|4jFkQ92>MTB+Um$vT5`Ox{L2gcXXkVEkHqeEoF2l<02>x9Pd_s zuY1IZVWy$GHwpQ@=@GHlO-Z`9;Nu=9%;xGxwR}h^k9&1`=!BTWMQYjVz&bvpUzYBj zB@ah8aZ|Mk27$QB&sP6lhbRwOKz$I%FYKt!*-^3z_i!TF1ac^4F;e~72&4OP>6n{g zwEChEf>O&2{E8#}J_F`FRg6Fhz_lOr7_v|Ub^hRHfk#>!p*J^cqopqMZzRW{BD1!* z^^XY$vhvMK!S{4L z45kN)d4TK?0@le?@(J>+eCfVn7`|Kuc7xt4mqx#whR6g-0yP|5LrjX-0Na2Yi}8aE z#Cpr0U#MqFYS6Vx^kWV(xJ}4kO#e{r+l0CC4ObRvDitUSO#phkz(dVVfZk4^Ml#AH ztE=`Qgx_>S{OkY%*5Cd#HpJgTWI$CM7z4<{z{x*qPyL@>zksxc(h zvq9Z#^K-7~@rH{KwxP$_R04_+zX&7uzn2BfvA_QcRiicNokGru8~Ar7YBpB`)?kww z$&9%%jIGpFnV;;RQ%{5Fd}jkarGubQ5pox6>CmwTuXJ%+6Wk=mdY6#L#`yialCkpj zut>)p)+!#QjXO$Z*eA&-k2_$!mS zNmpaz=X{J&m~R=;hZr&6F_}`ZS9=b9V6F^JLh{|tl;e}Wuu}v%p!5^7_3CVJw~)st zz1~f;Ag+rarwLtUxzH2h4h)U?>IHp~LOan6 z1=(X?MP>I0d7^3Xt(#Hy?(xKH4-RzKjo zPXu;{35I7w9tyvag7VV;$Jd#_Sy`2j|DJR2ojco|d1qsW8J7261{iSI6afK+gUF(Q zAnq%e7J{jum6du2m&9G8JXTtmmeo&0v!c=xa?LF@Ej3d#E$i2!<*%$<{@>@E^S*bm zK7aVYd+&SC`kd!H+j*YnV8tlQ#YtE#0Q zkWvBMSAVeY2er966opqjSlvk1BqbXw^ev|W4{38vwdh0DzCSBP871eXYfC@X=CjpO zKSgLDiK4rHMR2+)A?i&KoI*(g$NBM6)b~1hfx<3yyDD35rs)d5cnHWS9wt$Ab#4z= z*Zy;1z-|(o8_tF!A|3Ki+CsR)F>``q#pG7niy2Q#nDmq&L|eYbVF+TuXKq++d!DGWmjqFb=47cI!5&~ zZLX`f{j=%_zECac$NGdeU#OORqKa@|td4c1`C=$C+0zWB@};Dq=Q3i|fDU$>4bk$_ zlbWAAR)R!N+LL;)fL@;z#vc>83lm7uxnn-1&Gps7PgOUYfS`;xe4x7`S*DC>U(2C` zX?^)f#_YxN{y>%RX#Ps53MxD;ttSn{9by1RL=(x(Nl4I-g-$fv;#+B>jU&yL4|eT@ zIb2>)=0u|Fli4psDikXt>5SZlu|FNA##eAPfW8FWyRka7CK=i@+T0kL=8oHE1`SR0 z#RH19jVboy22TL24~25aiWuV8lkXbMja@bbYK6jrAaEe>fC=@z0=6#>*Ce$p{W}|PB-$`n&b3QIeD@v+Mb6$hOGc3X;MGJjF*jyf zh_hIQx?Rhz#VmA(#<;oBU8N!EYspE>y*U1*yGf%`Zj!4scpsMqgkolH_XX!OR&I%< zO_5ELA^Dke(FOo2V(}M&R=iTfeGQyYvUzYoL8THWm?j3niSYur65`uk`UTwA(ZZNd zO%><2QY6$%ph@&zn6*r57*LcZ=%SuxoF;)vEOV--r82<*V)2bGP{_s1UFIwEbCaez zxo8ot`8kdj$W?QVHDDibM=24t)xlJbGcpE)l(Rkb=~d>f?12JyxkBp@3}tQ&;>=Xt zKTm&VUQTY&2*~=?WCx(q9#Q(GHeU^>O6c`3tA`vIl{u6;|=oe0%0snYY>+!8v4G(2C0 z2zPWi)k$2_XaluN9R4w5i>S&aODM<*t9D)usHW^ar@pKLH$?GT#cJ`0@Pis$npFfT zj&QyT;J7HZG4jJV5$a{KqT9$*bRN^U`<=$Z-fq|N-VJ8zpi7Mthuv@Zxq;x^YWyp0 zz7Zw{%lQ?8ogG_NlesccmP-VPfPddiAkxHIeY3g%9{w^?m^!;uei=mmzvZh5NFXcG z`?~Z3E_78;z7W`JYA<&ymED|wrlpQe*(FCq3+$9aj`V=S*W|D{&wdZ1`XAqX-t3Lp z0TTXeZT_b^onL>jam*KDv4O#)X;?iHBv|U?rjcCXGaL9#RYV8x|W3R%;IRlcDE@gcFgBsgJhBY9dw~ah`;#jS^bbMbu24 zd~+e)l7F^o;pQ8!YU4ztb}iRU;XYJ`d^ZuDEL6!kTXUCPw3@j9QGg!let?-;^Hx1%h%qxTWX3iA$prlQO&66fx~+D zqW#4ayl<`CmO5w?+!of>^vf)`O>7rVi~(i{K_hkvJqc8=DB@3V@=f-Yy`#6boi4Fq zxIFefws{P8ForiQh_lr-;LZn+bYn~xn^ z^*5{2GPfl&UpJQ79s;w4gNYHFwM`JGeK6uU3JZ$cN5`o6@DEZX#s@`eFw-1CDhTE3 z3d2p5=G$esm^bhju9RNJ9W%wM_+`|eLPM!wui0MPRb+fq*`UCDYN=>HGFA<*qdT$Z zm~r-sv8rdy9e(Cqvqe*{;By(8f>*v$mFK_hOSMtzT=VU;NC1whaGLF;NzT#|fQ1|? zIbk6&za zt8vN>-vbB5M>bDc-)47BsOz<>np*nowG-4^`ge8qjw1{0cFRO{MBSw?Q7l?*l->FH zT$^p1q}Hmtx1TpjovhTa?5mU2dA9Ql%_X~IYs<9FH(fSVU2S)bX_;mh-PY1-Z=a$% zTjK*+4yGcz7u5+;X`h>-UQtKcXy2&Q{(Mh$lzPxk*h@{}al&47_kg`|FV%VM69YLY zNvszmO!HZ)W`wmN(5@@jAhSApgJwLC+Z&2Ql=nbxTs9NeY%MpPyOJN@cHhg*^D;+3 zrJCcWb7OS`KDy@W2W|UQwIBVhoT?^IqXB8ebw=B3%hHp%JG?o#n3d12dr@T^rI99n zFjaj+U2ad@TOF(ZX78{ylkFRgx#4!{F5PC=PE#dyv%P#8uwJ@(MfW26S=Y~_BH#ck1O?MJFu*-s|M7+P9I=z6zJp7 zR;&JLht8sr>+JMdwEZi)dY0 z{?^iCufD&f)~?An4YgZOC^p*8ebw*PCoPaTUM;m#YHHf;S^KGZ>bG{gyt>d1nWOeq zTkIVJwe5Dz95qv2Yj2vP9#U7?Q|GFEv!7Gl_Q?qi=)gCZU9j*H8mU(Jz%{1`aT)zFD`M4j03pZ|U9&Y2Cn))_>>%1suG7a}^ zF7+|v(JhUi|5AOkojzNQS4VyR<@zrBso83|9kWP{)?5B>`_e_~lS+NvKDbyNrY^C= z4^&-h)Anfxs)fAWe%?WfKabmiCF&9VEo~>=ThnPzTB`P<$Lp4=tFmugkh4$Ne7oIm znVQyf6ns19d1w}u%6mYAeQzbDZd#@e0c-xgOnrjKX$Pz6JidOg`fI~OXqjmDXGVXi zu{&RlI`bKBm^1eF3)x7=eZ8h=cP&?Q*^V1u(IYm`>8rO}?#njWkIjh2+Veiu(2&pO z&Fc@@D?imR#9q0-I;G}Li7nT5`QMv5+K_kLVbs~8Mj%l@KJ4iE>T@<;q25*7?TACv zD0QWscZj-!Z*LuJMG8ivD9u^srtdy$5yJR)VX%cp=uZ#^+$)QPpc#C zK8LBE>{3&-H!f?LXU|ww(`sKDSzEO04_7CsQ|*(7tFH152nrrBq`~pLmZ5Nwg3S7? z4P2sS8;(#b?CS3p+wB|q#{H?-LPdQ;Ve>WnPP0!u-q50cX4n5Z+h)%=Lfu#U7VMRS zp&C2o;M^iX)CPOik?MZ^uk7~2k5XqS{gv_dp`%r7*O|IW_VMQxxNuBO!T$P-4V^>q zFcS>|@q`NqxX>{>PR}pRu#a{%_Uy5byj*|@#n(L zPgdH=U_#@}YLd|lsg@{7V*Qo5mUWCRSn&;0z&N8x^y0pV*sUgz9SL38*>c2Bb3|Dm zP|i`7A)Qrr%(<3C3K`S8$khUn;;vkRCU_W9MAN}rpr%v4A&QUdsD6PoF8Yi z7&;>W#6e?(2_irZa-d%(53t#3wOkku4kw%^o6^WYDk??ljHFoD7jB_3{K$Hw!e_0? z`|4C(Y4Uy&HL18kof+8LdCV^5WW>`17_3v;dreZEiRK(EVpHRq!4JPXj_r+4=6Z&L zdfvV$m8Xk!U-lS6vE6Y@ww(axzO=zY(jen0q~q~hTgCwn`w{h~Rcfh%U}*LQbYdee z83~oam<#~GA{P|p8^HXb(2PVAKypre7#8t8xuda+Q;#!{qM!%+xCeMwSyhdLwWe;+ zFvX{W-g4dc^QUl*GFQx2f{hF}N(Wg#r~*e$zCv|r=Ay}RIObqIe=W7LbHk9OHO-)v zi6o{0ND2VL6w0||5^fHNWEnect!iqOP&mrwa7&z!$;h^{H{M&{R;vt=oZMkx)kC%I z6;hB%%8ouWuqj#(g6|fqz`T+D2QXK)VZ7ob6w?UXojNjX41^51WYII(5#)q#juR{t0!TVqI}c3b6_bEhAe$0Te_Gm4t>dWe7#04MDQ5o z@eBmRi9k?;5ex8z%pB2BIyLb?Nf$!aK$gW!Lu?B|F{{Bh9HhZ#R7njBw;Z<(7@mQ!Fw1fmmI{lU|)@%zk zHwiUaTpDNEd@TSoF0JLLyK)v{b|W7MD`IwfZs1ht1B!;3yTWb_9Oep15ceo;;9fB_nSX#GrWG--5ZWg0 zGG3x<16?pWVOeA-NNfVV$i8s`|1TPstu5{2yCIkCR2#2S2OQo_HyDfkJzT92!g-~M zMv~?NG)V2l-J-f6KgnIlwWh}nFpt@pT8m4QOpmVx`J80$TE(Sg!>T3fDKXh_%UNi5 zvi-*@HAXes5v$b@m9u-VhPma~$-ra{a}e`gZj!1u=VKrOxO{f!QVZpV*@hUMw=bS? zL3tm!oxU!W;N-qxQEAJhLCqPiGM5*-v6bO&NOdruOmt{zijmYjex_4OV-kuz!WANW zd7O)$Ql&kO+#Tji?TL|k)f3UsO3l2D1Msiu*$9(lv=&Xgb^}&@436ErAk?XsJq1M> zif~rW&CK}t6rq{)$DfmT7Z3LQ$r zBKN`LhM^FM^}5Uj(=H?H0r>HPiNev6CSa;@Sdfdc?=v@3nrh;7YE!`&#|{js2&&=< z$BEH^D)&s{LQ))IMA8JgmQ;lZqD~i-<#Z0%uSM(VVVta>l6-6#e?=T!mweZ7b1ncR z@ybqRN=est^%GH-{ltew&{WdP7gLvjl|G zO>f%E^t9AyS1OX+U!#+s6WZqxG9i~^TtSiamzgoaPa&W1Wi6-52^y^fi9jvVbCgvt z*65_UPDeD{jzMgYP%+ss&4Mp6bWP9(mMT0z7#jRM`eHq`n<4a7JQmVK_dkvwY|-mp373M>XWU@VJ6ZJz6^4s*i3H;mT-NJ=Jd{ubAXY|>*2HswDL5JpXn{ByQ!b^& z)v4t^pvMUjo{&L2FzsZ(b}e0uPUkTRdm5U_U_1&th}e^C z(+)22dU04?t3Bf-Rj^vyEJpQs#&kX3-Z84NYsNm)F?*9x zPwd^<7~jp4cwqe|ur|gd&MB6d#LwV?E&QxezAvu+v}?{(U)Q^SvpqUXeNV}Uhdzb@ zQoUjepHO8U<3FK#c^v!+=;kZ-8vpV;{^fI@P~WpRoT2W(x2>;%Dr; z>(xj#!w%n|x_QjlpeFG6@CMb}@uD~@C~%px$+uOh1~{7+?N>Ia1-a{RPOv*qX&hqT z-=I#jSDmfiz_vN?NwpKx*}PAwPl<`~$DdL+WaYzg=V58Z9Qw(MTB@$y{$K?gE>^gI z45*FDZvW&)e%1f8-I^b$Hexyec*icG5!7RcHaxs68)p?_Oc5wQ=Yc{dl3wO##u!!o=1B6WJ)XoopP`Gs(w=0EvMx=qpYK6(GpH$Vqykr?eQaPJBdJ#9^2k|pIWKZ1$N#2YJ_^i zUV1-Je9PW)KbY~BefWMgs{Zb~RCKW-3RT-PMl`hBWp_0fTDS%Y#K+U$^b3)Q4zZ&i zP>-oQ?3)i@CjLR*s#o+7JMlr)Qs`r^v77CJ2h}M(mn$W;CaH2sgWv2W;SbQH=sULe z`|3=)?Lqa0#hW(f#40Cz#_$>V$Qe5xs4@?^0ASPk2wBO`=80X3V~FXZ%u(^#^xLZg z_L_&(kTKUubEZF9&@BzV^N47ZruSGBd*Dt z`!>S3MPsCMk+Cx7`x|ZlPgUPh4{gk?g#gU&c0c*C#ThnzMrf=sG-W6QnC6F(OYRiK zwDr1DMhHB&7cmsyrvn#RxtRI(tv^*cRp;7A*4=1-_%OtI)A`$9d|0j2>S6ox`oai1 z`Mj2~cGA1W6YMKH)hKnh{hxP>7uYF}sSWC=&DYEvZg*^}8*5*GOuedJ-Tv6)YM36q zq$B~?*KzI*4~TB?fdxYF;ehTR#x^~vmXF!BOL0L6!3v#cQ1smz7lV)&e)_?( z!|awP)fIZzE<5Qdh{1My+*4|*TDtwSPpM~=dfKkxo(A=Z-S)IP9V7n8XVj0gyWZ7y z*E4E*D<7m6L_7czXLdH+W3Rctx$X0Fvj^KPzf>=(&GwF0@>A^9^K%7z^~Ve2?4{hA z0G>bj3y8p7_D{cHN4>wfWm=z&w-qD%<2YNeBfnkGIoa15iuRAss)$N4io-sSsLHZcg5LlV~(%0>_4AVJ-X6u-#EK4%y$1fzqftkk(LJg(kS@3#xO7yTmJ%zB&qGY5&X6Fq8IzpVDrpUK*7Pc;qM{_U65r&RMf zj#f|(#%VtLTRZDF>a3dg|DB0`nRArVzWA#8s(Q_Cd<}MSuD$m)RpLnFwb#_%`l7tO z`bSM2b_zL6DRJg+)sE)+3>|%i?*}&AP*lx!<3H<1XP zA!Fr=nA;{~w3$deueianY+j7!5k=bwyrz4+cu%5n0=q`d7%5Kvp*!ubtJ949~YF4KSIe#6*lD z+T^?R&5+!I4{Vj_2H#%Hl?2}K3oiL>BX1wt87L_FHj4l(u*uU7W8PZv)zS>nz4qjAYRu>ueRXy%p7?aA5aTG?Kn5eF8dSeyckLaF49d)Vj;y6h+g=CrjWRNJKDFS z7jXHAUyNj{i0w2?N*1Fvv7K^k-71|T>*9MYr+*LuVH@o;efP%6Z7j~bZZU5P4ghuV z8WO`r1#DCyxP<+I0WOhuE;`1(xj`Ma`RWhH_MLgUXy1NA^=EH>Cu_&Psb-FN^c~nX z&^1r^0{M(5hS`mbu{c*=;cSjNzS6NVab@co9DU>igxXjmf=V^6=AwQv1Z z{W;4|_O-vMGgwNRyMV6a@tu*P1idn`giE%(wDqN^4gSuuSq{*ZW!fufMAi2fpB%6y4Z7 z?LV^bxS}ntU5Y$Zw|GNQ41!V~X-4kX$j#N^uZ+u0l)A6d-iiNE{n5X5namKNM686! z4cIU9c24L;h8}v!W8Q)h=9hvg1$q%Qm&%Bc3$ebVdBerl#f9}{Ufa62)ub*zX)GAo zIJXY3KYqu$!mrEUR>Ma!LK!6kGUEJ((4~^WpsD}cUQV{Neds(4K)QF3c-Ga4GvXt} z=U86KjKkzaIG4%2_O=>R`Hr7(hQ8^2sbst~ymRZx4lHHN>$Ctf%t#&g+T6ziO0cwf zh!1`N<=Y#KM7qkdRZR9QEJ=d>Yyv@E@oSY0@vOXZpE)*KTON}!@j_hQ1zkYtzIA2t zc>@Ill)N*n!xww|Kh?;Z9dvj3fPLnls((0hVK<*0XI)V-dC3rHMgG|l|5Bsp_~N3O z@RK*vWN>_!NpTb+v*f2(A2fKzpebTy-ofYmf3c+nP2T&xz_NO@3kmf{|&G}&|dU!b@C{ISSdp)L8yh`BeEHKrEGSb z4H&Nwk>Wc5h&>Bk5cEy9I7X#7gQI~fCwu#g@2KyMV)W8ZCazhE517n_kN>$J$JGEB zv|anvch$keJif#^AzKdKgF#$;PYoT$&KDTE5<&&=!f|v*Xpf!uo;tk1NZn|^@}Bx$ zNk%KA(AS8W6Xl%{%RprU_T%rXum0EB7yfhhqdtGUUhW}~84Ljjth37b1OlIbLO(Fv zbuETfg2bWakXz|GgZwPr-l_D?#=$_h16sE`dJdSo>^7~B>8Zk+<9-KZzZlZM=&XLs z_aS!USW6%1%!B)A&gr{69Y-s5aAV;xas?`mFp@6qUvhe{MuDf(Wd)WK^SVpDXxD$c zFk-80N9=uJ4mKdI1w=2rIz3i5gYWwUHoqAY{_zmU6Z|E#JCRtKyqd;BzkaqcYEM7l6 zR$;;CaZ+iho$|Yey_yEV!g`LbglU!P?97YRL>o2ewx;Y{?NqV@gyClGH6!vvNfr+O zq2!VS#8@!b^Hq6=Lcp~HawA+(aUK?vxj@=dJR|sx?2!xRl9pez^OHF;&zkm15%*)(k#jq)e2m?$ENE8|2i!d9(A3U})0-+^NTrC7gB3ZO77ghunsXtMX2vMP^KiTn#BX>L5;hqHcjIBUzwOyU0;VIY0PF zhD(XX@?W)W!#T0$7svQ274TZN1QM6|9Y@32rh_}vKf1m{bL8`1{zSXKD~%jAq9%Qn zYt5Eh8iuqFuWc@9P8{eVZ`!2ozK#!6)RkerT4(3bp;|XKwY7D*KS&^X^AOmam2f!o zxclT?Tp)?wd8*Ez6pJfVoG6&1@x{Vs#C9*115DIJJmcVn80yQMjdU#nT#w;sPt?^V$UwN!D3(J{eugpPw zzPv75XMPFA=lr^ysIoL%4)YzA%vX-jB%LKqc9lTXiE3ETNejknwr-I8;s!Y?(Qbj= zsKKzKTc^TKj0ZuwH&I=CyW?KpY_T)xS&q76yJA^g`yO ziIF2iA7N`UHhLY<8^n(gcSK=YAR9;4I3D(t#g`=^rL2_rNkOm>1%xnNm#W#WWlYwZ zA0{dL&ns1@8f{yy!lle17gfCiUT2;Z#FgDNHqpYth_NYfy%wILU|-_QM4`S902MRo zIu3eD30VTH%l-Y-u}4Q?vNJtT##gbnSP~$TU3DQ~OBk)>VRWFa@wdv-h)_n-;Y9Az zGJZ?a#TJZrgMz#=dGTcm9#Cu#e3`f}AQ=gj0I}dJ6Hl~wnKfuRKGEWt(fD+?x^A1H zK`m8ADBemg15Ao&$ig7n9*Is*3wxvtyn%%wRTKxxP(sNW1xtYMUw2_RL6Fnu2Gmjc zZ4KO^L5}?~#Uqk|MA!t8w)nr;+gKhnjS8W3)%Y4=RcA2f1b9yRnUHCP5U>x@8GGlc zj5+^x2oLBN{HI1a^edLC`xsjzs9hC%7H{f~U8+xfQdS zq)~3(2z{~YjdA}EMq#`Xkvuv}NW%-gR zi6Y1Lkr7HIl2~_-xxp#nFlHpz5;3 zzbUN15F|7#4|CV0rlUe|ZgMk;{#JwQQgCjfadGnUyNGFWw-r@!5fgIeq6%q>R9x|9 zHMA3_^>uh=x$tla=%kxGepq(nOx?zfhY}1(5WP%RvDD-TXkmnMSPNQW>L$1fnwx@# z@BRY!g7J=3tSic`M(_Pi>I|3l2=ojtVZq;on<%O-VObIERIxR#WW_DVtw}DG?D!!J(|ebs zTyO{n!*I+wA-)ML{~3g0isY6IV6~vR0}00g_hk_WCHbl%%r49yiW>= z$-Wqej4RFLp&NP;> z@JK+BFkAyMbr<;HWT}PA;pW4|Sm7kNVD@q?3Pd*LO0&#fNu%+s6eL=>{b&h1lFH@m z%uK2g3JSs?MWgtNDrXnUwNM;sAr(x8Gz0y~kp0QY2{joDd~fFEnJ}3B&D5kf29F$= z$HqZ}4QbCXHpE=fc{&4278d6ipQx@i#UXHq%Q);zg$sylB`eap;3Lj;%#<&X9GutK zp|Bs$UQs}jow#?HJ_ld9(rmN09}ri4%=Wyo=->+Er-gzv5WQJrrul;560Ia7KD`!< zo$*Cg?8*x96AoR*%y1|$a#Sa`-p)ObXq$qWo_4$?SK8N1Puh$3O_?%@(5ve-BPoy8 z@ReL?KQkk(v0oVKZX!c1xFGUeNzTy+OQZYH&=Igvq>pAHmC@jshzx{_C@Z?-VLcfp@57^-1;ET)}k4Y(rJE*#XtP!hS&(emUPufO!?;1t zw06Itr(k9|u+^BUv7QggnbKS{%eM;ao?AU=g$v^}De&@HT0@bV4z|9?(2J@gOz4qyXD8E!tl}#)ZIxt9N9=x=2h&5FC$P z@{QTgcLT#RVNpkfeeJ-M5Y;)m*PCbN_9PKA(N)X2Uox?Pky#LGJ~@*olU z8-<++i)m!@iwR5w*TdK`iDmSsN%xJ>!>V+U`Dy5$RX!*+i*k36)Q=2&=`0dw;lUrU zC+jRU>p79$u=&RCx8s@MyP$`}jPVF{8^Ln`D!7!q-tIejpT zuAsgX#yLQan2;m@0D&f#^WwHow+f$b`sY0tdBcu08m1VhcOWztWda#-_09OWKDiC> z8*r5t-eR#%xFZip=G7v7LFvRXuNg8} zuD$j~{8b(eZJKNEhZw>`9}Nw1Eiubebc;b_GCs&8(Gz0xb&qr6hH!(#giOW_Ib0{v zSFZlBhcHNa&$S}a{lYoQ(v#;g@>zj>P&1NMdlvQMwcf9`oa4%$VuLLSEZa z$ds0v$HFjStxHp~8*a3ahN2~A9JAkAIxB2q%&LOSP4QVI(^`g=)!}lbNCV4KlSwje zNJ}3%Y-+Jv3sy_8U+l(*+`L3^frWwLHA>ity8vT}IJUV@=g5hI%a@%q5toO02XklJ z5UfwI6Ac;r;d)M2(2W^NFmHjZvL&3cKf%(U$;c}hCZ9pnl)voR^P=UYgU!zZ5V&sa zV8qM@PphfVitChOJ`t9f96Rtq2~l97zmp}TVU(UA4AEb)OEuCZ9jcGWmn*a)$Odv7b{UVtFu#pKITH&@x-y_#29h&w?C2{i;iS$f#4q6d! zzzGY^Oh^CAFh}z%F|cSi)fJ_~u(PMl9p(!c9qO^{{|%y*XOj^HkRDEKfp39JZ4OVn zdoFY*{WxBKgn6!7?ugJ+a`Gp0E{o!CzKF8)|FgzbxTf4~W!VSP^4;~kNv7b4mJ3l} z_|8O-aPeOyf0fI-FUstOhl|t~vFk4mpPjN1pG=FN-+J^Vk@{l7PEp`vPGwI=0+*cQZ6TVqFT<rq1vfFIVER-4}@FzJq0 zr}r3mzD<%h#Nng~G|}HBZD6@1__+oyNgF5f-cONx3rorJ;Z$wnTKan0X4t#-fZJ4SrNvC=hK1yS0BNhWDVx!l85mL1 zvT|!`t@wSi6tlQp@I&VJp*fKIL-bDrL^XDb=316RmO)tahomA*$uokJ%pXGSmP&Vg zl7~{-(f=mpUm$oG+S`ad@nrMA)&5SV0^wOQKqoOvvI5s1G9@|NuouWE(zhNb|CqFj zI_eTle;86RO0N{A4lVvL=q{E8+!KR=%={^-QOB?)DfCBp<<|wO^$|B}WQ}IA3=(%9 zcad1Nhcl&S`|^c#Z7xDyP>3BBkgVK17|qIpmyWeTgapt0IR6}arN@=#&!NAjMDrq* z<3h}bKFYsf{*nyQ1>G{lHN5getgzYE1X_ZzUK|(w@c|N)?9n%TRitUp>`&p1uSurM zQ+6kH%ucNJ37dU0sfrmx*z8*KX0<8=+|2~+{;MySN+YJUj(2G%>i{`pVH3L6o1HmV zZ1r63CKCT(ujzvMThghBx5BeYQw?f6uj#*~jbfajeL;rGTtCmZ1`Wbv->K%UP#zGm zJTizB`Tj2{4)Q^rfz7E>dzoUk=zmt^lGzN*~os3oARh`SWRU!IrGL#1sAe?F54Nc{{<1@n` zlHK*5FV6fN-9mPHFJo^!zqVtU(;1vGR1zZqtUiti9lR4!{(WB;1sF6E$%|<6_d{3N zWH)EQJFarKk9=26ntr=l$X3W0Vt<7f$L>~HM~1UR50Kj*ng{NPViaTpw)B9K6o{X; z_k5;q%)+yX0>#6(O|;IO#C|U4K_uv*Jh)ay(jk&Vd{8<>0zywpJ@GQmB{b8p(YEAk z7TCE%>kIb!B{fs*zkaUj?U^;Yn;6V1YxGnCc{VPq>$K0;=z8_KeXT~%*LI8Dqo60| z`*2vh)gE8aZxJTAvQ{5cyj((e!4Z_Z%QZnf4M%Kmt0kg);}M zCtelV=w4!IV9Zb0RrPvk{*Q{FD!cP%O+)PL|Iz!~fh!9I`(nLrS8qwG#O(vE`Y5IT zVxMo*eYLkdl8-J`lz;O0;!r!PU5_R%Y;n8pQJ=LZx9fe?7wk>#`itsIcE1jNyt={O z(4j~0xVwW8sMVc%ywbnP*(|eX}o_rnMqxVv8+M{~(K78BUqra=S*4YDx>7~;07l!HC($p`9>9f_X zcKL8Ry4ikmxE{k}%Wzlc`Qdtn{z09cFhc)?mfjfQ+8s4gpDrzZZls{eD$hALtzNx0ZEhA#sy^q^vJa+;d%2!GE~t?ii(q z%+3Z!(}l$v@yK=F+49PLfa7{MROb;ZpLciPrGg1A$+QB_KrTik<^KMjnntp!}rklOuFP7i2I_T zWgr(Xe=~f^l^X)rstX}%42Yfch@IaL%0FS(_Ul8`AMKC&^-RK$-|p87^!wV*ouI#| zzx1H}-wApK;diS~tL?CJ)~FggXQCdeUa&_^)Wfsqnu5J`e*IAU*@^mM`;T#Yp}OBr zdAxb@=2bJtZeKr%J(Bw!i)f$hY;Cu9PSzjKU4@Ws&G43~*FN4*u=~D6QozZxbFFsc z6lU`Uo843Yx%0~qQqLlY67o#cy#2ni8_z3Fw{!N=`NG?*RP?R7?e9<3mnpIilBrWK zA(;C)4EWhAugPwoJzbxr)VJ*&GxUn`0B01wJ)fvA$VHrndR;8~uI=4NU#Y)SXTP(L z{&0@+IeX7H8#;!d{$xDoM^*3vZYnz6E}p4Js?+T$Gxgl;>A=8jXzZ{%XX@eQ=WY>e z{TYelUKl@>Lo``*@Aqcu8l_*T+k6elU`Nc><2CtdTNc%~+n4Sr)HVQ~FsR4u`q}!V zmR9%*!q2>npd~EyANIJtAR8O)HGApX)Gj-Bs@{>iq9KWf1XubzQQq&ynz^l$*Olvf zGor@fqB$YcWg@%!*NyEnY7t3zQ~eeYEArwwb^n31(13kt}hjnr9^rtrs5}!;OCqOT(Si)tRjzd zRj6!;c0yt@pP5@%L?s3i_FFRsnuun}3t0lzTsi3}#qro?L)`Jt(L;wgE< zodbp3H1CJ%y@utAE~M4OU6@+UX}DjWI6@&pq#O@*LPkP3;nKu=n0UT`?#NGw6M8)t zkg|H>4N)tu47g+a0!Ry-__hOO%qe@wL-J0NUW61nob2=B{r8a!V%AQ)ZFuCFKM8fj zA&@u2!XP|O`+-M^J2Em(Vz8(U-osE*aPJp7@f-GuU05XVOUutJ4?h?DK1=hyIEOhe z>{K|(@X)2Dbp+9g2#!`oZxTf30ht6{hTcNNW!hYw>6d&YvUF(`?~^K#=3at&IZr@c zh`6NfR$ma0FY%mJtX!Q4sQm(k7#xXdFmxUwF3sObhoG_B^V$zE{2p@cG5ke|3u+37 zBsX47bS3eUX+^0Ct~ngU9V&HfudzQhx~Jx)5$5`LGxiTg@7t32c7FF>+2;6mIvLU~ zou}Jdf_tX965+Ux-i?&POUc+HRPy`*PQazng0-LLf5?3WJES63v$ zVylwlLP9L$v7Fcn9*36N<#8k#T6r8xzE&O*a8WysfQ#FxF%FG(o2z*iZbAHdHpU3v zo>RKry}eM8N1xZ56zS}FUam^R<@c*q=?+)mI#n8BzqLS5+W*_Gx$mpeo$iMns?;kr z?o*}F@_a~@#>(?iRqB)H6RI>$o=@YFDbHtBX^b7VQ183<5KjqfG4(jYJ}l<;G}#?P zB$Q#Qp39LsCq$x#bJ*$x%u-~pT&SlGAHoZ^uS0}-Pdd%3WSbkpVmM*HeGx?F`9$T(6@8{PdK$IKAAXFw-#x{@U^?|evi{bbmF7+oQjquO@Qlp)zYiwSDg%>SEK1hVjQ11bGm*jiz6{t z=`bxhj~ha1N#{hW^nUqbCoI;ZkA$(z%pAo}fbJy!IFzm$F(J5mYeItqYC7r$KcI?u z2pdmOhr=cMqxVUG<~I}?5sTDe@Az8Owzph8@^*G@sf}|{zsm>%@#znp6+#;9W1y@9 zzF1r@&Y0Wm-xurgl`iMD;SwUkC%WW>mEf5Y3RoXj#5*KHQGiHmYu4O~*3wOSpI!C8yTG+}6RTS8V2xU%AJD=SnX9bcHIX97iz z`s5TUx=P`#8p7>SwP)WU-5I?P8Ht`8Rc?>vYLP=r6B8~#{}Y21wm#tk24c`o zu|rCe5>7y|Noldb4a_td6s0C741rRU)5*+nxhSJ@J5Kfp0uwTgri)$EDwjeC8>kPA zVmJ<`Dq{amNq7a#OyRbI7Y@=Rhsc>HykLmj-_gqh89$DP*p?-_{iMyG1rBV@G-5wt zoA~^4BW#Q+j(?p-!jTSBK}SxSeWq2?tq7`dlFt%C6NXL5EXP@iPsC%*%uE9H?Ila} z*xsu}SS6)lU^obvVG5p^sCYQJ6rNt9r{KuPa1*3)@nzzk&XvJ+-Y1W5aoN!xj&~*9 zAD^QM8F$(%Ux&+a4k&t{7j5DOxtD}8;?F_d$)!3lkp!X(%Xo}4cFKbkZbNV~T3en>IpjwGc|klFPi(P+qBY?LN@!ZJNv745mp zP#ivIzp+dop+0x*!Md}p&p|E`G+8&mKmK5S#G!u3dFfQpfzTZBNq175rwKyZvx^*s z&o1}${zx7(rs?otEyiWpkq!3W%XMi__G54rj=n)^9cEO_06q|0Ah537gvnfG6wnnYAb2*} zWh<~ZG}yH(^eN=+e|m+Ugs(n7$7^LeO}6=UN>aB>xjk-}q=pInaS#ckNc6*c<6|^3BsKiH#y2-4OX$XSKed$X zAlY`@n|u)dWJPT^o{$}ym&A&<*k2u@_n+x^M>QTzt|4>$OBh!pDcCSYxrmg$q`eNj z8NlEn_Q;ib(rCojNK!w7^%A_LVs=1>f(Ehn z7EQ&RFT3(R`@5BT+=y*zxghoK#eMKbHri?@9;)|T0%4||!H5Gar+qN^lezc0kpRR! z%UP2>NH(f;28)n<>b2{8N?rEWLv>GY3+!OG0s0)ZZh(lO+}pzV{`XKla+;LPru&a& zjRo*t69F)T?eX=-hhWIK=N_he`_KTmz-4V2R}axHgw=71C&Po?pw$R)AZiWv^22mI z(T$Nbd%TH!hqCeKUQoVGc0ObfF@9$+tc4HMdHygxyh1pMu&!!bbSMF0z*Fp*snR9; zPjJ@dyw8>P5w!2e>N&)0x!$QD`v{wDVtwRFqcV&eE@0l^*#&KZnxGL#f@@lx%sx)I zF#h*VOQF^Hx=o2x%=p29$>e+Feq%VpR<&I8bg74<)NE6Rb6}Xo1w%~#e^nH?kRP2CFhty7 z5^m>1VYG~OtBSsE&ptxO!{}hQLO!TP3PoSD-#J20nFSpBCuF$BN;6NS>O5(2q2U)I zVT(u7ZnY((g($Aj#mzQ8QV$!wdmV@u$EbiBY{Z2mU=H?zBlXb2KmP;=AVb{7BXwI5 zDN9zeL6EJ%-gu-ww0#Hq=sZ~hq3W{~39I9xtvgCjfMiZTN>9t3Zb>JU~n8{cM!9iwOO*Emn{_A_OctZ`g+(S=BM zur-Ig>Kv-e7@Ta$0sXuRFN8IS`0@}JU^d!okI^x3XSb2Ug8?)~=W9V>8H-E!BL<%H zwZqV@>C8>g_N*)A0@%#Bh|o$vZ6hAKr_4!){$p(nSv#gMS5MP-_Z z&{X$67EhxDCe+~dI0pe%n>5I^WfZ@y>Voo}o)}4sYy5DJ6)A?*;v|iJk!?vBA|$gf zz9T6wFJu+j{n%&Oc`n&)EFw!+xoIIX4e*E#r~vtDIWOBmKaz4J_Xa1NJG?-2Uc~{O zaS706U~1C^CG^q8nEy~m?*JGVU2vgD7%~G?SH=e~kntgp?>;_6-AQ);<8;SytfH?e z$}orl3YYa(nZGQ%oKENYbPLo4JrW~YoLwiMB5v$)g)zv1apVN-cf{m&e6Ij7Hmff}T2~J?64Y`G=os7uG7sdml*&STfOq%WWuG8;J9V zxD%#Z$4~?^ao0k7&3%QoMZ@C07)I|C)?=%$mHQTElheIJ)@%{n0oFfUs5I1Iu;eE) zG4x$~`Jia`U8P44iExBWMFAfs)@-)gvsYm%ZL_zo;%-o&FcH|YKQWwf6rDG}wJ)tg zyz1b5I2%2xl873j8Ue3Mux*!~$dOW`J?lh0s?xFnp_NQq zj_K1l!}YWd-oU^MC;>ep*J4i0ymnFiB0VxVRS|w~MOg5^u8$&Ra0Z^`sKF0!fiVQ1>P7ko_!I#W84fx>i_7 zw~!)H#raLNa7ire-pAQV3VIiP6_4RW`;A5W1&>?BBf7GmiQzj~C2^?WFdODg6G?p~gm5oy!Qj)1XUFiSdTgg($OgJ&eS+;b`Dyd=txCg(BBFvf#Kqb@Z$ z`Ov?@v&n0uz2rV|iXMc%5kfDYL*qUYP>jm>SwR+Z(Q7qkwCz0^5Cx~k@ zXV$zw7Uq|qIl6bPedKlFjZ&1@77 z6~XuO2kc`f>$zEx?7n( zJNv_WLdD1HHO^~~Uacw3Poni0@O(dDR>)0ua*R0Q(9Ul&AsmwF5jyTy%Wc2O^41yP z+*_Ysj?B>xxth&m8SMS+1YAN6@ad$dyQ>gHt?@|u-&*k=M)e`?ui0hEurGWVJvFkk zKBC7j_hEj`c)JLJpz(!Cm>)MoO8WB9w%~iR3O=-t;^6x>U0Rd`_EBSz{q9HfxX1_b zHPhtTkyU1*{qslkuu3Eu`w_$T3~46ojSuB>y_1NG-WMmKd>Dro`FMGca6=t;K>drd6)`>>EhN5E0lUpqEr|4KU*)cqNe6(S+ zX~v1}z$DNRU}1T&t54Cx4)S4!&4!yD+yWnz1RDZ{gVOb70}2v>wVWZP-iyLI*m%yV z4BssK&?%&iix~Xv!m*l0Aq#VhQn@QJm;2DK`VfdnZU_doB#A@B#b}AQ|AD(=b3$Se zQQCJWoh$CD4}G_ zsXV1h2b&O0NU4J%K>@|dtBQaay-3vcZfwt)$;DJYP(f~I;9Xe%KSPg54y`>Rct_%v zdBA_U8^ifdMJSDY$YHr5APYXm)LqyE?>Phr#}Gb1(Oj?1&wqqlVYFE#F^W+lGZ=-~ zPItE>CL?iT-E%ZWAc;{(&^iIA4_?G{&5Uo&mX;^Mi_P7YczG3`$Oaferiw|4NU60h z-=6P4)J{>SQrL(TEf)bKFB;6w3o!)r(FGYvuz$#-Uu3{Npsu;|7$m}UJ}w|T`OhAV z^$v~~UeHjw!~Wz{-COy#?6a*3RAFY{Rx4Ow0T$nG5uPs`U&+N0NLh1^=E=m}TKIO5 z(b0}smaV8$#54n%AxF$y4S2yr#1RzC_c)HpxZ%;K+m&6cPgbOz zanfkqcCfH5tW7;-xtaiz6RzkzVm;n%QY&2Rep>UuBxWX^3e3^9z=Ex6Uxl0kMu;Iw zte0lXKUiyd2acgrr2r6cHpJs_0G94@;pB#!F~UY_bY@M@L0as~ry-xWuytD4Iz4nu zLl+1d%dQr!owG$5Lb=loXDxWyB2utt{Yj{5cl4kp{v^bzvV{+!6W@iypbKS3y3xC4 z;7Yy6zYy zCe}ePlH2@zCv55fBK!8~+H`qPiFXHBQI)8RcEuUGZMF}O&Et&9g4MzARwm)GpuozM z!6vb=S>bmf6t$TK zhrVpvaPdt&nw~>;k{dg8m;0Lz=cOMT)ecWfhL~3_ETR9!r6bJFYN;axB1GbQIaVZl z4zA%bxfD_%+BI)_UF{>&P*;Y3B&E2n$j~0kDS283W2uA7>@r4HE(gT=7(f!DVzG)- z(0(X@h^`%u8Nh=GtU9p*@@dhr=JUWf0W%5VwmgciT^~F!7 zU-mHx3dQiyz&%1?Ekk@R1{UJ&j!naJLBC_|QD5 z0Z5$_)tKnYdYJCKfvvCPjxM#jC#)rI?UA<-wj+5d^euUJix+_yUWlG8@PSB{JWG56 zAN^K97CyoIiBT{_#}=S74N$37(~b0I*nolZ&&+*?9EQGNPM7j2xP_o8#f3?yCj5F zxB;;wVfS%fWAFWh?ynq|&Mics7R<#$4+ID&lK;(D1kX=Q=>ZtjpHh(!c3Kb`gct-d zQqZ6erIDx9{7_nx^(RUq6(?a8$Hbxq#C4J*G$QJ|Br#fYQslrDxfmb0S<%TA?p@Pb zq2s(0gGLBj&9Q27yww?9pHBlS97V#tQlZ)RWV=R8Zz* z&%x*l@^va0&qF9)xhdJ_LhV2$-jmUY^SiB|WYMr*^p~Rpr86)jPu^8x+<+Np@!q5% z+mBk3qEf60-fk}&MwB%%{&R%DF(>2`YEb65sg=*1P}Ffv&IPhvoHz#k5smu70URb^ za|3#zlxrZ>3wgq@D_8Y^bhte-Tt|%ky_JYrB^OxPFRLS(c6o2Q8cMF~5`{ z>=r*cgp-=+#`-kiHnrVy-z89*#)+WUFx$My-9rV&KGs{pMYCka?utfH(z-dN6NCQr z>~d%E7rBs3won`Lo5J*wgCt6w2NFE!OZp;COK0otjS19%$rr`h*Mz&3D62$=}1D7CZt}LqK zC{F6hO6uOx@uIMxkW4&)vD@-tGE7JG889L1^qbITV%C^J^6~I$)TB(YOjZRhnO$~U zVF-*Jv1pWtsmQQ$L$OG>DY*~v$<2sxIrfVLMSUcVP-greNlS)!<7PxS_!y|ZCJi{I z+?o{C@s639+1tZ>cB4)+QM7?<(DMO1^0HjVh)mozN%bR`5sIXt42)RIc@f;b5vly* zb99MQfN!3ok>%~v=Wrip6Hawz^D%KuZ2}Odq_NBp&<0Tw#V zu5H4;90iCAj%bn41Ls7X%r*o&2b`3(T9<}9Ljl*7ycb9XXo`C2cjzt=<_UTPk%5v3 zLZ?cgv*Ro*@TpKE!4ZGOJ$6$e&>`g6)xii#osaS^t@F`j{^nC0lC;U`g~Hter#?B< z&_0H|J_$Z<}+@_`n~@`BRWn{M>)W%UESwHxk9wVaIONV@8H(?;a!eO1VyM{or8l_4d?_dhB6Ly^4-$ z5VpY5i8;Rw-8H9TPEJ;xuuPAPA>_IT++CK&Sr_f=8};PTO@@^H$m`G_Hq8b}xj35j z_GhXR$|;BMc3^t#5ZM${g>;1TGDr4BsSdrQf!H{BvBvFSJ==am8iWn0*x+dvX0fcl9vh8zF9Po#3Fuw5rN(@Jc5frQAwc|Sgh z=9d0_J902|b{fwOTAZB@fmMKZ4i;qOGM2kk2?@hZUgU_~(b}n9hyztVlm>vOeCSQU z%1sh-yy~Ya!Ez!)M63>5N=%R9Je48aKyYC+Gt5jT0k<>znCY^@S?ssra|0_`WQ+bZ z)e{oAPlPg0y>VC`d#2FsEaP8L&Q*$qxN70zOfA`rAr8G+lp0i9fb+>T4xNqo$rN2e zjJcdWid3CrF+N4$x!(ws{8Y+bJfrYO_60|h%UN-1PtNR7Kv47>3m`UXxfvk&pg2cV zU>DtPD`>!75Ri+6!zlt-==X&ns)#ss=-aXj_>MhZ)&w6|$_`^A@E(;3h{~n`uV^Qd zgL1h}jH8RiJxSe$q%I0VF{9@m9=Af=r3-%o&xTwE*6>o41#~xOX3xpFX;H43=goNw z+0blOzCcoHxe+1b9Q(v4|8}nSMJI^u>a&~LJFBoq(iiI@k6ygRp0N3La`J^h{2*?$ zunM0}1MxxhPtyaagKVK)XjHHSKvQMKd2nnC#5mwjq@`B;3gYZiyuL)qVGhIMtek%1 z=eNMUBu)bnT8K^)bPZRQJU$Odz+4%8OkVu zK}xvFWno6043M%SP~6KoMP?()T3lF*#Om&CXXUVo?Izm`w@#wRn5rNZ=hn;?$Foax zw`#GKoAd}Ww~2nBWnKh{DX0nd&#!dF>`wH#ZGSE8o zGQIqWkgcFcL^B*X22`4*fFvO@`LKu~CxLJl9X+K=8&#T=fPx!A)c`UX0B5`6Pi@;T z*X@;%serKLfgGYifoKZ+jNeJwZG65|maWGt{O~=252*_>9JFt_S)`+nrI`zo9;}y*x=*_$>({fJ(P7gwZCNZ5iekJVx?WTxegr zQje*$yQDr@cQG4i0Hg6Jc~LUv;cm=LtkH_n#mZb1#@x{zBf`5e(>u{ci^@aAT;ywi zCaL|h*x&G*huLmY<}=j^6G15XJS!r9U7VEWoT5Wq!(C^WD1J!6d5JGCa#p)URRyOW zI$lD@?%SF&_pB#Ox;>m(_|4)*G04ofDd~}%%B}H87LS|~n?i5k)TPR!D!m~=B??+% zv2#jVR(c{`jk8ygM+%K}va@a0X>?J%E^Er{vvE#A7e8}I4iYY#jc}obJ>uycw@k>` zO;_ttC*h4H;&G#Bt0)`93{Mu{WD&F_^|xdI^KiYykGn0pN102~;mVIx&qV*^tPycF z6u#6K?!myh%v@@luhG5DlqgCV8s{<8DB5|vtX!59EJWPsds%3=s$J&vlDu@GI*CAsIz6Y%#bpPuD`JVx z^Tv8IZ6du4QdBIf(dlhbdB9054;F72=mYzW9QV@m`!$zfEOj7RZ zayGx(JW-!PnFuDWqVA8u@K#zbXzT~h(|~L!Ri+gze`9d9l0YFGSSu(6rx|64^?7uGVOR@!WtW~`s87iK1c-;RaY_yAQKHNG>+rbJTuui0T67o z>l3gv5z(qw>8KQZ#cHxcFN-^CbET?0f}ho8?Gtn8Ql%%+(pzmxW7con2AHVh^09rGW-s;_xEe>exdsiO3SguLz5Wik5EJD{?D%DDN#pQC$xf@gM+Y&4J6M(7X_b zg5c2zuK<++DH*q6(sa|SVP^4S1R3SiFmf_=1D!-rHZLeYJfu!EdS%?lpVX8*DSxTM zqf+lKjmVfP53nOGBvyuBW%+tm-%_pudeB{Ylv7;ZE5zkk{52RTVM|z3ReoE-SIE;_ zC4HQDn^UBw@$Ggd>CW<~JIq&CJ7XR*w#;ecMc65j6US}Dscvh+p(%Y))ql(#UKI}t zfMirb9?#ON+AEOu3hJ276xvXCQuD&nbh5?$!u%54UhRzUsf;8k=(g$9WlnH)dzGXu z@Ul{KHcJ&E4r@A4tw;?0*Tk!9HC2j2t|`rP1V&(}5QA_&WyGXwASL)F3{ui!%+ZQ? zbTJ0G9IijAD~sRW<;rD43bp}8dXM}LR=v7B+(MQOr>>P@T{(uPuh~H>OEtyNZMDye z_CPkCMK*qjY>>>hMK&QC)F^u!^N=r7AgR$-~IhvdHg5e-S zp23n^!k}40T@NsZr?O!?s$ev3V7492-<`I|0#c){c7WcMPVo2k(Od}?LyaC&cb{$T z9J4TZW?Ke6SS(>CZi@TT`{x96fq?}{;2MYLrI{dSt@b?B4b{r9UjG-b}_6`$#oth4c`oFxEYN-?84Ju|NI#>#x;I)XuC% zybv51>@8ud8jwdGqLmI0!co%R%J%iPF#_5`ny@5wQY6Mz-3mI$ysO+oYdt$4{okrQ zJ*0^6M#L=MS~6~MyFvlzCuQwbZl~Yf8jl!GDOjkHNVk?6SHu$wmO4o=tz9(^OLaYN z?5dwTT^g=-hX!HTxwc`oh`H~Tm!ty5w<=ytPP^<1ubO67|K{*G93^JOzfo9zO?Rko zqxfxc@y;~Z0}Pe~q^@;%9+roEUaPYL<_gh6%p5|Gby8y_s^(3WphqDJuHbbmy^lGv z+v8d1oY&k{sSAT)(O8pu&=b^q=gup9=GL0O^#Llhq9QKDC za*f-^T7wXDjOu9zITgWTqsb-cw&n<_40?q!1iyOgFL)75k1ALwL)X=64q1|%S`igY zhjD`j)*{(ZI$%}RC#l(@eb~bQQf<}$o>4MVO)CKXp?SmFX$FhVE8HEMEBlyf_z~E6 z$|VGtsy~M^oNNhMu)@vnV8IBb0Qxcdi}??|A(T6_0HKneR5ina00F(#@x;f2LW5K_ zj&qefy~6D|hPhGqu5jU3hf|C}01kC|dHy;FBVM?O$a2?35JKym>zIVZxC9utu5<@& zpADcssJYs?&7`W!w-IF4gjK7mtw(6%TO*gOba!gXV(d)ps)p5=kcE?=n$MN)Os7eL zzq$Q;-w}S_1rYP#xzMSg-uXC{|GN|1(GF*SmrMTU?mkpyA=nmNqx8Ijjym)TJvlx+ zHl{qdGww`T+?hM2xRTzYKT?ms#`=@>bm&+?TG z{*B%Toh+yAgcd7y;N4O4Ol}jJm8|N0?v`oSxdW%)6ZfnOTOF?$5W)03Y4GleI)@Z^ zL!{@VqGDY7JzEsr)Yv@9Z;I`OZ4T2|nhGNr0v!CJ^8>t7ivbo6#xEkt^oLV%2_9@VWUfu7YWpTOFQaTI8ek11EpI-YgNeTe7)QG0L)aD z&BQ^23Ds(DbwC7RHSoQ+wpT;=4&ziMX+qP)HQKK3m?#M(rS0CX?yV5H-tAS+j@O+} z?gx3|dbfM+17V}8B#pMu1M>6r?oMr5iumHVn>awB6IPC>v)?zsg{Uu@291>nGaE1% zzhYsDNYE|1&|{<%^O+BZ&2%PR_m$9Gp|R2>SX0r<(KQJ zAOyX;yKuFsYcraqb{cnea^#I}^Uk;N@?dVscjO+%73<$ITu5GfJeSoxUBtC{n0qQ| z#Qe^~NIk}t5Q%g3x<>waqdS6JW5Zq0SBBv3;qJZq1JAB?dhI#PeN?Z#hq+JcwPl$5 zj9&W;b2sR%q_ zMR~U9?vXqF7Gzq!FAwq`V#MNSuB?%yvfJL;xcNDB?UG0;0{^=Sli5w@=2)t?(RvT!jB!rbZYD2*YycOo}vrII{CMlZ`W&sO7``pRb1yLR_ zugR|~olukVGgx&i9T(vf9`C|a_rlN>J4foqQh!MObC`0#L7mETzBd2^AX5X8#^=y# z+`BvT0f2-)8(BcS9H6&_pOlDBJtO&WzV8} zZ1O7-c>)cuW&6mMRp~}qad2i2S$nH{GKq)Bta69A_ivD6R=Lxi_vGeskq znl2=ABV5%e2^LcyeS72@_v6AEPq6~I0UGA{j-~}=&Cq1&?1h=pJgHe*T`weQt{4B7 z+%UPSuj@Mp$=bedt8=Ps?(6=MJhcnnG5gA2?*)7|$%FU0ySm?|WyMO|qUc9sof2NOS^O7EwbvkVp` zViN(RB+Jc1@`I|XG~qi6jn0IH+^7(n&vj1(L`Y_PP%LjHX-^&GHNU9+3^$SSsAS2l zDtF%R=G)3Gsp+mNd}gad(o8}yh*o_sS#S6yY|gi(%9iviruIB9#stCt-fbhG1AQRdf^ zF;K^Q85$ks;N%MjZU7ViynGl(m13hRIRdL_<+%qPyVKXt_v+dxsl!$eo6dQci6c0$ zLi2u&Kq=LEUT*h7f-lQj68jZ0dTAK1Ywl9Be#a)%DbaeH^A6J={x9se9U_2djg=ae z5Hv9XjWyiHxCSZ+~o@doX zH;iyjMOca4>$%05cANwsT3gaCCkc2&DU|!wCXUVM`m5vH#M0bEC@S}{iIG!iXDuDV zL@Wnix5ebMEU2FsYDPvHFT)J8l}P=_QlVT*@P|Z?nZLGSjwra1or|+I>Tgn8hbMC*fMIJTh*2dY`(!@ z?LWQTggDP&9HSIuAps@imJBwTNeX^UEPQPX7tVm`5l^$L)67j-upO(6%9l(6_IAvC zds{$k=@5^Z9;%CkR~u$9pu(X0{E;|B@=M-c=XPO-{;&>T^#Ta1-g?7evQj9vk{OHp zn<)?T6~ddF_Ed!t59L`OzILAKH{Yc!7~AilFG_w&%HeQuEHxdv?IE`lGZm&X^m6C& z^S?{$PDeT@0YRA87Skc|bSn*XDoSn3wyGLow9Q)t}3D^OW-VieFsh ztW%gk#vfG|=Hdk(QQcQgoQ^k!Wkpn)9S1KSP7v1Sqx`&VWk%i*XXr)Iz{#7CN?nq` zow!hP4}sRgRJ=M(Tax+4K!eqQ7JAx9VLA{vzJmfVwpqiVDfp)~)!;PNhuP>{0OZMr zqmbVty!duI&=pPQ+lChP%OqJ)s>8a`U^FFtD$m0a_f&9j*m~uVAdACwFOw!#-Dvcj zA?-kgeD#Riyf=q6CRj1vv%wVkGG!w|)Jw_=hgUq97)~&4=jcZ5P@Hfr ztfP*d-4M{3J+)3?4rM}gI$FR{8f3w?Q-Z|KwO(twk6PRQb1-P_j)qlC8&+u zk;u#2C0ux23}P4&OMIs~MsL(XCU8uPDos=8Z=2NQ?SUq5*Vgioy8mu8%nQg1ZM17p z7mg21&^4csiVho^!8ux4tJYKj-e^ye^H;yYqN@>htbl?j`TbH_vkv#t|}QgFBbY zZ5!MJ+KDim{krV(f;)_-f7Q!ba>onqSzJcF=>Fb0qIl(tuwm}j_r-hJJ(xm& zdf7e8-()c2=qY*OsaKg&CP`o#mj89>@Cp?lAroG4pXO5gsyo1WMuJ!2Sf7)VUUhrW z=(VrfM&EqZoxr=oYwnRey!bW!uK2`jZk6lImy4dSYAAm72Ip`%Pe|ok?g`GX^4?!^ zwUQg*W@Yu~<$KGoZ@CNHYfN$B+iuEfvD2-GVd4gLgw=ZM;#-)6w1xzM4vIYZjyuVb zV)|Y83fH^bC8=|t56im9!<*cP|M2<}013Q28S&!n==W~?zHG6l|9A(LR`qKl_|U%Q zxBjvznuAZ5c>2$l;-nmX_a%>Bjw;%f2b^$m$rDT8Y0OLZeYY~ToO+ipE_Qw2ZPIb> z@Bw7viHrpMcnvb3n^#`E>I1irI^FMYs z>d_KMegcoo_5M$gxwvln#QoX1M&A9@o#Os-mh}J3T`8Y`!%+e!$mRdzE=iyESpvLw zg>?Vc?UjD*oA73u-mKZ02$H-x@mm1uT6y?e_g1a&sPA0A=f7`vf)~1>>5leNCd?{~ zSHEHqOmF{zSWE6XuTK8?9cPiOD?a&e*LBS5bB#Q^)g9wpAywbIze_*!I!a60*z0?D ze`lTC^F4ZoJIds%@7=r7=i~05;@wUEamS@Uy4SJY{O&&l^;{wT4{qP|&-aA|rvKpH z&NJsn0P2e3h#!&ooxc?y{K@UaRbKhoeZc+1lcm47FUfh1`J20@Oa{B=Oy_BtdrPLP zY}m89LKeH(7TNN(I|Pxc`#0_r#b-Zr$2;y8PwKyL4{}bCzkJ~yMv~f(zi>Zt?v!V~ zboX&?k>3AucjSbX1G(tID_8%^y~_Q}lhI$fJMnhWSMHyjSLNfc+>`aJi9c<2ckh9M zD9RQeo=pMA7bk*`&ypZGaaOukHg85?zeRr7>^61gs|b6ChXnCel)E)|WU+ONn{?cJ zoJ-#;Z;;);cBe9giyo`4y?cz=&2b(T=S?!Jj5(%ewru#-O?q1t*tgtXGsAgT)<~*V zwp4h%WY&jHFXvua^r6!bmN@xM}_KP6vyrdb~OB-ue4lBV)NRX;ev zVsCu2=IHNXH)}EyTHwYa^@FO6BF0H&A2u61EZW*APD47U4Jb#3LvV;z-6lVs_vDPE z86v%>R*#YuC#0I3WwNFrTYKpkla&*XNtZAC1R3$6Ps)?xzmhGJk!iD$9n+jKoy~3} zWncew`6Sut8n4F9ex%0=$)*>oI+0P6^GvQeC)HC9Pnn&}?WmQ<^ho!YIU}p9r0x7v zdfBHbIEHUs+4N*(T?t`zlxH$#taL9ky=uVu>1}A5H%9g;Gn3#Dln6%1DtEA~|Jdy$ zzdtZHMEs-E<;7IFndLZZWxuQ$KE7401}Yiwf4_P_!VlVxhJ(bmuJhBX?p3NH#BU2t z02x}exV}IO4RxG1Rac2{-#4=6Am`oU=n8X;=qsp{Ypsv-_BGg9cNM*Gd=$tE~s?Fd|=${QbZM&T1mJ`(jc;Ay#tIdAS zba}7ZbkmPhXnVttD{^M!pf^&#5$L35=XR$2LnT5{&Qe9)F zp(>eELp(hXYs|o~e+imEO)anLi#Mc02h*d8>NK#rF0|$`u#hlo7pHYF{eL^KGdq}J z6_L_8?Cnz>0J8_NXW(-y-*hm2z}%f{%{k7?a$~I-LTBEpHBHXx^6y$Rit!GuGu`Rh zo^|x#Y*|`oZgO6b(e-Ay^Naks-t^+#^7?o_VW^-|(`7@w>F;t9*e~^F4`;MY??~}C zif45+A2`lm0ZPM zHVCQ;s_ofv{<(jA5M#(?r9_K#xrd;uqJ0bPDo97G?IjU>6PJVpK{iDlvxBexbWbI7~wWoUHD-%t@e_oc~6->T-)5X@zmd$=3D`#bERjo8$(Nwnh zV!=FO%3j;qbZ_%cau>;fRCTjt{|8hy=WnJPXI}XEUVf?%s)ydHD&^@-3v~qWhelGN-Ppyyt2HlG8Av z;M;oeZJ~qOy%h(l#lo9s-3!X)@?I0eQ~(?Dni8UJM5>qGPlLlVouJ=aV;ngNH^`s z+%t2XMrLhoK^toshIrv^ng@zdY}`W6)!nb$R-L9P+Og(@gSw zWQ0O_;Lk7ARy8@M%B`~hl{v|Z@+vPA|Cdnl=u7mv_@-*tT@6R8R6`nmEp!68#W(qm z9Dm58I*y6vQi;ZaOC#@s{`u;PB;hbxd_clw#N5oww&_&RA&Ss7tww%!0`z4$lboNeMH)$tSTXGe#@HN zOJ1SZ4KxXc_Uze3%)XlUJ+<<>^Ysrd6N?ugKY=I&e&aXoa3lcxxE|?LI~GpB!127) zpgfK(q8y_L2cSz{kHW{*<+f!_(02m8x5HEQhK^O2!8dITH5}e#>c}!U39{_RW41s>x0gR6a(41Ed9i|66tIWO*KFid#*}20vT1PUWP#%FT zihSCo7o`1%^xIKrU)WZ55Ue%kbw+~rFcAgFcT%aCpvWL~n4No;Qavc}dffNi+xvCn+^SopxlS-GBl~*Ln9JfIms8%qe%lZ?% zq%{D-_+z^#*)>%uQP)*RRfhJ4QJ`?2r$@wCJ5IUpkW;}fxGprQ{kB7B#hb2|<_PP3 zTA{_4LH$j-ts_qoGi>(q4pgFbf~%-L(64Fj|E>1zsXgC2;7_HG^C;RyO`fm9cwz#F zdG5-Baa<*FFlbESFndm9j$O1>_RLz<&!+Xzm%JN1&g9ZGSR@ma&s#;0Gl4mx;H+9i zmvIJcj^YQ1eTYP^Ub(YV2=ftF*10JX=0Ra)ATCw(Fvc5nWl)J|a3!q)hx1tNf|o=4 znL~}jGcOq<}Ta(cmvO)NLL@&+fIvA;S?@_qc? z`CdS|&F+BeZ-D92*2QlD|94RkKphC4<2@6h?lNJqpjDe-Wf?lttvj}Q9Qcur(`;Z4 zFBsL&(%s-hkbv$at%Dhw0(%9MF%M<94MEd0mHb+*O~JUJssg{wR)fKLo?oqR3~!iS zqwr1r+NS1E3m2-?C%=-i+7m(=aK)I$Az$ankpP~Tu+~-+_P9VtHfW(56o0IQb zQL9FZZGl||4>GmQWx6w%Awe9Kse9c&_t63uHj zm6AF0R~35uy=Jke65C^5(cRt~>Qm@_5=ekYxkY>arq5wNBMm;`Lr-})?5l$+ib$5M z8-=6Efvu^dm6=s4pLpyTE;(>Q!I=+g)IzL$q|*0U9J(H9^%-xt0=>sNr?ZvW5BgQO zS#<(B$jYxckI*g#C=*(5*9ey*kXmrgM!b+JIEE#MD>Xf^0#c42x*l`_j)zqRB&X^o zD_8!Dj_OVX`Dl|*ALdBWtnTF&zt0{lM#~LwD7xXxG#iT# z=2PRLKZ&i(KBV47T5mveW?Z3`VU|q@vmBwPI*j7lfkN-G zg^@S6*U6;sdgwt*1V-(>R?wJ0rr2J38VpbtqGav8PDiw;N*$REok>bjm7TF@+&Z<& z<7)pItF0yI6Skmpz$5*pVB~~h$byO&6o08wJ|;MPZAq%DtS|l$YNY44`VmJWQEcl% zBzgi6<6E#>eTt{O`S^8HCfg)fVl{%wDy>2J*8Oa>r}#!1$U!hJZcC@R5i;Gfl%#gK;%cI zwi-07{vX=S{sqKNx*QEO)a9@fbnYV6Xq}xq@O`Wreer&n4KRLWnG4^uFjoEzNeHE@ zLyQVU%84UPQ!lU5rQcEWIvV_lv;(>zcIJuf%Po+VkCfNu(>i4Yr1+3aQZL253+-o# z;EV_4>k+0?8iQ59=`!k3wKp6F=1R>CmR8T8_>)L68_3P9X>L|*{;IWOYPTWU_H-FS zuZxPv>XiuobHDs`2ew5;5SpiG{H1X8wIO8Hgf+#G5~{7D35={s8Z8g{Qyw5@r@>>E z=YrB{EQK|<$I&zpH>L1SJCjL%C5z#CGle&H7A=NX?`AA1^I_fqbNI`Uv8r^yL@qp4 z_-H_a6E!V&rLJ0VuTDsf+2wH92IO7|xX~rco~lEa(p_F!6t2Y8g%Ps+HuNczz!|!F+B`RfDSBx>YBq*(@BPI$DzFpf5J?G4j2RMmbM!AR}VMPwm_G( zs}c9Vtvle5orhl=1S6lZKgbbnxr2!$Dsjhz|AV|ZHlK;3f~aqpEw+9D!{syf-I@y- z>jI@W>Yd`J{Z5)(-g1?F!mj7#{E?=U+&+Ocou+WZtJ=*kZ()HP}`<&I{-%(+$N| z`ka(2c0$-v@xu;)5d>ttw1}ubqoCI|%C%Kzkf}}Vs@wq}k(pnxHgPgIQUKjcusvA` z74KNN3{cAOIVO0um+OAg+PEbe8tJ6f3OwPIQE3|znKB&S6r8yoKQjfFeu`@vLR><~ zIBmbzrnE9BnKCvssB8^mQPQSz8y!)I(Z$mqDmlrl3wG3g>Fis15y(?|Lr=Dw7Yx=S zbW7Imj5z=Q*GV0SQlK>7>VUN$@R!@sx=xWc+sd9|Mwv6)8Ac31@C7mBc^6X1{DnFv zr^+}9k8Y^2pA2@eofvzv>@vo5XuEw2Xde1KlZCitOQI!#-WO*EE8zoHn$lo^W;RRt z%{WSSRD7?3C5K$6{f-Dfs#()%&a%6-H2hXBAYm1!8IdRvSa*XHCo(%`SJIpip%6qm zAdd_Yuw-p8c3I?MO0vLg5<*f4Zuf%3u2jecmU9)nn7P%jTD54=*y=?H7!dP$C>mB- z<^?vb8vUh~owBgG&}-}y2~Cf!UQyb*hImH9`7O5=o~TC#K&zAJ5$FMup<6_c-?D4! zix*)W)gL8xU6}6)(_a}3AOOH&b^sSExOJo@4BtAvz&8ioW&NIh-9r3=63hzyQ(Z!3 z2o?lxu=y&yHdVG&hC`iLs6-AySz3`Kz(C;{An+aaWLNM33Rx*0TkHyKL?B1E^-#U) zaWr9$(#e^$aG{Rc4f^kx&;>xVMqgApLS(KJqR`;9&l15aH?(OKEaMyDW@(`q9ti-MNL8$a$|SpG*!d{L?e-%uuwX#9lT;bcd_z%~oe%LnaIm)R znBb0b%iGWk>C_kua$4Y5r)@z{ZVQpJfvL5{j>TQMmHTMvP_Mb+I2y-=Dgt&AR7+`S zAu~m#QF3*FAc3MPD+^H#RF1)FEC*#Z%-)@^(4&on6Kior$6)`&gz%HNH2sYVgQveiK>2D}u)8ZB%8WtiCYQBu9=j+1?dF zlYNOCNVGuocNZ>|ng=_j4vy2fR1b4!a)E!`iwg;^_TxhCr#V~*UO1QwXEqoQ+e+-v~?i#d^(%6MXT!>j%tcFn{8cub(o9>!tCpc4X9B-a;E|TLWm?6oxikaNm zlH1+X$-@&&eI4v3O%PfL^8?`5g!=ahRmtPiOeegO-koMH zaDI>@rkf9&AB{^s8Z!LpNZFIfeJh9WVY+0r0Nz257BAkz?4S{K>L&zPUx0jsqfcw>q30qaMu3;01&qRSspa z`tgWu9lUHG$-vq0wrkhR^x0-q`f;*lAtT8pv(0wy>aFtBY}3o#^oV>j+st-fcu02L z)9kI+zwc=#xu-6XEqj_>-1{$;VSAYg?uVPDZ7*}2KL36%vv-dVH?vI~M>y7WsDXf;`6}2w-EsT^`vFgDsnJ~$=xVVaB&xZ zAm1Nsx|umx!kZ2;2W8iuugim)HMdgEJjC>^-}Hec+6cqQ_Hba3tlZ7=#35$)-ZxqA z&CaThhtbKMXI&Es;>q2d3RU#!;JU84$pjMB%CtY2EN$=i2Qy&Y6wOJU1C$fH+9Nz+ zSo@jdb2pTQ3hBo#b8?gI3sTjeVt=!*EM`S*9iqwHR(b9ZW;Da7_@jB%-Ly$Q{3F1~ z-X3zO8CZVC*DBk!>LBJFYMRTJ*n2#@SIPy4ng;x{ZamcNQ}L=DET;z~c~SKzGqmC< z`@|2Q?Di+{)z6L`_a}2kN(Y-ePrP|%xHdC-o*9(>&&f;{pB_EW?9}mQk{wmT88Z)l zrjI#3U$7rMG0*I`%_K5~ftqv;fmI{so374zvgdrZ(}r{8?)hfCHuv*YsD zBTVPY=UxdPA^-8{@go4gJLH!m%=V3c{~>%61{M%wP@3K;M*`>9%km@5ICuG1^1+ej z&c=r?4Ob&f*Nic>RQmR#Og}pE)=_3U9}QSw2R3Da*|V_t4J?GY1JyU12nLdwPRXYM zqD*k3Gml5WfjqXr%&gM^ha=>oA$r=?0SnDu4cEQt1ZBAcL4oPO!iN3z>?v~9LbILo zy}Y>4>^SthFByo9yj3m{RffWn2_Am4{jm)v$PITZ!dLgo&PSVXWXWCT5w`q*-_gb6kM^nXvDW|F(H2o3AyW zK?dHq4*IgX_|tX3Uvl;NCU=fBUT>BuFs-@X4A$$1*P8>}8@9-}8_W*w=G$fQ4W_rd z<#xI029tMQk*9AkJ8Q9u8_iIz#o$KPW@PB;c#lD(QDF<`LWC{tS`csD6hYUO;RY&; zHxLv5u_x zY*4OW++l8#!N-_`lFuk3BO~w2bdf95HJ#+yV@%hw>$WC*7~tFnS@&;zpT|tBsdD}m zIwty`rFzI`cft;Al)Agjkq}W_dvMd7oi39j_beYSts^SD;=O-1zdB0U?mNyL>%R4n z3_hNoY^s-AHrcb?rtjEtZb@l0kH_$A7 zxL@f1GbeQXIoP`TxQB+0KP5LH>-Td^==XEHy8EaX5Z*t1;Q#Wo_4Z6B-&wDoe3(uR zYOBHj2R$YGNB?Nfssbs#_WW;!E6G6-j49Z_o}y5`f=vy2*rNI;JrtTOpcuAtC%bf( z%y9|KjYG!67NNsYZYx%O`(ZFBCqd^PE{79qL!qd$GJ4c5A?pUHY3d7V!;jAQ_@3&L zq#V;|eiHJT+?y#R4*TmAH(Qu7-1zxwO6 z$nbkHlk54+9)VeUFgdXfL1Ls+!BGRJm+Mgtoix2kMeYulW#Cs%f8ikcYXTLwKTA)m z_Lmf9PE*4k5YZW40yZLz)SBc>U4R9Es+$*N=F?|xvf=9DTNRs_Ip>YGPAkXa9`WPE z@^)>Ho722-))fFS<6t1`FJRBe;Hy*1{c1uUF|k&mHQ8oma^cF5XeV3|z86ik$Y#}Wc6CtxCY1kHaLpK*m%wuK|`4w)J~D*FjHUx-88=zl?0 zzE3AOM{RuA4s|PcLbXw-W$5lZ#>X;}yWY)rk8RS3aFI!r)kF2x+7AxO5_genBYrhzPg98Fgw8`6=A0??2MND)HLTtz1#Vz9G9 zHw&5Qt@b|}ZWyno`LHs%XWe|yfai+q=upp6)?Tez*-+|0T^D^Bn(7z`iUz*y6+1BV zWv|juP%`UmmCWv7V(<~Rq@xSzZT2{i`?wWj{j)%XxNJuYJ6r=^mHQh$KX8u@hNDoEC@i2*A_o~*n8yJ;g9@Y-BqyT%fuJZ-vhbg~Fg&X?!bqNm#kGX^UD-cNUy^dv zDW*T_|9)Zmpk#0>jyDGTBAUBQ&|iOB6wQ&;x}VX=vFs2}dXr%@Gg*leP6|zioSDMj zRoU8RU|EzP%*GzFYeI`?t)hRhR!eLVW!Non z0U?;HQzZwb>y*Vu#Apm6`cq_qL>u4riQ^FYu1~2@XzXOi11_3>n$)4;9-vg;5>AA^ zAvI?B)5(iF{xu==D(@~b3X8MqmJ~XM4)HUdr`;~K4!rH=MQ^pfo5E2Cc zev*pK2c<~V4)9|vp@Yc;P74SoeM&_>Ikqi7i+?k1HWlVFUUBH~ltS8{H4SGk%~R3c zm4AMctVp43s3>G)^y#KySa}d?PCJZUVMq->Ac!=lB-S2)=V>@RY$53C$0qVKt)Rv+ z&*z+O{I+VW*#S&|$&ClFm3L&Wt5swy10|3aj<6AB4eP>-;t7i|s>kZqUQAXL3-x>z z&2*@w< zg)(8GY8^SqkIO=3CRpTc+vGJ#u7aH~{Aqg>)8)}yC8TgF*dv0ENL0aEdBGd}D5NnK zYEc$Q!9Go1!02Zj2xK+(e1K_`L&*P{9~fxzR0~4>z;?`Cs)XZ3qB?K`j$qI#_P42H zP^{i(M-2K+9c|h?H7MYR|1VY2Y*C_iLosPZQw!^hs{4`0y6}pmEqkBsf>Ev**2(dX_h4%9CR+VIJmUE zy4XT7t_-@wMPlYA1mtM#)s_>#m^n=siG5^GNF?KJ;7sW^flhiul7@^FjQ6`+LbJXHrv#Ew!R-$OT9xTmZkNq3?OqZI@?@VlW< zjdv1)2QHN*u%oTyL^e)Rwp3PjY=cQ*_h5b6hB4Dr>DzQc*^_cMsE$Ul6csCj0C%jb ziHfST=8|qMbRNg_#KJ07*p9@Mva6j*tj%!J3TQ)ut~!}*<15LrKZIIr=18JfRDjir zBcUg($8yMkhJC~MV3_?h25Q@jP_SH=fY_^O35OA=VXOps?MR2YRYVhk6KgVWIBbEs zf3!bEfKhr8u8m$;DIGcglup27aJ%c$l^4`zJWUjy(nZ=Mzhlr+Dz#&&wm!C$vSCXc6*or)eM+U; zMwS-NLYn0QIP^xv%tA()bzemn#%zfY!$O6S2`niB0VvO;69U4v?3(?pOc|;rRj*_? zuuPYVjX*W%8CsP45A!;+l{yaGjtWWm+~R)dl=|D(_7}>RJ1?0Z74!`|OHzzcaCD5c zgRHrLD6kGgo!pt6KtD}4NCXJ|?57<#;dFG+uQbTf?cyIT!K1ghZ##u-7;l7H0gN>N zm;%Q`1l@LRUZ^6R8hPJV+e@^<^_I!k?ada+*y_S#wJX`4*t{HeGUrf*dorY_#@16g zuh29A_8#LmDm1@p927UAqTtaiDyyn>=+`u!t(hWhXDAP|$zR^lF_;1hcJiAw_n1LE zQ=cQybGFUC$BDz9?THK9RAdg#jfi15!6)Fg@f4}a-R%TF|7!Gi-GIbQJV4mQJ7(((#T5 z6jk3%Vcky*84%n&+$w&7#UG8Pe4Fz#U2{CW>aXYTTZ%8QNJR=O<54t!P)Y|JuLy8uB~y%({Q= ztP2M4gn6HstO4O)vx5`dg+C3$d^J4bYHh|Z!c4+h&0tZbWW zo0$)S!SQE)kgpH7Hw#~_9KNo%Y8F)NNb);kIu>VC6UnrzpkZ?_VRTFC(!&92t4Zdw ztYjJ@#(tx-kRwF3f_fHZp1$1V%p1^FibqrOq2dNDs}>RFEMbch&NhY99F*;XVYKp# z4_POtT3Ca&8SVo0CPS>juM{qTYHX=&@Q^}l)b3=q+e7SdW#E|Fc?HXFg4Cdsi>*Ui z2;m9YBy0MA1sFoEmOeeLFd7Yr?Z z_PY{o-)?-Hsu^;@jyj1@t6hTaO2u{wi`l+!qe0l-R;+}5iL0b*T(EuV6FoH~Y<}2p zIz2uZRw^^T)cSDBpoK;?9`yg{OW>PHEp$^HR_7^RfGKC6vC9+G> z2K-IoWMZ17sx|g#2;!{VuMQw?f+6$4#(6ParlhNqhR{_9S;VMjSjmF!AXE#vYe*Ix zxD$b{h+0`?2rqM(o3CLID#Xy)$expyv&D36^MJ*W`jHGybyfB#d)2Uq3pFa7UXVQR zbAM0fcMV2`BZUj(RPv~=+Dz%2(f|F;drc1r)f@C%CeE`Ku;Hk>Kd%&)b=r}o}y&_3-JOzY;n?J)b_s_-ovFjvU2_9rn(P0 zIUR(x+Q-9-w6u6?D3p<*4*l);rE~A84YiqI$pny~WJ0+QeuJ;LYbdCmCL-3zDlH)` z1{Kmm#ySsLjEk*@iGsI3Mwv;aw%|tAX$9I(MfSKOSb17Mf)B>hlg9}H?jVC2oOUv$ zb}U3{ORA=|bl;<6YN~mR9hR}?&=%qut(H0I*J$2LEJRvyEJi&NP7taeK#MeQzNtwk z^1EXq3E==Xb@vbqfs#3CPO_o8aP$p%moX-#r)hLHoODdisKugEkAh539DosN`r5o|J0dqlCXgi6|7Ie6?9CxJDur zE@XNdD}EI_CeWrr!w*-r9>UT8gDj=i@Z@i0DOK`>D0jA{5+RK!Brxfs;{;EsQ9Uj~ zYEe1)u<`@syl-mKQt?e$y^Oh)t41VRrO_^5&E)XV^UvM{8iPL6-QO|Wt}zL zRbN)TSJjCXx79gZa8y+%R@_#%abiVaR3}!vR@I3Wp+tRH@laGB*4e}HVc=@>Zg)57 z(24cj8y>sbI5^rpevNtGSt2*BFt?MrO0K$#lq`QQ&Au5z;H%gXWTnezNKsVaHleq4C&Ns2!qT_^4X=7O$o z;}I0DI}Wu<+Dw??OvyrSH@W=*T%F#OHE7VJ+k<8fR(knYy4shi@0OLx%@3N6dtG>{ zY6ey72>Yjdm!F5~pHg0GPVP+x8?DTvwx~S##^POTu*!#90yGz*>)<_F#`oKkZfo(p z-6*rynq9NoC~W1HwNQ|~^BB(Kj{D`Mt-xM3V|<5mL;NJNV8~GVsZc)iQ|wfba*AzQ zz-P`%pbsY|vMtq_7`Uyd@GM0EIQ1}KMXn@gu^zS_wWtA1HJyGHRcI!0ig8WKjEBr{ z;}P?G-b1E;`6l&rM?ho{k33`sBt7Qx1)26)Zk!x-56OylUuQbVpC2`Mo)C8)UD?!1`Z0h^cbG^oo(P<*Hm4*;wx8-0Z6|{lrw)We=nW$qI)&Uf(=ox|Fw2 z@vR<77!$JT{K`5qSHIV*W_!u?&UTQw>&&z6$&X3vdYnA(kh$y47xM9AxadABZI7E{ z+)XDJzkA&L-br8ghB^%;WbroMN{!4n)a;O-Mt7mrf1D*&XT1y!&+qZTcp2U_i}E4 zZ1r)hen4PEn(&xCG>?HecOEM+$=A=!`-{`-8-f=dFu^X+{ydC%j#Vw z`@U<&c=x)b4GKOlpC+5%HMf#Xa`{F)DW8%1H=0A7XNvhvxG5*^x=}xS?)R0AviN;d zPy^c&jy`pyMs+s9zkPPk}EFZsbdN|7^`vJ>vmGt_6WjIqdd|+m%e|u7< zZD1|-zb7?8a!bq0Wp$UT-m>?;WjT5DLvxzmdc@TyUV^<1#?0(4cO&v5oma>C1k11g)BJ)h0Xma3|xtouh*l`Q(G zygSJXD=X#xkInDQoz4X7_%qNbe}!z|vLQ)T0KEmtKwmAf&`@Ff08T@n=Op;V4D{9` z?8^GjOh-BE6LX&2aI<+gXFl#OM|{f-cLD} z)kx5#W|a8Pm)FSwe@fLX-FVn>&XlEl9^Qq_ZMoyTBV=m>u=;Fh#p3ec~=#ddj{Pzs!*_?vD~{Q99h!du#zp~P^|hIyI=*WY2!sn}fwR$2mTo)&Q>gTSJGG ze7TSIMcJE#U%q3aS?h_jkmQ2U;Ri>W+-Gw2f6Sn%t(31;P5P6xs8>#5sOB^mdvu6> zur8Xv*Y(9nd$dS35yvp;(cFbTEzC{sIBEXDG!1{5(}Di)1KWa@u+HFVDvu&iG-Zco zm<~Ta><3fGw9X?Ijm48?KbS*17D>PmZN>--bB^>9srwNW@tSP^qZtbbAOE8n<&seG zo*!`*UM!#eX!?!ZD|UToUqjXMF)ONzZQf=_`ZmLI{GdA6B)k7)-fwv53S8gE!C54N z+iofSyz3U3^fMVV_m-W@h;h#S0-9bT$NplT?|-u6Xymz{P<~0B1$-_54!$DFvAaAS zkWk?hm9MP4((CJf@5-}RdR>NnZ?Rl1pRh*JfNH`o(Um&kDU|S67MbuzSu*=jIA@`g z_qLOLQ))i0vRMPOOLuM=t!!cWrAKJ>kkpcO5A z&_-UuO^?eU*Sope5I(%K56 zH0Bx8Sb>ys2h4B{~O_Wz=-=2D%#^J#VC=OzPkr1Lw2016_MT-dm9FDy=8g zOm%}x<+7}I8r|($;hji7msfzR-!U@%tEw*2rAt|pY}t@1mz^I>mC5tlSEpoonK#ls z-<8U}oKCW(j6Pi|=aqZQz5gkL8hrJQ+ePL-T{fh6qvusS#F*Wi^k%}LR;Ik6a4A8` zo6i1Rn(~Hmc`D^?@62D8_V(xI_i1lt3PeN(eVIP2qE?s_xBm^OL=8@MV-u< zTQg1?D!nf5X+{>Ts_t5xRq1V~xclrX?`dkEUF{8|$vWoS2VNBEK>x_L)9Ps%&pyyM+7H_4v9 z_gBKjUh=)&*;w84-Xv;2JkNk%DqfrS9&`!3o7=-XjLUO9ygl4g-jza6+AbFN?CE{! zxNp2G<9d6e*chku_Qt~SJl5Mg$$3$BY4NUf|MRZA*Wx|uUbazg=tHw7OUJ(6UgX+5 zvai?RUc0e)R$uQ}@<-p(p9ak0U!3BR1H9ecUT+Ye-3NzZqJ zB_WWfJoln}ILLe6{rFM2yVX0({WT?H1~bA_`?Cq$Nir&nR;pU?sDNRUQSwud6&Tot{>)YaOM;*9`0ow0Qu?>-V`ohjPNF= zeod(kDa;l+^?o3A#tz=JF6Sx<=VS%;x$n+L8yQn)-W=)mah!jMHyVY(?dxRVXzw5HgX`q;(Oyw$(6u{x z^V|#86{~ml#%R{=X=A)=xqLguo9J#da?y3=Q>69$^2*}jW4*5(vck6KTHYK0QcEQ_ z*6ZeeoLpM7JrP;R0$pXxpRyIQk3wQAzbN*4BJj$O+&A=Gi077am`cpHgn$=ZVna(JkvTr~WbtRRX%EooGtzU0H`{r(xM+q) zg7xo2W_o>-e|s&8O0APOXL>s%uebLNv%H?fxb8H|8_+|pj9QC0*+|#}aVwt_+-yI% zV3xO=3I-_+d~J~LXE7Zsq-M5vA2QtZpUS&xFiEv+e6q}!hCS)c4YL29-t6YvmBEg< zFU}jtvH~jHW3F2$FYM{oEt}GYtsc=29dM+a1M)85`P=K>kC4~uY7@rZp` zYf#$d`?6@8%VfpBsyh|??njgbx|89*_ZB<;y>R0`Mjq1Sgf0){snhj!0B${Wq)nxmM8yXEntya^luR<*$U9d~;y@OI*I z(E_hC4{uxGb>HP~2R*I>nofnOYc-HDGY>;Q2FXfLo>c>LfF8PQ57v~Ni@Zt(?DYva?gM|;~< zMc=3v3)82ZdbBskxl%ql+Pj`^o_mbfjQV8F;F=M#;j+pB%bu>9;pUE)y`HWj!`*S- zU__xc?I? zCwZ?sPB-bh7`AVPOj+#pcdzl}gvDMzca4$3ju|DnTXT)_(_-&V=OtNvG8B;H-Y=fa zWNj4h6z}nl|Af8PfIPNXXJ(zz5K2BmHl5;~&5;K4moQcC8L!C6rvjuS$S33Ml0C9m zeVSLRl(GBi-k^qC${7xDg9gr34FJkEBIDXT>W| zS7gvt?l=P`?LqnM4DXQCSvQj;_hy-SCNuDbtUS|O;9fRb>dpf1A0`K%<$dEkRytc? zkE-B#I%{hi8&fNJ|9o%bsQnR+%5XSP{|QVrnwO`58oD*S9i=MAiec_3yFYPbuscch zgyp$YJbC^Brx7(_Hg`&~`9iv;^EKll?@uo24c1=dJ)!q!T(J<{&I`M;?eW@qBD=hOqbe^^hz^@C^6|(v&?|nAd(yQ6M zpUGQSd*?WRkw0GJbuEA1rZ`6to0Y9s!jiL%w_EP5;jn^_mwVTEKe|pv-s_xdRz{+H z>6WQG%8JtnmE4p{Ry3^9gX&e09i9h=K9%M2a%VD8$(`NnJ;|>{8#Lwq>WmzePIe_8 z`IL0>Narp3MRK=2X;PyimlcwE`P@q$!tR}xOb+LAre1!Mb;;yivf>u+=Hx5=ot|yt zpO$TwVVSZ$&=H45?apT#Gk#?v$I`-iuCl3&X zL>^9#qZP`MU2?0vJbSzJv{?=>OYYR;95-LeDS@i0bI1iCKO(qI#4J}cAhAZCFH3f> zETxhlh^dSGT9&*4LU%)Xa!BqOJ&7kG^VHE*J}W2l=J{^El&qAe-J~&_ob6uunk>jB zTX$Zp3B^mMc$m#EHUFMZ<7KB!3c9QtGz z0y6IK^7(Bdmh$=dRMiShiK;?po+mTUgbe9)jI2yHa%Rk|%4ARX>VL{2u4U(uJdlMT z7-CHi3@K|XlU>{=2Fg3U>r8r#DD_@=gc?eWFrp-pyG^=QB@gcXA5s96uTJLGcd}<3@xe0nlrO7Uyp^P|jnx-C?IoRa$#G3jcFDbyj$<}Z zIfZM(;^JTGn$7I%V*Pbh_osxeX&PH%2fukx_SlvQB+hUYx*WzjrYc$m# z$L`h;Nd1@VP^5wv1_nLCy6MV58PSwHCi5-4 zbSihMgW@Im7g((U&B?(7o_|V(uG#rPu?I8dqmT{&FZ3H$6PNn9FP3wfS<36>`sQRm z#L zi_?B0Mh5tP0tNG}#ZP*iLP zib!uF0ya=o?4Y2isQ=$=Ip+p^zUO;*Ur+8iv$M0iv$M0aGqbhnaWUfj@wg08|9D)5 zr4Ntm5a5r;jedbFUg(~9f=9oGFh5C8*ud)1a}@J^dDTKU50($Vf%H#f&?J1=;btsE z($$7`O=Kh%HZFAQ*PjQ$PN(0H0O86=R&XQP1T@JCnZL*_PGF&IZ1;^=R2$1P7rAW{ z6J4;l*-v95dZHY;$StR(rion;0oz2bUgUN^ef$hk87>5)z$?(48s}w^%-~*v)juyCO^foVVERnW46viB2M$-qn^hm$=RAqAxIdX)&lpiK($<0!pu! zke4lS>v>QxDy&f)GPXiR2|}>YT*MlfkkgmAr!-6?rocXCn`#%Ul#hFKv6N#efO?4t z54rM89N&&<$Q#j}5ixn$i!i({lUrZJer|^R=|xDe1&-gsE?`Xyy%y4Y$vv%gOGv;t znaAT|YZ(mX(A*urCWIeeL=xXeaRLAcB?Fm?k#oG7a_mcPgZ!F_*;ofL29!)tMYXkr zANXv!=_U6BRK5Qtx5CGwZE_nn2^Knyl*MC zIEUr5rS2K2mlTK>NpwVzh>7?sFZ5cI(+{l(i1brxdrWMH=C0VWja_4!Q1FKefy!>A znNn=TEpzXE7qOSq*e<~9#Mu~wIDLe}7xXt;DRH)Y*~@MP5}A#D*=<)e3)i(Eqqs(i znso*^y2Ek2{QPCN;R!wb2v+VW7?J#n5T%UM-@C*X?C48hao^2uYvnlzYb$?##Vx1< z4-!3x+Swqm#)vAB#jnC1d|00Msyhl@`q`_l*LWx;{=tC35dmaQ`_}%V@aQQ-G<}0Q zHbXXC<`%P=vhy;xao&u|XyPNsKgmXOHAEnY9K6iEmK678Zbd_6^HQ-%U9uafkwUX{ zEKf|lZ#(p4Q7W%~&CN}DrmIiKhNPQ+ij~<73cXW;PSJrlG#nU=ZU_hQH4_8qR4kNw z%#sGt4r+c14A9;Rc!0GJz;xtIOtd5`D$be^cVS|00Ct+Z?JI1FA$$LL&Fxtim-HDi zuN#tG&&VO_l51W^z{of`?se>I#>(BVql1>oBd^2CK3)26xc-@Aam#Bn>WOO`!IMa_$>$n;acA6Z2Lwdf7;R`-WSd z`^-@qAhkP2W<#1|AIU~nVme(p&Df%F+Jzwy!GWjO7rc_bhh{aKqujjQt%K82#2(N9mB<>eyZLg|ayR3`7}Q#bQsZjwS#gwT90f3?CP8Fj zGP2NLX?at-n_HrcuemOlU2J$NAuHc@lQ2!pe%l?K`sqZZh=>HsP;1598HqocbwNjI z!}!|eJSOImR@2G)o0k@PoosjM78IKiplf7Vw)UT`CbTO$`5mr{T0iuXLVN8oIiYs| zyFwxWVu%A5c;kg$Qs|u-`sgZ*SR^YMGO|PjayV#%Lp7lt)Fb#d%7Hh$@lHqS&H;7s zG;|Ro9D%P_1oM>qE@jJ=ZnGY^R*N{B`Zc+dottz(3!Qu8HVIhxB5)8<>|aOF1Q1c0 z(Qr>3AgT>a)AeP~Q zM13%KdDuz8wyeWus|oFWPu59X$B{r*vyJvm3Y-NRz0r}`wB0?s}VYzS`$Slbwq3iev2cOh+T^$-@%LCK<2%}E=f{P z02HVXWfW!^kdR5Wue(KW+}sNlb7$vE@vd9YBE7Q2pM>OqswYIEo!>2z)8x&o+$J?< zIDQuon^5GejCx(<+*J^g_2i~i?g=^C@7=uKNl2-X~^6~=2`Hxw!$6WzGXQ^*!-7hgvb8*nX>0V^uZl80Bj#VNRW!zmN47y>!pkunKk?2hpJ zqmR6v$pVDm;4dF~mXRLDe?BIBprv3%TrBCIg(x(=#1on8!pJ zFgR_n@^%fJ%W*YUR}?oQ&h=_3>q0G0sTF#M+*Sf{m4RJ)7a;Yz*2{FQfdQGZAVg_#7 z5RvXaDJA&Bi{KDw1dL^(O#LA1@eufz&{Z{5z*&$LPVsf7F-AtMlP%V{EmK;1Oh!qY zB>nN(`p{1FPk1!r#g0SJS0I&vRz$<~VZH5|D3}`a7)p6BxC7}PL}+`jKyq%dkV?Ug zVxZ226PN)kAcuObm)A7h2GLKO#mx0?-AgAZQ!^FwcrfR_L7< zRJ+N71$uRFu_*-XEeEZ~Ic!2sUGFw&330(GFfUxWH{0TlST;y0&V6vUpsCI+^!ms@ z*5mkmhAiCRHfa6^RFAxPO}nyhv1O6}SC>5>Sy^@2T7};E^0p1`b(!U-jJVe zaQ*YP>Qa#ec7+#+tp*;sByi7_=^B=eRT^p_h1W*!f)H2T6Eu07sTchMt#F&%y3wtZ z1NJPS)fGKh1102L8{KnqKG2XEfSks~2LxGOYr7#p?A=JRtdrO-b2hm}y>U82s%Jeg z0G&vHqx}*rj{C4Ktik9*Uezn|JqXmAP*K1qF2WKAfM#niBB2Xi0gIhjgRFlD>yi%w zZ>ogKQ0m%XJ_d$WLKFItArwKuSfV~MNNZVL6H~Tnq*VOH5Vl#0 zE<^r%xoETN*FX*0T#u;nvx?;Ro89gW67Zk9i&BEJG@W#(t{{V^@eTgPVyC=x3(i1m z%6qm{MZWW zHG#uvLK_nYpdJG}il$zHw*lrWG-h0!i>L?dGFL5{Y{)+lT(hQm zPBRETBBEV$9L0$@A=VQSTml-Qvnr5oXI&{~9RQ%%P%IZ+s{;iDihdILbXq2c;b_Z) z8*Xz}(GqKWI5+lM>cI&N5X1>ri@k<^EPPkXnIF2|WnXAG;DkbheutR^3qdq7&GoMl zUl?#KXxHfGqBFm=nBOP(7}kMn@lJO;0Iv=DrG_lt;kNSjrNd(vBmCofnCW34@UO?K0QvO+6<=F8*c+hD1MmhkAOO6<_q8B_<7Uu%*sY*v zy&4Ex!GezE7m^>%MUo{~*7*p2WHn^7kKB?R0C*nj(w~-IbTxt+pd5W;EBp+R*CnLEszitO4H_Q9$EOiUi;gVya0p3k!R&a_2-466E!l4oH>MV=p*qjMQS1*f-w1ZV z#i?W&`_=-tLROP*{!MtH+YAD33JAbetYAJ^sG;161CV@HVt%KKXNYC1FwD^K`ibvC z1R>n_wwhorwqr_*>o2|!;X`ht3xa7f(geF1m+S^K-7FXHbW5@(4?$OxgDdo>T|3>D zZKwx&5zk{+P#D(xqs9|~CwOhzFC?aN@uR_3P$+Bu~f3h(lB;G9TWzQ1E0FoDYzJye0j^{i@V%zZR?P!y2wWYH0s-*Oe3I1 zqjHSlN``m3DaA(c3-0I37Q3t052Wb{m!) zv~_@a6EOAPDh>u1yjx}4kKK9&biPNyc@fex+9#o{BTf{45puxCZub;U9F<)G6k>;+ zcpO&+7!0L)zZsk}XOa-JYvQlA80iLy#5YX*YKrOZK_4E{AThXv_rZ^p0J0?7??glG8;re$VeUBy{=9xRlg%9^t!cU7>6nsi7 z`j;URT8`N)-HCTWp*sVM5Ozc`(|D{o)47+Z@KGv^lm;#R?b@daqpanOi3{$ih)uW;6djF(`z&&#z;a^1&7iG+K1`i@_o2 z{Xxx-7*JxB2gD;G$OD1<0rvM${>bA$8R!s@7o(c1f|S?nzu%rN3gUNcf~=Cw33MtA!sGz$mNVol&pUmOFn99zyS2~2Ql$z zSYVJGyT{EVbN=!#Twku)<5py=^iLk`3+Py!?{)qDYLcMO+S|D{(h`ED7L2M`YA_Qc z4Q6OOgFy<`SMac!9i|13*>Y{L<3$iN`VR?x9t(>-BFFA^8_S12cQY=_fVFlA6Qe?M zae8Xy(CDyHeZ=Sh#MJY+`HE38b7LqIj|WiRP+5JCThf0R6HkOMp{d!P9%Jcr#Y)}L z!{Hkjf)4-BjvgD*)XyKm#MrRFi1dy=JtOE)xnYmn*o8Mmfo%CDV)zQMG+y+jTU>9P zZ9yxtIe{G!ggVaPgQ5RXxD(42zhZ(xY>c{DO@~h083=qSMG`4Q$Myj^H*bsIQ*0GBF9q zo^`z1NNEqJG*Xd_R**|tK_;zExtP;_eUE8FyUsZ#>woPgQd2D1wUkOz2Wdgi^T#kT z#gL9`w-H`fKr@3RJB_YNC)^byZkI-~)ff0#s3p<^8ecBuc|w9EcrWx5wfc)3Y$C~g zfY05PT|W&#F8vyZlv6Dc5C|>=5b54foTeHY3JbllhQq+GPa9xrJ0K^=@J0{5wlD)^ zn#I=|f+7=RF^=J#1@gubGSebbR8nXX*b#rVb+(he6uAwykm|Aps*Bw_PuDmz#K?Ce z@YuT0M_|G9u#?8K0CI+{Jy2e9m2N!&cQu6tCYS=~yHs)KWN~m7HPg1QKA3hQ6Enjy z6Pa(1v-C)SGwe(&#_osIaL`U_xJ%qYLy#=?3TVdZ8z?DNAFN16SKn_B-4ADz#3jAE53ETvN``n+++q=lWs2zn@bR;@ zNG%xepjW8LIhEmkz{^vaF9&|>Hmch06TgSS;yGP9L;PmC`e`Pf3rjvt^_Ug!d0SDy zvU)p+P?hIR2?&B|X(f=*N9_o``jD9m3`~LAU4Za~_<9oc5~*3!8GdVmVGo!dHgA!| zkqI1&0uXu7ubE3XUTT>GKfy>6X%%Usr;RIkQ#}c@nK~wdOlv|3`^b99u=9ruQiihz zG@&a{Ht{s_*wOKjY3mERR$>Jlna*J11yghFLT`py72FQ;=MRupd9k4o)FDM~)GLKx znu!a`!xA%t5>WV2V*xg1Isjd3UAR<0_Y)JhC&24Vf})0;7i|@-Ak4b?vzT}>0BPi5 z2Wt2BFBw4U(%DSB6hL{incTYF%_T+b>+NoXZ0MFXi55h{!?t+p5AMSJrM8x~;3GPX z?&!}!-ZuH~4=^>pY(J9g{A}jWW#Z)!``l3UzG4BDo~;!(xRkvT0?!M9UrnQTJ`=Bo zK=Tcdo<jZ{7jc0MKiDpRA5BJJ z&=EMz5iwsI_LxJ~k*vDAV-0=`}q)z3B9snwFxe{stSRuK-0 zU#|s%C=v#(U(CcR`SCAqNx9lAC?yc#0XVdWbW(18S``Ds((wZLr>vh}Q`Z00ZQr|Q zKd-jBE`c^+a6GrB+xHBu7@-InUYqP^?^WqB@YQPDpjJ?WN%dO7#A^A{uWpC&O+Sof zQGUYT9sflp-k1E4o2iwdL2w{?&3;^OTapPC>lG%}hfv5?o zKmfP1O#zg*ETnX^#YaozX1VdOTT)|-en(x|Rcw)e9CqtBC$|mSv;zs5g0|Wk-~)_l zBmCEJz-B4{W4)HP8L1&}{S7`LHL^NpbWcj)0k+_gGszie)OB$N2SRp zS9t$*CiX*`N7R3#qzo2{Sbqu{OyYX)o{-VV^KqBhKT#imf@dK>T)39Jt|SE*wrS*q z|5pjpFiGSfAYE*E4uXCZ^ztP6rr|gpNz~LiI<9@d9k}!xX~>Q;JQH&L?{2-~4{SGJ zgV+*hs2Ge7OfTdV%9X#m1+v}|w=u0f=NxehYHttWfBzt&3v8DU9D$Eeg`9Q7ZCCrl z|A6>V{&WQ1uN5-)54Tx#GUCuy?yHupgJIZVpw+5?GwhhyAs_t1y}05d`+?-I`tXsV zD^nY2tveqEL;2pif4ZIIt|M+%#^zHrT{uttQ_(f}Pq#Z#1Z>2w;$0zm(@leS8N|rb zKzfxt_aC>KZ2Xs-)g1DZQKU@dg8krgT-SXPM5YxA`QttQ*xllh2 zYuXAYFU9B|%dDetf*mc-IO^ut`NR|#fpZ%e=o5MKQMZv_NmWBB3vvM{8VZO8c#gKl z_`Q78EiI`a%Hk%uOEvLn6@osMzZ`XMY5rMA$lI84xI&JJ&rF-Esm>%W)Glst){-r< z5V$tyZ?{vO&uvLptgBoEy;l45cb52>`77YY5)8Muf(5$cR{;`SZvB<~ z?q9b_-AYF*QsC3C_2-Cq4rh~aDEN9}3!cj=CwAuNR@a1z6%(K41v#U?iy-_L&VVaQ z#NdA-6Ibzirx>R#c)mqNtRGZ?VLOcH?B@t0r%cZ9xA~QBM}^~OZtqL zv0AbV;|*$mqiMidpZFFG#b_MAk%Jh|zXGX+`uRClT?4)Q4XkmI*>Bp6kb5JwzP0Tw zLVLe8pG|7MYT`TlH4Xv#o&1d<7O|1cs)1xnuQ|LZ2az3Dd7M%dUWZ44{L!N^&o=i=|d*bvrJ_{;$D4~{)l@G+Bz^Lnd`Wx(rHa3Ya`uAnJZVgITy+U z)#F+6tth`1;qJc62fpgfL=b*$I7a&MjqK?e<|~*P7^$|fctbfP}^HK9&xqm)le#gp_o^hXpEKrGZ5+^xXa?7+D znR4@)StYXa@ywX4c-CzfD@ATicv#3=@uT|3yG@ACf@j?`tB<5~-B_tKr2jhzSmb?WC3*jUV6nkDpv<*}5Wu!4E? zgx$uMUnF_ARApxWBwevdo<2$Bkbe+>cq~&9UGUm&>&(Cm2P?OA_G4Dli#RrBHAU-w zNpMpI{>H0D>ebE+wQDS=9WLeGtmy%wjL>14)`Ry7-c~xe=O-UB1u7CugYvn0JS$b| zA;?SY%jlO_25qW;63!}JF~gh=j@bdwWhoJXg)t6NKx!jQCfcA?x&4F+`-Uspu@dndk+i%D~Jyk|Ek-%TrSvp>9gN>WcQ1ESZbB zr!mnUix1uubV)-0$&VvVCKZD>4wM5^&=L7$AaG&Kq5rklm=do}s?Yt@5pvPPy=?G) z7SLr(HH5MbUSf%&x@k7zCV?f4s-?fml&=g7PjVrNBae(Ws0;42{Xc1=p2x-Ym%Btp2?FwI4)Fw|b8aRdQ$>zsDc{iq7# ziKGsAl*#Yw^P-xo-JWXDfEzwq;=q$KzX2~x&35`VXK(-~8?Vlt%n;-6W|X=z8Q&~#lFf!TSMboGCY%jYh?}t$F@1&}qK%!C7$W~}z?&lPSCfXk zxZVDY?fYvY((MP9v%$g4jY zga zrm`vQDYW2g_9UCkB%8!0vI%TF8^^}t-x&4;dz_7Cqu66?Bzu&NV8hukHk1uvk5u_L zm7iy6}SY`}98V++OGO>~VJYZe4FYt4rrIFF3zb zN73Po(@$%E>M19m)UIvYwr$$9Zq>3yMe}A&%bT3oxKYCf^~PJXjQ|vYEvvroEm(uO0Pz0=;e;sRiKicuSU#YjPftt0+n>1!B!qye2u(LeT#%E5GE1UAhwHliD zO>BhbG_G->OB+t6NIj`LraV6M$;<{S& z*bql4-S3g|Njv1~LSNwO2$yj^wvjq<1F zymcy@x)45~Wcb3(HQE;z`N6vey{hv*q9i&bZfsg)gwx203=j__Dqbv3p6R&v#89X6 zJHqJ!zT~qRqFpHorlG1i)qu-}&d@>IoYQEv%Q}E@?so=X`vGO3~K2 zm^!+gqC?071WRE#)&!arnO1YB50p(m^EjTSiKM)3lTp$JA8f&!Hb5vQZT@VR=nN7_ zzK=cFy*3zkI&xR-%Q&F`#s71nOlryNr4e)8@=QaO8^O&DlXq|#ankI9BuWt z?6Fo!K%N;Sm5SrHVI$md+?*li07)<7W9(b89(Lz()8%Qcd84xj`t58it^~?<3MFcC zK_PDIshUb;4ixz3FV8PzT zZRG4Ez3)CO3RDe@Hl-n_Z&_zUmuhAwBcu7yOrB`*zxAW zNZT8+#GkP^e%ZdDxtfSSn)V{EKlB-JWF$T!d`r9tKOZD<(ET=CmbB%q^R{psUHiDH zXs9DwT*LF^{cU+78=p%x`JK?WyGV!lBEK}hP}IN~ZjZ6}<0REru% zBFVK-+_oskY-GSm(4q*-U4mS8qiRHwIKZuB=Zrrug)=}E7DmDR)6eNL+(O7jv>dmLdmleQ=T=jdl<#X}wlia0Zc=YX%*O2X{U( zx(61J04M3Ed-)S|lE~<0Ysly?W({W|L)Cx}fQ_OM$!d);_5XvCMk3k^<4N=oY0z}z zar6P&yi>KAUU*rJoShsS06ah8x(#^mqCzlDmt+PMm6iBS1BmW+#m>K-ekrubb4dHg z#)0g(WAq6>nD&}v2CC#Fszh`EW-|r8xmXM-&mEKqF$3jM93(;UCaib|D~`V9%Fa~C zEQ|ti3i7s)M!y1_B39srXD#(H*81|r7&m!iy}o9`;SfKk$idtBrMN(whETI% zTz+|KKs{0~^bOcR>d zn$ZLNIwalcxG#d+s86-`Iu1nxPnC;5;I&Wt8-@^?(hv)6pgF>dL82=tufx~L-*b(V z*vJr=-$?fnp=dA1Ue0sfNc?XmFZqDirQBP6c%330#cnD+&Bn1mf)c06Bir~X4eh0i zZsHt!~KIy$7C#^@Xy$qrO<>Q(#%WG74*A5nDn>tydFoY z^aT#1xX7g21Zm}u#D72TD_oZJr{B^(A*Lk}Kg{Hkt>~CTOpe^j8#uo*S$!*S);q4R z{K*F9lOXu1tE>{CgX&|XqQdN*31uQXv6&-|-`q|3CsL)HuAyoEl7$j?2jI^*7XF|n6wKR9UbThSPN75xdv)Itl<1&`4mBvLnTQ_N{UB=pcc2r;67X|Xbh2(&UgPxg5TT9X2SW6NLfBE5+w*<{ z!j8ux{E5k4n|XtlI>cX5g6SL~N;=v5^A4k6r(+BLD23p4<%~@{Q|4^uS;hJ~IXeKV z>N9Pi{~>v9SDuHo*S1XURyMF-jhC*lv%O31S5!!fq@Gx2tiFdU#716H-6!)yQPP*c zZ{(%Tj-4?&+#fRA%$P1V>Ys3Sk!Nkf8tu!QH}L}JJ0|bk$o&G71wd_Xj>K#hfP+jf z+z4mAZ^7Jvs?gE?s(FduV~F!LH_sgaUaZVjY2DAVlw#3UX93W96H0ZpIRJh}sjgLd z#f^Ux3~o$o%?^T}p)|+8X7btf{FIc=2$0#a0MewJO$hKKP<2yjYt*g-+fnQyAn2=j z1yncD^YF=q6TG>#4n!C})UorFp79}jU7h(DoRs5m7K#3`-=+Ifk(n}GOzH4?h$%|- z)7{=^_Y(-~9<(vrgA~Z4GhQ;6o9+TSnucEm4d=K*5(*t!9f|Ktdt05}o3nGM5t62Ha#v+Z?r--3*@H5u7^nEZJiuYL7V%FsvGS|MKm1OW~fA#5nw zn0h9$r-0!19NcCJYAc=i9$hEqy@}FK9FEzm>AtZyns`V((hj)dpM#*RwY+}HhUkNX zX@b*|nt--z?x*`YEU0n@;_fsj8-aEiWSnTCdzj<}cJ)?X=-_*bG)G7Gu;KSWd9whlGG1BP}TpD}s$I$qZPTId-4(nY!n zYNwzF$TF-z0}-jcDx?)x-Kmbr{uCz(m-5^k8^8_w~O1jupfdo=kZEQMxMqhFL zbA#CQuTWOsQAXtek5ejwHzDUSa+gi~67$bX1##z8B)qQ7g{v*X3=?qs$W`aJ$r@yg za8>Ul=v}z(*_d)s2sawA89J#qZk*6VPH1}v!ikLkG{MYen$<-c6GC1K6CVuKCx{-W za(%*bG)hd}owpqq&dQ%gvpRCqJG@RR2rS6vp==?bc|#O$1CotUvf<+dmpB*;LdQXz5g%8ApKgYp0Uc83`mH)!OaOT;umf6m zeh@rPtuy(w!RlHNC|wpO0i=yVWr0ElCtA7UU0zb#YLkfKq(H1WwB^Z`zrM?x)DObU z7pX?seC{M3T~&P0a94Z6?4?5596kT+blaDHl| zyTi{qY#VGz{wX$G+kDR6t=t(&refEwIue@_S|^eSsJRGJ6`H)f{bgRK!bE86Wf9Zv zf*?wprria>Vg}bxQoOTes%B1s-25^Q#Z2sVOiVx=1s!PbJf_iBR0i?X<8W>UI2%d5 zPq$UCYv^nnI1P0Xlla0QT$(7kP|Fu$5|Ba6c4ZZAgMCbe=)t)`U(Q)wm{95(9k-Cm ze-VBMUF=;1?>(*3z;{n!B<~jF)>Iel6wnR15heh;h6nZkB1D?o=xZYG z;()jurLhxNqO;}L*LkjIBC>0UZ7Z?QgV(_&K`1try+n3?m6u_igBKVW9&23=`Pas8 zPMis>(GHqQ7d{M+UlBt%17M&Ps{7tZ_E_>vAU9m|urT}&M&@7&d;bfl!?J-j9@>?Y zSn85KL%GG(eh~%*(;pzBb%51`d{Yd73X;6E2BN^jUc6McSjHQsP^6qz=W>Mu18IW3 zVE`xA-eXF9VTOB`Wlk=<{?rB)#Sozz+b_cO0Bb6vEs4ln1nvbhCJ4qx3uuM7Ozc&d zZ|;%})Sj`lgF}!S3Wd!yGNIWpX%bUi9z5OhF`AYmPcINC0czQ#S7`zo(_Vi257lA0`2 zHZ;4+e4uv73t#7rd#!>16kFktzW-Uk!(5LvCoAaPiZpd3h~yq@kbZ4?{dlAsU*{#M z8H8X)8iF7)`@5tf%En|LTfUGML*&!biy;{!w4y+7LUs(ovC&1~>mZ(rX8SLe}j8MTLkm97f{tV!R!PM;g)$-2vVMj4WK*tje$)RJ(< zs6fr(<=AoAZ8@)qW}_JoF6Tw9j==F3iO`A=H-~i0H}mYIIfU z3!w1!%K~s*u0z3;iQvvt`9W}yN9h%84EKIecD-gXJ)~%44)W zNna5THZ;NBd5{y-&>H0Md&qE4xS=6#!4X(Cywv4&Z}SGJq(@Qr$s{!4z~fqVD0riS zMhq;kJ?E+;`Wwb`QNfl6yL-oYOhUbaBShO(d$N{@=5EuR> zLq^!Xvc?LYOqsCoJTa2E0s08Wic&B9ZrVT`aid;Q0wyxo4Tc@;uQHG*AQk1>xny)n?m<{vl+rhT>tO zk5%Yl0>N5Xg7aj2C1j%sE=Mj`s8)ZPX6y|_kqI9!#9jldn++T{-?MjytDB3sK$@!X zC?Qi5T`?X>W*~(CyHsPHZ3?v|TPh^1F)ukItKxuB% zh>v}9jRBou@y-SpQ{YXuJi3?{o`m~CXwLwTcJMsX)7kq&sv{m=9T&yW5eab^No-$o zgBbZQne4fQpO8Afy*6N8mD>9Zqf(Wa7PMtI0u*nYH7IK)>f(Z@rV506F%5h<1?W@oN z7#nV{=pNLV$bKZKN_KmZm!@p&yaHMJmFkco28PDMv?{X=7I7Hzh*bkE&_vXuH6D~- z*uHNG;^~R2ZlUav>i$UTbKN`Y;68$B7sa6gEKMco2-uB!(V3X%G>yOzElxcviF;AJ zDBWYjUxG-hq?HJw=hB&rUWIu^)wch}{B)3?l3{ zVdM6x{B6OZbQCIP4i1~CTc@%+C|Y=`UGG(xKJ~(meDsWX7_#ejh*HgTgywd6#!_&r z3d<+BmKX*K`4}KbP?A8;P8lDZJ^>a`J zn$GBu20+N2OL>bfP~G)V?4u#U{pEXTNcN-+Nf6b4Xrmbt8`6)Osiy3YnB4X(Z`oBC}_x=arK{|k3M1GbdnTX8?Kn3nQo@CrLLt$^|ciDFV7CM_J z01EK^L7o6Adw(#W;N+q9?8lm%sNqT6f}7Zc!&fjUw)BYPf-HdmCwtKf`T?8yoAkuT zW%Pt#S!$k(@l1)u7+x#LO)`R*cyj|bawK7FLIO}k~?p<(*x`M=~>5?Dl2@?04-}}t>J$Q;Rk5F|HBn&vX+Mu?%0)YCKMR1T% ziY8iZ6-|>hfb!yGBxW<@ez92tXvupZ=vI|FfP$@;0I@o7(~e;e1_=ZR{y`kvWod@N zgfOWAVl53nE@|n-s&JHGLJkE>GHu3flr%-->j)~a@@G~O>KD1IGh_ENx z06510erf=>YlPiRG`&XnQ!I$2|HQz3U=aoZ^@I?B^9;g|4d6CeaSg9s*9Omv6U5|4 zNP7l2n)G7~&e-y;9=ue3)`iC=jpVMJ{0y&A9)!^sh&h94LxhGwz5?FH(C;!8Y+-Wu zJbqG<&g(r zTr}#3ZhTtKoX?x3RuEUNNRwVB;65e}&LXbt1m{9MDzTW#n9Ez*_eWGJneAivveH53dM1nJ@P@tMr+~dzx;kq^{GpCxzYX_< z1P+x4hq3;;FOUN17at zrpBR}un-{TlMDDD*h7XOl>qkHFu~yP22I5xW^)N_1+_!u!C7!1*&?%M^D@um6Tpz5 zWr&g*8s-$BrVW+n%;u-2Z2AC9Q(OQyEKD6hEHRAf`t|sN2~6ldT!j;#gfaT2z4&gz z^GO~Yb@5A20Qzot!GzI+C~y(N=TB5}AHE7&?Z!C0lOo&U59PGkDz# z)4E7^r|l&ZLLbBa3JhU-2|i(oS-uOpyej)9!|cBkB~oVd0HtXkg8HjhqG4~CJ-ME(J1vu)E~)Gco+1V zH!_X?aF9X#r)o{u{xo6vWS_rStO#3ax_hOTZlDV6x$?NrCi))Llkj_ozNfGZqnD}< z#~M8xXl4+9|5t0sp-%X%iQTM=WUsa&TLsyZ1!KMjTx9?^8Nl~K$x6-%flFH_$BGRb zJ}8R#g2^ z-Ai{0emm`>PoAjDnXH)3YoGE~_#w@Q_|5PwO>4TRiYByQgy$!gfA5mKq7WBZ!6w*0 zsj}hb>ZzWg4#efTU&Cp3gM=wPND46TFB12ikR?EO^IFq(%S_5V4i{TUP_It56Q;(j z)0qxi$%!-2kKQ-CG_Q!#dD4AVk0GmoLHs@@2F^dUNd!3&v4(ZUBJSRSa}VqA?d9QE z2fxwJP}acE_I!tqM(~Y1gXzyYbnc{+THrWe*O~{3(G@>*Gfd+fetUoa1^247nud=`U7eMOmA?v zggqvppA2*`WFxXfTYP9Y55161K*+S00!@|G@EL#OI=~}zHVsI)qh<+&m+hfvF`~}s ziDcjV>4_pgsOPEd0G_IgPKg|)SMPj;k3$F_oJqIvWDP{Zs$XPiqRq@9PIh%OW!JGT z{YWE0UN5>h6S>;frS-w+pbtC@1d7@1O^~8N_1xoOjt1&EByTIg35r)h3%l>8jhj5} zDPH8;1P$Wn_KMv$m>Sm@c4PA1r(jLZOALbj1Vd~{waFXA`?}c1V~ZI$lfNMks{(io zdERX92I4y0FR7Z2CM)EQS3sj<`6o!|5EV_(kzgb2o{?{Dv#E=I zY=_wvQB$yuH6h=alNbd|0n$X|zf*WDWzt2&#Qvjtrf)l@4{gH=nns$yU)?zi%w7m@ zp)PlH{tsgvWuvT)*b;X3H^lnUAQ<3eVDREj%Y%uz_P4-}$ zVI?e8covK_i>LDB=`#q=j5It!7Kov1T&y9AQ7;jkU*-#{O>)epn! zJ><{HknfQ# zXYx|ybu5EEJsx@SO$p*kWVj2erddN;8#WOU$j1~c>~_BIv;s1U<9?*P+nI&}vD225 zR9RAKsOz+-Qo>1hAjCfox$zI#qiM7?izKt*Sw)ve;oeiaI0~CGC@h#C4z%By)39y9 zrai-tqFXZHrl+-alM*9OsU+w7&zNE0Xe{)jPpf{XnE_{MDUQ0ih1HQGLv0js zxR=<5&_4qUW#i9}cyS?|@u9Xt4S>O-c4JI>{o)NcE&l!lug?z2;xRlweh3o;+hjuA zNOl;*3v#jJA#tbjdn4NroL+Ke|1rEgg_w_=L=OZ}gsT)RJ=!;sS4$U?S#~i?5podH>J+S2cJ;EWnOWVi+IecZ11MC8^!18XE4=-L%eG_r zNyR272>H6Dd?Y{o-1N(P;FU>oDQFXjn>+E*Q@X^3{Y>L9(?~v^{;TofsrP z9?wrNHEBO;WA?1)KGF)>#2+-1r!zTdS}aeVJpm`bxLgObki2ryvz3tTRyvu)ATcp@ z2lk!NL~U{q3@`}{eTassXmW($@Wr3O@Jmb1Rj6nNZNLEv+EqxOwby;G2c7)YQn_@) z)c0W_3On+$7m`p|V}k8|(BQSPXsl63S2LOTAuQp|B=d!?CY&EMwXip*{WPh2Fekt( zS+(>CJ+arsjLh;8>8Glnwfv}# z`Z3#)NFotn{#lp8l`uF$c-av@r;aPBXxl?1?MWl)fT>PQfN3WR2eetpmLHb&aI$Qv zKd3=7$-xvlT_u9$LO`W&gFeMGFhr%mH6%|E{7ZdjRHgveFP2`Mj?u-(vymU)AS33S zO|_B_LttS6Km2M)OnU?ZA5^JO4Hv_xU@a{4uKYtvszyAm9?*?{- zfqm8BJyI1mLU@lD*tZSrD;lpX7|P>?q)-sh9|mZ-0eV^6hp+iF4WTmb0rpP=`<8)S zYBeZj86xvwTDZ$!X$TVE#c&6Y?(R2D;g^)%IC<27VY)d4cGQ5qVZdHwvhzsZ_T;|} z99e(oF!6T?=FJJ!5pwB+#SN|k^qnkWMX+F4ck1u zU8mh{c-A(wVtSOCrkV*kfc8N?5~WGV zNVvbKqp=m#zbn%EcbG*wejRNAAS;I*hgLP$DKnCDxNTpy*jbDs-^Rr7poqL-G?dd3 z8ic}*vPn#i2)aCqdC6%v%FsesF@kR5o0yN_@=>P5 zYry+#IGF%KM$aWo4t|ukykxX(h>5zR!r01r%UYuruf<~B#zmWCU8K4{3{{#p{`mOr{jlP7~{8Ab&noHk7SOvndyqh|bNHD@MTK{s~JWMNyi- zKtv>vn?fY9CMuo?(b;LLVvC(_IPP7jJfsfjXd(KgG+-+)#)PP&i62z{(lH@6ZvhQQ zHPSp5FxmVjBn4O?FT0)>w-~F-p)V6q1(3~jtSR*pnzT^Q71BXe2%#H)UPqv{9A~Se zQR?e2Vq%;r_ae$IIMpeJ~V%7F&j)!+5>YiB$_CFX%*5a51V_l2*l}s*u=TAzO# zxGJ7O6(7+b~|*=c(}HIpV3{qt-0vQKSWyI8t0JSjCk`5 zrsqNJn;{>ynIDoIC6ecda71$UEUP>y*HASDoX+E~ekE7VdX(3?{ux_5n%IX!_o{^< zkQ^9HKKdmhmi!)3+>TC#VM=Wp0)BW_<8a`%3n_vVEacRDHpJw;C0ooxCys2llQ+9*k;Py+ zdLlBp7%eVo4;7YYe~5{0G5a0 zlbT#|EG_RKHNJr%etn0@w!2_w(zsf_n2zhk0GAf5mR;#|BS{{dG){8nyP3K2-&;Aa zl|!LAYS)~nPo%Tux?Q}tlih_}mU5tUt@IrCAT+xj&_hR|E}-u@~atsAt@ zp)*$Q@SRUw<9) z*Qb?QC&k0OPU*@tAjq5VnZF)>-vON5I~<3!mtN1aWbQ)<18eaRFZJKCWgzF2j6!Ps zchVZRLEiolf=%e$6q&w*x$|yN4D*3R+eT!wH^rVoJ2p~(7#4&GqYjxKbO^Kw#O*6f z0N70JAEpH#DMbi^0VpvBnZA$*MO5!EH$TWTlB;Z`=sQ*ECS<-hmCi+_aA+#M0Vya> zdJyM=?-^jx3_{EWg`1JV-T==5@Mcm%OUhP?uq>{{S!Z-?s>x z8idF<^uB?e4TM`X!Zqm#TMS4wfc#L-yocvsu*D)IsJ{LV1X`y7?Fdg*6&G1uVQbY=AK{QOt<*>I z-1~T)*J&krE8-5zxPMLErZ{&Yq;2`^Sn|2}PyaA&&?UGyX@)iSQ~V zooGi|A>9O=A?-*j_la)8N5?kdQ=9`DFzW12RTFwlJiZAN(`&M--z$ zxwnvY3(3bSEAPF7BEcf@2}~{>$eXm@X$e$z0?f|OaC&Geo`Q-$3+14Z5aZ3JcUM}; z#5U$5UBE6=@F^68vzTH~te2+XI9YK6uPuLD#cP!AwuMPk>Fe)dVz(*#B+BlQi|@wx ze{4Gi+g2?T_u_yq4Gw9q@8)H=Mj?A3Z%{D~d%bX#MdyE_%hSFF0oq|XHKE2Zm6;;- zsjUPXH$6gMF!8AYo(y8X2v-!d?H_|KSNnl-HPkR#(@=jFA|go)q5mb4;u}N~h`vli zq$DcQA-#t=Qh%#sL9#O=nLQVuhouMxU1;|8Psktc#IfEU3y;?*fvWc5NX!(PgsS$1 zonK}3+8Y*B73~enn2IP11!*dFz561)#FsJg1xnzu$}ZWc#uPEb`?$RFPJUwQOIrZ1 zHEmzvoXpfS5wv~vU)_NI+ZPs8wCxMaRPBV()cp?FTW{(CM&19FF5Xn7F3|n|HBQkC zk_o8z>#$P{$)n`ZJ9v{Dz7A_PB!7d$HB)jtN`8|@GUj)B|9lgcbra~HZ^B|#seX*O zzqCVIMyUO^XfTTVak^&8k3+Tlk0W@b@)XXM&kx{<LKN?lg!5W7 zyBhwSzY?-E){Jd9kM+QA6myjbAc3<7qMwpFsy`9UnGHAaJuw7Ps?^++sU61)%>f*e zttHhS1Z<*DK9@Ugh0kdGoMawgGZ%On3p%o44-!qzFeoQ9L}2hAbw}cgY;UcTfI;pD zhId+{p*asTrxm#Hfy%%gBa~?ojumJnc4j;)?*^qC$aQ6c-FQ`)NFfCFDQ+5C2R zem$yG7_{VP%M#m82S0YgZ`}&;tf3HHi6~U~E_~s{QOvwW4j7xW5ZhUtU)Smk<<_Ip z8Y3M%V~lD2#Y^h61Ewl;b80aCJhmpYCoq+u#6e3OjI4Um`HA7BE=P0Vr!-+e3N?n1 z-0*QGL~ATXT4Nz8=!fKlFlvkliSJCn$ma|HskG_wi>+?V6Er_MiC;`rPyAD_{eoc&-i7}=0z6rHE2jSmY*qV%=uXeQ`Z zG$IQ@kKy_Cp`ib;PGj;OKrp(gWi)CzaBN@1hX&YDp-7R1&v>##D+zgJTH6oXw$p6_ zKz@*k!v^^%AU_x$ArP*-{ua@_z;lG6NzKgo?HD}2F!7tllgcJUzl2n#vC!?nasXKD zO80w+1(7Yx|CNc~)2R8?XtH3DBNh@DPwOoWJSdK&!5*>|(#7EV%%YdhX(lLiZ;9?B zVEQ8sQwBPrw||)7rDirF{jkLpr~pH%bTHhWgZ{k{4ced9Eq^*)Qrb1o^zUy>{AqAM z2Hd}exYN4jDqz`@)-8Wo65C@nN4NZr822Sp6ZnF$JqxX+34RtQDmivD)@sBAz z0;T_ym)*^aWsd!MEoJ0QLwZ! zYPGn;GuUI0F9Y{D>*7>qY&URQEqP5jLdt6Y&E{K=3Egs~E zM@^yo5r;&Dly<5Q3&2pc4vn;Q(c-`o+a0{o{Bgfs^GqFgWXXT8<4ux}g(YZP3hD+U zBaSI_A3~BGdEdjlNZD9QM_FJJM}7TA95Kp3-i!DnM=rmP7bi!DK(uCnhS32KwKMxR z`Svy3>-l&ZTw*mBj~l3aETtris~$By5fl;Q%Mzc$@!6J<&93F0Q)A3`;(5)t_-|zb z?7NWpLmWiF>drvBhG0oDy`Du`8?n-BKRqj_#}Y1F!L0FMkZIcnF*MW>V?#7U9o#~K z954!1bC}6VX}2spE+7}(^-0Vh=7@2oDEe!dBTKI1Z5xcYP^bdjL{s%WF2>uIX zOfqHe3d+z%5af7B6A8FT{*y+@Bh7mdVk zQaO%OHwI|QuA7MW4S%bSRJrGGIOe75-Rr}b$efypUl;yX0h!l^zm>)Kn(#Np8KJ|W zpvoOr@|q=6H2Gi=k_96jF~yL6Q=vD~kxyO8>$xAt;#bS_ujGwNr<%qpwV|*77|xRo z_>Bmi(cmQjzp845$^xtHHdo5hD|tcr6~_V?#Tcw}dGLv*Pa=MqTz3U;z%HeH&4u#q zD|iO`pX_x7uh;77kQ(Bzcey{x5ltUozMYRxr@z?y?XyN-F$k0MlEDO^SC3X8#GrU;N&4agLZBLXOkboqK**9rBZr`vNk9 zTG=%xtd8b4svD03aD(JhL<}6)YklONOA)FvH?5%VmI;oSYYP6a(3=nnUZYs`4(R{^ zLUC?RgO_?4xwz1iVQY*A-VKha%#jDbVRf3Sb8EYx zJR8!aoP{Pk;@PkrlO5@y`)ZyWbcUW*y=0w>!G*o#B^To?=^f}RWN08y189B8Oa!<^ z6Yt;-3A_lC7CaYHjaAG1v+LlKxEROOdr_hHq$4+8%*#%G-V`BT21jF;0G$TQ-BXTu zK7@WMY%Y41daai{@e*FQ(E?js)kjEl@hOg2V2WQ@=uL6tEtl}$OBQNqqJ1Jxx&r{E z9`uw8F5)dtS!6M4g0zwaf~GoRktuLNp*Qt7Htd-tt6#*++aZ7?eYJYQqQeX%eGLT0 zseMo5u-l+JztDTyk)I9V1&x$KhT&fvmWq-?%;Er4k$Seg=|Xis_Dc$&~92clqNw zrF+0tLdT!NbmL@qQ+xyqQltlBe!9ueFW?2Nn|$&DUUbPjJl-`dq!zxj!r!#;1y&Mp zK^OH29k$dEh{$v$ZF~DO9K6)?r6(Nh9Xa}Zgt9Axfif3V-E*G{Eo=*RX?6f!w)onE zSFkOdiG%bI+f36?RQ!qs#IBG8MQ?wWgO@?Yv%)@s+lOp=0ne#;)%GTgOHgNL<5WE? zFgq*&J|$M~ELZm7wf$wf6qFc%>Etq}%d5(D9lsdc6n};deo3|=@!vc|QOexxLSk$s^A6{J0 z39L?M{3`m!!7&Z~h6$;Y?9+!g_TJRR6(=QDa(})f-V7_5@5m`=MxRdMperWm82%=s zR9u9=l}^(k{H-n6NS{RaKRE-`(Jl-%NFUvU*KLC97Q^Vww`@}qiQO^(8ArTjDCrKT zR!6q($y=2yw=kIm^Q-dWtu`0y0 z$dNV9<&96NAPXQu+A0uAh(~pj6(H$7UA%^%D;vrEs-ypcgSP=CFF5k{b8&42#R1a- zvjDA}Y-(i;3-HL)oGRIARZazS@~QkCj{?hcR0&9*uvHMAMV zR=3mn-f{18*h>NMEN>_ z+qYP1Tymh=5>!rxkz+0NTMew9th6zL@W%T8vLm(z1-+Mzegov&f&#Sj5C0`{(Y3EQ z_^u}v+WLwkw{+tV-uQtoLYmV<;sf(t6k>wuNKtJifRTV^TqJ%{&`RuAlghf^&dlTO zwq*{rY`Z~qhUTHR^4!h5zN}cwGaA#>`Y7hV>WB{w(CLNVtH99YS5O)dSHY<`d|5o6R394fWLftQ*_ zO(O+j1+r{{=j9b=@mh61GDJ|+&TEeNC?xzfNT)5?dF`|uF&;s7C$Q7fPAm&?^135- zhP1zqkyB=~;$0e!pdJ#t3`Bd~b*<#)F7PGa9iT!)N;I(}CUzURQ#D*mS=I?@X<&oY zrUVs*x6HiFy zOu7c-lPZ;Jsq+Jt#m>;{)sbH#d7u-7^#)|du<4^eO~;iIlXrk-%6YC!tmhNVH=OQCTGL{uwAI3wSl)b5Esl)C5;5~!r0i|6{TSo zi4C~TF3cej#N>usyw7x#Xuwi%<`bWVt$CALBmX{=7h_E?>imCny$5_0)%riYXLk3T z*^*?^D`9pMNFjmHr3efPh;-~7uh((`6|kYA2~CQkK!gW7g8hnudRxQ${U+p6Mb%QSM6VA7{ z`K`EW+jK+;8z>j)?nyTU2^(~8pKzJ=wg8+yc|3N7-s=0Bt_+6%fDed@MmuYP^nAh+0yTHg?FyHC5>*9jBE}(}2poRg< za;RqQazAL`{JYKZ-)xW4$l#iXS|7g?W6M_U@!u%->zWcO>EzyFyUTY?gJAm~Ow6As z=R0p09hz1^7asQCU~N?KnizfMz&^d}Z;x9aBlN+0xV<}vYJ#0HFX~f?-9dWJ2^VK0 zv1hl}u$|kmiW`>DB~Cbg@%Ml06*#*=Ip2HD+q%sweMx|=eyc>h^7s^w+fOV0&qdAB zTDo?_7RT@L>Tx%LcvHPFj|u9FWyf0rKSS~4@!!D9P&{$`w|=!YSJ?mOB2Kpp#G4<# zNJDysOGPO)?-ed@)$I6n9t%r;fq2RBi`=byv6$ZK8E!qINx1PGB!$P@YB9gy`0pm$ z5sOUzHvDkH0$b}53gRtpb9Zs`sJ16^LVj#&g)Km3p8}-vp{k^WDx_P zzv2hKlcVAEAkt9my=eq{+`b`4v%zhp;q37`Z&qZlG&DVJ!;+rP^VV+yp6>Mr6t&(7 zCRQ1^;Nl$~T4m66J-|cxyo}@S+J}=%cj& zQX+(ef7tpI4%--M%`mv;4#-Z($-#5+K+Fwtz~J`lSGCpNra}1SkBnC-O;_ncXIK%i zkP|TpA);5H7}@Nn!X`a*ayV9gz?&qKEXGO3$OB$)#qP>yQJ0g$mC1wta=7h)dEJnH_J|s?3N!PI1=jZ?Xa$w%i-ZKU6Gk% zR)!tH-ny2GU|I$hbq}AOhl_t(TP;CZG@*OAL-!LLzo&s>zkh<`_ZNQz$WPJn0IQL? z?TsL>$X;#GsvmLK%ndk-wdPm9tzIhYnBn~Dwaj>5b;P8U9dB&i~^Pe!5+*Lt|CX7gJP|?qV8S7)k2cRA7R>Y5)8LZl~}?|j;y9U z7sOd1Q5neXulEvOwSLLSk_kzKP(gkCB%DlJGNHGaa6H)Ps5=K;gyBVzc*}5(dUJ>% z?c=!N7$BCx0#|JS+1QRTU$!nsplHFm{I=oz>2(}M3Iwdn z8L_5lGt@cZN?Ks!ry>?zq@=%-bPn@_Gj3Q=DVo7~<{*`8x9ZM(_CTz2m$toZ=B`N~HSB zUmkr_A|k!sF;HyC>m-Jx40nYfB1e$4?MGELxX016jycF_;0jTQK8XJPl@Kk#xAe)s zICTWa=fWn=wG!K8R z9680YV_0Jheq=Y1#5b#rD0f7O4)`l)uP-xwAKJopsk44QUAiS)IJ_LMD0Rg3&eC6u zkw{$N2tgDjgvkNd)=vqJWV()#;@7J8n_A$IUT3x(nGBZWCQeNUAoC1E&d$gnn)9~G zrmb7T;renXjuG&g&6!9Sw*iWOKba`gDMz{!;{f=X?~$*T7GAFU%tQ-Q$WJ z`YDIx4|^{s(q&@CaqxP)!Rus_-^pYY{in;mLPdfHgS_BKj0g=tNvmWK)lrWJ^@W^W z5oTJMJVFfD?Tq6RGwuIE={pedz8sF=_mi~&&g?+bO5iSbo1x2%hrw0naO6Z^%Vc*b z$UO;K2%?+ZG#^dpeE6HUNhAsvS5;(j7oHWAOa3*=j#B;CS%T2?|IGn zHiez3-t*FbK4c5Kgzo-2T##E1F(K&XAx3!?IF@FB&X)Y>>u^PJWmBhjxShJR5}n>b z*4A($VfO>oNH)#c-L`4o0IWXFG#b7&d|vxkm>y!hI9}P8pQgKw3Z36JGIF1dY!qjD z(@5?2=5bDC)~l#8@V_tOs#N?KQ&ugs`7gWc z_>&(aj^zLKS&xy?9$k z!jl55rh_Xo&!Q0$b*EQ0hN|h=fo3$$tg5>$?aWTbsbqW;?tc=FGdITI3Mx&F#|OaM zn1D~{!BYf2p$8+7QQFXT@8VBe$6ZQ0k(&HXxT6reX!*C{E5+heVnhHn>#CepqD|}_;KopJ=pnrntUotZh4nj=> zHeoBm*3EWUU&c3j5Us;ge?-DAnY+U)#Y?I8cZVAck+!L-Bn`zFT@O%iq|2<0s4d#NzH<=OQNoCr>n84X zw=Cjhf$j0@{|Y-<^u^xr^!#jnC1eM1>_hK>9nOpd5@k*{-MlY6Aty)QG#pe1wnLf0 zK%(5qNk#U9*=OatJ+UR(dNi15;p9@E1L5;B^7Qq9vviC#H{|5ek^|wcIr-kjQV>kR z{j_xQ>5l{9s#6NQJ4k~todUoKSW(aga>#~-`mPCRE_83XXUOADk-n3GJ4N)$ZLwyl zDF?%Qgt&{w{u~}5rqb9KK#*6J26J=F1jf!rX2~B`0>FdB^LaFNhw${Mx=VTZjTVcL>=1Mx@D5VjPFHvMhWjtvZ+04UJW;58wptu7NDZ&NvS0(aKr@ZXlPHi?@P_napKI zfiA51!fZ3MDI832_gq62{U za1ZG3eK7WBA&mQPI10*w&PTDZ6ri!chMSuRV(ErnBwhN1tRwr7RP^tMR4fmVL)o>; zf@Rv7odb75Aod@c^G-(gyk0>>r;Sy;X<<=ToX+|Ul{2nMjr|SI0kMQO6lP`98;8RG zl=m13=?Lonsv1IdSH~3nl^f5Yxrf8GVim1A93Ee=hL3s)*k)&h^RU~Thi6OcB^vrW zqLSC98h#I#3FGUuQX!npU%)TKwm0}Qbwwd7bBMG1BU z6A%qtXbKnEO4DnsAVfZnG}t+Boa`=k&3j%Ji|^*Gk>hYcy7(g4n^s=0BK6o_;Zo8- zQd9*Sz-X$1hl3M(2hK|4+JbhVD%cD80eog^fKNb1UU9%_ls>aI`Y`$hoR?=pF0>xU zKPQ4ULmL{~ftmnn+XV&}dxWo-6UcxLnGp10pLkn?6m4G?ZRRfTnD?R)dQ!;YVk;dH zvU9URj#tviLzSS%tOKA$TWGK$dtM5o7?zRsZkOQ%9aoHGHubvcc;aId-+)1}#*2Lp zIxguB0q_3CUVuVj7n9M)AgTULnwpgJiB6wZJg-$W0xQW`fbQ%#u}@;m|Bu*X94+>4SJG=-^*;>vj6J|8^FvowplO z%d=#f0RVb0N4AOVM#Zy)8M93~c+koo)j$!Qa_-GCz8>;s|N6@CT!sVbF8@e~a#l~tL3cP=WSJDOE0i}G<&CR0-HQ5Spo z(KkwENi5_c4PV$c`N4kGlyij~k%LwH5Ks?lpy4S&m{%LdBIyeXrUsopc zsnnLIhu&^w)SyICMk(F8F|8#%w>C3Ef1WQ3va5iywG5IS;OoH0NhqbXv>;y5*l|=f zRV3uel?bYaCdtsNr7JtES4UZ^%>;_w_+$wu+ufCrrE$bBdDywiq|DQzInB=nBLxk~ z@kGzCw=4=|<_M%ca(c=f13AKNA2zb<0&LWRocjql28Zxt=WwCBQ#l&CkTwbgdubF0 ztHX_6v~a(GLD(@+Asf6hKoiHBIr;bk1m;b^`51aQ(l$ZVW+i2LJ@=<+Ip6ix8GDMc zc!bK`Q;=V@)Wi?3VkYW}MzEjj9t~SK^`Olwu{VFGK26X04@mt0W&$l*@}{)!f+a!4 z&f|S5-2`jm_o@7a_4U#~8?itnBlKXIY+kSWU^Lo_pp6Iu>K-^Xycohs8<0@Aj^&5*8 zU}%n!P-xNGTU%3)I^;}2Au+=--62D{a#ud$-nDkqRprv@jw#oI%{jq-NdZ#sHHzv+ z0W9Q~!9=bTb^8bv*}3j|=r_B_E^wC`n3nGD1}r%U>P+_=_|T2^puT6h zwi02RdId3A7mOLcG5u|VJ?Gw!Edoo{2-(0JLWb^N+6E7y(BX45Foet^yO7pb$YkBY zaMH8}!ZYn)75#O_YNA{at{4y*`2(;oPRGPRMawJY>9AOiX)Vi2!j6UR>wyXZ>y1#N z$g$k+bBgRDdcL)+qIH!rUaw;fI~fB(YzCq)gynQHPJ%p-t?%Ies>28Ddj6m@^`Jw} z2IRO3X#T}crrR-~w798mEW9BMs0s=#*ewb@j!eR!1mT`XjHzhd0#%Uc{3_Y?3@B{e ztCQy3`w<|5jRINzXnCyw$k@XYcPVw40(Qq$?zm1fWINWoN}O!}Ay`OuRmtk^h#B@e z{%nKSagN&t=H!@-BWQ5O#BnATcC_Z_K=idX(V%KsS`YCSS~^xylPXvC&dBb5Lj> zWDYRSz{UkaPXj?YRxMk03p=iUiC!?g`3-ub%|vrw)5Lx>Z|X;+g?b0THPOMqgh`jQ zl9lxm`{08sBP`Ib33-K!yp_fZkxX|1INch^g8*C7=oD|7jHk#V&_>#|m`o&)uzj5t z(B{n=lRyvP*r23nmhPC41I3aFiCS9qb11JKJL>Aaru9J3DRS2$)3@*V+b`WpLTFs9 z;qZj*PdLT?Lw3TYsBUq2yxARcUDJ?D^us0wD*}n6Q&I-gvP)=_$CnIYW8h9uC)}rx zO9Rc^ryT>&2Lg#QrqKzyx4os%ixG|wCqc3SCs?f`D9lbr@bjQRWeX1nXlMDB!H*Wfvq%40;8PL1EMU3ub+aoSUB zSwMq74=FwktJZxPqzCIwDr+l;mw*5`2;@F4RRA7cznC4SIc;TCTG(mhJ;jjqURyc1 zh8a_YC1u2Wj)LJvf%hlU_(A|6;fuXs?2x5d?9GYen;+N%lS@09T`#>e(ol$0PmB2{ zMp&oc6$6f$*4}WU%BgcF2FFj8J`4hz9B=abgq^ltdoW^dU+uJY+r#5kjrQ!#z`+iv z@5^$I7Po*3;G9{IHZ%)&X(5(UQn)>Y9n7UK0~zb-yxiWn+UfTI`S704gNas7yQcTF z()}{^C4fITVS*ySs0Pd1RrOct9 z+RJP>B4r0z1z75+2jU}hN4M7|LAH~77lQ1$9b^lTfZIFBqWW4ul+llA02^~EleH`| zj+xLoI0nL_UE4W$l}Al{8Ak_bgVeC9{|ZK>1$t=ffw7pBwkko!S>@he<=yA(_ObdM zxVOT+$EP_29Lnz~C(zKXLNy+^D2rylEDADeJHwF_fD#H&s87ct8SM9$}SbkEVgEFpaw5w&37;|1p7jYhBPc-1sIW2a+m{ z=q$@%JDAd0)`g$^-n3@Y^3L*J3JQ}25PnJYSN6Pl%7OER1 z?-GyE>!V~#<1It$p7i@D*(i25W_HS^g+1hG@i3+JguQMLRrQoLD6LQ1+RNN#j8R-@ zUlUJ^$=z;M0X>$Zhkxa8*QZvz6k# zWKjq~q_S~)_s(?S1~|iuFOR3wjlJX}#z$XKz9UP6A1_qY=HyVbR0?te7PgwyweOgVva4wzoD@xgb2{~=A>;R&h~dO z0&6N=b&4z(V^XtDk#R#zql2GYxl~sN%UG|qLHN^B>D4r}HX}lN|0Qc+pDh|G2Z&GU zijh#YZl>uY<@Lsg1}(cOltUx-2G6ARZ$~0TSIN`F3$*Pj*+?D!!CRWT>K}5vFmQPH zH8>weG^S~@e5n*?{TMsx|fR#MMW#HV8ioFDeX z3~l`$q&a=%WnwY?+7~9y#Wba#ED!ApIVL&d;<>cC9}HxV(YAiFwOB+Mr^&AJudcw5 zF*M{f*)sGNJh{{`Jd#KEoF+G^ho8hAVi!jBm%YRodbYpp61*0m_-H}2h(52&Y(w^I zGQWAO6a&D(_J)$|O2W<|io*Iah*Jjn8=ZE#Y?nDu`!Gg2`PU}ds{N;=J5QI*j0KbE znbV=x{B*jU0pr|+0kWrfhgJ-L8Ea5#>i{6Av34~%cbj=sG)UIx{1Wy|#1MKl`h=}{ zv}BNMCuXF!4U#X2^sg}#?3Rf%1;`Y%{flUJ>ct^)o)9ys|1j*qOqw%H-jp#1S`$WS zI^9QN>@z5TxV#lM`o`h1R?Mf>!(qUlM>%J}8SrfC>@(zcA;ve(Db1t0%Q8bW{49)Y zJgu%4g>=tZfT8L1)>#0-^>pAYd0lY46Qb&^k)l+?*{}kOTWS6|@6qb7(W)0_nCJ*@o)xr~}MmJZGm z*$}N@cEY*m7Wg)t#IDdQJ$C@A|HDxbv~Hkf7s$N&AU|K@tvpslue^zZ{jhUdP67e3 zE^!YQ*=cSozyTg9NCcTpyUHN?)9=?=9e@}ufavqz>ab(5#npf+d&BTH*L40H04uEx z;U(!l4L6GHbT2s`FM(t%;O41hMJU8Pt`9BSEwbs33uTKucZMO%5Jgv=AHIUlhZCV_ z^@TD={eTIEF~Kbt$}+aqaW)EGugAsVe{8e`+Ve*V;E8z+JH`um&N});2ha4u_7TD5n=@@;uAK;c{zy8R+p@ZZz-G1W|mT8&2rrz6&c z>tp6P%*!!yII?nh8WV79ZTgg}=n zjjJG>5Y@DT+{*!=Xe&El}gWuh2us6FeFCEX2PcCBV-I_-NbnnjO~kQNQQR1R->IAHZH!k)YhH-Erc>;B^I8^F_1bV;z!rhz`VR91** z=-{RDl+>!LnLcizN6(67)3y!iJ!v+guc^g33Mk~_7mYrURzw$`qlzN`^ibiSRDX^d znCmt07ZE_*$@nKFzA!q|)~|z*sh?;}bjYTLEZDkkJqHZ0;aYiW@v@V^`|Yu5fg)#Z z8!ZO#*HvAdRo!UowX)QB{vG=3T3H?X#(*y4`+3t-qsGYD0{L7=$4Wc@8NiwgZ>Fzr z0v#%;{W#FjgOe$8ot#+krh-oAE-WItG#JC@W{sjn*U9e2fxBtjb@HsthhX!CjRR^A z3qB~aMt!fB=ZF+Ne7(F0aTIws$XkuW&8hJQ;O3nndgTV$L2RPEH^^t`pWUD-ZL5v+ zqug6%4{qQ4v1k*#$OA(qsF;q;i_A#Qg>PES!q&wvEBn(yEfzR4r z#e5Sq2H#Jj+i#KuC2xU4xwF%r0w7u#?swR70?tYF!cDTPfLMH!+>Nk{PshuFvF&X0 zGC`4h7ty23RCcP@%`zs8H9;D2Z$>kkU7tCWT1}9z!#(%?1o>m+69{|IiJhXxVMV7= zi`(H-JCa&^yPPN>%MWgVA8$R4Z;-8xiQVa`26;9Z;a?5%caeKpG7C0@B%%t~6_Uti z{j-$PCd(^}CiG$JFl2iWUF+Y7gJu(_d;jjqGOu7R$I38LrGe8h=pq-7@34kvxejy7|k)+vxRR6iZppQbmb%Zu@mn1OvAO(SMNIGC5Zdj>#43~!v%wSY?RlpDnRsRMV) z0wJ!V%v;j(sQD}?=DVqOmaG#O(Z#dmsL;WHwU$1dB}>8$4MA&jYTqn)j3XKb5F6B; zp121u7)Cqqk&ipG)n1gVFVYGY>q!yyRb0Ba%MYVGw;ZLG7=gN-Z zB`*nU0^L0q&gMxtybb%lh|X`69r5h!M!CcIAxw2s)ETs50fg-*$h=S1hn7QKp%FGp z89j0zcKnGj9k?&8kgmN?hH346vLrMIh6-AGAKZk&`{iwjxR`jq{Ftu4S2oK6SwuJ= zvoW7c(&BsNSK>07I8Ww?8k#>(4iszY+j;Qcen2nIm;Z>>oURuDnG7{#lblUw&kWro zPNVN;hOQL1rUu^`suU$UpA|H(j!muRC{}6WfJG*|r_tQILOmnRom*in>>6lJU)&XH zZ`Z-Cg~im5XdpE`-py>=u*PFYL(N(?kGW)8j{y41I6UvQb{%lcC3eynjw72rh33r) z-9i1v$1kAR0(l{w@qnC)aH-E9kY|XOsrEs6RcLisq|wCRBgM3;Jl>3!u8W3f-6&Et9WKze6WPby>wg5LE0q3dBAU@V9wCefH9LQ58wCQuJ&w zISspUaDiFc*t0U5W-WcoFfvJ7{Ojx$hBr z=mlBQa?89R`^OOXiQ{TmLx#Z4K^a;i@x=6vhiU5zvQKa$4l~>^GL}atzX;>QoAk_! z(x$o3LZSJ<3Iaf}YMw}zrDx(vsGeog2?Pd_6c7PH(Z z$81c?rn=|kKm!M)P3#&er$x`n8)?H6a%HOza7yDkJ~{_J2%t`|Z?S_*wtzza_i=vw z0loI5yp|R}AP9jw7%pfa|lUjvuBq!L{q^#Z%tm z-MN+8J}ui-_=giSqYCR2o_!a99|6Q#_Zph{G+6UzAJLmn%c(SZquHFg)j^v1^>KNI z`NBq^7mod+^=AQ%M?N9D(45C*qHx8u5tV5Y#Q-q@K)nL z2KB6t<!wf)@k7IdY993kYN)mPYHIfsXg&{j}woP?r*%Ma@IT z%J|Fe#*+k`4b!RZzeCs7-zs3w4>*<^z`_(ZVK~qkg1zumkfR4*0bOGk6`(JU9ef3n zyB_0jfl-dpAA@~d@RxD;)*UAiC8galL)Vd;%J5FOX~7-5iAkWH*Nbjfm%%h-?U zBApFPi6H(U*d!pw#*D$n`Z+W#X0*yipa*CU>n|7qw%CF7Wp>QS>1<>`jb(`eo9gsn zbD!bV_Jg6@NEjHn*BnVt(EOk?FlpnSXiLl}0vB@V_n2|PWr&r@b%KeY(TgX`YYsa; z9u8_FjsdH6+0{Zk<-l^qU7GyhyaP~v04a9MZxNth*n*)7mY24UV z?e>Sr91I#;!4@H21+WqQDm#p!yM5AIX~sYcump{amkLuvxE3`}Hwx`-UVf-Kwoe+0 zB>a7*yfo*f8>QSU-I8vUbkr{m<5kCp?YzoV0bwg}aWAb{BUwz3zOo;F1_ttKyL*t-Q*?U>_kk@o>{Rhy zg_}ANmT=U9fnioRphIF?2aGl+_*{sW>9u2#6vd3=vRjbO>^H`0IgYl2q> za9}tq^;gC~9)`P#x>s$a^4<^+!#!ggnp^A9g?MyLW2?u$x#+7W8p0~Vo`Gt}8gyYr z0QzI6>x1rYvu`})bRFf~Fi7wA)&Or{$Z6dVUZeYgu-Li>c~~e9g}tHfk*$-th}VQ@ zygf*XH-dSoKmP+^$aqoA+a4`Q4Nk#&3MJ*9SL7uEb--Vd8;K@2g8n z>m&N}b+lMZxo^nk>Z^5b80sVcH45p>H{caLD(Kob{pr_3)h_OX*as~BTmRTvbrOdZsg2#kzdsm)pAU9#*Ge!Yzd|y5amFb2L z||s zhsK}3^n~@leQ0oUA@Q0i1U4zrhhE&H~tJ$`9_3? zPLqa7a|DLE`9l~#7SPonL0oF2?>~|y#)2SSdw!^d%GN>de1Xnihpy+-x9gyXG*aDq zS%UV1*2}AC;YPXB_{5~PMz9DWfY#O^ZGXn>NMC*;Ps-g2S5y`T3w+R6901+fMwOf7 zF+5)JsoaB)oXs#Jd`|s0L%$`uZnGRC7N&M=Ml@^aGl;|-OPrG$@VN{dVjm6rQm%)? zD!B!FwUtiaA}7KEuy%{w1&QvZuQ0~%=;W{EH{$%1y;Xk5aqauI$t`*NAe?#9c+j`+ z!Wq16J7S@C(;wUAr8s){qHp8~v5VgL1~a~ge*Fe;xR=iSR$c+feeGNM6F#2XfnnWE z$97=;k5KVW_z<3<(|5{}YRG|J9F!a54YUJ9EHIk z=%<}>Ct17YCC2m1XzXs;+57*~;iARPt+DRY%$>nAr9&5w@daN7H5=`PIDp#OZ2oqU(tew1-$o^`W^ zFD)9n(eT3BtT8ui2dp1Z*YKnCUKt&PfVIM%mkA3c>f0pKe*u%q!3Klc31rRm`T;JN zuW8*6vUT{6Cu8s@?z=gyIVFC?J2yAB9jhfdhdw$K$)z@XWEOBKHqE?{9^NA#0dDr# zE4z2S%ni?gzR}2y|h;jMw~cXAeH+4}4FNgYZIqPgfs=y74_NJ_uvOQrhf(#D0RUV;-IU z6QFq(75@yXwwU(+EU%$APgc(wN8l^#p{CQs)6{>B=OZ+zzpBG$s=mMagJJsC0jg9U z2|~6FQrokF*{RH)>N*3DHD25|pB{45G-I(z%if2oX)VaCq1St>vG5JHIYmvr2Ch9O z@_ir)Jq|`_S1$5zyW-6M^LqHi#wq($WeL2yZ6CGK zK(2qL4Qf=_S7jS7M5uLNH7>LuBN(T#Z(A7a>(G5x3{YL-RmiTiI1aHU5hF2Boze1^ zr0j#VK@ePyTlEzn+tp+Y=kq5K&I=#j#HvUU-8)cKP+cS|N^cER)tRGx^l&3`(&BV% zAPf{w04zvEvvR5PAXS)!pD@d_;oeL1jnY2`smtp>M5L}Cu8bg#c*3{x#`-|;VJ3^y z0)7=<*r)Q$CGhPd0@;I}m=AU)=wNREb5*b)Y2AkO*eD`eiW3%sl=y4EWRx3l9IXDY z9&4bG`+-E@7#$m|24;E&0>(E?_hL}TrQ1|)HJ~yl8C}9z+Lo)}d9IHLYHJ}yJI(ic zm~{UT)hrx<93*JP5LE*&ZR&?1s-3vd^=`2FH{gWPwHIRST9wl{=FUZ(AlNQzmmG8l zSv?uRZ^>*J9s^h9RoW*4DGjz*jy*u7x$}moVtQzpx}>A);{bMnvMfT;H$Mznu}jOf ziz?5>fl&h0{t^yAU<)$GP93gVp6z-yFi6Y{Ta)1j*23G8(d2gnbPFaLe6&S?!~d*R zqN#H~fHr^)@}g(Mv}(928Ro{#8p!Uv+7Fv`5#Ni4L#DGP;)ZptPwd@j3Mipi90bF- zME*E9wn@**wUpz=o+3}&nkbx1YIBCVC1$a24Yl3a=Je7T>VB9fhn%U-D4Knb#!r@F z8C*2mL`0RfGej%SR5i+nbn7fDpX6EUBylbEJWDlCdN+J1_7nE}!25vp7&V-wZl;TV zkv~KqXE&cMmRpb0uwP|0JN|F`RrWmpd=b<_4TSeT<5;S(_5_nyLK~GH0zuG!h@X0K zK{}G?z z5VakA*ZDxsQZ&OKeO03JyE%9pn)FMP4&K1tp#WdfUm#Swcij%~-R*!I@^H{WzotR9 zYNj>@F*XvVDqo#2l$-nbuL$r{+J&Rl;J*Z`Ho_S{)>(Tr2`dOG;0{FgXH7aWsk8(UQB#bYpri=XDT zRb@3l2?iDT>EgP)02bUj1oO-kTs1HWIO~sJpVxqLVPDL9UKNN*^WInOdQ4(vm0gH< z+?r%eY5G-ZO~fzV3+fZcx?)eC-vHXh*{h^}H+v+guf(jG)R3 ziLr?iN(5ETSU7bDx`))2Y2V32neTiE9HNPEIalsEBG zIxDQo(%v%?Eqv)Jou-D>#fUlG5muGSYVepeJEJOSCR*8XE|JZ9C6%C81aWJavDB5-oiyYf*kwb>x+)@P&j7IxnhPXX$0t zF%wu>2H)m%UsSacQF2qfednvUG?5ZbyDLMq`Pqv}+#qjY+&^eC6xhOBfL?r9S2$`l8h3W3EODkO!u?M(UjM0A335>a-+$wT#Sw^mOWy zsgm`ma>MaVNQuWHJbl^Jp30%dA2!jq}`aqCd zMf!rHn!piIuMSDLubXm_0)084G@zNeRt*eb85-4}&EvQE^)s|WaCsNUp2vtQ5L8Ko@>OK z<1ZKDKFDAWZx25CYa%yh=W?yBLc4%JiqI@-V~d(P=3TV0iwfDr9UnF_00jSM!;+kV z+3)Xph&JMTIPC}qyipvbP&_iJ3k_%Mltgd(ZWu_KjyFp8ZXp+(eA z#t1AtAQ8$|AFS+&yBMvw+^?us%9RO)ZoT3{XCm&6;eq5LAdUKL}*BfR&KAfsipFVFymp#aNR zXlBZBd=-E-S4+2?4*VSq!+oI!7zR*11q6g%pA0NPx|9ZVfB0^4sIqIVbHLKQ=rqYW zKbL_02Qb&;;z*VFJ^xr=nz#S9zxi#`$P7Y+Ewqe^;lc@x*e!#3qa2Q4%JoVJObel zwWY7s;jxw&YQ48qwgY_&Fbky%u{(Vca}PS9C*X1Um=|-FhZkY$pxG6^8VH(Q0pM}5 zJ)Lo|l4+WSK+Z}g*S#2~HPq>N7Swvh@n<$ZKoshkE+HzDX|{GBL1@9H+4^C2Uh?zF zI9DjaLTc)NYSQe(F-3@xbN3T`ij|Qjh;;Q(-qIa1QRyqA7-c0!2`-Ii-Nb@~GDd?h z_|VBzm&Ifg?94r}Kv}1vFb})9a2?<9An35u(y2gsG7v390gOsuJ24d20Zpu(=!Y=M zK!VSv{2xlCQ_HhmDuwa;39f;@`i6;QtC28jWHmNWPJPT%m-C!y@RdM0b`n*7wkOhG zs@&Q7OcE=DSSm~aua59|qZkzWPlBy;Hcy<<#6?7ap{sG{IS7U3Qf8LbJ5lW?d?JOV z8hv|kfwkc3pdS3WwRrNJ_IRX!qLrV{iQ-?a^l+funqdqD92lsI)imwgt^o@l2&r+| zvUeE@BleWb9+|*btT)pM9=GYd21BM5<2}e38ABF^bEYV$XXs!q1b zk~cUvb2QKSlX)FphDp`dn{W30C?-5A8M?=45iL#DQU9I*uAjxqqZEPnsKF*3ry;bj+m5^06t&S{@Sw&Y&sQd)*> zEeaun&{{#`H%0yx`i`UNc5aHaRtFbzJ+d39=+j7&qpf;;8aV~3_oPoFr@-xrY{;*nJCmyw7F zeOG`UcTJR~bRmo?wD6y1C9TglN~lXRQiM8}LlYfn&R4Ov9H)^6=T@3V7WV^|XK)S3 zVK6;4hu@W%lm`Oq6G#Jhz-))<1OGjfHD3(z%YmUS3^AE{BJPmGzg`@H-t#^OJ+in_8xb`3!&~fhzYlIfJ~51 z3w=2f#JJEs(*j5XgyqvZ{t#mkDTn@;;d{Nfav0}^My#JDWI&E#$87L?eGw!?m*=oC zGc>lT7Y?`sR0Q}BdO$SDvcH7*fOka`2u?%P7)FHZCAz`@dynChKoT_WK*++HNITva ztLckFVeNNDTrC*)9Rh=6(e?`FYTRow3{rHwJH-Ac_yxJBcIC~&mHBXX00s*38vto4 z_60wXree1tch@uwyc=!P5fr(4u9;JhCE{pz__9VNVH8D>4NJ((Xf%%bY1_&RlEboF zFAL<(d%`1LQqr{Cyi@Rs1)!PQY=b{RCJ$H_HCci=JplCF*#*h0J+@F_)XjV`6M{}N zxR+xXIpmxyY#GZ)8NSG$1+FvyjPyL()k>w+yJh5+Cn>Vjlx963p!0cFbXd1bS%Qgs z1uNqIy2l~y!FCSC1_6WE1aCQAkxh>blBph8b6;`;FJe4s0t^s#x~@hQ*Yl9DdV_hl zVonFA6Q&e}d%@o$SFl5HKdv+TOm}X#h9+!ZvIEPto3@D~_gPXMh|Yp`c5OflodCl2 zNOaKM@@imh+3M}ed?VbR+3N51oNzEk24yhZgzg!u9oF&xO??}>Z^s%3D>3&52;uYq zh(kI-z{whw#1R#%k~oAWKpWbqZ1mu+Ve-U{#UNbC5jEeeGkm$x%__xWxWja%MJW0< zJ69cOCcgQ<2%3qj&?`Uh049u)i85dQ19X)obUzp2Rj%~qzRGj@HaQ3xE-zpKT~9_s zuYsI3P>vX8?*ci4IO?``w=+Bd3--c>0MYu41J4XgRC>}!8W4n2KRlpLqu=XPY5g$BgRBq&gfNUMccAWe0#5!m zN4LVE=`^!(EUDLdwd2*b!0uIJ4zMgUC*|Uy3E?9k!UDJ_g#Mj~f4a^^0p^IJFMtFG zlAu@R0)4fj=h~{u`WnAr1uoU_*lmUdpVRNL znP9f|t4&}G)n1jSwe<^0V4iL1l=iCig;*4Hz;ck@8Mk-08iWZo!~#Y+ zFq7NvaIo6#nn0E-L-4pG*mPdS_D-UyReKPM7+v&&C~9>)?I_(%JHi4s70-^?xqUf0 z1nV2IE}*0B;ULX{T%4par+_9Zhbuww>SyC(ncF>LJeokY*O}2X$SMpK&hHuRpVI*X zt}oW2s20T9*t@j74Vx_mytq2~85N0r+2{}o=-1! zQ{BbIbfB9`L^uf$g0^)rYQ3wXP@{pQ1!q&nK>GbG^%1>eMn5qSr2f!LsMP*qBwCEf zt96m+cp*!g^b)EQ%qpC}(;bwIzEu5+%jdv$9qRvz9xb6{+k0uhS^z+plqUGE$;^v?` zN!06x-naQN;r@m`62is!Xh>z&TlCWfaDvXIRu`)KQ2Fki3)Ly2F%`K;brkS6^}JZk z!qpEiR;>#g!?qd+%L80WsJ_Ml(PnXL@QnfjB&@c?@wbMkhQj4J7SejdL!rD;gO`-f$ zhkrsR5}#22%i#fgAvOMTWeQ}>OuRxR#c%Z373yh(;0(S}4H5P9@Rh2yu}M+Gh)|La zT&bcN(+$KJVhLa$M_$o%id?1c#OfV96&a(}Nk~vz|1j+E>rRag0=ohu;$$l}jVb;( z37){fK%TZXk$}*G3pZ6Sz*hu9!vyBTG+qPG;V4FHNVUjtfVrH{e$HY0iq>BtV)z(k zN0Bn>pZVMi6ya*4jWDf6!ozkXCV7a+?0Z?zX$pGsP!Sbk!_J$5!Dw&uJ&jiA$3S{| z6J_y}rWLa<^nr08y3QJke6d6@y9f3T_Jq+1o&5=!y(wuCSFggTb<(1y9w3LjJOE7o zM4SWHH-5BF@U+I+S19^Og7E znOimvn(k`aI!^tA`Rys!sSW^z@z<%_%!P+ARcpF|c+7lg13U#75rp-i(U{rsWbrsH z`zG9$W}g~TH2X%>-qiZ?skC*unRVfXUQj@7;4ClFF^6Ms*$pCs4D5k{04azo$gjq7 zz+`b-mAE60ruL6lg~&#u$Svw} z;QY0>sDIPA$!bODH6_yN_E*zOQeAF^Eg(KqK#fTU!-`tN=+FdpuV_f!b(_jCkZeUr{791~sTRhhC|&bJET2|QQp(Yx($J?fV}`SlW=~Pg zfQ-*gQDrUeMW~&-(?T1m0brhz2r$DkSvYmjqqn`M!pAx~iP#An#o)1)pU}%wv0YQ> z$EkphDHOXyb;z26W#)zc1U6HU6clSr4ZB0N7f8gLI!$#pj-agSH1$t0k; zrOkvZZa;PAk9~CMOw|b=3udY>aq;>)RYeYW1g!=6t=wM+9buVTbtgMF@5iy^(mKTn zG$tBysdN@BGsvCUUWib&F|*V@Cd`-Iqq>IY{R*Z_6R*MEFS|#r6jM`UXM>8v{t=t2 zoLtSfG5xDR?HTiG0|93RT{;&AJAn6nb5(6{O`t0c?P~QR$ahhC{=Hx(l{cyzGHTf3 zZ#b>k3THTPr=Dtrl?sNCf_Z8baAL|l)t386%~O{F_>1SOD=?->^Rc#T=;isUi+C(` zV7?kGaxc=pcULH30>lNs-lH=XsP@e+@(jmZa)(8Pu=5)bk!c%}?P>7>wKmxBmqFw1 zQzM#>h9@3qSBw-Bn6li1aeQ4i?7T|{?}Pll?U+G1_p3SB&#gNIXHK2$#!CM22>8>v z)MFt`OSjRL{IP{*FT~CqrC0f59_?7D`T%RIA61vp~kk}^>wg0}oOX42gctAC*PgAc3wXx5|ZW!R|F z5I4>ipMi@2nwQb&MerrxNV68HYmgXubdhS7RRd*F+p&;xC)%+&mQB3WbFqpd*5mZW zu+$x*xr zg^z=uAEY6VtIt|ZVVxM#D60@fzVX|Q#KIo9F<7uYLx}p7hCczf5xTkQ33NW17T_l; zOsseUBGC-`oiEO$q9@fLc!aNd(tTs&lVGGr=;bFd*(3C+{z(1CAL`%(Ohr#2Q4{Jx z=Rd7(0MM*|TICdWWjG5uotdn{;mXNs$YJ2hF@HV{61ARcpHZvKliXHaQolZcfb^B(}7lamPKy^%&F%`#*gX98-H z$lj`r(t+?)(>`mx-+7at8R%x?Ht(ZZZk<~@bU z)j_j@D(zu6iYR+euc6CYn$;)Ou}B2?i&_mRGT2(QONM|QbuOi@N#^pqIjm1Fk?9!} zBF?Y$PD`^AmezeO%^oO$Qd?oR2Si?4VKVT~tuWi5ZqJ()<}<+6t1Hd!%~6k;yMh-9 zW?4^FgUi4h%(T?|l_o66O-b~$y~->}Y6~tu!V3{-dde-i2y>fth?-ZUCdzi|Rc+QV zL(GL$3aKMth~ulxsmNY9R&7p5KNxV}ynrhy54Vsw&n{ymut+9qBZTQF~?#)7uVwA5mfLqo8#A#TJupPRSaouHUOvBw>Db?8Rxe#hr1uS z^shE%Y4#Y;wqQCndUgTpe!9PnSz*kZMsKw-t8)*#rU7Vrt#yNJ;P$+fQD1XiJ%P94;N&sFy|5^0~@<{?NV^FE{{hg7j@?wD+$rFDnYtO5wIX)d;SV3>v_w-Jed{b4l;=yB*USoM8$ z+wW=~KC+LfPMLZW;c9CmI_PQ$b#(p_)#?OW``t(2p?HmUp|Pl=(mx=wpv@m@7^4nD zr$!wB;bD614=lwK^wl2-@?A>SQB|L;N#^lVz|LO-v^EfU;Em5UY*_%+Wk*#-q%K*Y zA-RsWA5{-PzPjyC^wmI*{E2Y#1(bOVWcyL-eGI{?3+St3>W1bnzD2wWpWt_(iC~HN zA577jMq~d{^TqgirrAm?o!0@FIBni5W=~u>3}~4~1;T8}nV-Tez*x@}W_Q#wm?zMB zG_4k(8{27zfPL_<0Hqsd3pDLum?wdMUu~Er;Eyv6a~7BjQPW%vQu0Ow z%QuaFh?pIcb#8SBz(pPK8XvAdFyeIc=FvdCqUOV3)mx)XBj(4E^khFl{oxNQTirGRy%b-I=(%&v=XbQNSDhH2NUJ zyc$KRI$K!XujxDsROd1J!UAc1nxdKJOIVMUnPyw?c*euYlHS}$k zxd6{i$Ts_-m$$Rci}65Nj#-6!gL2Ff;uU%>$Lu9G(*7K?7Q4|b7ZVspm*kpXqh*gg za}b)`m1kanbdKG5<`CRFDc>B4yr#wZn9x(SCLhpu5B-#H4nS#%9t8k?qT36=5T2yh z3vh1{?I-{feUhpQ@xZ4vtPrdBD=jEA9|RD0EHcl@AA__Dk6=ceL+<36VlFN+Ym8^7 z(S{<-{xGWin@@w$K2&VpV9yiIAD+(WX(kcpsQY9~7$nYpvR#R3h~=DYeIBRq$LYoP zpwV{KXj{ z@lB|))2Z++^|^7kLBG7E4z&aog~8qSO#*HZSJb7bfI9FhWE$K`neV8Mu^BiRhEIIV zL=lf+@2IZni;zg&hs~nepg{M%12Xn3z4i|1@1xY?U3C$X5+8h5%@)h3_C0kYhWFTe zs(oh^f%K|ppJ3hxTje4t5SrlUcJVvvc?1HmRmQA^l>WXd%DyO3sNpl}38WG@-0gh` zco)%y@2k>~E{Aga`|4$uPCI>|`n!_xi2 zWvu~Un?dKTfdObDOHX_<)79?B z?)BhZ3#ojADzC&bU`#hNU7lxW!s!c@uNCY*EM-Dgb(vNjjoF}H25YYP7>o4yCVKT_ zRSL`3=O3$XEswnqO&grLldFfjC+O+NwFlNj>3ZhOT{o(fdSMY}3rG0jjcV`-%yq~o z>fT;B3HxlPi`z+Bk$twC--C`!lsNhr(AH(?ufB+vu*E4rKuN{xqm;lhW?^ zew);TJnfyERLj^B1e+D16X|?Md7r8^NDTYtQ#eIxl0}#t^JBK)LoLF;?x_k<=VZ56 z@QyP!gX?dnXE#Gn0WfUdjQwk%zi<^VNS*f?*4}vgPMY?)y2RMpg?4|g`qee@wEvZl zanP2_$D+1yE@uwSAA$=Ges4L)s2Pj6GlK+&Jtu4W+Mq1`ti zH*4wRZ-5(%NPMgE!>OS2X@FLLta7Q{x2j_y(-LpXHhbg~1VmaXYWP<5z*8&n6!hoK z--0-OO@%wuP$1UG9YCHRXz31>46R3n3Ho%0y3pllr~=!ay6uG8cn4j)6O($6rtXBs z{x!Y76WBPOtncs(R)g=5#|K!L`kfk$5&!fZQ0W!wz6&$nNaJ?lZNJh>yI{{*LxsCx z`1_i!-VF=!c-pjEjpi*s<$KkhI~f1HT7^bken4OfF5mQnI+Z_P{{fSJg!cS^m%c(B zepK(V9PlHgwZ(MJ9&}H%bdNd>+~xN@fSpe%u@|WME8V&m3UCE|u-7$;9NnvFM{=L~ z7r$)QKGi&A$IsH*vKF0 z27H9|!KJk7f*^|aynn%I$|2&kxlVi(@`%*+P;ect=$i7-36Gk5OXd+xcX ze$PKNyoL5R?!K=GTm4>IS)>&tuf;M+48=333;P~D93Hunek{^z*ITP_FaUgF)-^Fe z-?*3s+`@9icwjVn-gy|vcDvyLZVM{8|J;u;h?Va^7HF=p|m)@>lY^rY!+AWO`om2DtGEvKVx zw7MZ{NGy(uzy-$64gqw_05A`;~T&=X+*J>mr$YDwL0zZ z{ZPSPDTb`Lf({gGbM21Z-BxSG#P@7l?NJ0CWwwJLxPl&P2ifR-+R#pGi?iR`X)|#) zwLO&hJ+z~}R-^(5>Yw&nI`;Fl60H_C^5PQod>aib(K0Z@Q%hiq=tnP>XiGA|1#D+* z+*NQx=)4@fvW*6r5c6iza#MRiEI5V9#9$jXxi;*e4a8c0x&s9MKk54pTFW~QD*Sp} z&>nk(^_~_t&kMlhZJpb&Y8HRD_+$ilmbQU{PlrV~M&F%bSqAwFT1u9`vvvc|#ciD})#-`O+O=8lA=7o}%246hFxS~Y z&_37GL+B}J$as%_>5Rd@nbNvw-O6{qubA(>uY?LaG`TL~%|J-c#~T&%TiBOy!gVzm zQS*y0m3l5$k&97AKXyKIbQ3D>0i=|}4CbO}m&~0mh>~=<7j5%El%z;%whv zZlQ0wYDGHc7UAW5^BYvRn^woSCC8j_*+tiN(`soiSF&$wl0xIUK`&WP`@3n3sQXtp ztyo+7j`Lf)?pkB@`@J-xyO!^%aGQB_s2l8luXoqFsLy;ze|N`HnoHpxpwB2h-b3q> zeh#d}N`pWuH)C`1IGU5jbK%V6J)l}GqZ&Q6&pm%9D4BG=r?#RiI1<8@)Dr$4b@qu{wf8W2o1o>FM5DYxj}ARNC7c3w|_x+Z%*@kmCE`Wj~}2eXtN_E3|w& zY~GLd(UJ=6reUm5J7WqBMCh@D%IT7AJan0VHbkE~n!+wjcc72vt24tXk`re^KRMUi zaaJz#3y7j|xIxm^N>4HweYK2ot4*v^#bSsi1epKf7#3X3l`E(Y9D?=40+a$|=O}Op zjJ^Rf4OsrO-M}cX!=6i?PV2g2un?SKsxc$jKTrU~>5m;5@2egLqZvB)J4 z{dBFCm2CZjh(p|)5er%JQ2097$ic8WU8gm^-og~-c(3X@JK&g(_p6%hY^y3NJ+f;7 zZeg^S6^l(m#7UODoSDJesCe&Rr)8F75VM_iu92oD~T=;54jB9LOB`@HNM z*i(;-IuCY;qnuULqFJo+W|-lES+eUb>a@;a4ZrD7l!H8>$SFB{&ZnZBmW9Nir5V}adVneu?ACM zKp}Q&)!2pGFp2hV0naAgcY~Hz)3JOylxK$sF(>F1U2=m4AMKO$){WYA?%i0L!JDk5 z+2AH{h+b6kx{*R-Zqi1V&r{glT+XsYz*Ax>9L%bi{t=)oPiJfvpp+hnG5~3H*0B~a zA+24|n7BYW+|68r9H9!xa>hr-({{7~j!=khdj^#Q=3+l+ZOHZ#G<22l(4J z0cAjg|I$*aBqzZ~d0}rFTy$pGJ5>dcO!zG|D~1fyh(35VPFLQcv|GUmKacjhRRg%$ zG{tgRMHddxo>bJOZaV+2NQt%`2-6hyh?fSz-gP{Beh`ePIE}jh#g zemGbQ&^*7llupdo4Ep$X?QsZLHw=OG{f+3xA-K8IS}bq|I|mX3ha%j8!!Mga;)C$v z+4cBvD?Y@w46rSv-#~lp2ayqn>+u_Jft~M!%sH2;?u6ZT78TtE+vZG~c9-^{_lMtH z#vU4cw-(NLOLa73zXPkuB;YglfI8+VW0Gmz-C9qU`|sB7@oXr-U1j%Zqt#a?(%1KB z-IUE#aIf}|Z=MD*MAED@#AR)~7Y5Ql>CC;_G-yO4hH8V-54dA2?rNYHmS$_$+UWN~ zHAMwV&=14V*WJ|iKCQMo{}|nIpEg+CIFokWr(K81&bVJ|uTGysx89F^=RKNmzXnki z!F7u9yh0LL8$3drpuYMUeKSH^T7&~1Dy%$h#=@5QHcc6;%|KDn8cVt!ePl79NfZ z(v&B(IgoKOCTl<8SpXcmH={z0xU5(f-ZTHZ1xII20ppZXHGc~>zg2KWl zwX@=-r<4}1LArj1fkU&aHu)RTc`YE_=Gja1%~NnR9E{eS0V!EM_yOZj^aPT{(@(>K z`#yd2H0;OAsKrdJJ1k`5XKHEgU;c5^;+fiAo+>vMy?KKl$T*eorBzYyO07dCzIBrI zs=2K#T6j^bVO1pt^bFZ9JVfn^J58JUJ8Zx#3d?OrX2?p3oX}{Drcix zmg5>&ZMr?D?EvCP@OezpMC$N7Sjz;O`#iRuis-)QwTBc?aEBMQP5Jq-5}11ck^my( z9U>lnK5#aG7~;ARn8)7uUFvB!mE`){Q_8E_hsuWN zcdx>qqWnSAR%s9Wr_NwpI+Zr|7d4}y)!HIe-LoXRd5xCmM#$Ic*FpS8XzQpz3H5tJ zyP*EozpHe6jaWRrFoAY;_G7m8#(wizpKestGn zZMTPQzT3c|p0e;$=PYZZTeSMzMr}*<_%`?_c;W8Q_JbkF_q3fDj6?5fV_+NZxl>yQ zP5;VHEcNkp^DeC`n9j4iAd8)%uXbU-c!PTFhPUJ9XoL6RlgBlS_GslvD`CP=Q8tWu z59S!r-$u`9!@XeSxlin5{*2OyP7JieQeil-W1s=?Uf0Eq%HQ7kqGosbLcp~glPf?stgAOt@hDw{n4I@C3Y zp{-p7Apnw!+yf~1E~!br2?Z^(RUAtaZeHY$REAvak~Tccpd)tR3?&kM@I?TQK6rXJR- zGce%wLBk=|*pu_rLA}rvc0~T0!cAsGSVBj;_?QvKFxBV1C6rPf!fFp%GAaxWwfoo= ziUC7{xxzaAcw-<(aB?i1C6Po*xhc@mwkct(tno|22cMP1WRGE-HwXB49bPq2~$$Dlm-t1(AxF5qFldgQyvppICEg9CtN#b`a}49?QnH+KFZjF zo*>zyRgyOc>b6I&C?~1_*#Zy73nMrqEtCnfCxZR>n^86XvQwE1QF? z(`oq4flNS&%(yv_-@y6`7E%kqBn}R1BovH-KVmABpKt(o#fJi;QM?y7O8WX{APi*y z(OT;t=oY{X@-MJ4;HLro0}&HHX_h^UgXPc}&?H9@=cw!bIn7$Z5U z12cSU;2w4TTzcfzKtsukCJxqC5Z;w$!uYy_t65W@5l*#6JC(sgB>xKY zD97GgQ`1OsMUcKVmjU>#!Lg%zH+@36kIqMlv?mwda1`+(q5lGzMQo%=%%$}stA8A8so`tZ^0*h_1ge+~_ ziHy^9@gqbWo}rA7wG7W`2Gi~PqOT^M=%dt~6Y3kB-OL}I`LQZvLQKPQqL?pB_D_RtDtf)LncU*#e{8TjQS2jf~il+RoomLW`aSyHUhJFG|xU%e7 z1ff?hq4+@bHe{HaCcFG>jN9Rf@HP-7iF&BlL0DZP)4Z|Su1FD=V`pXnhp zE1{SU`n^61{;h@RWN(Suk%JT3(-6O?<$Z383jf%Xe(@Ci6OI1X0A~;kdTGlBp#B}a zEDLGF->`Y?q!WK*`ghWAIE(CNk4c7(c-AxH`;CYQtY=GDv})~jsPv%JRJ(t)JF#3W z1Sc%GuCVX@?iy;IxTu(D@*geB*zJa53b9#5HWlp4Z_t^4w9e&NMb?C=CSq4Ood+2} z@Ya3Lm0KJVMaiHT>qbKSzpi%w>uQ9!+XRiP;~Zk}IoTU_+u)hiZ3kmAC#}4!>1nYg zrpz#ZeAMgpj~HbFx4zU$I|Kh>oTF+< z*JtOuo1d%#nlfyIb|+&z)=UojuZp^wnKu-=k7ni~F&_tr3NVbCCtg!RE@0i*Lmn%N z2TDPXAWByw1m-OXP1}K2f}oyYL7lK3=VyFZ6{?!w0!eaOaG+w1J7RJkByYZkl@tqf z2zLVA1Y$QM+PKVLKg9cT7i^D&T{92b1UleOMw!ah%KsQTeDeS-QGhpr-ey*)Bk?v! z)^kAq|SYVsmwSyk3@3=If3@{B7g=ixq#)c&BU#MVe(YpZHIHiY-mjMQk)_> zHHcN4?--|u+BIfbbw&ZBQL}4Wh^GQ3hWIZHB?1P3w{%81X;oHIgVe|IOYMug_Btg+Drj$ zy0LGDkjrQ)Jw{UKuuLvzFXp*9?xFu4B-^EdSK?ansWE2;rZ?3lZ=PNV-8KP1^Wiq3 z_8=MQU-V}QW`6Uj37pYYiXn_im@Wtj3eMduagyN{(!-Zgwp-NEDy_>ye(LEK_3(b9 z-J)~Q=eS7VLN$LoOncm-ZnDpDeRv^0I35q|9F>iN$#7RtmPZs~f!l5j6|;;vb&Lqk z+@O0EyO_Cz-R9prtq(CWw}ljy2@fvSWdg_=>9N@erQ5`SAyCb;aKcRm(vF$iLY-uL zvoQR2(zI&OK96Xm`y4-qYAhw6SM&(@ob+eKnBb)WUNM*|dVBn|znvx@TYn2~(FXyd1%c`G|X4yg$i{K(ZtcmBqNJk4X40g7!g=niF^(d^1 z(Ta}~E|5s{OhBZoU+tr}13*?89{nmHDinWDEOgE!y*DU2tDhgEwLvjffypIaz`%+$ zk(&(BJMub~2Mg`^$EuUT77@GBp0u(#(D-gcWcmNz3fl@Is?HfA9jSGAY{|F1++M6g31l_;wB?h%Y(1W>umXpgc@^k|@QYZ<1(;Lq(GK zPAOkemMmbmqG2f_U;Z&3Hd?SJV>vBL5w+!v34Ctw`GFL1+6R*W{4%s5RkXMvR*^+< z3VUGPWwI{AdOH7MBOL?Oaup24g@|TseaDp%=I0i0FU$<)X`FF9egn2$cmRqTa8rvk zR6ZNek2RKq+ae`4J%kh3g7}|evlt4fcNiy2!Pmyle5^S)9ux*K@uGpmf}$hQb!p7dsI671*D(3(R=?AO%zIgJgzs*tS>Uu z3y?A&k1Oh2U?KbC?W*gjXj~^91FKYj<7N#Rz8zgp!HP20_^>^gTs_zYe=kn;HFgT| zmM?(vW0ZKjbj@cfN>d*PvS;JVq9$m($7RtOVAWO@=gXHtTU+Uy%VL!K0hT$qH1min zBI0=o>AG}b9x83FSP|ER&JV+~g4-#M{>cRh z&_}YxwfL!Sj@TUf3Z;>3imk3KZ|@qM{_QrNCFCi$$vtS_iLK&)uC@0F`2LL7X-G)a zuYSh7kf@Ca!HpqtgYs20AuP@+HOGWQoK6j&GN_H|6D&u;zBYzx)WU3C26$;L(F=W_ zS_=k!oUW=RN|MJ!tg1oQjqJa)?@)8a!?+6mgS0}IOw&lv&OYWJ9V|75w*oY zZsu@p(H-{KtU6*GpDwN=9^_*}T>-}&JzN*hTp4|@E?6)n{3F(@2R(Fht<0h;Bm5oa z3~K178|z{F!Hm=s4B}*mROvzgEHHKt4L^sd;P~IX zar9MvOv%FNqYXr&qDFmoTHL+@F(vg!PuLCyu@wif4&yD1jaA{DCN>n8;2(Ijk!a*S zHjk@BtZF2tw%TQ>0j`Lvp6UXaueprBsHdj!=lS+$gFjc=pEZ0A)X>eTyXgKxkqvQq zMxn^By^F=fA{9i+4OpL1u$UXLKJ%Vkxr>e#iZGGSb{W<0llbz*fJLp6Q9P-WlE16LbTIRqz^Y`FrWH zYsB-uvwk%QU&r~6Wy^3qxHIB;7s`Y;U9G2v!m$6d14H9OgRq#R^sZ|c3tXDw@h5qC zYC%*W??^l!w1`26dW*VE(@@=mv++T1jFpN8um&_VhwnTwFS_MV0Nywxb^{St1${)1 zVR>v%NQ!t?qCpg^C>%RB6mLv(uN(_kgu9t)jJ?T1LN;A6Ibc6*$P@1* zx^^?2x=Do8H#U>6pSTwbX?Q;|378|7`oaD(m-gQb0{(>h^%u?6_cqha{^D~gd`;|) z-g}GqMgeK}9v}{=doEGvHqir(4!ccUhugN?CfX}sRSgusfoJ?aP%Ks_|4LPZ#ErP* zhe7!5Jt`P1rl^yDpf?9&ZOkR_?Z6RSK#$)pMj!*Qo~ z=$+zGb}XK{ON>$8iw?Y7s4B`7-+r(7OI>|FI&i2+R@9y6qod12xr*5DU+)vQ<8br+ z;!*Y03v}duaW_tjAHe3ggQh$no>2E)px|(^4yRj(i=N7kXmEsp&;y6^NO6t2;37RW z5`CUaUyp=TvLKrCpm>-2b9@xIQ56{vL5{7W_SPYK|3lb>(bB4iAzFPB{pVrPO+ma# zmq*2`{;z&!#?ypmjTAZ2v@wv=QI2cDW7za7&(S-NVau6ICmsU_If1AN@hZ;Fj0M`` zHcA{P)@Gxk0BWIoS#6JDRJXtuQVvsh9b*T5H4eOH8>K&vX1CFz$MLqu&QVIa*oKk( ztX#Z+=`61htswzzsDN_{YCw6W@hqgu&r{-N|2pdzVM%<^_A^9# zRsDVwRm>ERtAB2)suZo%@tdPP;+4#DTE0*#Amb-@K7G4TT<2M?n9owlBJqy90)P(6VhjuHri-Bz9i#gf zgKP%SJBtC9d5k_^40O(qY5g%mHcbdHdy2t1A-U@IbbnVOv zXf}ta^d;!KztY5)#BDiNB0CIwTwWCi2x=@S6++vJKn^ObdKn9CHg$hl+|Lbccp3A* zi7vd%i)#|4yn;=&m%FJ~+?}p0^5@frYeYj@-^!N(S?cfCL?14DlT7tC>zOoe zji}WMn9Ce)kiv)S;flkdA0i6?lX`2o9-rNT00SKEL4X0i92U;!vr*v;`fQE3J(Ope z5wVN0eFuL5%^m@0+JFIvV8HKaz;}l) z)39ZxneV!}7FQmU)IuXNV8xy29)ak47$8tyn+uNUj@>U5Z%GsItb=C-_yXgyCmdqC zmTd+Lg=_<1IXdQHc=H;_G=w^x&7uvQb`9ZE%rXA-fB~u{mT3tW3dVayIyQ_MT>Zm< zMX(FR2v+{B*HlYFK3wK6a7l!^S~XW8nSjn;#9`?IWnF+s)O;e!W>^{C z1`Kw5b0Y;et0Szd+3^@KKebB0a;QA)=f{1e5g)BsCmNO~w^15^x-#1+7`;$d8(0qD z5pAQS;Q-H3UMM*N!KaZ@*qaeQSqZH+=E5aySqFiC70NbNy2Ig^XaxMjuq7JtT7(-F zK2+{5CY)zRua=rTA+~rAjYz8#jJm^)XM`VEm9f!mzV&{SLR?^GVx%5)B)IvM5!QIw zM1irwi1B+xY8JSFmtwiZO~jnz?MgT-X`#3b z{$R~=Y}s(AB*b*f1n7zY9M-@MNXZQ1b&ya1FDa`9<*3_+rH3dd%_fFeDp-=4iEH7d zXS>i#zq8O8nu!1zMh{D7Y7#abC9Tlm;>)11tLj!OpIE;M()*{pyY$Rw4 z!~hI*+=0*dwH)_jxIh%#4K$EwFxH_Oj+i@u!h$(SY^Y>LFpym_%4jAKK{#wAr1!+B z4h%p%2yOy4Z+f}A5euph*-I$xE3KznHvD+gcKoCw>Y#@4ff}ymXcpyh@YmP6n%!H< z$t_kY96v0?Nk+W9m}rI3!+u@nSWch^D$uaa-U9f*GBC_sEH#VvSeE;D%o2X}gyL*& zp_!4`oHxgK_^mXkIObqF$D!DSf_2XivNKiV9aV=phlaGB*Q3~teem&EOP|g~MS3|C z5w~^KA!I#}xs+zsh&|AH9teoh+)+xCpMtn|tIy4bnpRN&HuK@RJa87T@E~RfqriNE zDbLeTNs0K3sS^LAz5skZrJ=aek!6?=Obs%+cxnLhSB4EB&iVpzJE&md--@k6_5^?7 z;Cw9u!7QKvqb%e@c$3NdiNxm8HO$yf{Fwv)u{N;@VH_eT1Du9uA;DFP`04yx2oLcC zPERCZ1u+NVXrBn!I6qn~!?6sfZIl$uiN!g9=m$0eA0)ox5E5(e!fo!(7zR}C8wwv& zL#5D+AI2*XFOqj3zUG#P;_=`_Uof(YFt*N?;0$&f&jgvTJ%CWCQN3LySgIffHTrHcE;iY(=&9G# zkUi_#G5~UKbc`ot0|!#wdf|*VN<)mz|8;lG=iSWNWIZ8gA5P-|34}739S1_mT|)5t z0(*r=qDgON*(%+&Q3QKpyXb3fL3wbjZe~>&D@^lHYyoC|S0@iB-a+W8-kSJeeL>p4O4bA{4TrDv!2#hb$eIYH z(QTVWhMr%9xD_u4s*H+G+ALmH)F(aE=v`>BPegxu7i}WCxZzf)2q)-{t>O^sDR6l| zrc1k^9#;n5N8PuP-6om?R!Au~Q5El%gCZ*(!M#|~Fp?uD&Wegt^sfB--j(#i zHc?x>FfqDs8>{dqqMvOSWh!bhm+lk;e0z{#iy)W6_l#uPyi+9mP%VxvX()h^NZ;>7 zWq@sTX{Wf}XO$>L;c(bk==NRW!B%}Z$t@&WyBJy+DPveeZ0ziVlpZ#ca(<<4WI>vh zB~iJM;SVwG?Pzc}Y?07N2EGsL+N$Wj_hCO#cf)$O4LYQEFZ@(f=ky>vDp*Rhsy>576MN)O9~}sjpEYTciu&;_et9dg=Jz&}x3=(#(mp z<#joTw(Rox=!FB~va)DSxS3t^jIQjCE2Yqj_@&b!)H~=2WB3*ta!51+lH#00VkfeC z`yUqh>e)H8FirMH5D@aykub<;tZTlL0XlsHvKU4j#Y8TpHAgXzuhZ$HqE!UY;FwDE z1(o4LUhpv}0-2a7)D8k|!(P9S%rC_y)K+F({W;^uBvS8VLPr$QEywUyQ)%TfQ5%{X zqx%)or^jHTiAL)l7YVBRvyU!}M}^V8Ct)u7F1qog_*Lqw3bR+hx|v6jC@eYV zl0_4Q>Ei2RV+d(yFwmo^;0y$c2K2xgC{_(<+8I&H!bgd&IRk|^uCRL~(Q284!RYi^ zYzC*v|1E6S?^Ba+;U?Whw|on=dlyak7OM3wdh=V+3WkyM--<&2rxV@qC(rto{yu%J=BC@6qNiI{3Y%y#MySSb?*p=U^g%wt4ZK=*Y*SA7Csv zMi2Y|O}!WG`awke6_f17&;J1XT3>qTM`2|m&i@g9*}AmlM^Rs&KgnZB>n2+G^+yQdvMF#R|k@RMlP;3c~Ww;2LUhRfBqWI|OBTcoa;CtaZo(+&P{{#DxilgMG{hhsmX zzW@XI2?i}R)cZWFUtiI}^DsK>r4#32O8xg;feZFs1sANluDJjM4>bRI7etog{lljO zui7+%G;<|faDQABKh@YW5gD8;tHCaeKv0)4oBsS+^vv0`8M`aemSftC?Q+8eArlYT z>~zO3VzliI_~0a`v> z$(S=dH%!OQ`TVr;fRyx%BJa#M+$EOH7B1tru<^1#7Nl>$4gB~B^DT@SyMeJy{&q{mjSZ-I&1s?=0KKMhhxjKIWz4Alw1&mOiAA`W`s42bFer$Z>pf4BQ!S$?Jc{fS1N)AvM8|Ejea%fL&fx3mndP*%>32 zua@OF;7=A~gfWdRall)r*wFPsf)5=|g97;b&s8WR$YZ zga`=xb-Z|l+YZ!nn|^jVS#HU89QeoIum+i15 z1kco7?xr-n1kh}On)08J#;b;_TuLxy%rokuvkeO%6=p#hloJ{}MZrp)4vndMx~y03 zHJ?QAzc1(!fq(}~94@lXKn-D#*Jl*|NTZI_8jFSV*%}w z9?6iMQf1hUZ9_HvJs|wUS%%Pjw5idD8M0p*bZ8-ON< z>v1*e5Yw_unHI)K2mXb5;w*3BEN{5r=(9|jhtPani0Y$e-Ute(0T(YPOZvdfT;}UX zthH=Bg(!OaRRgi25>U4>R)&qrTg>K3A12hx`Y;xBZH_J#p{mnR2R>zLVX!Ij(`BrpcCPXnDI=o67*1+FyH$7Sf? z8Me%KrmK6HxdDg`%)niu;t$vZD&g@!x{xP^9^z61k8`t)NrxEff^N|x5(oN6a6iri z;gnkJaP=Xg6nBBkp=ci;5JPES>xx5IKXuQRjWjQ372-~W`^bDZ=e@4ZmN@``-=8h( zqX>%yScD#0G-lb#z!iD;K>TK79y#lmBx{TiyO*CM(|f?8#tahm*7;7G0v)F2H@8kv zK!F`&oDE8^&15ZmDRYXi)IfFdB}p^UU_4LfG_Dk*@ND{NOBo`j_vOf-hRHXu03=<= zk+lL~z~;B@?CU5Ll8q2Dhs=aD3@L%!&Np@9&luxwk0Rq+oTr%!L+i9+L{FnUknFCU}c76m}OVATV2N z)F~|c7a@CqEB0w-NtvUW3P&^bn`bw`8H3?qGd5PEKQ$8{xA$cmwP}u_x zNgAYTLIy-)4`Lyh2RW>&7m`GIvaJcPPR_G0L8=`rlNQS|=O5?PDZEY^zU2DV-csvM z`${fA#;iJmB+wD1NG3AT0lYeT564biM(Id=f#y=J7XnyDB$$CbKHOzZ9-9{5&Nk=# z;tC;+ZDa=HyToSFj+*wHpKiy+pdqJJRy8CeW)=jEd4hhAu~UJTMXhVgU<-RtfnlSv zfe^UrBd`%E<}dISyt`aMc7GV#md@vRF-ShD^;YzFZJA{gGjlco_&B?Z6O!#WPw&9Z z=!g@Q{qK$-mQFTK$LJeN{INu?>KeaHf?0KBe!dr-tj=+^-amvV!CxPHl3hXz79bi? zMN7=)q7v*-gu z6~YpZZBxkM0z2h-15%SW6o*|E35s1U%PkXJjO4tSDBuBsBReK8;bfD6`0=tcX>(nf zR?lK?IA<6-7$7Z4JH{AoTpN{ld1ESFt}Amh5qgd%SHHB4UK6{bU7pNM`=2Xp;2K;( zWAbF(|NXT(zMJ08lLP#IP?Bo=PFeLNVn5B5U(t+uGP4#S>an_D90#xwzj+>~vDqDg zM}tSlOZ)1{>^k81=CZ#5LWCi6bzw~qSF^SSf``4)fj1)~A95nFP4Z=SDy|H)hSGuk zzQ6^D0k%8w-hY3-tOK^O82q2zb0};%C0tx{d?7EXDz5u&e^6Q?s%HhX>IQynLFo4Pr=hErrN$ zeq2OmflT*Vz~X)yTp*jFhgAiV!@%DwkUh)ekRUw8Z|2pqb`#4?z`Cl}VnJv(9`->v z`jBhLx(0Y%0P=-8(n=$Vb=N{NbHQ&s9?o8P`~I~-@@fIgfce$pvazk(JP&(e7RaIp zw74`lv*1;i@Ru<>J}(vi<93uOtRhb&qZHdwYzaY1!Ic(I&)`i5@()*Pr!N}Hf_5N0 z_ML$^gKS)8USx@74R~on-O5A~H|}9M7NFZSba2qX*)><(T7S>{&3} zMUr3(3xNDAqA;c-1&7A=$c8fmBE|j^A&@VI* zWBK_`3of*f|KApP3?XrhC`7tS%@{#DYqGvgKwwE;!0gZRn)U5_lVTDv_RE@hRjdK4 z4yD}#yn1)MM>RWzq{2RV|-l#zw$eYKiV8arN#R$P*QHnRX5ag?Xx!Z+(3FC@|V{e%3)rAOzTyV^M zaX1AV+P|L?dnRU3XAvTWU8u!f_!UAaI0v5w&6xC7V+;}R!Q2m!0?W^QO|^i}^nhfc zP#Q#f7BvD^iZ_%>TxMl`V^ig35dZ;qr*2HPX(-ki_JE?GkQ-!xx&OaYQ}h2Xa-#7~ zWMV6ufEw6S82A4sAdDei7vfYT0dEI;5nY(3CjSpb75s~$3jW*VzbPu=e<;c>6TzDt zN*6LkHMH-wbu924FK-j&kRDOpw4oB}48IfSdN74muV!ofp(+~dAT{~860Adb7-iU0 zc+^ow0%DS@9Of9Sth*Rp3S#4)#YWr5!mTgF_|D;U_MX^{fCw<-BQ2@XjT5l0;Wi`@ zrrBD~Jl~lhfH;mG@Yr5qTnK{ofmi~p@UtPoIxEL1_Gg}GgpRPpIG$B=JPvp8N#_Ux za!UDeUt}XJ1{yFvD%KTNi@2x)b}dL*7bd`uX7qr#0K#U0KE!OxdN3Xf_L#=6%=C-T zn$=}`=V4vVWC6XV9Phk&=pN@ES3EVeWlHdHHY$JTj!W0=yov#wCN5>hdhcsGt( z;EW%|>L`F<&%h;jQm#8`iyS{fONRXEo-Ydxi-`0Ya-a zZppq!rPa-4t#Yp=r}Lz~q=Yym1zo{4e*R{q{mn{+wE!2y0{mjGQFP?!*&7lD&D9fk zK`QjJm4dkdk2}yB^4NXJgM|SC17L<^4_L_C$Q6gJ6HyPYj7T~20T=hdimt(Upnr&` zXzfx$LA*FPlnYCa8wETEXbGqy5UoanYGdo(#SegzVofsJYhc50b;lNs154lxx`2(% zNdUx?Fio8?M>v?C!cigD&`5HD3-*xzgdU+=z##yj0$yTlBoU`zRU;4tt`q@b>-Ai% zMqL1Lw@}xx$g_qQBd->S7>(>5!d$k~1xrRpvk|>pBw@0H@`wJQ`~2qd84)i%RwT28 z)yOh5Ld(%Gq{yQ?=&d4I8~(Fn_#IztokCZNWW8p7gaWujN+{EK!f!UQnMAc>0J5<0 zN!bR%99LnE3u&uSux2`FjDb@yKmj&yT*clA(9D)HH_2c>0ak*6c(ZT|6G)MeD0j7# zjnF$FJXCV;uC$cNema85LWXumE7`30RSyee4wJwPu#|Fj&jZD%*0f;pTB9A~GS)Us zhZe=9p+AVPVpdiL`v$FUC7Wh4M_!?t&Ft5Mip%E4>3}t^{L4lEw36v9tu8%t%5GvfT3{(GHlG~W45nwU z-%iiAmJP~*f(tDq0ee~^4xWo3!fQd-SF zUEx%EvW?{_dbtg3ItG2#M&@VPB75wKc7YWbioiTnV-|&qWm1j5Dqwhl8VOS?to9&6 zjXD?04rpOovDMJq#j*&z1Vp585EPakm?v65P6pU=D2;c3nchiA1z_%i?`(S4@=2li`XgkKh_Bhyix!W#0xIi1^V88DBs=@CHNXN#kvke7GnrP zbr6b$4bX!q9&WmtH^9b-B?3@q7PP<{R5x2^y!2XIc{7(tlI>(fAmtnFzz;~x+sS5i ztpPPGE^1(OValmiP}p?iY`9vqvK?FQe}&Cku2i=lr)*O`Kw39A+5WKo_J`m`8k-u_ zffB^A!)|jIj$D#$C%HR7(<`S29pp}cnf%;A79js2+)<8EW=0oxlmNwhelNYyNnR`( zVmpf1IE-=TxA8Luu49U}E2r=ey!ST1K)@Sn)hDcE3hHl*)L|r&-2t zRh?zBUdU_$LxVdg)LCYDe)YvN?5@YD?}_hR#&5nkuRWcDxKCVFNV7UiE@!c(v&>R= zO6qeazGGDbqXy-6k!#!hzq{k*?y%}*u}l>V!g>ji0aSMg2fvZgRVF7{{XzH<8%Qjd zV1qCKJF0v+)UT@y;kl1?m9;!OrRkn?vbc!OKZFFd!uyZ~@M~9D13(^DE#nh2<9gAW zV8BDm1_XU{tec#cJjAi~Vb5{~&uwgsj_ocVM1Dl{d=L4BqLfAV^^%V%>g>JLt+%W$ zloc)O&C~E5GNAGSWxDKS+)Z@0kKCEKJqLZ{4Ig`%`2zeczkNts`^p|_q0poE>iuYQe_5d{jkdc5(Y_gZ)*^v=%Q?3|nTufZ zxOAw;JWF$LmDhRUp*G&8bGOP!vwK()LP{2++Ca`_CWAG}W>J*b1&M)^z&>JuPoow1 zgAqkBXX$|MRCrLS5nVDs_U6(XKi($qRL0Wv12J@uMW+pv@VT77q9V^M+|fL1f9S-s z<3hL<4#kmxafl`kmaTzL^Uh#7A4xkm-7XI!qdb3zjNs5~h~#Pl4-An_aCmlztc#*z zdxl_2X42n7WF4H^mic#-6&Q1tRR4Ie5^^lRNv`4-{<%F0kodmK$ElN`LWxlArrR!92}lh?YHis-5bvvH`N{?E#UrcBjnvE=&^Q$?7(GlFO877h*U`*DbD~%Q+-hOK!xCI z9+Uv=q<0@gB=v`CEb5NU$d2y9#A8LfFk}+d8-?*YLywJ;%TTf-^C8T9%jmF&q+3ND zrr{6Ey6GF->`Sxu4ya8AcoayN`N;-a`>@Q*C`3R$_QNnp$mzWea#6$FMZY{OYoW*& zE+~rtTd9~LkH`jgtPND^V!G)O3`bRT#v_sxyjblqvT^1jPYemd-q1sd4(>JT2GGbc z7}R0(#u!;23Ckz=u#y6g$sc*S{r#AXW>$G3C}`LP_Ud}9?r?CCtGcMgfw3~jetd0y z{BL7HT^~~RIGE7((rx2pt<09}zsf}*F^ipvPQ;B1s$Ff=)_7)|OvMnd9|xAwk_sM| z`CN-RV#^M}n4*iZ;abeYAIGXaOe-G;#UROu4=1T*x!i$){iht`e298gfJODC$0}f| zn@lfM$d*VzI#wY!CH)Q$uG0nEq*B8?Mytom1txvg8ALx$mV@mv zLHJ-X^_wDx@L+D90^)j_zM2Ao=frplOqDO9_1CA$T>ka5sq%g9!}HVROgG-7*$f1> z{2aY!hFpQnAu?vl?Z9d}GE;tp!z-0?1Xe=kEZ6~;M|;eYofK4=teg#zXIO*1hRzwRTi=6 z@F>Y)NapD_Uv|M^)_ggXU-F;%c&UR(1;dE$qW%l;7DyIeAY1zf@P=*-ptyx_MxLaC zg|a!vVBN70T&IF)A!cF#{j?C&b&^sR$u5EE9GeP*Jp`Y=bnhbBI}n9N3Hbt1sQ6~b zA_P)zeje)z)u_%b!jjxX?G{4>oQ!-i$$3sMECw$=Li#fpm$uaX83ZS6r>W1#?X+Mi zwx_X_vrK-U83NRIaumsx@oz51~F@wmdozwWXZGgMx4>J zc-1#)@3Yd(L@Yo2AlP%^KeK4CIw}QOZF$ehsfbrw`<%VQoqSH#*MNG;*9R!+d2sm` zqD9Zky-K}2E>g!&*5I~)G{O=tWJRE|qKh^!va$to>HG}DM74hr3^o&GdS#Pzq>eF5 zL7rKm#kSb_4v`|xJV@JLl)2$z{=JN`7>lhAg18-72YE-PVLVOR3OOuuGRI}}I>yHB z{EnDx@Gb?hU6m_jFNBF6TOo%ajjh8=aug6MqA$q-|Gq7j1qojIw+I|g0KFj|OeR(|&rk?)P8V#)X&feL;;V9vf-1Z# zK`fc{;7ZvtF$t1wY}jE@gyE_y8H=?fV5!Kt&+cY%(bZ{;`v`~g2^sM1Ds*bM1ojTjGfbI3;zqd?p`{yTGpyz zldnx1Ht~}0H3)la>(X_v$)@VB3jH(#uyIRYL#W*)TK}5t?Vqs)h8L_FeT{qy!t4As zU|V^#c@0+LB|5)GcJ!ZnmxB`@ind-0ey7;v=0Vp&RK5<&_c>a+4%_&1(G%!%nDo^0iJKmBLGADRqLFaZDCA4Ha zPTXsLPPe};H!*JtZNTlH(0~o#4s~hn23cr@l|s~mQa_0fY>-POl25y^4vietM>fj5 zIBVDE;+x!gTD4K8p#wWNLfXfbo$11jNR@SOg6?sQBAc)}cG2)n@(|8CY?gU}s=w7P zAUn-m^tVc*H$zwZZ+p*e#`d+Bj&7D6aZBhO>}gY|`#Z9e8+X#IcVr?qn-|^zPaHt| z-hni9jLyCz^Q>PJ-<6Y;W6}BV$|DM7_WQQV#)Lg@5_F)b)Vb=OpT{L zkdu9Hf@%=OwzbM%lN#?wcb3z&`(-T?*BUq<5&%Q~Lbh<~Dg zYU-)RQ{76Ps$hBQQ znaU60RU}aSxr3wIq4F;c|v|! zcms-qFhkm*8qZrci9B_;^$});Jar#`L@+!XEArHXIHSR*WS!`olX8g)^nK-XH=r|G zd-D9_kFyNh5yjIHM0fEN#IjBl{YIAfwzzsgEu%&iffPzSEjQx(1E*zPe5aTMZF$0q zqrNlpUIlfChM$ErRYh-~#k@3&esWfBP}Hwg$i|)|GTQ1xyY}R4LDsclTtO)xj-Z1c zHq__|Q!>;ru)>fRti-bld<>}pFe$7W8>4+&F~qhZjCHiFt^N$nXr<4udk*pZrMOW= ztP}n^+o`qR+F@*+xmBPlsWM5M*NR`%bXfrV<67(OQfI)x$7UPThv-GrRdT_VYtHzN z4!73ptNTBqE3Nh8%C*tsZS)KUrM&cwK+{~)MehQUF!ZEPbA=4oRs_Q1&RH|pFM^uLP zOrf7j^~CJ|AcnbNg97u$b`95p3vgC2!ssnMM^vm-3+v^9&iWHHu$}%Bp5D8?o&rP) z`{@d8X$$DkiS70N>Ici{czeB*_mzJ@HMHe>gtnR``ZdrWD@*hTl!H~KUJLid_0C!SVyc`|zc=8dD#gP+)sKGai25|&T3G+{O5E2|`5eEGx-`%mC`B|1 zRi&{w=QV&-v6en*px@`&n4)CRtmXa;y5$AE11*Vo0`zV}{dTAkkw$tKF1lORNWVqh zL8A5$DhJ@kFC~(zBQb|c=5~1$5RG$LWL7bk0N`g+I7rL$x z^E;ZR7V4vMxKfD08BHx4!=GGUr*)|;rC zr_q;<_5R}R-53`Tu%O1@GduOp%6>r{_sN{1n54>h$+SgRClbr2*Z9_M*K^8!dl(Lgbz zSvCu{c4c$AYy_#lG=2^++Xpq%)0D>aXfwSKYV<43^vBShI?eI=uh1>c^(Lr0^K^4e z!#R4bxjs~@dI8cur$U5U=%)74Ugzwd7W(GYAz?e1C zDq4epL$&mD+EG_eseN>wdnh=8*PQ&40@1)WS7Xz$7p=J+aCl&n<2&IU`&?sqsK@JC z6EY6FYtXh6$N)Ie#nY7zEQP(yo3FQ2QDm@vzFwCFlzZ~^d(?MSV1LNFC^Q8TDSPtt z&e$;%>gm(zpW1p)<=Ht2E%Io~{J7%I5YWLC5!a9bG07GHnL#;XqGM6Sf`{C1toDZC zim{b$1jhTVi?{(FeV?tRBe*%H4X6g{UNgS{H>sXJ>@qyv%!L75WLc_hW>`4P=oAJ| z;pf`pz)nWXmWe^=^`EGISV9z-(wI3RSFpgqD5)2iC6gOa)l?08btJc@J#&?LB~$Ej%L@=TPwgexj9$Q zM3tw}x%vWnIIQ0X!RMQ>o`=k`lfwo9flhCv&QvJAERaT5He-MR&^=7q#A#>I!W=zc z!MzveBjkA5Fkf#PkfnF=*1?OsO)qEZ9g-Z=?$PpVl8G1Y!=pE=t$^~_W( z$!2)A-YIDFbJknoQF7Cv&eEiVpBcca&(VXZiMp12g>*iE*IF{p7ob6zx^SwfUU>-_ zjT1BV0^|p-&D6UA18e+OP)sX##5bnGME!l_Q2m*xkA+;@cbv~IuCq)*-p`UcdNKBi zlXViBlTlZ%0jUhw+ldq!mykTCVpJv_OxGU)Z|jz!=cwC`(9jIMHa4cp4DcPK5~S&X zZEe?bOk)(sP@&_z(20^jDy^)k3$8KPcnL~O?Ww8f zTlr63zUi-;dL=S3N38RsUv2dUz_mg|bE9vNJTn{nIglO;xy2lCn9qLvDOiznTp=)YjK(OUKP(#1lv&pN( z(fB_^25rd=WYL-f(nAM2#{22`o&Izh9j}+v7y`QnWMWHGLpHHdrOny8BZ-d2W9t}A z*@m9svuk)!djpJmGz~EH(b{)=6sSOWvCj=Ky!8~H02Z}?iW2liK$%9t%Ma;0M0DZ3 z0s;LO+=XqTa~f18+q@uR2_;xhZoJFDIK3W99#69mugB@705kj}POqc9NTHy9$vZ_; z0_CK%gsWuBHU&^Z1g zYI6izy#=w`T0X~l^dh%FM|)9i0rvVN^%Xi-ubd`8f3s<)&_kiw(8m7FQENNhFgw%9+l#Lmxqx*RsRAT!HMN+R_&E&nY(z7rHsm4ZnQ0nc)X(ZCI#1>DzC&BjB z?Rr^EKefREM{IRXn&pPL^&!>v=w(Qvo8`dj$Y8u zlT^iVD>KwNhsuG_?bT~yr})l`;haPXK1c|a)Xs;=>_xZwFlaB*N}oQKZcwqJdeVLs zQ>Ab>Hc42TXo_KwCWe=Qx){-FS2PIuiP;2;^rCowq_*J_8 z5>%%D!`OSkM^$VO{JD2G$&x!877`$Y0Cz(Xqzi&#<01$mDvF9->^@Kwdk;ksM35!} zO0^e|q7YG0u%gd`J_~kGu@|snLH^$}Gj}(<_xpeTe|^5q-km$;%$d{YocUV+iZV4= zZ~PT6Nv*!?H#E-g^tZp2%+UQh1*7~M6C|0c(64j~Cg|U`m0Z;QZ(^be{gC;f10>y_ z1z2#%3OB}g?n}!r5gVXKuj;wmvDvAnz3d+)cH0M)& z+qWfc{n~%)wcnQPT{MwPnh5z@_JC6a-?1MPbHgHv@$+Y`i?$%x7os70;FfB0@tZ(v=ILe00PNR4RX* zECvRkcpkTG_&6VHP^sLXM+TG|dG!QmC9RQB5U7--8yt-u@p|o8K76SxeoU~;yT@EC zN1$({|2ZJDPigek2Fd0K-2@!e96JuL?DT`ZCT$`Pp{XDOmU;I{IH*Zum}l;Z%&TM> zpGRumWwohx`jf3><*k2ErpZ3rJufAShbLA!qabbeM#yL4e9=rKvGQj3#J}{C(7S{h zr58rirt1BN1)W-~``$DT@nqsE7wPQMXxg{lh%R11v~8=tX;?6{#qw$BxDtuRM$uy0 zt-kaxr#2uEuEf7^JyUh)zjG#sgGjXrO9a1)}-w&6i@ z|CjN#^-mAhQZ}yk)ia=;g;Re_kn{P+GlLt+5^&jBFv1)4gJ;1vx9acCf{1R_6=w(Y zTa4RXhZQU+itD>juj4;w2Xh(yf^!h$$LKZZKz1kSqs|QuM)tey+~6Q?xxalbqVrp| z)#nArc>Z&5=_~&goIpLt#m5E|us^Q29-_pGO?@{m?0Ez6GtEkd>b>w=+T+7#uNZ>(siBC zh(f(Ek?5>9-`^mmk6BmJKwovaTzOazYdXHZF^M!X^K49~?S1ahNvNO{aN~pep?bwD z4ffDuzDp!QgH}F*wvVqxc2g!^?Tw7o1vKUh8_pd@zE&rqiu0ol^+qg})Kw4$xv>m3 zaK@}4n>%Z8*^Tv!Huyb{7wKLN4JB7Y+_@m&_7%hw5jTV zifylaK#jN&#N`ixo3v26%jjS@GSIZqoPY}b&FG*t(5ZiMuwS{og@$Lr*6xPzWM0>& zUW{7sj=tgIpi2cADcBKnb?%~Gi9YmcEQWLRzb_7Y`I~>x$xB$_T-{ba%Jt|j=`y{r zeX_6}=U{XSgYX80>nC@e5n|d{0AJyMo9gHJ)@`cv~$x}b)7j7bSb)LYJlpB`Qle1VC)$C%(D z?}ysWV}g4;#+fiK_;&)&^3fB5z6re}si$p#LoJzrGE=MHp8$n@TOV)}W|?hz-c4A~ zZqnc06g#9vjwZKE3QkGP_#>&mn*{lNzP8cLSTqpBr%h(w zGxR-^gFeI+eK9%c>s7pB_#&h(Ok!apbD?NU$;@lI&lDukS+x_VFizr0I@|YFz&%P| zcx&(s)}g(o1Hr8FI2Q75b^q^JZeHwP09tSHm~WMZwvb2kAD3&$oC1g z^=Ai1d6K|?ack9C2?4}AY6zg7r-P;m%2lF52R()twgy4PZQ4f;;W2_)LQGO}$lGNO zsg$Qza+}e}0x_i%DO2j^BRw-%BE9XExz(KNp+l1l^CGLWQ)Ll({Sepq&sy z4y%lSWtyzRV?3rQgNvkTW}__G1k%n{AS{A%_uuLDbAqbokiQ}FB84`MsDlB~;4uNk zq-y?i4!pOXuACb*JH7`3jS->54{3%lC1mK>X38RmSmxhksfr1rmS%B@}4ZVEjP<_N zz3vYtvX*uCV|btBp(C5b>49K0J^b-Na5(gKz=OfC#GIYU+QkoIB=H}n zLPh&}P4u88!SKe*@#lkMg}n=q((AGHOS}<~#dS-9s&I*SBvJuF1ero*zT00wBrK3? zqwo{H>A#l*%?iKRC57s%mf~Z06e(UjGAlhPHPX9arS88J$}mA+vlMY|xt_Ze=f_ID zYAH6PuXM+Up@$FaqaKEwo8nWR=!VMK33KVf$@PB2!@;oR6u;V=`Nqt$hVb7Q>HKJY z^9<_=RbgXYxh$xUNVn&*Alvh);{NGEH({oWD+USQeedr|>e5eKW7Ci9D#k8@%Fy58 z?-w=IryWWj*-X=9LtQevB(3`_4|WzWWr;o+dit#hy7|+o2eAT6%38g4MNkc+*}Nj? zLWS?l%3vXS=<=1pHWN3bod(tAG&ReN7Q{wTZozCL~x0NJ1~Uj_YsU%$5s(RPk5 zT^&p+s@={d^Y8Wi)!2JJ*UzsGR)Yga6*oKyt6xz)edc|sy%=fseW@F{dSkLz}IOo($F% zzFFke&*vrTt5+UV+P##Nk5CUREJE_q)Ibg@F>}pci*`|8*RBmlH?$RVOQK&}K{@$1 zvsU+hDriGFO@i9MX21W;#kZEpg{$X0a%XUN4nwNkD7{~<7xTF}jw9hFnV}%$Mv#tp zSME+=)vjJVFjKC2I=IMRT915-ttb= zN4*d{?mbwmUIdf;n-Y4@rPPhPU<2Fu&XcvbZV0FmzD0leQgB4`zl-u0rAZT&;1oK- zU66S|AN_LBnU-T;4n_yB5^3y2Y3O*p#;6we%hIAveomh=__bWo3(lsOW-;^=v9QiNA*Ro zVpM!o-~MW_g|%M$T5z@=dQAOt3S;-f5;`~2EdKM8K}s5$lR=HOXQ^s+7Jv-5SYPlKcUah^W?RFc@u|1>D!h5J7RPEY8Y zKMRgW%=_#!*xh`6+~>iqO~;u+-`2UyO?k&rQ<=|d|M?u6=1r(A{Q|Mad%E_@FN5ix z|KV@7!Pn4{qBl}mYRqYGMM+uh`fq|mef*Wd_w33zz4!NE&f9v*_gF2T&`Z8Yn|N7& zE#H37sUM&|pXs(gp!KfSm;8Wd`fWY*$Do_{cm^SAgq`+lli|L{Rc zk={2$9p@ADaT(HR|5Q68qfU?%eBU)-J@aatH&h)x*uB98K`e~gL8S?hFBn0KV;ZRr*D6>vBF!XCNcRu z*Iez3T>npVb-u@;8rhP%&lJIEskVVoH-+j7PS;tQA11UCd>mS>4lmrHWt2OrRTrr8zpK?OkGy{CFI5NWg{{@Q z{_ll)%TdXS+G%Z6FNtv3u!kB6BK2seP8C@zNhz&lS#o&hrXsz0Yie&j{PJY8+MVrG zq3{1)Sexvij!5`#n<6}AwdZzL5BmOBzt)y@qZ5B2!q-(^V?BE>bqG)O$9n;y7j@8G z-HkbGd3SZB_vY*#V9*=-=pO9cTs^giIvLXYZ4Y&z_nzK!Z`BRW_T;_QOg^^ltxm#Y zJ-Dap;_sx2Vo$Z$d#Sc%FGY=^7j^VXQC02eebkLocjNbc)dUdb`rhgjpWjYBKuIv# zk^{iS7i+g4z);@XwVe)986QdHz(^g;$GAxC&&Si)ZTM)_*E~G8ubSj7uHD{O4f6c? z32Wyb+E48(5jyLO>y_0m?xz}33${>qy|X?cQC`EnphvsnsA z4bsDl{1QFy{Nj{;;1JcWAy@3=3I*m3(4D{W4`vsFFTWh38f0wPsm)7Ql$q=6#b>bH z3kN1K!VX}-VjT@oVRdoTmD1v9GF2us7;1u~4B!Hmd@YQ=`qk6f5{Qo;pqiAXjPM~B zXB%byD%4L7PzTo(_eZbD6CtOworSb$I*z)MdDh;j^P;MergNu=5U6HIx0hL%;J&hC z6u^9nHKUZI^;QEU&xMDr9sjx{TS3`!rZAq7V=UsJm!dO-#9BGluBQ%!5)|pB13BQu z`k#TSeJjK(Ap@QyKliu>>_^ojs{LqJOG!*jgbaCj^`JvlRcCY$LNX;5K_E*5vK3!C zLNc7tKNFI$8OLmVY&o+IRc%|4rL3Lb?+}bamLJ7|%7vLf3dPm%FDw<_Ak`%uC%eN~ z!n+3yQU{e#1t7)!WD=F=2{a*9#_B=pUo}M}!Z3PIMYX?F6xjQ{zR7E^m&C*HWXYO{ zur4i$gs^b82=M_aMlv}m+#6eKN2d4gbPEG-U5;YR7CG$S1wqo6rEXfV6r8NmF zp$gFa!yvIK-C?lWtA_hvc)5D|Au^zh$ki^w38)2N_J>VK%Hw_{c}7v?e?1aW4H=(w&ElRsCNujeVEI>hpVnZ%6U0UNGf^h z;kaK9+~^f28};(5^goBI*E##I9ijS_fU;S!azaC@j#T44?@zsGi0aAdeRqf&!AIYt z)HnGG&j<7?B_rL@>OSo0di`N!%_<&>UjFB+mKq*8R9)=-MU+UH?sKO4m)PSUI#cc2 zXfgqHyDvb>KmT#2Is!Fh;8|)oX^$T`OMT}1lZy1zbJacY`yS`1J(3f#Bj{*P1jMw!-p!mOdhtE8!vbS8xtI~U1u0AUIZV%L%nY!c( zwY+XU>k9ubD8~h*W%Ujk9gX=+d^Ebjv-KnW^pXar_)AkWr}sWy|8pfBepCDNRWRG+ zLlU^U{_FRuy26+-^m$7Yh zMUUZI53vwYKa<#KKK7R+b?yB=+2y9`Ky)0Q4#sE3#}IPO@#8Vs73Rm2Nua{h;n{Ne zIEykQe4HnTQygce0Ln$S0LrD=l{My-Yo!EAdt7o^N}SScq9?^r+WEJ5*=F)N&EsY^ zpOjQ;E)C~+*;S_DB2o*=4|kJ3P(IPVLit?cWwY{$jiFjTAN8`W6#op15%zZ1O) z-c9D;@!mM^^2;u{BB-26%K_<8`^qyVG0jE%IvSAUn+RZu2Vnr$YW|a+^2PYdgc6 z;UWG{^KSK~dTYF!y-D6!Z;V%S{dLz~bM;kMUUB)z5&t^xymQY!>&!DwAAZ`Yr<`1J z(uv0%JM^f-4=)%zc)%h3*LeL7?i=+v=z#t9-KXc?J-T;W;~AYiL%HI^2^C?ulre&+iG9Z+)ASyq<8ee>oTCFFKRjnJ^ z#`KgD7sDz~t<>wssBk!08^VOGB0{v|Tfe&bZD?$Y0R zsOv%d#6{I0{xbhsGog#jxwnoMKeIlSg^t^E|G1t$4oT$^{q{IDV!$*%+bO1OPm-Un zlcgANN}S6C4}c!z60uaIo@3yqx;9+p9+;`^^GQ8nyy~Q$-02B7mFx3Vkh~z(sKH_` zp_qnF-+oemK3-+J9V2E2G1r#V$*W$^Szm+biI;(A=D2L<*aZ8e-unjCriMvL!oYYo zaT<1Uc9=n2l+6>k1|5@;ErUD2N3X?6QX+qBAc#S#R+t&I=EH5JFujtxiPdb3ju&md z-GhhE^rB%>TLY2hap|9%F${(yGnPRpvr5K znZd%>DS^NpVyxdG)etQ@*!A0+K!nfqtzmrynPpzKM_l1{H52S%M5>712^zT5dI4P^ z68SkY&v@CrBbN?Qn(u8TFc$BpSJ0n+b^=_kR#)7l_AR*+fJ8455nG^-x=~d%u}S~j z#CygruSfONn-KJun$-`nakj2aulTyrBMj9m2Rb>GUTVNN*}x>*$xrR#8&UO~bt0L$G>+kYH0P%_JxR(=dLYI%;=T?}LQ~#AXJ12^ zUNliPB2GtkYhRny&&_wASc_Z1eD|q4U(%2Fr^cq4t1oVulva~eMa}1has76dXh{M2 zb|v(~%WU?t`^Kf&1pxczVJ(8YuO61b3HYtQL=b!#XIwD6k$s(rxn;hwX|lz=qed1> zR?<&z`f|j^jI_+=CqdnZ4Dk^-%C0jv`M_ezZc^OD zdS%o1nMOJ>nf)x*O((0?tv~YPGV;svbHS=eu*(>7keCytPoJzB*D(D4aoKq09qw<2 zCnzCF^e^K};6x@c4{@5Y<@6v4ty0(_;M|-__eCJI>&L`sK!eS>KX)T>&%61$*~_%y zZcN*4T>Vi0Hd%G-$aI@o2rRYJP2UqQJjVx7s^nh&GQEp+wy-%4J&+?a4b9KKyu`hH zw;p?os%Q&c_#lxzAZl)ZeTdZ^U?VaCC`mQF^xd9%K(D<8Bg{Sehg($3ddM`sBvag^ z8&6SfIUNT~QSAmSw1DOYLsPpqR1x-gza-h)=}DWh&U@trl^)R z54uU-Y4uvHJSu89TJoJ&{}+)9%@HVu29ozGkv%91bIS}5igzST3aEVr5;&leUr-_n zsEg%JV%GK}C$Ue|FPn!(pSq})gSadrx^6TwuPl%zM*n7>$=p2k)TyenhB-y?-Ecr3 zM*r_~0%>-iQ!6tkU*^;|YL%Z--~V$;G7*_lE;A|TRhb;m#D0*-2QTg*QmoDP(4mns z8xWzEImBIYkCQigIL%8lHzu+NN3HF64>0G0vl$1r4A{Ui7j(C_cakz@g!q;kXR$=% zFe;UYO^9A~gUmktDlt`v7>0L%`G^2UK>!p@GAZ%Bx->%zGNnouR61IU532MWRz}4&$t2~aZ#QQH8rjAGF`0QV zmF*X`v5UH&MfI~Zn-*=|*3+VY)HdG&D(;p|$Bfb1grLlY(-~o0&BQu8D{*q)PE9AEms*}k+G+1U|2(i|9qoc1228>>Mo$ES& zbO`Ha%oY9w_k;N|QM5vN`viVo?&qe{w}#$neBA_@BGzsiSzc3~M?4Dp83wZu6&FTb zg>#992xTb|xjm?$6}k&BQkxbh39x-Ig##kyddEDFz=f0AoR?noEasWa7B9|wd5_&a z<|iYY*Uf!);h7-W9bQyUP~%;?%S=_NN6%Ch4W;y(Ai_LON#=o+nrBDXH_cSp7Ms27 zA#p;?yTHLi45eiz61KTWzc5p^X?1@pJ0R*{k>^g@4A`9--{Gl6x^xyy$zTt;QjMfR zeo?_FOIt@*m&u8cTge1Iip(k1APWG@u_lY07u9}hA~spVTx8#D6Q=2~VyJ8JP~8?a zu7ww^$UR2hRnvJ3ix<#TLjHF`% zy-3q6XO;xJG8c{tPhKRgrtHU&(jogLXGd0qmC~F;#*I2lEi;~BAIrRh`;|RH;Guu{ zVE{dXt>z~|`qHS-uwi}0ZK@SAz#X@#4yOs@@Pu&;j9jKlj#xM_C(ju=zwWHj47Roz zS+6OaaxqILBMU_pn=wICwK5j6%;6JmZ()x}+Ge)u*xpF!GRUEk%UyXdgB;3K?Xo=S z8%;8)ubz!cg+&qEnV!fFiqlnshT))W6W835pO8F(M;HbcL~Is4rE`@=n&5^iAd#TJ zo4El^HXPPV{lV7%ZfUZ>8Vbd*bx7F%Qn1F9K758svQB%QsaM~wIEE2-nw% zJ5;OVr?Gwlc2HCm#vq5od5P7b5in#=uhUUD*R{a7QNzr)hr`~eKLzfq!-C}vfgvPYTIOnYkpJA;)Oe8 zllt8Gn7mVZ!F<(w-;{|dt{?h_Op7EWdA9}vCqBR~d81fe3#N1`NN|i0lUfTYOX&s+ zR9RJVjs%*s0#(B+Qcdhpk|LOW7O2Jp?@MJ5k5eGd;ouyeXB&uo^z49Y)C)WYVpZ|- znTfePQ6S>*)q24K)tszfPcBd$>*WEleSvCPeQzpzM6|Dk(M-lTB0q*ehRxNB=P9BG zW~gF)$U@aPDJC>Md?7tf($_CkhZa7Eed>srN7a<+PZp}e5f@?Jk$jM`u-4n4YY@F+ z%tyy%kBoZT;ifa(kvXc2EQ=D7G)f56M3%-;G07ESriAbU*JOjDg6xoJKli>qVv!0D zrWARfqonA4`k}5OZcH-WNy>H~laQLA54cmc?ag8{%)=}e zU>Hr<(#Q#hM*3*YmT1cUS;=Mpf->eP5?q;Hey2)}+MVnXkFnLA_4&!npzP7nde`t~j?>Y( z<7CXr>#)T}>rf11s61nbsbg7wCjT~50rja^BLf9FI$$t1saM>snsrEKo=zga{nyNp z9Efxl175i`FN_mx6Z=}r=j?!BhL}T#lBn3eJCVr_g`PhBEUa(PJ*qKjYFRu%sW_AY zju@VhaFND(`io40Wqt$A7jYJ){-3wh@vX6DoTkt3HqJ58^KP7*^lSI1CTs^(A%oEz z*pqvGZ-z1YhZ++jKv*JG9yVhHA*CG0eykT25w*kt2$Pqk9R6KIjam=D5d-{dj@GFO|G7NuWHppnsb~=qRn-7Ko<|8~?&`ro8L_!XSY>#;JaZZ%9X92wu)JTUUv`@6d&t#U_P93cW z+^2fuKkPcN>+g<%$?GiTod%(c0?saEgE1J^*6_uONFo-z~VfXB!@GCq=7Q z;*m%o;PWll#w|FJ9w&lu8bPPe1FAz~dHaOiq2lm)>1))rdh7$LMFU5*oIEM_XqG>q zveX8({ODT!{sXFO*Ugf!2rS;fr$8~)i{!jKGH5`x5O569Lxf<_Vd->f{)V2EN7&d950&*FB`F2i8$G5@P8srBX}s6rNkSjbnmmA|<^HxWpPlAM}M(^fd3{Q>MkKTz>#pfQzmFgNn zrAE4JscO>VgzRb2CilWvW^-EZ1tL?f)dQERupKwx+WE)l_TfD{O*oT~*WuB7@#}ip zQq^X}yw+$wpORcGe(X^5s(AN>W<&FGnv(cXZPK}V(FYD-u+R_O`(tvXN9dv)!XB0( zU8P$-tXeiP9ufuMEsay*>Ein@*2g}q+BC+F7m{N}pne7wf-Tg?=xGnDRxOtL(MR!< z+!zUx&Pk%R&7_c1&AVSMlV&47cJm57;{)@=2X-b;ZHEH5GcDlKSLy6BG)Fh<^mV(h zdN=xR41I>cKwJ8!uM-|$cIxE`jhOMa#&&oC1Vw*u<1$k<= zTy6t7#ZszWAvP7EG59aBYV15zGW7dPm2%T*(l?mkTSDN$@u!jXr*bYExM(sDEzsd49s@0vYC+pi(#SIZIZk z=86s9>KcsEZ?8~c-$q{(9`=pqFOX8rnbwL!tBWC z8`tc5J@OINrPtl5?D^5R@w3YCe2Y#3+%$#0_}9xk&jK=c$@NlV?%8g@px<~zHLhCZ zMc>6sHrz*E6S!Rtg-JZB`UNKlE}&e(HTBVtDk&g!?W36PQ+ocRsypP*8;qP? zA5%RtH*P7&yzEn((N5zk{nTTsf;@jy9#hrzpY1Nc{Z{w4Dv2nS8--S|qqtEt`4f)? z`$69u#!&rh%ow26-OEfwG`mkUOHp)rV>e|CQ2cHeSP=%%Z-1IO{O-oN+R8n#jIhHt zEJjJWl#7cl9PTPTd=0K+%%W>lmk!8?|9tSzt{<)#-*@Z{A{x8E%)ISIf4G@l8J`I#Wc$Q4uX?3E z;BnQq?8z#MmAvC+FQe2$yq%XnuJ$ee;U!2xW=t}BdGuHAmuDYWy#fC}kE@Hwt9aoP zz_j2Hxy<)A2)SPLj|DNcZX$g@S+$8ciDF#%QCW`y^8b??oGYzN!6xA=9X;?T`blu*Q&0~$JiTE4Z}+I zg&N3y_UdR17HCmYuh!?URr@v{YnwD6gRN_FO*Gauxkf*;)|m5tU8`E3u$UW8L0D$) z`yr4?1e7NcP%)<+XM2*BEhWgy?8UXwxOlkA@Y=d-6PZrpim-s`E>EdOJwJNMy>neO zKL5^jyS+o;vm2heD3E7}!`i1*MavuVL*Kp1b#r}mL)?x2wLMHB4kRL21G-%4c1cs#O0U#s7E+Bip|WW(|XIgIOL6{(c2 zT&Jp!Scy7@uhom@#Am8quJ4;{--$?WtEEKSKsmn2^^R~AjukrL=nB{Mpk6oACt^4{ zd{5#m?e@sE%m{&p8=kNdlcmQJ*NJieXokCrGhfupqJvFz{li4ZdAX@fa!oT^>t)A# z(WHE%@pa}PE+TF+C#w@(yozY&u7pG-0O|d_T=IaMZAX6Qox&_hjc#@wU0)gAP^Y8* zyj6^YNTTOuCs^6o^=glr$?@AOODMN(!F-*iej+`i{iL|0gV~Hsf(@Gy*NuzDJTwQs z8YpHs01;|-?7YF^!Sz-`7fcIbT{0ZfNb736Z*T|xY)6>Cq(f<}_jpD%s=38ZLTn`r zCFk)*FS^CehSPteTZlD`Lb<2d7ld+u(peb96xSFA2o>N9$z|L=iVL|{;v&xI3O*(B z(J1VEwv@xd+395tPY|}~U2v+MbWHfCI_N}Hk+Bn-;6+p2SXb(wo>AQz-5Nu1z8~Eh zPebqXtZLqQn*AxrP`hJV{8mml^rDU42=31t+2JB}nF&n`r`va&nTa~j)7^`gSCXI* z$rL+N1+vbjXI1MXo5G(-#?1;YSXh$T9RUfu-=A%Gat>x&tX zmeKvMCyYtZ#19L1)PtT=l`RLG>aQR;!G{POnLA}WxvebDcoCe&Kd0Ir_axS!fjkvq zGFtFqK{S>0SaP?W3|Z4eu#|i{v8ir`T~a|bb8`XI1QmORTa)9n$FphjwjO?NqFk3f zufkrN<1LtJUlzPr<7X#&(MceutMNmT?TmMDzh zv+{3Fk~jT6?xX`Vqj^Z_;ds)wxp6a#Q`wun=r;H6b$aXbs&&Qe_}4|L>|`&R?S8#R zXJ1e~LmiJV*M1p4^LZ+Jix=r!t1Dh0UL=((>pjQy#u~T!*(pN0>`A<)GMwT_26wD2 zjhX8jqbP4K%ue;9xvnt>WvT-RM})fC61>NSoXjVM*;_px*gk1?t2EP1UL@k}j(BL| zcnY&PneNCpBR)O85E~VOV(DBs(!98HUpk-eMf2QSS5<<*c2fj5z)v}f+&N({?4bmQ zz#>8l*EBy~6S0PcS@Jo~cm09%Gn@;B#S};5o-4otEh0Dnf$0$i+C^(aPPsJN z2uBeK3Pi<4Es4QADvIO7k^~jpa+hbyL2-c{ky6$sl$2QA1^FRodKP!-*c{Fa)upj4 zT_V-zzXHR>05;|#vap!&PZtH6%;Ee(+rJzcKWrcFnOT_1&hny#Zjj3=!&zn%9^IfC zq{y@@>}0ckb%V<8lS~ic^l|A(Zg8Wskm#tVwdye;S*I}U@=gWE^e)(8NVlYpG1JN| z^-kL@3vG}rD2XIgR|F|CD88&Jihhxho*$dtA#)D>;3+-81IOF*4yXb?DK(_RTu3 zgL}=}C5NOhwXAQn-tn?(QIo9Ws=m*@B-|r&PIitL-RDNUq%y={WzvBNiuO;B5=;w= zjSCBUCx$7J$Km@ic{Nr9#5LwM7%t6ej0i+E z#{Hyj_KNB@)La=$nv;YcB`?M_@qP;f;xc3p#kF(41H#2I9x(&s+40jOWr#s6FP%-0 z{-UJ3Moy+Z?+@hnj`)oS@{pYSUwgMrECbsR&6oKZLL;EheX~TxPJKx{^+l4}!=ifK)gvc3 z3I*)gIp;?jsV<7UBVxA0YpQflIJD3Z^H0rDc&JAJRUUfR8JB{1M~9#;pQ}cQf3c#* zI3Lpgk|y|d{Pa1yH&^Gx17KKCoKj<6jg9Qa+K_|dQo9HwbuqS5v23YZ$%U2S?IJK( zFqFiOTyb_DDPj{8LZZ240$%d^zBSauwnWCdL;DsS8uO^d)E*=m$U0)5tLv$2_&W`6H3Pmd3X?tw;Lpc zJD_LpNEnIeXaIVSd>_N@2m{_TX)P|MKDpn|-tG4@)Y+rz05*0|#i4wrYwMfZkx*w7 zOG1pFSo?9HRg)IX`LpbZsQmG5n=wggTwq78^SlphmMaRC4?8@w?nXlS9(G$aLeJhv zLOKa=fi$NO4%8w+BenS+y4rtNb39FQoUIX(H*Fu60`~Z z#~z+44E+Gll5YikzYqKlo+9(FbYoP^F>QHKA=AxS*=ycBQ&Sg5svrs2UH1!lh;Eq3fZ7?IG`|XS%i&8-1#>CAVWA#kcgE?C_ZFo zxzE@1Sw`;U9W!UrGR1!;DT~UfJ|k4n&%m8Q08whp;%+6Y+)C&#GdC5jaw|E{Zs>5g zp-^P~(p;6+cfF&kh7j^)B6yJP*$K8G$+QisvmNI2A$m|}gJd|U=;jDumKOO#B58zR z@|O?`Bd+-UjTg7^>KLYTQqk%hf=KjNv#7StEMelcyU+48w-zFwL=Ezhc^`8v&b8|} zMNglh$_6=l25K6!{C{B?7``T+19-a7^|BAI~3L3Ix4TfTqx*@8=?ItXui&e!bv;ya6TLgfZ60$#02! z--z~PsMfnSApkFrRfi|+Dwg}1N4@M~FM1+gMrF8|1XKlphB|%40&HY~uJ^vmMr-XrAfyPa8J*&Z9m}FJa3)2Tycbhn2~(F#Gm>Ez;Yg2s zpM)w&UHiV;Z+{4=RgwgrWE(buj>IvK?BaUUou2WbYIwp&h1t72p4je2REBq13J&>N4*4ROXHF8Yg2Sd(dAGuHcT?~g zJGTZj5rO=f9NeNC>rsB-BM{6O?IP3z%!|g0nQ+z{NHm!19g3^&z>ib~4qu*dalKPP z!DyX1qoj#Q2_{1kD-_^Bb+C3Bl!r%hpP0QAKfi2GY=nN+PAC<9e-p*%WqY2@tu97( z83i3ZX#&$Rz`=ifj2`Z1^1Yc+2iQ9Ic2|f(wF9q{f!8rGvo!<92kkjKupd1&1+pRo zKNkZdr=6g&fpxOXO$p1E;wc%0BGW6unJ$UoG@Avp&oe3wt*0fyS;V+J%0BN#%iQiq z&%1HXj`I= zSKaKVYA{v7Pvu&PpgY#)C3&qvfW`PP+wp;NKKKIh<>lOj!+V&Akt6I2|8^r=i_yJa z^zZzX?*%cX-}EV__vVCW+1ANSfBv)w!$LM4=})$BS*p%9yc+lHb1-YY?0sJJs(a_G z%J4pWm<(GGNBAke;SUvD$$(9iV*s-jUGxEJVTc1;9(dG^$rg*?Bas65${n|r$ZC=Q zx+MpgTwPW$l5kLixd7%hI~zhSGH?2Pvy(roQop!G_0m;aR8aH!e@*y)FM8dzJF_w* zT?Kq=cVW$^2pAfRh`ABgh*kFPDpa zP>_wMx-p(=GBY*FL5`;y=s};V7JBOz)%y51{%fuec+nfK;Te_T18(D3_nUENB((GR zW;;70J`N_9qaxzo1gxe)oup6yR5k7LpZrU=rLqqaJ?7p!y)t~zSwcA<#*BEPI!!aF^a{G~gZru^+VwUZ4+oZ^e>kv+h7)Sy4#hie z2GJ|yJ<#d6>=G|}Cx(Phey+kZR>(W_A%;fz#L#H%fiVetH@Auist87}^|MR8=-s%R z%5Z5NzzFG}i$pV=!uX27>YLFj?o{VcXuz4M+K-_i}^C zf&jd6jjqV4S7smfi_zzO_p113-gj>fcl)hR{X#V?$4i7FKOBPFyI{Co?`D1ARw8gP zVI%U&2u3tBQiKD9Gwj6<;1A*nCM4zplMC>8*o!`J1D;kHKAeXK*lzZe^J4@WWF7HJ z#nTum(-1(_pqEsW%pI1quieWKJeKjn-SBhDnr7rC#TeBeeII zs;XwQ?F+bN)~1lt;%;Qc>ErCWBbUrstoED}6mfaZM7G2e5eezZWR^q{TU-yPRE8_+ zOhgFraq1)s3|8nuu8R)l%+aekh@w!)S(HbzIdzx(X%2Ek1TYdAe&r6F7|u`D6epcUv5Iu4Sd(f#%MB+R z^@taJ<_0^dGJM3d*R0tnE=r1pgxQ-QI-Iop`J{)+$d3gPw!pe8YpfBC}?{=4$BYW-`(AT@t$Vc@DmAZzOcdN>OacRy%L0+F>^2 zQ8J;#V5$t!Me>*-5EcYe_KQqwRyZt6-NscU@R{-L`WFJcJdh9nC1x|%VW|+=fzR9qjv8erR z433luXaO9nz35xlJEx2?uX$LSMZD!_8@O}vUHmdv93f${8Q&IWYYElMcYxetI;dd* z-`n;LSitwW7IuG$0i<^!2yev<!4r z;QC{(3%87IcAx~)+E({Bu^OSKILH!Sf$%AsNwSYiDK1o^^(cu_NhGBE)FIh5C?ZIf z*z?w4C50-bMBL{RX${gBh9Pt4-MHJ`0>P4$gtQ=DYzAtjqT%J5=NUe{Rv=t}jlo z*`oDc^mo3$_4)o1>0#`)*`R8#V*xf-xq&Xa$0pIB3kGtg$oQf8d(Ua;5Rb5;?Qb5 zzmh792!8*w+s{xt z;l0PlN03_%BSVjDC=39G;um-ioNu3iHer9X$R7{7tInXiav*gWXs)0VvIWrGp(fc) ze5!GI>h0S(d60q-po;xh4Gr|7dsL%dV+=2rry{mIgBeh?eAqX5_>9AUvlT}0QQh6t zXWydAn~invVkj8v-a6iZA>B=T^HtLt!7|n%HP;^)C2Leo5@-iI!8x`Dpbm zBWDQ5uPf1wv*TGI_U1(PSuYyr#vN7}K3f;Ljuni6#_MQ8qVb;N-HQ|%o}S7+=SAc5 zi+rx`Ys2(qKdbQ2Ww?mNUF=1Z5yjkjy}@+ClW4`PqUf8C3Nr5|qZ@W#_pvcW5Mi}K zb<-dJtopRS(GFiKd3>Jtq8sybe%=lqd1z<-)5qumzo_s?u`01fcLty>77Q`+qE5(d zaD%k`pEoi}9d@xXT}bR%KYRnd3;IFv<+srkm(#0%QEm8=5~rZxRq>L{BtjKYV3%YO zZLt+lVom?`i)vl70*9?adZ5(`k`@v;%?0k2WDQB00vh5I?z-Dkj6X!q(1iBngGu|* zn6VHSu9C|&2nV?d4*Z#Esq72Hn&#L4LLT_g&z^e0ud1Rkqb_G~k;uCmGku77oYb%U zsyfujBIMcr)x;e&kiXht3GtnwvVmY~HYIMOlv!Iw5-B7kxeQC{>rFtVIo8-aBzGU< z@D=gG{K^7C5_&B2hw_B=^Drfe*4!FyGHbxl$!{4<8ZQ#nnn$7+8P#ols(<=eb_Y|@ z$OwCkqzEx2$WB%E#itY2!D;03rOe?#e5H&geok8LgR$TB1^r^<>W_%79L;r`eL_m~ zkx&?(E?hy(Z%8{tmdO2`9Iz)^U^B}TvZxpn^S~xWX+DOA4u;Z!%*u2S4=H$Jd{xy+ z`B2pn&mAOr-H~dcg+ax<7ljH6s z!f@S$j;jn`vb&FLSX_wEdW>!x&UW%%;$2#IgmEV4_? z#W(Fx>59p=6AHB^v;T%hxYv)-J9nsV6}QB{PE2H9A;{MKI#eI>hw7|ys|wN6cCU-hCXaSxT@tNG~>87eexvwrgr$uP6KH4p`1s_lmO$jsJ4 zzFDe1RPXU8Nhyxhr~XN@>j8S|pTsI1qO1Pmw!$lV*k5Ys@K^k>%qGw)i#F6r&2X#j zP&ftEqF(c&TV0<+D#O>@ymH}-(`@51Ir6U)n(LY#SsA{rOa4}8!q>wVVN?8TJxcHhKf_B|pQ1(g45rdU8 zgA1LM@lx+4Y$5jVyu@D8$ zP=2^4Q4Ao9ow}VjiFvTCKpMM3a;<)@?a*pUR*Rl#GUvhNUA>^dG=8FE)B21r@hfH06ek)CT`YmlL8 z$6WWu(K+vvArG(I);HZYeY;-F`aj?-;LN^wS5W7dlX6o=HXvby*_4XSgU29c1ATyl9bodthbw0nQU6)K;TX zxqxV~cK|2*BL<+gy@~xzvlSuD3(8U(>gWamdws*sN7?(_Qh@QU5+7#Mkw5Xl3|O9#o0+0GSwb)uWT?7M<^wm#zoC z>yz2lesp*KrPWww*i?yCu?t{d_1a{*y5&7?AkYPXd`t|mduu>t__3GONBx0f`?QxX z)K!J))N%LP=7|i7k-d+ns$dUL{2~Kcg0Feukgrg*S-1C~`zNl`>bz_bD4KZpkZ+?g7;((XL zJtEb6iowj%F-wVgUqZcdKwc8}jF^~tGm-tA5MH;4{*~e9`s3nsi$)^R{ZD>$-5`~& zyEi7*P*Oh-6u$=^HmWs7+o5#+}tu18zP6bsF35LxVe)?{gG%twcpo)%uu+_Hr3-qJ)(oMM-3|dKMFl-9a%NP3Ndg)4{ znho|*UEvE^uQ-RxB{N39+^#LR!<1z<`(*C0efKqeC&j5;hC#8Kyu}5kSWB2Bqmw}o zQD(sGrBMFN44***Fq_^l5@sw3HRNe&MC=E*H@kRb>yfV732QEvzb+L$uIXW@PT_wg z^<7~m6s`MH{1+?qVioUDt;7XP%-r3A7Kl_yzt#X5NOuzcyu^AT!4^^@+WyW&J zJxX1AG3z8%q~4e|bmH4|Ivg&8i5S6(jU*qhcy(^j$cVxj%nqw_%QZv*Mq6uJrEyl& z=BC5RL;U2513kW_N0z4dJ{GrCEXiTy&4?#GPAg6?kL7!L%=HqV9k-3Kkh8|N^kf^? z=wD0I``3I8jO*Ca#oOrg-LDND{s!woHtCBQ9+D--Sz=1yJeHymR9OSEJrstmtH zPHl1m1ofcZl~^>0CXvl4OEz0l=m{CiF$GwZC7m&JpK#FSs0s6f>ZOHNKA~U8q}!Ir zWbGj_cF*w1Tx$_+z9UG|O{h<02tB4i;e66e9NZw?8bu?&mbLL~36WF3Cvj_j9pC5i zn6>2g-gm|+4`Ni(*OMC_a>9XX>l^`o%5^I|>@gzKa(EOzhJ_%<#7YbkV=2q@pAFJ& zTZ>K0-i!c6rTT@@V2y);!9+Ac`s>#)-KJ4egaYz`%t%CB77}IyqUq}!rkiJ>JVufq zW~5pfLOK=1pi^kpa{XjO2$T~ijP_`Sm8Z?5BY-XG6P|W+?&s(dxM5O^NeVCX&q3q! zlVvZgN5()Q7E9JyDA-~KaN(O0*&jSo(g~(CJtPgO_@U0t8KICE1C#ptvUIkOm>$I` zZ%VjWV;CUdnYkYzxAz76%#6$lD^R^-Ss)on2Cq-(W$5~NdyT;RBN3NwRR>juKYDh% zEM$evVj>f9Zv4J}W1zW}+(o(g!NAGL!8#4P?9H)JmJ z^fPYA19E`uf-8&@Ac|9Wy9BFAy4ZCm=$cpsBgO0WJE#m*zfn3Euu;%{BZn~_?pZsW zn0TQgzQA}Jp_gvV{VKz4c`SzZ*o$?`^y!V#WyKqbhe32DjSt7~3#?`4pufA*pmU4!10 z;m>)E1PLvX-dhI7mMq8ib6AfEwXjPOabr5R!FDE=L-B4QHE+oE=cG(v+PeV5lUvHc zb;Zk<++?9o$qe3$U%cq0-234#4(u?Lmu*8x1mRXM>ld1&_Xntnigf$#pW^`wOS%Bh zY&wCc9;OdLByYrk$n3z*%Ipk~7ufY_73njpl7r+5gGeCzc}1!lgw~P=e=ro{%Cf z(miEMzrxDrh>nu)xPjvn@tW-lNmaas;syS_#*1Fd_x8I(6}IMe+cqU`;Ma34@|$m= zTqMvHhD#}-q*%aMxulAPB-`%@LK0>K9kwS7#!Sf%hx+u^QcOD=-Mli`k#~^EAU9mN zL;p~j?gUO$HA_cliTlIH_!Y~lR);qmWh~^j%0McYD?P~~-;rblu5tkKF=K<(=H^z^ zTI!y}Jj;X-aK}!MompCLlpJWD7d1YN5Y2Qq2(EF)z{ebHW0<~S=MK6FoBV@#P&a!B z%pY|(XJ0YB+8K+Q(jifhc_V?~hwt3#qG(BgX@mesA5)da2kwS)BgcpHO*^8aYle3a za`>hjcHheI&-}2WNTCagX`dt-s+XHVBx;y2r0Rq*=*Zvg0F4kagFPM&9Za-rpYLyp`2B%YW4 z9j05>6d6X(MP$S$<32T;93%RBwikD^a*Q9nm+xT=)_jNCps=|v*+1REME;n}-C|^6 z3rM0<4f<5EAF!KtY;ySsYh4ohkbwo?%}Qh9y+D5zrh5|!;ybZYBnx!84ZI6KKfjtA zN(Ft#U}BT_BQqFC*#o~W-j#x(%_JEX;@%4XdU+ssmHZPxrnLQ2e!^u*^62X1AaF?R zKTrlzjwGXPFK{e~a+mS;5Chr%vN(3>eG3EQaUARO)xxkVxqkG9Y`X0pi@Zo32E8i~ z3b(|w3EAMR&=SIwaI+(3w)5}TjjGcJ`jbD=$5y8g0V(EHr<-O!h_^|AQ6Sqi&W}FG z4>3-^Q=M)LRX`b#SV+>M<)!rx?aPo~!h6xUqXntV#zc0!AAOkbVZ4iO1Hy@PXPF6B zEw{9f;tphN@?PCQ>dE|@H^`f?^F)9B<}klZPi=(>Q0OE64kDD{02GU`bUiOcd~CZU z!VL=nk+?Vd(Z{aK?&RUAI~i6Zx67QF%J7GLKcD3KiNv~4oLQ61PVl3apX586;5v)L z-XL&EJ-BtcYS8BVx?l%5$$0rDAFa)9-CiWZk#`;TV&myukgF=>*_EXRn1i8LwoX^4 zx7hx?%zQuEqPMh8AKmg(Hv|g2i7TDxN1wXxIb9R=(QVTEb+s0&oEr3*eFr>Yugqpo z@}tk(Tb(MyNqTLY^eOcLF}hCb;@$;v12U=Gw@o+Smxn^G9k61h@bh>UNub1Uve29T z=<|G^H|v_VhM6vHo32Q2jTeGfV5@$!ZTg@Z-Xz!``k1tKTebkkCq*cTF)SE>mI@mb zQaLepuW5!dRgv*BooeFOA#1h5v?9HD+I2mdFVwtI2^X6342S%}aCaXZtrZ*YT z_iL#3nXW#X%glBRcu|mp*B3Fo1n&*JZt1K@pD7d$%J(rPkC9-RKB1jCn~U0|+qV2F1};ZSf-a}}(O2%p_GHS@ zTid03agLj}PY>MBk|_>`cqlEymzCPPGzQVDa-Nc}ZNDO-Jd%jM){EMwtD3}0;y1hf z_>KJ7NPpEn-J6=ct@cd!Nnv^*Oa841qvzLrYnzKCf}Ve?AARd)*p4JUc>)a|?ct*d zi(pWo?ClqzW=sZ~jR8gI74hv*l3bGObz{Qu(8?jyP6{Fk8i9zeE3i4NO%=()zy*5B zW*RiYf{_FSf;=2GJ2&Sj63rS`Efn>;+@!@8?PsU?JhDdT`O!2RZWY-8Y(u6ATrAZabY=J4Apk|9NZr(cvROTypQ z=?l7~n~eNDUcy~_ap>vq_uLF^PqJv$CZ^uSL`oS!;1>jIVUybudB5upw-itU&ubz( z+mCj*-rAB8NdMR+-S`k|e_|njxYnRL8G5wO1B;ck)pZV&iT(nGJg&kSfkfO$`mnC) zlW<007qR9GyaWl(fujN`c31v}lN|5dk$){Y5@DK~NT(oQ7f?;rj8~1Z6Q_+>d+k>K z6?bpYXO18J<+=xb=ICkN(k(mu?V1Ss%>92D`xZExs`mf0_qm@ld#ycV?laiu7|pnk zXxwYI-0yTl64l!U<&rKc&A6)&4ITn!qFpbIh}aOcuN)lPxzCQ%DjT@A*ZiTW)(i zBEHS<0}%wIUX1q*NacB&d$nQZaN;4@>K|lp0`Si|D`pk_y5t_-|^PK zJ?iF9-pC8O{Wnd!8cKrZjeyMOB~a2O=RK9b?~+dUH!`xCff;sEF9HmZ9~hENeEZ^A z1)JSwLsGkZNWH}n1lrY}Hm3!u^i+`nnNb0uD>3#`H*gw025fb(OXJ5LJ6K5-V}uoM zU`po0D^zTZf(#Hu0A0JXMbB30s94lYexb6~F^O6==xN5pYb{7a>P-ElzeDr2ID3?8* zO||iL9_M`MvVZ#6g*^@QFpk<>V{~lv6erEW&TGxNAQ)WYAB=ZC&`g+1!M=@;w-U*= z=F_HYj5Zz(U=g9DfD*X%}9BxG)^1|C!El zGwYie;S@0PtVdTGHpgyHXQpaZN<0vTu-EuwU@^ERZDIlrH!8;XPbJ#pQ?7m~@na!w7g0D2#7d@=|K)(sAT|rDyH1o;1K=mxk_M823ATS zdBKLBBrGjUc~}tk0vH^1$cd+NC;Ov(`WO%#yF^w>kd9)|Z>Np4t3PCiV3t;{I*d!$ z4v$9j*s&8^LFs4Nbg)J*X?@+Kh;sY2Ue_nU0l4)gS8orHDMZWG+Rad`z{IL^d zzDHWvL=AAURWEq{^}?k~)f2CH^9RntFvsDVM)W#9mBY_-7H$l`q1W{r zP`!cPpp@IdUVFwFH7Kqp8D0kh%H8{Q{wAfJx+45BK|07ltQV{Q(>nvwsVjwTEGfBc28X?yGlzfHgm@B zH@R+vBoCAuNwO{ODo+P*cl(Sg!)^nt0#eb>B%A~4oM;?J%Zf|&(;e3u^-EwwxI)Ga z)Yqbx1|y4+0nQ3~Fj!$B%ZJdbqb_W8k-);}JjWk-80o;4sfdn~WW$%4s|d!sB5?Dj9MK`;dQy)y5?g(8fUEv139O$`+>Q@dhoLc zQOAr8`0Q4cc^Ku#QvhBuU9|B!Bda~E$xansrwRrpHCMl4u7n+c$1XsJjS3<@RZc^m z;m9-u@Wm0XBkd`>sd}-I)oThk7*2^gnXe!TCaJh<%GdsuMhcc#(AVz^d38=oLHNWHAv&&Hu87rApT^Wj)fK7|q59d<@i8vm#t zThexQ!WLwew#eZdo=k|?9TW@*3=W|ppif;Ahz>NNNC&L5D4xqkQ!~f%b68t|!`h&d zwKWJ~sILQK3hD=wb0Kg^f!?KaoK`^3+XVoEOB zCY#b0>-O~cTxBCu%w_eD+rY38)5UBLc2*HQK@yfV?glE1V|`c*5H|qQW(lTgu&hCx zfZvSMaj+iVrFj-*Ul7J0MG(K=u z+1No)6lTI8;Y@(=D0sNR0ZjP?pduH)uXP9MNwSj$gUWhU1q!6XD^(3v6}YT1r3X1; zFHXxG6iopvGZh4y0(Afg`&k@ivkum;W3&WmpZKhIe(KI!#0qp~PR!D-fi^}l#J%_# zcC9Ol`l1Ld4^MwvR)1q{;A9WMmiZuFFU?4}G9~!<8P2k(^ouj%>yecmruVOhTg!HK ztdGw&Z*8V5n~yKIVtanEJh{KUpk^^8tBJqITT{>(moQ5)1igLad-Ly@RS9Sx~m)!^Ib zr@PxRYhovL1jo-jCHvRHtKm$AFC;wvT>;_jz7)RBi>Fy`)eN z^aLpYEd;SD$VcrCC#_ts!76eD4;jy zFW$&9-G1S6UCZ>!B!D<#0u)Km*$#$vA3zm;Mps&I=Q%ZLJPmK__Pon=ynTg3G&9jn z+?7xcrW28b;8q=J42z&dVX*#=ETj#m;SG!`dGnphf%X_rCfhlDqS~vvJ^ykmuhM@z z8Z}B5T=^ylka}~uZZC+xnT7OC@i76W9r)vU!JfKuG%v@vp{%)5zy>zJ~ zQ?b;=dC9ZM5?vpCHO7F{>K-;K8M26|Un#xZSm6syd zb=({gFDmKD4jbOqTr;RQxMJrZMg2+=-=Qie|FiQ`YlbNNzcs$oa>gXy0s&M!3VuNzYc^6<5;l)HAo32V zGcN0O{Ru~S;=fi2d|_QU|7@`ExHR33I`H0leIb+6^*SCFF~6zGUSh`i9leb!{@*~= zSM}1%%ss@tV6enyUuT86lRRAJ0a<@o7DG3D%y(q?DH8u_uo( z?(pbmOAutvsD~$rNyIyJpsNwB^HO|gAa4GpI3Np$+N!gf6ju@VRHT~SjFOT!bZf0z z9;L_s5ppNE2y_tT;cJl43++4+;Ron3FFQ899B;-sU$R`cUye5x%(lv}P(F?w>N|dW#re%;FNcRRbKoZ z*DPZ%!6o!{ccax+Z-G4-5R>xhrI{(ActaNGt z{o?ZvUqjSNylEd&mC^B@MghLQ%#}cuR=^qM*5XiaC$*ftkm~j_vS`-U(Cutf!GVrm zKL4ODF5rC&aREtfj0^POO>vQ&ked^PHo^Y!a_ZL(xF9OA3oa>4eZ8QEP4pXatx}}- z!v&eC2jG%cq~C>0I_IhOS{a<8+RJJ2hT(#fp!AU?xXCKgpTOk}JeO*?$yV~5*MjE= z`H1WyrMqv{MOuT?{h z+iT^iGorj!%_3yY!tYnXuVxe9e=e z^)usNv^Zja=<}O6mt!?}dN4sj#1MRrU@y z5;ZWvXI=^MuFi;n|GuYT{fs4eKjSv!G~@T1-)7vRpAS&kZAOtQ*m0Y2(K}(IWklQ&sd~U+rdU5xd$7KauvB;;nNx++PW$YxG5N-pN_lh zhT>*8`|u9>afDG6cBaD~lB1yynr#Rj7Eb^w7eQ#sK{y&XSuct5Wrcj2_ot5BLK6Zo4GI?vL&$0N8>I z?*a_FVD$k>a`6;6#h33QE+!55O&>%vABIQv8FvH#QOga5Du!<2@U7PDOW?{0FQyqE zNY#s`^v*+ut^Gh3A2OoaT(TZE9@2ky)85Qr)v^^WlBoEI_(?lM^^b}M+GDZ)N5xPr zu<->{X#R-=Y_)?WFrg8!gpVST@?YpY}d%Jga>{10OM(`VpJE1eQn5%G^rxh3Kh+H^fz}eWg*WO+fTmLwE zPiapYz4Qe^no%d1NnKx0ZbEN8X*{QGrOqYB_u-0hDy#+!lN<3|B9(3^HL7LziG=OA zb=ZT`7ZXCWeRdo@Q)(1z+hRLPjqN&(m~32)11?{gY}}(g5i_1LvUF`KgmTlH1<=`9gq9skJ@LVF@17aJP^C)GtpJkHqp4x z#dyj;ENZ(KqQ)B!i?02*SGYK-He(+^p88`B0wR*b?aH6Lt-<;uQp|h;E*s(6n#P)8 zU;`Hpl4T;s7{OfQW1lE^UGkzp#|cY8_yV1o6R1K9E%%L#8>Sumk6Gb~>YR(I3avgU z`go5Zc~X$XA(5e1cqspnDArccy@$j`&s$#2NA@kDnzU(-vDO2hT%CG8@5`pLxtQeF z>CL%DQ|$=-Jl7bB3B2ohqX8~6pEp`z9{sd=mZu6Wn{N!Fo-Y{3|Np-(3U9^vFFKfm zL@hDY(pb}8p)VI0+jE8{_JYH7LciiLa3OOAZF@~(D#ds^LoW9`t~Km)_-0_1uq+iwV~u)Y+Qv} z>Mll*;|glO7@o|F$J3z2z}SClv}3W+8#Ry=xDOnKM|%zbmH1n_x=J$w6Aw+o(c) zUo&cHWz@4Mm_~D7Gy3~F1M2iAsQPcdd`evg2IzSz?czxz^IczjV_ytQx=yGf&$ z0a%hL(n`xG>p(b=q1gijwjt@eZp>5?V)xpE8kj38c+I)Ef1utEZ*dV1rt_@ZvvP zErHG!s(CmUKpUmTA58cIn)ktoavAvw{0>l8 zO4-bkk%Uy~Ya8Wn+^EPh8{>p26-jL_g%XoFC)RPARx*#tQiV|#ppgFw5Wj@?14rGbw6YXx^IKg3|!dD8;tFMc;|&fzRt9B z1^C5ZDWlw|=~>7~!mgU!lB{=p89Cv>8Vhxx!+!jYJrDc6c}EVcAZ8bOt=!1Yn&}>d zR#|y#-hugGi!Ng|Fc8Pejq0A0Ud^CI!?c{TVR^t}E0EqIX{&L&K65PHzZGoX4oF=_ zcU->RYTN{7wZ%4U!%u1KHpBLxW1+_Uj6T|iZM=idY%_KxH*)F4_8vuLfh+AD<0yHh zQ6>3DRU*UjjA`LtXia9g8jeqPhho+$!=q)L_INE{*jYa0{BllNiTMDio2LWM^;m7Z zKwoV)9?1M_ER(plz`hCCfK$D_We45$A*8^+#?rhGjU(D$4hL4@O}d_1uQ49h){)sE zlos2y1|X|fpj&T%u>Y5Oyy3)Y4 z#?9&D|NR1}iSxp0P}L{jG}1%JQw+J>WpCL|3*I!cv~Bd(n?}_>+k&>s*(#p6EN`DI z^(a!p2*X~eNHovcVs&SidOF}?ne*W4#Hw(-!}%D1Q5J7gn8#z!+eY1yZ;(l(UJKsXo-*#H~7N)BYz5SL^?Asa4wvU(2UT371?1slR_qiN8h$M?iaZ*=^ z+Umqv5V3O}bW(v=)P?F!j)T_38J#OWsZhZ=qXt~E@s+_6jF5;uS{{)v*0A`{fnIRP{F&fCU7jYWuR>y27`?YQ0;P&EIn%k}|BfN=$} zVs6NO?{lCP6nRyWZs<5&_KZU=B$m9xP@#S|Cwu@Kc!>Q1D=a@ll(Qr|U- z`y4&3jF1tp8onz$TH!0y)XIFphhrPCWDvxd+2Z*djC>hDPXPRK#mPeX#~c@9F!o1x z7poWH2VlNQZ|pR#A@hVN3zU8lG@k~=qeWu_X|(Btc*r+f6;b~lGSlm_)650b`#Uj; z>W)kvs=wo7J|Kg{@<4Zr?lscuf9M_rnUFyV9Rnd$lAc|$%Wbb(teGDLdBM-(=}q-S z_M^xVUpkm&dS6l$TVpJ(dDo~Jp2GWv-$lW(ca7#Wc%zZyhySPT3U4K?cXBoA;Yq3k z3LZw<`q%vpDZI(Z_0BE#Im(7y>afXpQA60%CZi25^)`cdnH%f0*{H8+(`nRu#`W4+ zdiOmjOE%D%_l)-Xgzu^O`$mDe|CGyq;R^-~f4dwTr6b-q^7M_{XwLgaL;YusdZvPR z|N4F7Iya1Kl(z-q{?9aKi*c*|+gSQ)3)uIQ6#T$wtpENAUH5@8n>KDYa)L+w;qXQc z?n0y;*J{)9kBp}JQg_*m=Dn%q$Hr)FDU~)4w$%>>N!wxksxNa>MQyz*O)p6b?O z2JA9wc;DXV#k6EC64hwQE~Aq+na=D2o;XPLcN@2A$LQ(Z$n`aq*6)Tm@dee~W3_t75Zu)#GVSew9h!CeM5&nfdSg0^PhlupGCFz8_{Y|>%rE}UIdOD z3-6Q!J7Ht`2ki$toJSM(gYN~D?>CC|ja%ur{YDLxW_@bprCTb08^}pp%bSpa%{OB= zd;5l{I&S^Hr%3zKXrZq=MOJ^XH#dA~^wl?> zqE%nQIeTVo|CbQ?(9hqF7kg-f~QM_r}0(Uusb4*^We1OkL#38XbYzkP@1-&I=9XQ0?Mad_^ z*;Ohvc8EMj%(aFvWr{p(R4seg>Q;7Lo=JZkGluC4-Lx?~B{$4!9G!88d6p1e)|95N z@R)SqYm9y>ZT-gR;#mL=jfPzxN{!V%Zq(7CXuSD^F+?k;_fHsi;i=#|;{f;ofpp65 z>Jt?G1#H%F8u1IV3Oqo|elgDA^8ByH7y2v5>7ld641M)+3j7AK>jCQg8^oy>-PHbf zd_zRP88$QxXXIxrP8olv@lJ5Ke=jBEu`j9*->&MzA~+QJ}o>P z43uC!S)fTUVw^>XC2T}Vn_wL&JafrmtNu zq=qTmp^1mI4YAg`xWtp4?DbWn0bZ27O`mzi)j=Hg31D=apOEy4V*T5-)YB(wX;0JR zK2hZE3NfKuop3sRH1Nf*7WwLQePp?>%Y#Sn3uA=<_*V>C{aH``4nzN zlTA_JzUa@U*G=(qu#g!_XhRCAf3mnvyGRR?p~gHG+m$T(X!`3KnXSwWDy|}CL3B7a z%B(^Iv{0BT$dgUQ4~Nre*Fi0bRzK~jK^6UiLAozhgiA8vF9?q`U76Cyb2-t_2!1hx17u4ari0|!XoI?q*8D7i@-+6gD zTzC&bmppvzFdGaHJFLRF#)7A3A-r)n!v~FBaUd^pY6s?tT4?MBfj(a0;R9AV&kE7l zba5B$$qm-0XoeUGWJeidM$XL)YYsS}mw>cBVD<0}Xrssbh-eOYRsbB#D{$$#g)D(yz9uzm~!Qn+ALoWuKf;_*|sH`ST1r|^uK&60o)f8=ftr$r1%6gVmp*mNI zG=0Y>)cPusr@ck@TqSye>43=1EJwgjQkCft{(qz0SBZugs+NznXhq%fF~c9wpnS~m zIGT_zs%JXP3gkfkGWm)x*XQHQBXl|+C}Sp7E5MhnsCj|N<|(_m08_S|O7Vz_UMTo? zMHyFAw68$il)J@iXF0NF&@s^m>}>UpX^*4pYl&uPYIH5p925IiEl~{tw4c`!QEfDx zuLTg!GB zMMDPc8u2=yAqv?woH`)?^Um_w7M0c!soI;dS#_WQ*Dlb3`be?yQ7pBASnba34z?Rx z*~J17#LZIHda%4yf_oahKs1hRxfmGj~&~CL)@O{Cf_TREJ8SwSc{z9&92=8ygEZ6~{GL=_;B5`%j{Y%|#=9l859o z;7#{62Mq(~Rn$^kt^H2-wG_D^je6O!mQASQp(N~>`@@1hZz*}R+lYGpL(WKPOdHW7@)=HW;bB+mBNN(Chj}r-reE5KoBi?Gq3&%( zRc#>M-&SM=x^P#0bxF zsRgN`OCX0T+KI{5kfnwOh0Ge}zrj)5p`C_9DLqqB(B?kA(yc^<0hZLb%>1 zF=5bcEusO8p#AAUU$+;%IsnBSU|#`vjlk8xKKQC;zqJgo1NFuL6nkx0ONx+L5qC$S zwqVM402IR6`#wbtb-Vl}jb?WcO+mePcMv(vKb)^IlE+!`d`3MK6Q?Q*5Yov7n?7{e zAAZQ7ya~Yw$Z+Qd$+7p&qr8qH>VFHs=*Kj5?I_0j4`NAlJbcy>e9YGr?j&keu33vt zBFp#FyEqKDoceYWGrXUdYvvrP=p=6UexYt}>?{g`3HS{-DuL%ai<Wl;Ho6* z-Br}rr!1q%U4e4L^hQ_FNZU={bro;wSdJIFiCdE=Y0Q=Q?5|)w;;Gz2;qE{_e^a~e zVwMh@*qW-obo#ZsXrj%I)#(9xrhOiJx+j<@eSV0v|0JivEYpbbB*rW59Z;=c$x;qu8N!pffj$)GCEhpCub0KoOY^21QLp7Bg=GCjWz4 z-2|LB7zTGxqK|3SO``1To{{v#HV0#!9tk@7CSWM2JyO}zcL>M?E+9X*0Q+EsBX0&8 z`HI%uET(|xyY?1Twuh$PA|~h)bxQ3m+GG@{&`BTM+1d7BKJZDG?Jf3t z4)`=dGZy)C*qD({KlTyL%eIcJK|T74ZZ+z*jrzbr!GXF%6uBnq!>1gS53H%>8OLsB zc%au)L z01s&=)(RG3h3owGCYKcibH##aPq-Y%aRWX#Y38k>k@;dMlAJI>K!KD@pWh0M^bNWD ziEBI6b;O&1Gp$xQjzMvLvWw*!OpXt=rX=j$_&xFpr&$@G zsJPRMQRc<3{3e(>_+8^ZgYpN6YDLLhQ_F~_wHB!bj@M^}6~~KIsXm4B0`*);b~K*e z6N=119T{rq@d2V%ou8!y}q+ z6$$3YM58vq4p8DJCOybuLet?`ipAT%oi_N*7&~+;>g7N?7)3f`QG=U#|JT=2qk#?)7BRuF=KQk(1j^t&w2MC+ zGsDmAayGLZ#ba*EL)OrV+G;@KkjR52kh*+9y%r>N+*w}Eubt?&D-3qL7LJmM)MD_5 zv_Rhu6m?5dkm4Aw+c?e?!5E18u?7tp#E}4UkUebp;HVcX4v#w9I}$v3l-X5C`sxA^ zik}c>%olFYHwZA5ijTqALbSu8>b9#B298KC4lVMaa?l`F6@Rc0T^h;lY`&{D+TrXkk>553ge8obZ}vIXmF$& zXj02TfOkA~id099aH9sjb2~Do1?>q0sLb}*Ois=&I@K4R6hE~{_IJY3XA#TF#56>5 zaN&86M63YNge#JZe?HWL=5sBpJ!b=C+~J@Vq;Y2ZCKd*aF}kJGktXhRUlL2yYoTO- zY=uz}Fa{%P$ck7=XzEW-B$~jtp=>Mapu9?Vcf&FWW-h}lW8f`jejt|3;+{pC290eU3+J=b7f5F`y!-NSO1BFi}5g;Z~c ztY8jo2Hs^Jc=>xgN7I0yIDbHba=^YGh&vrG#OATKS?X3UoD zhDn@(&61dDeQ*StM&N<*z=<_BN8DIm1}_)?>%@U`UZgN8){C*?aNlnq4WTpn3X$~0 zU640*`h%NTvWEMS&Tx$d;$5YLZ_Gog<%{Y7DQralX4s?CH+PEaC2&Pg#+yzC0g&`` z1!brnugT3Q$lBZu510#J2<$mkE$=HI_Z)jWB?=wK<_>s=+hY(#-A;9^5rC4FK?zAS z`2{EuxKN=Q59;qw^3U(2(>h+sVJwl!#$}LMP#O$C0Vp3_&wUdNt%(O{eXaTkDh%;C zOMHi|iQU9H1_aA7&@-%$XPjW*1~aT%LC!9U<&{85c=Wf>5W>WVsF}FrGZx_v01G41 zEYr$?>E4s*l!~PTc}V4)L14c)?PC^SQo!tBZ)53_v0Mt>SgGxpn?UzH^|h-}9Z$Pt zKx&{hj$}2r{K&M9vrBn4mz6ue5 zkU~~gRR#ddr%u9w+?Erq%Gid^-XqLT08z#@_&wY{>c!wdW9$Qb9uagtJbif6ITjP{ zY8{xqC<@fv)fo4{0xShUrofxj<6d!XFHl}!TRLFh^zW6FBZ~ec^G|po4e{c zyWWQi6LDFLMmZG$>IYD^ht#11vqMMH0Q1P7D)a+SaJYn&Z9Z9r8bp)4CH1T@#{^(& z@DS9f0+n+CmIPyjxB}|H^kF=3#&{rb^#LPE03m{28SDH0Ip%~#hqqiQYYxGw^O$QU z_{TuDRTHD*92(qb3JwyH5{CUI?hfcJV_YAvzw^7#cH?+E^b{+D7@rX%qRw<6;{-Z` z2}`^fZVPl&ip(0^M@(2<%v54J5P9Zw`O3A!qExP(ig$%GJ>&Vr;yHdc4Cfw3b%}9Y zWnXsUzY6ddr($Z|;sS+|+PXTP^QOO5wJpPJyAh1YvA-Fe zMZG{_yt`7ECk3ckRgh_xHvn%dZ~|PJm2EpNIT`kWFJ15oxZY-xhGQe(K^kujelF>v zEfr5RbE)*NV3@|O3Dj-~jEBI0Vq6dy&;}O-1a!b9zlq)j7sLhJhzod;-nbMr(fg5i zh^WWD{ZF6(9{qr5H+%Gt=c}bc0o+!EdJPftppN)?2y_**V%Gg4y~HI!sVEJ|u2|)K&hF zcu+e8M`8$cDXw|+jrO(scMI4VUuub z?1m@Bb{)#N+%e)M?IYSaMl3O&(xD4o_y-ec^9dR;RvgflQ|EDFuvQw2jT2Ytc=4+V zVhL<^6DC6IQ$`ynLTk5zQYMMExb&U`NpuB$I|;*`K(|j8C3reASxms?KTkmyyMneq zg@q`K{rMF1im($WyidbaXT3W}g*!!1>rKsfiUOzv@7yUKiAA4*az|@O#Z%yidXnCm zB059qDFI2YHbbMDpZKgxVJ&Ep~j>%s@GpCDz{`sJl zhFwT6rn_&C-8uu>2GNqyuZnX4rmRczo`YhdA?p;YJI*n zOX7sSI;0#jZhcwYtDnHRU3ERzl6x`s#T(RdF+LhaLly(h{!23!i+5Wce+PKk9OH#1 z=jZq>6Ck(E#1feW7V2P_frGo`tOTbGvjd2beIWj3?3q`@qZ;7CvlNz*x1cM5PWJZQ z&}8*Mfp&_vY zn`1SQPO!}I0`i3IMVDNN4!~dhhOY2$z?h|QyanCA2dwX&v2?B+eLdd@?^TSY$VyQU z0VTn9Q5H8j#~k;x|4Px?zhy5dB6_-XrMT6ii#u~2{_vujBEqGn@(_WwpuZvUKPlXSBA_A?_sOFpE8e=;P z1upwR^JlOfbgVO$cl4X$v3k?Tdz3C27^hMf2(L{%-phZ6*r`whqz;BA+GX#F<;8%n zwMXdVx5SO`&#~6QG`J!*Yn}K`)0)!gcf=DgPM?2A^sJ7M3)C2eN9pjWm-9pM83h^? zjc`O`b>pD*__Q3JW@5Sj6GYUx&4+0EyJ8@||K(j6FYro@4dM=15d4%}B+_ZY29fM+ zQn&^bVxe)VtHusvsTz9#XASJ$0Gt3j^hS{eWO?&O(JJRf4QWI$SDciOxeA{hj=%mJ zy|xkfd=;J8D0=uXp*R$oT5f_Ke-nBXM2~LUBs!u;OE-z`SqedL+wodtyq29LHv^K7 zP|wYnlzFsdGqB@m`gXH;RL%o>W={so89NPm56a+=sr)@`rJZ!}J&?U|l=?nU?wfS~ z`=Ws#XcW+N8@>EK8vclWdS5)JJxZlpfVGa%k}aaHW8CC~yU<+1$x95uI6Hp;Dl?ge zet>uiOx%JG06Xu~?hk<2EvoncX4ZAF&{p7g0G7QC0QMD4*#>Pn-rc`Ve5arB!O5vQ zjG~(-(b4Tz#Pl<<(qA_2j;y`FZtp7=I5bF?Yc1omZwD(si*#8EH`W;9VYj*89tR&R5=U^LOP2ZdoA21n(nug^n6Uw0whsBXth47p2>CeBw34KqEFN)>fBXE`+N8el&cY5Dm%D0{W7Nz=UztPUW z#p9j>e%qjpuZGiN122K02`s4tP5AXT>RhX(%~~T%z{oY!! zF_f>%C|c~K%er`aM3-!R*s9Asa7{nx@=*}pyWH|Y{lCA(zHrOkV4>+%uN>|Bt61+^ zf|%FU!CV?_!?ys=Cskrk`%qhO022ai`vJ7pkG3Y$A-|lKkJH;ALxGGyyN$CY*=YmW z7Qo_H%4L45n)wP%56CCMD9fOH4#t(2g7Rv8*UR)-P~L{AZ5)y<>lAPdyFaP&uxqEr zw10WAb3+BO7edmnY0uEhVY$>>AHcqjx+lqc5GF<^$?j-iXOirrBY|jvAs^OvejZzB zpv%F!NGqg)X{t-RglwKRai6jssD`la$jyj;Q&lOOqo=*4Y>LYaDf2Pbby7a5?`uZQ zOqs7w)9DUV-lbQpq3x!;5&fu|EZZQQ^NwUWUjKa}olM5?(0Xo)9HO89jGj)Bcc8AH zQe-o&AeLW6j%Nm;JQWQMrtebaodCnmX>tU7={BUv{`&S-R4rZJ3xJ)JE+hEy)pW^x zdV>sEpnv!Q^~sRE{L3zaQ80g?*E8f2yxAvH=HktVGvy7LuR8%W0Xt9aCBKcMA}~q4 z=vby42yXiNEZIwc>35`U9*@ zs+9?|f_W$1k}D?yioVK~^YugT)99*ltUhTkY1L$&esT)sSCi|)t1s%T^osh-{q#dM z*#WLyjjPLBFoG%7(aTBnYIQkQAa4g;fLyTjBY)){YG$dQZniMtz353i6(PErjUb$n z5833{%I}9XrkiV^XUbu4NwAeyt8u22mI+>>+#H=Z=0-|nGQ}zJgF}bFkt5?TKG0-CO>Af#w5^wV z%VxAfaPzKkG99cd_vuSCj)%>r?e%0|-*>qxdaIzm9OBspl?ZL>n3NrM*C~HjvnFb-e;j?f=8`?a%9a)8PDhGqCDwHj9)`TLcsB%DF$F%__ z284ln8_E;nXqk#>hk6T1zaUCB#M}ePU)=~p>P-kF%ZxqNNZzMq{SC{HR?h{^9P2T_ z8nJH78f5-We>IkNolG{hV2)BF%v3IiZUk2gDi)PB9k0Wq4qvbmi0-`xJ^z#JB6*|l zrL~$l39j5-Ar-t)1ViRN`mIQwrw}qD(Zwb*3l!Wg7P-{yLDPh+XCmj6=59$in>2-H zHI;8crtj7a3p$P-ZYFEs>G@{zYWPm2xc#bd378WhLIaq@Vae6bWMZGlRRmAwNenNUnG-MpqJy57#Id_{|;d+HGu$`=}p_HB5Ap)UadPH*~Xm<6%w9cCG`D zTUf(bp!1<&TnU=Sr?3aGp%5;6hHHpwu0Y?x->TNs_j~wzOy&+fDS*MF6FOImeql;< z_?~1RnAV8xPilc^6EU zI#g*0S2A-OZT>MiyTDBBCD?+Hn-}i^Ij}VfW*=B2Q2jDKL=_p|V}Z=h*i(s#ajO|X z1WLSWn1|R3t{~_DrtdJ%8GC4gpn3i=d~6v^098!Y(n@&nN;WZpt&^gGwlFv(RLP*~ z_|9w3iAPZ>{ww4t7i@qy4>LKTs6_&qWXI}-VFs0dC)<5n@}FG(Q@M zCBR}|P=ejf>w_bSk}TAZQIt^m6&=wNMaa%?W@}Eu?CI4*0(U4-LxQ!|a1u5F7qTB?rJpW@GUKPX6 zsXmp#J5P-Z8Y!Ig%WYkGsxy#fd|WD-2>p3F*(`z~*g>jjDK#+~Z(=m+MK!Z9X*(_P ze6}HNL%2%Mf6bEPeik1=TEb}p^`@zb#0dU}dSSarEDLmKhiby6$maXXsgEZSfCY0O zvfDac4J)1;B$Tac0XWLC(gJ(h0d{9oJBk1QQI#WHVxO9CBT76mYF=Vy1)PuJ^+h|j zd%`|U7J!h>R3xY6I4}>4#7m5ga5*bckQ)A!oazqR0h&{hTwJv>6A&7JdnY4dr{c=W zQm(8Fqy%aV5@(XLOW;QmQGn05No^G*=+uFLfgxa4z{xMb4LG(D!e1NgTDa1Ef)z((#)~HL*-tQ@(=~~#J zBe!T?+SyuOrT-P+Af(KgaXkbB)~L0S(^G+ zL9l;pay$8i1{TEI0X*>A*T(91kWF>}dmCBXFd=q-Cwb13HQtFbR1VlMW7)vmFu~cA z$I+ABWpjP}IC{IgyjGt)E_S}VEDWe@8906}*08q(-RVM2`pAZfN`S;WVL#!*jvRij zWK19M5#_X|4|>#xzU(6-$!HOYY+CCRTO+Ht;Fn}yc~^53+wsmo0S7#YN|;*s200Ok zlM!Ty4Bd)G*-g!MNJat8LY{qeJFV<1+oJYg`-1Rqr>kz2wUf@Bbx<$P@bJ;DyUf-! ztgAbR*4--mYZS}uC$HC`6X@4p7P%2cTQ*Q`1>@QG4mm@=;H97LkPG3tHtkM1LHB=C z;ZDRcWW&yTT#JI#G{zL2+(xbMmiIuEU4FMrX4S&_dm!5V?WL4^Wp91l85(l0T`PtYqZ+cFfQQ%ncgkZ$#4C!_bHhRZ(q z_LJfAb~q9@8X>RC9Tmm#m>fN@G7{m@B7vAgB_dETOdBEl`7eCOn$OSZ%m~@2raG|< zh!nowV9wyPP|sC08e|(NcryF+ciiK@X?RmTg9bbZ&TI*lJ_u%Y37vXSw)F1VubaoI z&PZ7!Tz5BQgG6w0ERzt^XOIw1;4MxD=qS4}pEg^Wlde|L&k$ zAC{X!tQzA@gOocpAAz{KlOB2mAhL_nAC>*X#}6@3Uig&jE_oD(x%Q!jP<@5>{mSJ> zxjfc>lzfjfJB1#{{OzDxkISY?AAi^5@>%`e0NI1XwP^JrJwnfJ^VOxJ(?SMKyVVHR zg-W*@7C1rWm4%em9k6BRf)Vnyhn-Rf!o&YcXwefglEkNo=w0Dys3H1q2TDp{5d#aM zHWfH2eqgga_;HBtz;Vh7%ApXR);QeQWS;V-s!~%$4fccKHBH38AvG2J!0c|&jW#uTjE`CCc2N*?ocE_D1SuR~^WZ~_&>VLiX9Qk337oq^FRxs(_%@99 zF)6{U!6P)unIF`ktE7c$*}6DMtgcu$4jHLjx5{G$05iOnl|aY(sLHcpKx>>8tzRlR zC#*bg+(3Iqg+qqXM9)olh33)nQpurc))<+qUkFfy6TI~rBk$)FXPd{!98Qq%)fm~v zvk2~y)MJmYC4ITy?Wd^&5zRb$tn8;R@=@VSh|pHi%y^j{nwAYVfS>o!s`2tL6h~7g$gDsZA`No~v}l67 z3z`R&G-uPJftx6Awp;`(v30g=%s8cbLzzh*4ffX|>nAsYxxWe+Bqqv;{K*q_VPaWK zhD`rk?AnPkT?<^~*l8eS(%hj;8aWB7s=c&slB~sn%*Q7|FEcmRaGEj}G_>k-prLbPJ)Q$;LP+YcGI<&)q>y#+Cp>kX zB_E*A7sz2q@Ps1dGg}qRrwwyuGS!(Qr|G4-(iKhL>@zrYBoOn>m0dLbO9W&?g`|q< zdFV&_(wgVxk6;QHyddlN-+u*M97z727eL)!qLg{EV~y32A=zu?b>&%uqaa^*)NsN0 zruUf}=*fAqYE8VLT$NtuIr!EEFMoy4gYmV-el`CH(589tUfWK8&69=N&#`**Ww8dH z>VX9Sd62$D76KoSr$r_h(I=5ykmKPZ=mvld4+xN>(uJ}{+Sy=K=d53OK-f#e>HIE! zdTXJquAdLm7Ym_x-A4Tv$wm6>ewxt~Y4u>JP`L(D=$Z@31yow(3()m1%VS8mSaY#_ z6PLq_<-52%|BBoTld`OjuGW7^Hm2(u>0bW?kK%5vlzg+@IZa=WgT}-Q+=C7X-j1d{qO{8zEs}8*Jqc? z4mX}!Z@xF)CEhbt6h zX$UMRJWGp~$#zMHRTc{7ozdZ6m&tmOD`&vW=kCeM2`SYvBh>9x*)#_@-|3zUW@I%+ zj0|j1ZOqi7S7o;1Xg0hmvsykKgrd>%VZvPD6#TI?u}k*TsFkz(sFFZDO7s}%mP!W#|nrQQ>b)>%*aK3YJEyI zwLoD^H`>FLH$=DISRtb=r)cPH4VP^Vj=H%^SWIBsYV1$UQ_H$8bcZE1SkT>2YT_jy zuLpWZ$>lOt-|!CQm&-YAxGhfCuU-j-lTexIfK=VE$5q1>uEHfEis~??oc1~98F$#M zoJ*H^4Qf17E=TDIde+u~r^dD6I(ZxYxl&Fs&Q0Z=sumWer9G=;ZEszzLz9_JdshJ$bz38==||4e z18d}2_Ybo)TD4X-P&dcc%Ky+`ugemB?-?5XhAiaksyF1f`syF(wY7N0_2^o;lV+`z z8G2c~5LXl)*Z2S6e1t1Lx|{mPmBg$xDI?rj?v!XWK&4zFv{PC%s!B$yRVlujm``JAEtihX~9N} z6xTf)?{*xb&F{&=;0~4; zfK0(Tti*a+FN+q`>wQ4Q=|)aHxE|dk@1fee<#~t;HTTGQxV*PVzUf!8h&hu=_R5x3 zo(f)8DY|U<5SvfYuD$Xq#n^a21}^M{yxE6Z?}J)@6Ft5UD0?!M?}MRa2jzbvf1!J} z$Wr~#dHQ|}SQT8We<07m0-3xOk7F8>^?@8lv8{4cc$@+e-d9a%{(ogYtmWg*(%su| z(C3;H)Mq;kXt++@F6(>yfa%vMxwn=|`?t%qlD}L~niMm5;b0^_qU<6Uv{VH_Rq!_# z;5>J{5mE)0xS+8r2&)3{GVJ!iZzQRLFDjClu zmU;!LyU~#eT#%~@l2yS(ENUt)`PfLTuY5hx4CCwn_LQ^ta8-Nnll}58 z|1#ud(jnguI2i6us^m}D-n2x?)KBG;X{Wg&DRcT?U0`L%lpnACw6AW2mHLiU0`*|0BUD!l0?d?9NkRcL&skGmLeSJ2yE zKz%WlvJXNL(w{cZ^<>iH2W3v)={Ho$VtWOm>1JytGMOr733;U)PS6}``)F@FN(bs%NW@%SJ|`Q}BM8iU`u<7}L<$&tIaVf3#hI zc5gcJuXdTE){s>#L9m_Ejx^p;qBej1tNYxI@ zYXA5AgccytRykrXf_>n4gsg*)AC@7^*5Plim@SKE%L;<`7|dRAj)D!_((zbffxh(JDmo#n`3`v^FvHN8MnH!T zoB%qWLTgVzEJ60z6S7e>p849|@3nXR1B~KsHRjM*kME>Mga2nk-JMQ@PXe?@(TtOj z6hEhBCxOw2Qt=yR4xK#-DY}A^zK2NBpGJR=Wm!8X4x=G^AHmFSwxOe)VP{M^CATFi ztT-hLjJ{xNpm2$Ue9a%^GpKyc4-j8evPf%xnPWh)3gUAX(>BMXdQVTzJ8lS6i zWYFrRZi z-|^D||A(>f0Fa_++U}m2o!z^=(7l%fuy>>*A34Jnkzh$SvyxzxcV)CrLO1y$u@>!BEz4W_*1=c1yJ@@8?VIPgGF^q zTlVr*bnLmu)h9QhqtHX`E+wI-b~83sRX7~$(V2KkU8w6$1e?=d28eys*=w=wqQk`a zsw=Q=Hkc9mdjCyKNdIq%VON`-*nD;FT5Q{b)Xo@zS7BAiNo`Ics1DzRDB6ZZK~n8X z?SoZRW0|vzMbZgUJ|m&j)2gjzCdUNA5W*_mNhi&43yJ=9mXV;hBGD|!cF-9D<}9WcIs zL$cclTy}5;NRrjDJF)v5aNzg^vkPKmeXueMxI(Ay#!hu(PCEit2_4(_1$4d42z)qu zwp;XqhUAvbk&qL8=;@*?19J6JMFjfMW~ri~HOZQgiU!ilE!H_1xsj2TetC~DwQ#~= zT>Yj87SB=LBSD!qno9l?O=2RHQk~B0fr$E54}4)E{PY77nQQ*M8dyu{GlFLYb8)aosAbhl@M1r6{~X8{y0$!sl>-a zx;9sJi5Df3#z#17-?Z#lh}i!@qhIK7XhbEn(*EFo!`ig}3)WWYfeCg^V1W=;9OKlp zFzTn;b~0RQ$u1eAF8m^j+slyCtD*mXvaE=Mrts*pqLf8}E6a)!-XpVUEO*lqjOMn1 zZTd45>f71nL?49hTTWDRjsI4IV~bhkfWHUO&9whR^{mtbcV?@;N#fG|nz3;@JXth@ zUhC({@S!zN9ZD9Jnw{5Shl8x)gKeCndk8;hFwVt!eI6bmiLpQ7fy68%l(DGabgF=4 z8vkMw%k{utv!U!O+M06>@?}(@_#3Hm(nRpzU>!>nZJ^>?IbEaztXAowLdkO$P*5wf z0U@aH00`$1M9zD)C|#ugo3>WyffZKfAEb>zhkjYN+eq$!oF>T?nsmCA5s@QuBP>@D z>P`{SFAa7%1DEuIj|IUCLVaCS9I?8(KxcP?`m&hl;+c-kyg=A=<@bvO&jm|G2t8MQ zKS+L+TIv^>1&nHXbO1Wx7)^w$6zs=tCzmtC0Qf)XktxdmyAbpAzy_yldX^BG|4!!(J@A&(81|JA;l>bVfNFh7(Eu^emlW9%6KNAN zP&`p(l@i7NozO%OkOR<%rNj@YL3F~Y*rAF|aMU5LD=jj>^LLjPO`#7SpCx8vOujZt zbimWyEYaD&NFN9z+C`g7!h;npaMH0>cCKwNLHEU3wU73 zf3f7n{|9c0{YkeSZaTC=VU*fUqgF*R4$AwVR}`gj`Msi8@oyB|(gJ^42{=saMy3Cm z$`{#UCZcz&EXeSlsw~Km->%B2pMN!xzu}*%P-3Cys)))QM*8xqiHFn=^~EySMjGBg z6t~#Nf(D|9*Y=9D3LIju+S))o7Aqh^^Rq!PxRA*pgHva#0v;=cKb?d^UsV_Nx%nrF zRA(qpP0+^`Rj#HOtUnFK?kyK18^Pv)H~{(YXV4Ldzlik}ORzvbMGiX_!DaSzipP{q&#b7reyIidtY&B+nd%gl#9Vmfp~P|Av}NlgVR7J((UJ#{F5 zc)dkz$uJQtD6V}2`YP@|cNScz^y#@SuK?V!ysqMT*T@Q%NQmwE`iDV1B*&rlr zW{^17+I2;4X}lqQ#+E9MSx^6C(NS-Vj!~~S5}hMQq8X2*@$pD?s*xy)Nt3%Vnsj$n zrm;9=?2p%z)sU@NA4Q!-4iYjB&^roUx(Nt1WFfe>I{Hcvd$e+t$3&0gF0ok0t}JH-9qvzsJvK(Nu62#vqZ@gG zH-v_QLX{!2fpy? zG-CMdMK#2Tv}3?LcY+he(%OK=2sYSi(7SUsP9svB4F^?o0DCXQNupIWLejNkUOgwQ z$p8x+0k}|rO$?HW!6X2A`k>n?c!KJfHOpVM;wT!WX@^?NYT2{DXc|5@9s3dOy50ny3+M-~=2F6

-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 { function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite-jspi.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{if(err){wakeUp(29);return}wakeUp(0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args)}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep(startAsync){return Asyncify.handleAsync(()=>new Promise(startAsync))},makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"])(a0,a1,a2,a3);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"])(a0,a1,a2,a3,a4);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"])(a0);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["main"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);Promise.resolve(ret).then(result=>{exitJS(result,true)}).catch(e=>{handleException(e)});return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite-jspi.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{if(err){wakeUp(29);return}wakeUp(0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args)}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep(startAsync){return Asyncify.handleAsync(()=>new Promise(startAsync))},makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"])(a0,a1,a2,a3);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"])(a0);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"])(a0,a1,a2,a3,a4);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["main"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);Promise.resolve(ret).then(result=>{exitJS(result,true)}).catch(e=>{handleException(e)});return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<DLWSLA< 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π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 ar91%{;{g*~dG+5e-h7G)ypwTT@c#k(s;yE0 delta 234966 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 qx2~WNzJU5lPYCcYfFC&ak!j z&HVht`#GHm0Y~yCC=4@hu`^_PO4#82mK-HDAnS)TD^et4Jw#d$r4Gd$G*SK+n$N{2 z7hw22<|>?=^*iOxdf&(E!=JML(CE%(l${s3Z*$>~Reqb^7rZY<`wfnndJR!{gwTCY zlq~r=6LQslbaYMFq1qqJF?Ux~`{5i2wyN4sKmq7j;nZiG?OXSS*AsXsaOscT22Qit<-K` zdIFz@jufjIAGXt75ryjZk^-%dr7^Wr4R{5~)kqC?hAEq{U=#7mGWV*2036X?CKOe& zlObP`03t1IBKJgx;HtWVhZd?i@|?H=j>yB*4X@!1Q6^9*45m5}hUJb`{X`V@r0vYQ z>S-iD0X7XFCty!g8tl%wHgr9`nV`;Fzg6G#c&657Z8$vd`$flu^YVV*Xi0cI@25r= zhmrMu6uC@}sP`w~(qC8ayMhy+*Hi!MFtEKp%H4KfwTbO_kGQZr_FMOOT^@0D#8v@}pR;)~ zpy%I0`;LA}gvp#SHFYdZPCwdcZvikaloW#KtWcK-MUPEr)cFp>r)G!w52TX*)2?%Nl_{+<1f zNXVCU_Qy7+$Kgeorg0&Za^hlqkxw)2yz^-2*WmATe|a&y)ZllC9u9rG_#-fVoZZFW zOAX_?`Z4aeYnPqY)n6HvSKD#X1#!Y;eR^~>GKgIZr)@6YnN5UWosniV6#g}Wz(HBS_j3sZXgZ8&Cec5lCL{VOVg zgv_wO%k{nevE?Uf>OPCedA{H6p5nS{9_`u3m5~h5oc@rCO0Jii9rOZx<2)u%opmDR{u!lSfCMM=c7d1NOkMi0 zCjC)*yBq&I#a89R`{ZiVhuYYs?~-l#4TZkYVZrRn#@iD)=H) z@H)N_2Nbj-3TDTJ7Ylx8#A9NWx2Q)Yo#%l87R_Qd>|gZ1=!}p(EE7)vHg$Z5@h*Na zJW=%B_~gx^A9}bFdTfFO!?6vatlo8zG5+LIor}gjQK1osQ`Xl&>U4k?MR`h`G>b#) zBmN`@hn-?J)s&bp7m)X8H^voalzg{vNPpij37GylO9z$RyRG4j(y)nSz*;OyZ3>e# zh41ZVTjXqpHY&Z-zPP6shEGbqca|BMN)BE|pwYg+AaaYyx3!EG5Cv^NX*(>Y)c-ack1g22$m;HRwN1HS2 zl;;W$vbZPMk?&Xw1oSi<*yQ{ATzo}1xykn$Y_<#vi~vqa3mfdky!mTiHFShCJ4;1Q z`9C-LfkO~0oY7wvo^O^C#N-J%v=VuMB81d~5d#d0`}<<26mK-cc2Xm!BZi&(`%&G# z4^Y`Pt_T;V5$guAB(_#NBjw2B3}s?cqq zAKoz+f5@f{VLhfJ8vHOEFwk$uI_j`}e2-LqKEO z_I?$h>2i_drV~k=!5ga?7&xQdLx`0VFq9>1`A+m21(G;H@It=n%%GF6nSz4=;Sy@u& zYmAbMYLXt4;a;<{94{p?nT=adF#x@RoYW;9i_AJm84rO`F~V69w+8t_sVYrGQln#0DB|NM!-K

~%ccw>$ejO)u2;1OjBv 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

JQ&K# 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 E00bSJ>Hq)$ diff --git a/dist/wa-sqlite.mjs b/dist/wa-sqlite.mjs index 1bea1377..cae4604e 100644 --- a/dist/wa-sqlite.mjs +++ b/dist/wa-sqlite.mjs @@ -6,7 +6,7 @@ var Module = (() => { function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["la"];updateMemoryViews();wasmTable=wasmExports["ef"];addOnInit(wasmExports["ma"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={a:___assert_fail,Y:___syscall_chmod,$:___syscall_faccessat,Z:___syscall_fchmod,X:___syscall_fchown32,b:___syscall_fcntl64,W:___syscall_fstat64,y:___syscall_ftruncate64,Q:___syscall_getcwd,U:___syscall_lstat64,N:___syscall_mkdirat,S:___syscall_newfstatat,M:___syscall_openat,K:___syscall_readlinkat,J:___syscall_rmdir,V:___syscall_stat64,G:___syscall_unlinkat,F:___syscall_utimensat,w:__localtime_js,u:__mmap_js,v:__munmap_js,H:__tzset_js,n:_emscripten_date_now,m:_emscripten_get_now,D:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,o:_fd_close,E:_fd_fdstat_get,L:_fd_read,x:_fd_seek,R:_fd_sync,I:_fd_write,s:_ipp,t:_ipp_async,ga:_ippipppp,ka:_ippipppp_async,i:_ippp,j:_ippp_async,c:_ipppi,d:_ipppi_async,ca:_ipppiii,da:_ipppiii_async,ea:_ipppiiip,fa:_ipppiiip_async,g:_ipppip,h:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,aa:_ippppi,ba:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ha:_ipppppip,ia:_ipppppip_async,ja:_vppippii,r:_vppippii_async,k:_vppp,l:_vppp_async,T:_vpppip,_:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["ma"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["na"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["oa"])(a0,a1,a2,a3);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["pa"])(a0,a1,a2,a3,a4);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["qa"])(a0);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["ra"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sa"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ta"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["ua"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["va"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["wa"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["xa"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["ya"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["za"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Aa"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ba"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ca"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Da"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ea"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Fa"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ga"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ha"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Ia"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Ja"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Ka"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["La"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ma"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Na"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Oa"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Pa"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Qa"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Ra"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Sa"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ta"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Ua"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["Va"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["Wa"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["Xa"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["Ya"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["Za"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["_a"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["$a"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["ab"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["bb"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["db"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["eb"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["fb"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["gb"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["hb"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ib"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["jb"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["kb"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["lb"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["mb"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["nb"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ob"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["pb"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["qb"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["rb"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sb"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["tb"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["ub"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["vb"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["wb"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["xb"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["yb"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["zb"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Ab"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Bb"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Cb"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Db"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Eb"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Fb"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Gb"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Hb"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ib"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Jb"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Kb"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Lb"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Mb"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Nb"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ob"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Pb"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Qb"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Rb"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Sb"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Tb"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Ub"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["Vb"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["Wb"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["Xb"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["Yb"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["Zb"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["_b"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["$b"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["ac"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["bc"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["cc"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["dc"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["ec"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["fc"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["gc"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["hc"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["ic"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["jc"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["kc"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["lc"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["mc"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["nc"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["oc"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["pc"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["qc"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["rc"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["tc"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["uc"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["vc"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["wc"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["xc"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["yc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["zc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Ac"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Bc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Cc"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Dc"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Ec"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Fc"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Gc"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Hc"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Ic"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Jc"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Kc"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Lc"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Mc"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Nc"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Oc"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Pc"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Qc"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Rc"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Sc"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Tc"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Uc"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["Vc"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["Wc"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["Xc"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["Yc"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["Zc"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["_c"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["$c"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["ad"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["bd"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["cd"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["dd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ed"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["fd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["gd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["hd"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["id"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["jd"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["kd"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["ld"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["md"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["nd"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["od"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["pd"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["qd"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["rd"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sd"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["td"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["ud"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["vd"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["wd"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["xd"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["yd"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["zd"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Ad"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Bd"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Cd"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Dd"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ed"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Fd"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Gd"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Hd"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Id"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Jd"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Kd"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Ld"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Md"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Nd"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Od"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Pd"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Qd"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Rd"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Sd"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["Td"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["Ud"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["Vd"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["Wd"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["Xd"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["Yd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["Zd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["_d"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["$d"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ae"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["be"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ce"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["de"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["ee"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["fe"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ge"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["he"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["ie"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["je"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["ke"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["le"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["me"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ne"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["oe"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["pe"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["qe"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["re"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["se"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["te"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["ue"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["ve"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["we"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["xe"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["ye"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["ze"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ae"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Be"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ce"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["De"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Ee"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Fe"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ge"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["He"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Ie"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Je"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Ke"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Le"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Me"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ne"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Oe"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Pe"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Qe"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Re"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Se"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["Te"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["Ue"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ve"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["We"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["Xe"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["Ye"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ze"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["_e"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["af"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["bf"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["cf"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["df"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["ff"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["gf"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["hf"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["jf"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["kf"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))}).then(onload,onerror)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="wa-sqlite.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("wa-sqlite.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),error=>{try{resolve(getBinarySync(binaryFile))}catch(e){reject(e)}})})}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["la"];updateMemoryViews();wasmTable=wasmExports["ef"];addOnInit(wasmExports["ma"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=date=>date.toLocaleTimeString(undefined,{hour12:false,timeZoneName:"short"}).split(" ")[1];var winterName=extractZone(winter);var summerName=extractZone(summer);if(summerOffsetDate.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();adapters_support();var wasmImports={a:___assert_fail,Y:___syscall_chmod,$:___syscall_faccessat,Z:___syscall_fchmod,X:___syscall_fchown32,b:___syscall_fcntl64,W:___syscall_fstat64,y:___syscall_ftruncate64,Q:___syscall_getcwd,U:___syscall_lstat64,N:___syscall_mkdirat,S:___syscall_newfstatat,M:___syscall_openat,K:___syscall_readlinkat,J:___syscall_rmdir,V:___syscall_stat64,G:___syscall_unlinkat,F:___syscall_utimensat,w:__localtime_js,u:__mmap_js,v:__munmap_js,H:__tzset_js,n:_emscripten_date_now,m:_emscripten_get_now,D:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,o:_fd_close,E:_fd_fdstat_get,L:_fd_read,x:_fd_seek,R:_fd_sync,I:_fd_write,s:_ipp,t:_ipp_async,ga:_ippipppp,ka:_ippipppp_async,i:_ippp,j:_ippp_async,c:_ipppi,d:_ipppi_async,ca:_ipppiii,da:_ipppiii_async,ea:_ipppiiip,fa:_ipppiiip_async,g:_ipppip,h:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,aa:_ippppi,ba:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ha:_ipppppip,ia:_ipppppip_async,ja:_vppippii,r:_vppippii_async,k:_vppp,l:_vppp_async,T:_vpppip,_:_vpppip_async};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["ma"])();var _sqlite3_status64=Module["_sqlite3_status64"]=(a0,a1,a2,a3)=>(_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["na"])(a0,a1,a2,a3);var _sqlite3_status=Module["_sqlite3_status"]=(a0,a1,a2,a3)=>(_sqlite3_status=Module["_sqlite3_status"]=wasmExports["oa"])(a0,a1,a2,a3);var _sqlite3_msize=Module["_sqlite3_msize"]=a0=>(_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["pa"])(a0);var _sqlite3_db_status=Module["_sqlite3_db_status"]=(a0,a1,a2,a3,a4)=>(_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["qa"])(a0,a1,a2,a3,a4);var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=a0=>(_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["ra"])(a0);var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=(a0,a1)=>(_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sa"])(a0,a1);var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=a0=>(_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ta"])(a0);var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=a0=>(_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["ua"])(a0);var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=(a0,a1)=>(_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["va"])(a0,a1);var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=()=>(_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["wa"])();var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=(a0,a1)=>(_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["xa"])(a0,a1);var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=a0=>(_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["ya"])(a0);var _sqlite3_malloc=Module["_sqlite3_malloc"]=a0=>(_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["za"])(a0);var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=(a0,a1)=>(_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Aa"])(a0,a1);var _sqlite3_free=Module["_sqlite3_free"]=a0=>(_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ba"])(a0);var _sqlite3_realloc=Module["_sqlite3_realloc"]=(a0,a1)=>(_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ca"])(a0,a1);var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=(a0,a1,a2)=>(_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Da"])(a0,a1,a2);var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=(a0,a1,a2)=>(_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ea"])(a0,a1,a2);var _sqlite3_str_append=Module["_sqlite3_str_append"]=(a0,a1,a2)=>(_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Fa"])(a0,a1,a2);var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=(a0,a1,a2)=>(_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ga"])(a0,a1,a2);var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=(a0,a1)=>(_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ha"])(a0,a1);var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=(a0,a1,a2)=>(_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Ia"])(a0,a1,a2);var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=a0=>(_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Ja"])(a0);var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=a0=>(_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Ka"])(a0);var _sqlite3_str_length=Module["_sqlite3_str_length"]=a0=>(_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["La"])(a0);var _sqlite3_str_value=Module["_sqlite3_str_value"]=a0=>(_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ma"])(a0);var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=a0=>(_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Na"])(a0);var _sqlite3_str_new=Module["_sqlite3_str_new"]=a0=>(_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Oa"])(a0);var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=(a0,a1)=>(_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Pa"])(a0,a1);var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=(a0,a1)=>(_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Qa"])(a0,a1);var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=(a0,a1,a2,a3)=>(_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Ra"])(a0,a1,a2,a3);var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=(a0,a1,a2,a3)=>(_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Sa"])(a0,a1,a2,a3);var _sqlite3_log=Module["_sqlite3_log"]=(a0,a1,a2)=>(_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ta"])(a0,a1,a2);var _sqlite3_randomness=Module["_sqlite3_randomness"]=(a0,a1)=>(_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Ua"])(a0,a1);var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=(a0,a1)=>(_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["Va"])(a0,a1);var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=(a0,a1,a2)=>(_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["Wa"])(a0,a1,a2);var _sqlite3_os_init=Module["_sqlite3_os_init"]=()=>(_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["Xa"])();var _sqlite3_os_end=Module["_sqlite3_os_end"]=()=>(_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["Ya"])();var _sqlite3_serialize=Module["_sqlite3_serialize"]=(a0,a1,a2,a3)=>(_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["Za"])(a0,a1,a2,a3);var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["_a"])(a0,a1,a2,a3,a4);var _sqlite3_step=Module["_sqlite3_step"]=a0=>(_sqlite3_step=Module["_sqlite3_step"]=wasmExports["$a"])(a0);var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=(a0,a1)=>(_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["ab"])(a0,a1);var _sqlite3_reset=Module["_sqlite3_reset"]=a0=>(_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["bb"])(a0);var _sqlite3_exec=Module["_sqlite3_exec"]=(a0,a1,a2,a3,a4)=>(_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _sqlite3_column_int=Module["_sqlite3_column_int"]=(a0,a1)=>(_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["db"])(a0,a1);var _sqlite3_finalize=Module["_sqlite3_finalize"]=a0=>(_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["eb"])(a0);var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["fb"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=a0=>(_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["gb"])(a0);var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=(a0,a1,a2,a3)=>(_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["hb"])(a0,a1,a2,a3);var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=(a0,a1)=>(_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ib"])(a0,a1);var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=a0=>(_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["jb"])(a0);var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=a0=>(_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["kb"])(a0);var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=a0=>(_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["lb"])(a0);var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=a0=>(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["mb"])(a0);var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=a0=>(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["nb"])(a0);var _sqlite3_value_text=Module["_sqlite3_value_text"]=a0=>(_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ob"])(a0);var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=a0=>(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["pb"])(a0);var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=a0=>(_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["qb"])(a0);var _sqlite3_value_double=Module["_sqlite3_value_double"]=a0=>(_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["rb"])(a0);var _sqlite3_value_int=Module["_sqlite3_value_int"]=a0=>(_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sb"])(a0);var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=a0=>(_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["tb"])(a0);var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=a0=>(_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["ub"])(a0);var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=(a0,a1)=>(_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["vb"])(a0,a1);var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=a0=>(_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["wb"])(a0);var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=a0=>(_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["xb"])(a0);var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=a0=>(_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["yb"])(a0);var _sqlite3_value_type=Module["_sqlite3_value_type"]=a0=>(_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["zb"])(a0);var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=a0=>(_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Ab"])(a0);var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=a0=>(_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Bb"])(a0);var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=a0=>(_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Cb"])(a0);var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=a0=>(_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Db"])(a0);var _sqlite3_value_free=Module["_sqlite3_value_free"]=a0=>(_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Eb"])(a0);var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=(a0,a1,a2,a3)=>(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Fb"])(a0,a1,a2,a3);var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=(a0,a1,a2,a3,a4)=>(_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Gb"])(a0,a1,a2,a3,a4);var _sqlite3_result_double=Module["_sqlite3_result_double"]=(a0,a1)=>(_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Hb"])(a0,a1);var _sqlite3_result_error=Module["_sqlite3_result_error"]=(a0,a1,a2)=>(_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ib"])(a0,a1,a2);var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=(a0,a1,a2)=>(_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Jb"])(a0,a1,a2);var _sqlite3_result_int=Module["_sqlite3_result_int"]=(a0,a1)=>(_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Kb"])(a0,a1);var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=(a0,a1,a2)=>(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Lb"])(a0,a1,a2);var _sqlite3_result_null=Module["_sqlite3_result_null"]=a0=>(_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Mb"])(a0);var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=(a0,a1,a2,a3)=>(_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Nb"])(a0,a1,a2,a3);var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=(a0,a1)=>(_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ob"])(a0,a1);var _sqlite3_result_text=Module["_sqlite3_result_text"]=(a0,a1,a2,a3)=>(_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Pb"])(a0,a1,a2,a3);var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Qb"])(a0,a1,a2,a3,a4,a5);var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Rb"])(a0,a1,a2,a3);var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Sb"])(a0,a1,a2,a3);var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=(a0,a1,a2,a3)=>(_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Tb"])(a0,a1,a2,a3);var _sqlite3_result_value=Module["_sqlite3_result_value"]=(a0,a1)=>(_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Ub"])(a0,a1);var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=a0=>(_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["Vb"])(a0);var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=(a0,a1)=>(_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["Wb"])(a0,a1);var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=(a0,a1,a2)=>(_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["Xb"])(a0,a1,a2);var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=(a0,a1)=>(_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["Yb"])(a0,a1);var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=a0=>(_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["Zb"])(a0);var _sqlite3_user_data=Module["_sqlite3_user_data"]=a0=>(_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["_b"])(a0);var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=a0=>(_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["$b"])(a0);var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=a0=>(_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["ac"])(a0);var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=(a0,a1)=>(_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["bc"])(a0,a1);var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=(a0,a1)=>(_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["cc"])(a0,a1);var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=(a0,a1)=>(_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["dc"])(a0,a1);var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=(a0,a1)=>(_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["ec"])(a0,a1);var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["fc"])(a0,a1,a2,a3);var _sqlite3_column_count=Module["_sqlite3_column_count"]=a0=>(_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["gc"])(a0);var _sqlite3_data_count=Module["_sqlite3_data_count"]=a0=>(_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["hc"])(a0);var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=(a0,a1)=>(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["ic"])(a0,a1);var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=(a0,a1)=>(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["jc"])(a0,a1);var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=(a0,a1)=>(_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["kc"])(a0,a1);var _sqlite3_column_double=Module["_sqlite3_column_double"]=(a0,a1)=>(_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["lc"])(a0,a1);var _sqlite3_column_text=Module["_sqlite3_column_text"]=(a0,a1)=>(_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["mc"])(a0,a1);var _sqlite3_column_value=Module["_sqlite3_column_value"]=(a0,a1)=>(_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["nc"])(a0,a1);var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=(a0,a1)=>(_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["oc"])(a0,a1);var _sqlite3_column_type=Module["_sqlite3_column_type"]=(a0,a1)=>(_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["pc"])(a0,a1);var _sqlite3_column_name=Module["_sqlite3_column_name"]=(a0,a1)=>(_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["qc"])(a0,a1);var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=(a0,a1)=>(_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["rc"])(a0,a1);var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["tc"])(a0,a1,a2,a3,a4,a5);var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=(a0,a1,a2)=>(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["uc"])(a0,a1,a2);var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=(a0,a1,a2)=>(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["vc"])(a0,a1,a2);var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["wc"])(a0,a1,a2,a3);var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=(a0,a1)=>(_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["xc"])(a0,a1);var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["yc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["zc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Ac"])(a0,a1,a2,a3,a4,a5,a6);var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Bc"])(a0,a1,a2,a3,a4);var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=(a0,a1,a2)=>(_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Cc"])(a0,a1,a2);var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=(a0,a1,a2)=>(_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Dc"])(a0,a1,a2);var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=(a0,a1,a2,a3)=>(_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Ec"])(a0,a1,a2,a3);var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=a0=>(_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Fc"])(a0);var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=(a0,a1)=>(_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Gc"])(a0,a1);var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=(a0,a1)=>(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Hc"])(a0,a1);var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=a0=>(_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Ic"])(a0);var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=a0=>(_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Jc"])(a0);var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=a0=>(_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Kc"])(a0);var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=(a0,a1)=>(_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Lc"])(a0,a1);var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=a0=>(_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Mc"])(a0);var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=(a0,a1)=>(_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Nc"])(a0,a1);var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=(a0,a1,a2)=>(_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Oc"])(a0,a1,a2);var _sqlite3_sql=Module["_sqlite3_sql"]=a0=>(_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Pc"])(a0);var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=a0=>(_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Qc"])(a0);var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=a0=>(_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Rc"])(a0);var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Sc"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=a0=>(_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Tc"])(a0);var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=(a0,a1,a2,a3)=>(_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Uc"])(a0,a1,a2,a3);var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=(a0,a1,a2,a3)=>(_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["Vc"])(a0,a1,a2,a3);var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=a0=>(_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["Wc"])(a0);var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=(a0,a1,a2)=>(_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["Xc"])(a0,a1,a2);var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=(a0,a1,a2)=>(_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["Yc"])(a0,a1,a2);var _sqlite3_strglob=Module["_sqlite3_strglob"]=(a0,a1)=>(_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["Zc"])(a0,a1);var _sqlite3_strlike=Module["_sqlite3_strlike"]=(a0,a1,a2)=>(_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["_c"])(a0,a1,a2);var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=a0=>(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["$c"])(a0);var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=a0=>(_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["ad"])(a0);var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=a0=>(_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["bd"])(a0);var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=()=>(_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["cd"])();var _sqlite3_prepare=Module["_sqlite3_prepare"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["dd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ed"])(a0,a1,a2,a3,a4,a5);var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["fd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["gd"])(a0,a1,a2,a3,a4);var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["hd"])(a0,a1,a2,a3,a4,a5);var _sqlite3_get_table=Module["_sqlite3_get_table"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["id"])(a0,a1,a2,a3,a4,a5);var _sqlite3_free_table=Module["_sqlite3_free_table"]=a0=>(_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["jd"])(a0);var _sqlite3_create_module=Module["_sqlite3_create_module"]=(a0,a1,a2,a3)=>(_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["kd"])(a0,a1,a2,a3);var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["ld"])(a0,a1,a2,a3,a4);var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=(a0,a1)=>(_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["md"])(a0,a1);var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=(a0,a1)=>(_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["nd"])(a0,a1);var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=a0=>(_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["od"])(a0);var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=(a0,a1,a2)=>(_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["pd"])(a0,a1,a2);var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=(a0,a1)=>(_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["qd"])(a0,a1);var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=(a0,a1,a2)=>(_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["rd"])(a0,a1,a2);var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=(a0,a1,a2)=>(_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sd"])(a0,a1,a2);var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=a0=>(_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["td"])(a0);var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=(a0,a1,a2)=>(_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["ud"])(a0,a1,a2);var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=()=>(_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["vd"])();var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=(a0,a1)=>(_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["wd"])(a0,a1);var _sqlite3_complete=Module["_sqlite3_complete"]=a0=>(_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["xd"])(a0);var _sqlite3_complete16=Module["_sqlite3_complete16"]=a0=>(_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["yd"])(a0);var _sqlite3_libversion=Module["_sqlite3_libversion"]=()=>(_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["zd"])();var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=()=>(_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Ad"])();var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=()=>(_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Bd"])();var _sqlite3_initialize=Module["_sqlite3_initialize"]=()=>(_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Cd"])();var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=()=>(_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Dd"])();var _sqlite3_config=Module["_sqlite3_config"]=(a0,a1)=>(_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ed"])(a0,a1);var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=a0=>(_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Fd"])(a0);var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=a0=>(_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Gd"])(a0);var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=a0=>(_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Hd"])(a0);var _sqlite3_db_config=Module["_sqlite3_db_config"]=(a0,a1,a2)=>(_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Id"])(a0,a1,a2);var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=a0=>(_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Jd"])(a0);var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=(a0,a1,a2)=>(_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Kd"])(a0,a1,a2);var _sqlite3_changes64=Module["_sqlite3_changes64"]=a0=>(_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Ld"])(a0);var _sqlite3_changes=Module["_sqlite3_changes"]=a0=>(_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Md"])(a0);var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=a0=>(_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Nd"])(a0);var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=a0=>(_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Od"])(a0);var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=(a0,a1)=>(_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Pd"])(a0,a1);var _sqlite3_close=Module["_sqlite3_close"]=a0=>(_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Qd"])(a0);var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=a0=>(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Rd"])(a0);var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=(a0,a1,a2)=>(_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Sd"])(a0,a1,a2);var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=(a0,a1,a2,a3)=>(_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["Td"])(a0,a1,a2,a3);var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=(a0,a1)=>(_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["Ud"])(a0,a1);var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=a0=>(_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["Vd"])(a0);var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=a0=>(_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["Wd"])(a0);var _sqlite3_create_function=Module["_sqlite3_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["Xd"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["Yd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["Zd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["_d"])(a0,a1,a2,a3,a4,a5,a6,a7);var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=(a0,a1,a2)=>(_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["$d"])(a0,a1,a2);var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=(a0,a1,a2,a3)=>(_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ae"])(a0,a1,a2,a3);var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=(a0,a1,a2)=>(_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["be"])(a0,a1,a2);var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=(a0,a1,a2)=>(_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ce"])(a0,a1,a2);var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=(a0,a1,a2)=>(_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["de"])(a0,a1,a2);var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=(a0,a1,a2,a3)=>(_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["ee"])(a0,a1,a2,a3);var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=(a0,a1)=>(_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["fe"])(a0,a1);var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=(a0,a1,a2)=>(_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ge"])(a0,a1,a2);var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=(a0,a1,a2,a3,a4)=>(_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["he"])(a0,a1,a2,a3,a4);var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=(a0,a1)=>(_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["ie"])(a0,a1);var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=a0=>(_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["je"])(a0);var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=a0=>(_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["ke"])(a0);var _sqlite3_errcode=Module["_sqlite3_errcode"]=a0=>(_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["le"])(a0);var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=a0=>(_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["me"])(a0);var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=a0=>(_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ne"])(a0);var _sqlite3_errstr=Module["_sqlite3_errstr"]=a0=>(_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["oe"])(a0);var _sqlite3_limit=Module["_sqlite3_limit"]=(a0,a1,a2)=>(_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["pe"])(a0,a1,a2);var _sqlite3_open=Module["_sqlite3_open"]=(a0,a1)=>(_sqlite3_open=Module["_sqlite3_open"]=wasmExports["qe"])(a0,a1);var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=(a0,a1,a2,a3)=>(_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["re"])(a0,a1,a2,a3);var _sqlite3_open16=Module["_sqlite3_open16"]=(a0,a1)=>(_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["se"])(a0,a1);var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["te"])(a0,a1,a2,a3,a4);var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=(a0,a1,a2,a3,a4,a5)=>(_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["ue"])(a0,a1,a2,a3,a4,a5);var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["ve"])(a0,a1,a2,a3,a4);var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=(a0,a1,a2)=>(_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["we"])(a0,a1,a2);var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=(a0,a1,a2)=>(_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["xe"])(a0,a1,a2);var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=(a0,a1)=>(_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["ye"])(a0,a1);var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=(a0,a1,a2,a3)=>(_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["ze"])(a0,a1,a2,a3);var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=a0=>(_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ae"])(a0);var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Be"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _sqlite3_sleep=Module["_sqlite3_sleep"]=a0=>(_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ce"])(a0);var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=(a0,a1)=>(_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["De"])(a0,a1);var _sqlite3_file_control=Module["_sqlite3_file_control"]=(a0,a1,a2,a3)=>(_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Ee"])(a0,a1,a2,a3);var _sqlite3_test_control=Module["_sqlite3_test_control"]=(a0,a1)=>(_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Fe"])(a0,a1);var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=(a0,a1,a2,a3,a4)=>(_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ge"])(a0,a1,a2,a3,a4);var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=a0=>(_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["He"])(a0);var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=(a0,a1)=>(_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Ie"])(a0,a1);var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=(a0,a1)=>(_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Je"])(a0,a1);var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=(a0,a1,a2)=>(_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Ke"])(a0,a1,a2);var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=(a0,a1,a2,a3)=>(_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Le"])(a0,a1,a2,a3);var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=a0=>(_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Me"])(a0);var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=a0=>(_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ne"])(a0);var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=a0=>(_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Oe"])(a0);var _sqlite3_db_name=Module["_sqlite3_db_name"]=(a0,a1)=>(_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Pe"])(a0,a1);var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=(a0,a1)=>(_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Qe"])(a0,a1);var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=(a0,a1)=>(_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Re"])(a0,a1);var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=a0=>(_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Se"])(a0);var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=a0=>(_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["Te"])(a0);var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=()=>(_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["Ue"])();var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ve"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["We"])(a0);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=a0=>(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["Xe"])(a0);var _getSqliteFree=Module["_getSqliteFree"]=()=>(_getSqliteFree=Module["_getSqliteFree"]=wasmExports["Ye"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ze"])(a0,a1);var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=(a0,a1,a2)=>(_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["_e"])(a0,a1,a2);var _libfunction_create_function=Module["_libfunction_create_function"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7);var _libhook_commit_hook=Module["_libhook_commit_hook"]=(a0,a1,a2)=>(_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["af"])(a0,a1,a2);var _libhook_update_hook=Module["_libhook_update_hook"]=(a0,a1,a2)=>(_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["bf"])(a0,a1,a2);var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=(a0,a1,a2,a3)=>(_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["cf"])(a0,a1,a2,a3);var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=(a0,a1,a2,a3,a4,a5)=>(_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["df"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["ff"])(a0,a1);var __emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports["gf"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["hf"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["jf"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["kf"])();var _sqlite3_version=Module["_sqlite3_version"]=3232;Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc:xFunc,xStep:xStep,xFinal:xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<~D@B9Cw*_rOHu6pXZ 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 -u?O}Yc?yfPh47ouaSYr+*$Fz_h! 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

KEn4$GJ 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 delta 231757 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 Date: Fri, 5 Dec 2025 02:22:39 +0000 Subject: [PATCH 12/84] Create OPFSWriteAheadVFS.js. --- demo/demo-worker.js | 4 + src/examples/LazyLock.js | 59 +++++ src/examples/Lock.js | 65 ++++++ src/examples/OPFSWriteAheadVFS.js | 360 ++++++++++++++++++++++++++++++ 4 files changed, 488 insertions(+) create mode 100644 src/examples/LazyLock.js create mode 100644 src/examples/Lock.js create mode 100644 src/examples/OPFSWriteAheadVFS.js diff --git a/demo/demo-worker.js b/demo/demo-worker.js index f6285d0a..5a68825a 100644 --- a/demo/demo-worker.js +++ b/demo/demo-worker.js @@ -61,6 +61,10 @@ const BUILDS = new Map([ name: 'OPFSPermutedVFS', vfsModule: '../src/examples/OPFSPermutedVFS.js', }, + { + name: 'OPFSWriteAheadVFS', + vfsModule: '../src/examples/OPFSWriteAheadVFS.js', + }, { name: 'AccessHandlePoolVFS', vfsModule: '../src/examples/AccessHandlePoolVFS.js', diff --git a/src/examples/LazyLock.js b/src/examples/LazyLock.js new file mode 100644 index 00000000..2ea35530 --- /dev/null +++ b/src/examples/LazyLock.js @@ -0,0 +1,59 @@ +import { Lock } from './Lock.js'; + +const BROADCAST_INTERVAL_MS = 25; + +export class LazyLock extends Lock { + #channel; + #isAcquiring = false; + #hasReleaseRequest = false; + + /** + * @param {string} name + */ + constructor(name) { + super(name); + this.#channel = new BroadcastChannel(name); + this.#channel.onmessage = (event) => { + if (this.mode || this.#isAcquiring) { + // We're using the lock so postpone the release. + this.#hasReleaseRequest = true; + } else { + super.release(); + } + } + } + + async acquire(mode, timeout = -1) { + this.#isAcquiring = true; + try { + if (mode === this.mode) { + // We never had to release the lock. + return true; + } + + // Release the lock if held in a different mode. + super.release(); + + // Poll for the lock. This isn't necessary but if it works it avoids + // the BroadcastChannel traffic. + if (await super.acquire(mode, 0)) { + return true; + } + + // Request the lock. + const pResult = super.acquire(mode, timeout) + this.#channel.postMessage(); + + return await pResult; + } finally { + this.#isAcquiring = false; + } + } + + release() { + // Release the lock only if someone else wants it. + if (this.#hasReleaseRequest) { + super.release(); + } + } +} \ No newline at end of file diff --git a/src/examples/Lock.js b/src/examples/Lock.js new file mode 100644 index 00000000..977ebd24 --- /dev/null +++ b/src/examples/Lock.js @@ -0,0 +1,65 @@ +// This is a convenience wrapper for the Web Locks API. +export class Lock { + name; + /** @type {LockMode?} */ mode = null; + + #releaser = null; + + /** + * @param {string} name + */ + constructor(name) { + this.name = name; + } + + /** + * @param {'shared'|'exclusive'} mode + * @param {number} timeout -1 for infinite, 0 for poll, >0 for milliseconds + * @return {Promise} true if lock acquired, false on timeout + */ + async acquire(mode, timeout = -1) { + if (this.#releaser) { + throw new Error(`Lock ${this.name} is already acquired`); + } + return new Promise((resolve, reject) => { + /** @type {LockOptions} */ + const options = { mode, ifAvailable: timeout === 0 }; + let timeoutId; + if (timeout > 0) { + const abortController = new AbortController(); + timeoutId = setTimeout(() => { + abortController.abort(); + }, timeout); + options.signal = abortController.signal; + } + + navigator.locks.request(this.name, options, lock => { + if (timeoutId) clearTimeout(timeoutId); + if (lock === null) { + // Polling (with timeout = 0) did not acquire the lock. + return resolve(false); + } + + // Lock acquired. The lock is released when this returned + // Promise is resolved. + this.mode = mode; + return new Promise(releaser => { + this.#releaser = releaser; + resolve(true); + }) + }).catch(e => { + if (e.name === 'AbortError') { + // Timeout expired while waiting for the lock. + return resolve(false); + } + return reject(e); + }); + }); + } + + release() { + this.#releaser?.(); + this.#releaser = null; + this.mode = null; + } +} diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js new file mode 100644 index 00000000..5ceacfbf --- /dev/null +++ b/src/examples/OPFSWriteAheadVFS.js @@ -0,0 +1,360 @@ +import { FacadeVFS } from "../FacadeVFS.js"; +import * as VFS from '../VFS.js'; +import { LazyLock } from "./LazyLock.js"; + +/** + * @typedef FileEntry + * @property {string} zName + * @property {number} flags + * @property {FileSystemSyncAccessHandle} accessHandle + * + * Main database file properties: + * @property {string} [writeHint] + * @property {LazyLock} [accessLock] + * @property {number} [timeout] + * + * Main journal file properties: + * @property {FileEntry} [dbFile] + */ + +/** + * Cache the OPFS root directory handle. + * @type {FileSystemDirectoryHandle} + */ +let dirHandle = null; + +export class OPFSWriteAheadVFS extends FacadeVFS { + lastError = null; + // log = console.log; + + /** @type {Map} */ mapIdToFile = new Map(); + /** @type {Map} */ mapPathToFile = new Map(); + + static async create(name, module, options) { + const vfs = new OPFSWriteAheadVFS(name, module); + await vfs.isReady(); + return vfs; + } + + constructor(name, module) { + super(name, module); + } + + /** + * @param {string?} zName + * @param {number} fileId + * @param {number} flags + * @param {DataView} pOutFlags + * @returns {Promise} + */ + async jOpen(zName, fileId, flags, pOutFlags) { + try { + // For simplicity, everything goes into the OPFS root directory. + dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + const fileHandle = await dirHandle.getFileHandle( + zName, + { create: (flags & VFS.SQLITE_OPEN_CREATE) === VFS.SQLITE_OPEN_CREATE }); + + // Open a synchronous access handle with concurrent access. + // @ts-ignore + const accessHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + + /** @type {FileEntry} */ const file = { + zName, + flags, + accessHandle, + }; + + if (flags & VFS.SQLITE_OPEN_MAIN_DB) { + file.accessLock = new LazyLock(`${zName}-access`); + file.timeout = -1; + file.writeHint = null; + } else if (flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { + const dbFilename = zName.slice(0, -"-journal".length); + const dbFile = this.mapPathToFile.get(dbFilename); + if (!dbFile) { + throw new Error(`database file not found for journal ${zName}`); + } + file.dbFile = dbFile; + } + this.mapIdToFile.set(fileId, file); + this.mapPathToFile.set(zName, file); + pOutFlags.setInt32(0, flags, true); + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_CANTOPEN; + } + } + + /** + * @param {string} zName + * @param {number} syncDir + * @returns {Promise} + */ + async jDelete(zName, syncDir) { + try { + dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + await dirHandle.removeEntry(zName, { recursive: false }); + return VFS.SQLITE_OK; + } catch (e) { + return VFS.SQLITE_IOERR_DELETE; + } + } + + /** + * @param {string} zName + * @param {number} flags + * @param {DataView} pResOut + * @returns {Promise} + */ + async jAccess(zName, flags, pResOut) { + try { + dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + const fileHandle = await dirHandle.getFileHandle(zName, { create: false }); + pResOut.setInt32(0, 1, true); + return VFS.SQLITE_OK; + } catch (e) { + if (e.name === 'NotFoundError') { + pResOut.setInt32(0, 0, true); + return VFS.SQLITE_OK; + } + this.lastError = e; + return VFS.SQLITE_IOERR_ACCESS; + } + } + + /** + * @param {number} fileId + * @returns {number} + */ + jClose(fileId) { + try { + const file = this.mapIdToFile.get(fileId); + this.mapIdToFile.delete(fileId); + this.mapPathToFile.delete(file?.zName); + file?.accessHandle.close(); + return VFS.SQLITE_OK; + } catch (e) { + return VFS.SQLITE_IOERR_CLOSE; + } + } + + /** + * @param {number} fileId + * @param {Uint8Array} pData + * @param {number} iOffset + * @returns {number} + */ + jRead(fileId, pData, iOffset) { + try { + const file = this.mapIdToFile.get(fileId); + + // On Chrome (at least), passing pData to accessHandle.read() is + // an error because pData is a Proxy of a Uint8Array. Calling + // subarray() produces a real Uint8Array and that works. + const bytesRead = file.accessHandle.read(pData.subarray(), { at: iOffset }); + if (bytesRead < pData.byteLength) { + pData.fill(0, bytesRead); + return VFS.SQLITE_IOERR_SHORT_READ; + } + return VFS.SQLITE_OK; + } catch (e) { + return VFS.SQLITE_IOERR_READ; + } + } + + /** + * @param {number} fileId + * @param {Uint8Array} pData + * @param {number} iOffset + * @returns {number} + */ + jWrite(fileId, pData, iOffset) { + try { + const file = this.mapIdToFile.get(fileId); + + // On Chrome (at least), passing pData to accessHandle.write() is + // an error because pData is a Proxy of a Uint8Array. Calling + // subarray() produces a real Uint8Array and that works. + file.accessHandle.write(pData.subarray(), { at: iOffset }); + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_WRITE; + } + } + + /** + * @param {number} fileId + * @param {number} iSize + * @returns {number} + */ + jTruncate(fileId, iSize) { + try { + const file = this.mapIdToFile.get(fileId); + file.accessHandle.truncate(iSize); + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_TRUNCATE; + } + } + + /** + * @param {number} fileId + * @param {number} flags + * @returns {number} + */ + jSync(fileId, flags) { + try { + const file = this.mapIdToFile.get(fileId); + file.accessHandle.flush(); + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_FSYNC; + } + } + + /** + * @param {number} fileId + * @param {DataView} pSize64 + * @returns {number} + */ + jFileSize(fileId, pSize64) { + try { + const file = this.mapIdToFile.get(fileId); + const size = file.accessHandle.getSize(); + pSize64.setBigInt64(0, BigInt(size), true); + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_FSTAT; + } + } + + /** + * @param {number} pFile + * @param {number} lockType + * @returns {number|Promise} + */ + jLock(pFile, lockType) { + return VFS.SQLITE_OK; + } + + /** + * @param {number} pFile + * @param {number} lockType + * @returns {number} + */ + jUnlock(pFile, lockType) { + return VFS.SQLITE_OK; + } + + /** + * @param {number} pFile + * @param {DataView} pResOut + * @returns {number} + */ + jCheckReservedLock(pFile, pResOut) { + pResOut.setInt32(0, 0, true); + return VFS.SQLITE_OK; + } + + /** + * @param {number} pFile + * @param {number} op + * @param {DataView} pArg + * @returns {number} + */ + jFileControl(pFile, op, pArg) { + try { + const file = this.mapIdToFile.get(pFile); + switch (op) { + case VFS.SQLITE_FCNTL_PRAGMA: + const key = extractString(pArg, pArg.getUint32(4, true)); + const valueAddress = pArg.getUint32(8, true); + const value = valueAddress ? extractString(pArg, valueAddress) : null; + switch (key.toLowerCase()) { + case 'experimental_pragma_20251114': + // After entering the SHARED locking state on the next + // transaction, SQLite intends to immediately (barring a hot + // journal) transition to RESERVED if value is '1', or + // EXCLUSIVE if value is '2'. + file.writeHint = value; + break; + case 'busy_timeout': + // Override SQLite's handling of busy timeouts with our + // blocking lock timeouts. + if (value !== null) { + file.timeout = parseInt(value); + } else { + // Return current timeout. + const s = file.timeout.toString(); + const ptr = this._module._sqlite3_malloc64(s.length + 1); + this._module.stringToUTF8(s, ptr, s.length + 1); + pArg.setUint32(0, ptr, true); + } + return VFS.SQLITE_OK; + case 'locking_mode': + switch (value?.toLowerCase()) { + case 'exclusive': + // Set the write hint to prevent deadlock if the first + // statement in exclusive mode is a read. Because of the + // way SQLite exclusive mode works (not actually exclusive + // until a write occurs), starting with a read is like + // BEGIN DEFERRED. + file.writeHint = '1'; + break; + case 'normal': + // The only reason for this is if + // PRAGMA locking_mode=EXCLUSIVE is followed by + // PRAGMA locking_mode=NORMAL with no database operations + // in between. Leaving this out wouldn't cause an error, + // only a potential loss of concurrency for one transaction. + file.writeHint = null; + break; + } + break; + case 'vfs_logging': + // This is a trace feature for debugging only. + if (value !== null) { + this.log = parseInt(value) !== 0 ? console.log : null; + } + return VFS.SQLITE_OK; + } + } + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR; + } + return VFS.SQLITE_NOTFOUND; + } + + /** + * @param {Uint8Array} zBuf + * @returns {number} + */ + jGetLastError(zBuf) { + if (this.lastError) { + console.error(this.lastError); + const outputArray = zBuf.subarray(0, zBuf.byteLength - 1); + const { written } = new TextEncoder().encodeInto(this.lastError.message, outputArray); + zBuf[written] = 0; + } + return VFS.SQLITE_OK + } +} + +/** + * @param {DataView} dataView + * @param {number} p + * @returns {string} + */ +function extractString(dataView, p) { + const chars = new Uint8Array(dataView.buffer, p); + return new TextDecoder().decode(chars.subarray(0, chars.indexOf(0))); +} \ No newline at end of file From 6999f508e6c92bfaa4db98064a0fc845209f0988 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Fri, 5 Dec 2025 16:31:09 +0000 Subject: [PATCH 13/84] Implement jOpen() retry. --- src/examples/LazyLock.js | 7 +- src/examples/OPFSWriteAheadVFS.js | 162 +++++++++++++++++++++++------- 2 files changed, 130 insertions(+), 39 deletions(-) diff --git a/src/examples/LazyLock.js b/src/examples/LazyLock.js index 2ea35530..463e3f84 100644 --- a/src/examples/LazyLock.js +++ b/src/examples/LazyLock.js @@ -51,9 +51,14 @@ export class LazyLock extends Lock { } release() { + super.release(); + this.#hasReleaseRequest = false; + } + + releaseLazy() { // Release the lock only if someone else wants it. if (this.#hasReleaseRequest) { - super.release(); + this.release(); } } } \ No newline at end of file diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 5ceacfbf..9aa347ba 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -1,20 +1,22 @@ import { FacadeVFS } from "../FacadeVFS.js"; import * as VFS from '../VFS.js'; +import { Lock } from "./Lock.js"; import { LazyLock } from "./LazyLock.js"; /** * @typedef FileEntry * @property {string} zName * @property {number} flags - * @property {FileSystemSyncAccessHandle} accessHandle + * @property {FileSystemSyncAccessHandle} [accessHandle] * * Main database file properties: + * @property {*} [retryResult] + * @property {FileSystemSyncAccessHandle} [journalHandle] + * * @property {string} [writeHint] - * @property {LazyLock} [accessLock] + * @property {LazyLock} [readLock] + * @property {Lock} [writeLock] * @property {number} [timeout] - * - * Main journal file properties: - * @property {FileEntry} [dbFile] */ /** @@ -45,42 +47,52 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @param {number} fileId * @param {number} flags * @param {DataView} pOutFlags - * @returns {Promise} + * @returns {number} */ - async jOpen(zName, fileId, flags, pOutFlags) { + jOpen(zName, fileId, flags, pOutFlags) { try { - // For simplicity, everything goes into the OPFS root directory. - dirHandle = dirHandle ?? await navigator.storage.getDirectory(); - const fileHandle = await dirHandle.getFileHandle( - zName, - { create: (flags & VFS.SQLITE_OPEN_CREATE) === VFS.SQLITE_OPEN_CREATE }); - - // Open a synchronous access handle with concurrent access. - // @ts-ignore - const accessHandle = await fileHandle.createSyncAccessHandle({ - mode: 'readwrite-unsafe' - }); - - /** @type {FileEntry} */ const file = { + const file = this.mapPathToFile.get(zName) ?? { zName, flags, - accessHandle, + retryResult: null, }; + this.mapPathToFile.set(zName, file); if (flags & VFS.SQLITE_OPEN_MAIN_DB) { - file.accessLock = new LazyLock(`${zName}-access`); + // Open database and journal files with a retry operation. + if (file.retryResult === null) { + // This is the initial open attempt. Start the asynchronous task + // and return SQLITE_BUSY to force a retry. + this._module.retryOps.push(this.#retryOpen(zName, flags, fileId, pOutFlags)); + return VFS.SQLITE_BUSY; + } else if (file.retryResult instanceof Error) { + throw file.retryResult; + } + + // Initialize database file state. + file.accessHandle = file.retryResult.accessHandle; + file.journalHandle = file.retryResult.journalHandle; + file.retryResult = null; + + file.readLock = new LazyLock(`${zName}-read`); + file.writeLock = new Lock(`${zName}-write`); file.timeout = -1; file.writeHint = null; } else if (flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { + // A journal file is managed with its main database so look that up. const dbFilename = zName.slice(0, -"-journal".length); const dbFile = this.mapPathToFile.get(dbFilename); if (!dbFile) { throw new Error(`database file not found for journal ${zName}`); } - file.dbFile = dbFile; + + // Initialize journal file state. + file.accessHandle = dbFile.journalHandle; + } else { + throw new Error(`unsupported file type 0x${flags.toString(16)} for ${zName}`); } + this.mapIdToFile.set(fileId, file); - this.mapPathToFile.set(zName, file); pOutFlags.setInt32(0, flags, true); return VFS.SQLITE_OK; } catch (e) { @@ -92,12 +104,20 @@ export class OPFSWriteAheadVFS extends FacadeVFS { /** * @param {string} zName * @param {number} syncDir - * @returns {Promise} + * @returns {number} */ - async jDelete(zName, syncDir) { + jDelete(zName, syncDir) { try { - dirHandle = dirHandle ?? await navigator.storage.getDirectory(); - await dirHandle.removeEntry(zName, { recursive: false }); + const file = this.mapPathToFile.get(zName); + if (!file) throw new Error(`file not found: ${zName}`); + if (file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { + // The actual OPFS journal file is managed with the main database. + // We don't actually delete it, just truncate it to zero length. + file.accessHandle.truncate(0); + file.accessHandle.flush(); + } else { + throw new Error(`Unexpected delete: ${zName}`); + } return VFS.SQLITE_OK; } catch (e) { return VFS.SQLITE_IOERR_DELETE; @@ -108,19 +128,18 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @param {string} zName * @param {number} flags * @param {DataView} pResOut - * @returns {Promise} + * @returns {number} */ - async jAccess(zName, flags, pResOut) { + jAccess(zName, flags, pResOut) { try { - dirHandle = dirHandle ?? await navigator.storage.getDirectory(); - const fileHandle = await dirHandle.getFileHandle(zName, { create: false }); - pResOut.setInt32(0, 1, true); - return VFS.SQLITE_OK; - } catch (e) { - if (e.name === 'NotFoundError') { + if (this.mapPathToFile.has(zName)) { + pResOut.setInt32(0, 1, true); + return VFS.SQLITE_OK; + } else { pResOut.setInt32(0, 0, true); return VFS.SQLITE_OK; } + } catch (e) { this.lastError = e; return VFS.SQLITE_IOERR_ACCESS; } @@ -133,9 +152,20 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jClose(fileId) { try { const file = this.mapIdToFile.get(fileId); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + file.accessHandle.close(); + this.mapPathToFile.delete(file?.zName); + + file.journalHandle.close(); + const journalPath = this.#getJournalPathFromDbPath(file.zName); + this.mapPathToFile.delete(journalPath); + } else if (file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { + // The actual OPFS journal file is managed with the main database + // file, so don't close the access handle here. + } + + // Disassociate fileId from file entry. this.mapIdToFile.delete(fileId); - this.mapPathToFile.delete(file?.zName); - file?.accessHandle.close(); return VFS.SQLITE_OK; } catch (e) { return VFS.SQLITE_IOERR_CLOSE; @@ -347,6 +377,62 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK } + + /** + * Get OPFS synchronous access handle. + * @param {FileSystemDirectoryHandle} dirHandle + * @param {string} filename + * @param {number} flags + * @returns {Promise} + */ + async #getAccessHandle(dirHandle, filename, flags) { + const fileHandle = await dirHandle.getFileHandle( + filename, + { create: (flags & VFS.SQLITE_OPEN_CREATE) === VFS.SQLITE_OPEN_CREATE }); + + // Open a synchronous access handle with concurrent access. + // @ts-ignore + const accessHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + return accessHandle; + } + + /** + * @param {string} dbPath + * @returns {string} + */ + #getJournalPathFromDbPath(dbPath) { + return `${dbPath}-journal`; + } + + /** + * Handle asynchronous jOpen() tasks. + * @param {string} zName + * @param {number} flags + * @param {number} fileId + * @param {DataView} pOutFlags + * @returns {Promise} + */ + async #retryOpen(zName, flags, fileId, pOutFlags) { + const file = this.mapPathToFile.get(zName); + try { + // For simplicity, everything goes into the OPFS root directory. + dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + + const accessHandle = await this.#getAccessHandle(dirHandle, zName, flags); + + const journalPath = this.#getJournalPathFromDbPath(zName); + const journalHandle = await this.#getAccessHandle(dirHandle, journalPath, flags); + + file.retryResult = { accessHandle, journalHandle }; + + // TODO: Load write-ahead overlay. + } catch (e) { + file.retryResult = e; + return; + } + } } /** From e2377d268f0fad8b044a06148f1a9b2de46b8399 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Fri, 5 Dec 2025 16:40:24 +0000 Subject: [PATCH 14/84] Advertise batch atomic write support. --- src/examples/OPFSWriteAheadVFS.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 9aa347ba..fcd3c1cd 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -356,6 +356,13 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; } + break; + + case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: + case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: + case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: + // TODO + return VFS.SQLITE_OK; } } catch (e) { this.lastError = e; @@ -364,6 +371,16 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_NOTFOUND; } + /** + * @param {number} pFile + * @returns {number} + */ + jDeviceCharacteristics(pFile) { + return 0 + | VFS.SQLITE_IOCAP_BATCH_ATOMIC + | VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; + } + /** * @param {Uint8Array} zBuf * @returns {number} From 5a22e89d5fa9a2185381b612580ca12726c92a66 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Fri, 5 Dec 2025 16:47:17 +0000 Subject: [PATCH 15/84] Treat an empty journal as non-existent. --- src/examples/OPFSWriteAheadVFS.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index fcd3c1cd..05a5be7f 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -132,13 +132,19 @@ export class OPFSWriteAheadVFS extends FacadeVFS { */ jAccess(zName, flags, pResOut) { try { - if (this.mapPathToFile.has(zName)) { - pResOut.setInt32(0, 1, true); - return VFS.SQLITE_OK; + const file = this.mapPathToFile.get(zName); + if (file) { + if ((file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) && + file.accessHandle.getSize() === 0) { + // Treat an empty journal file as non-existent. + pResOut.setInt32(0, 0, true); + } else { + pResOut.setInt32(0, 1, true); + } } else { pResOut.setInt32(0, 0, true); - return VFS.SQLITE_OK; } + return VFS.SQLITE_OK; } catch (e) { this.lastError = e; return VFS.SQLITE_IOERR_ACCESS; From c39a033a0151ef32bf14d6b1fe8d1a41961e5871 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Fri, 5 Dec 2025 18:30:00 +0000 Subject: [PATCH 16/84] Implement jLock() retry. --- src/examples/LazyLock.js | 58 +++++++++++++----- src/examples/Lock.js | 22 ++++--- src/examples/OPFSWriteAheadVFS.js | 98 ++++++++++++++++++++++++++++++- 3 files changed, 152 insertions(+), 26 deletions(-) diff --git a/src/examples/LazyLock.js b/src/examples/LazyLock.js index 463e3f84..54b662f7 100644 --- a/src/examples/LazyLock.js +++ b/src/examples/LazyLock.js @@ -1,10 +1,8 @@ import { Lock } from './Lock.js'; -const BROADCAST_INTERVAL_MS = 25; - export class LazyLock extends Lock { #channel; - #isAcquiring = false; + #isBusy = false; #hasReleaseRequest = false; /** @@ -14,49 +12,77 @@ export class LazyLock extends Lock { super(name); this.#channel = new BroadcastChannel(name); this.#channel.onmessage = (event) => { - if (this.mode || this.#isAcquiring) { + if (this.#isBusy) { // We're using the lock so postpone the release. this.#hasReleaseRequest = true; } else { - super.release(); + this.release(); } } } + close() { + super.close + this.#channel.onmessage = null; + this.#channel.close(); + } + + /** + * @param {LockMode} mode + * @param {number} timeout + * @returns {Promise} + */ async acquire(mode, timeout = -1) { - this.#isAcquiring = true; + this.#isBusy = true; try { if (mode === this.mode) { // We never had to release the lock. return true; } - // Release the lock if held in a different mode. - super.release(); - - // Poll for the lock. This isn't necessary but if it works it avoids - // the BroadcastChannel traffic. - if (await super.acquire(mode, 0)) { - return true; + if (this.mode) { + // Release the lock to acquire it in a different mode. + super.release(); + } else { + // Poll for the lock. This isn't necessary but if it works it avoids + // the BroadcastChannel traffic. + if (await super.acquire(mode, 0)) { + return true; + } } // Request the lock. const pResult = super.acquire(mode, timeout) - this.#channel.postMessage(); + this.#channel.postMessage({}); return await pResult; - } finally { - this.#isAcquiring = false; + } catch (e) { + this.release(); + throw e; + } + } + + /** + * @param {LockMode} mode + * @returns {boolean} + */ + acquireIfHeld(mode) { + if (mode === this.mode) { + this.#isBusy = true; + return true; } + return false; } release() { super.release(); + this.#isBusy = false; this.#hasReleaseRequest = false; } releaseLazy() { // Release the lock only if someone else wants it. + this.#isBusy = false; if (this.#hasReleaseRequest) { this.release(); } diff --git a/src/examples/Lock.js b/src/examples/Lock.js index 977ebd24..b3b62fa7 100644 --- a/src/examples/Lock.js +++ b/src/examples/Lock.js @@ -1,17 +1,23 @@ // This is a convenience wrapper for the Web Locks API. export class Lock { - name; - /** @type {LockMode?} */ mode = null; - + #name; + /** @type {LockMode?} */ #mode = null; #releaser = null; /** * @param {string} name */ constructor(name) { - this.name = name; + this.#name = name; } + get name() { return this.#name; } + get mode() { return this.#mode; } + + close() { + this.release(); + } + /** * @param {'shared'|'exclusive'} mode * @param {number} timeout -1 for infinite, 0 for poll, >0 for milliseconds @@ -19,7 +25,7 @@ export class Lock { */ async acquire(mode, timeout = -1) { if (this.#releaser) { - throw new Error(`Lock ${this.name} is already acquired`); + throw new Error(`Lock ${this.#name} is already acquired`); } return new Promise((resolve, reject) => { /** @type {LockOptions} */ @@ -33,7 +39,7 @@ export class Lock { options.signal = abortController.signal; } - navigator.locks.request(this.name, options, lock => { + navigator.locks.request(this.#name, options, lock => { if (timeoutId) clearTimeout(timeoutId); if (lock === null) { // Polling (with timeout = 0) did not acquire the lock. @@ -42,7 +48,7 @@ export class Lock { // Lock acquired. The lock is released when this returned // Promise is resolved. - this.mode = mode; + this.#mode = mode; return new Promise(releaser => { this.#releaser = releaser; resolve(true); @@ -60,6 +66,6 @@ export class Lock { release() { this.#releaser?.(); this.#releaser = null; - this.mode = null; + this.#mode = null; } } diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 05a5be7f..95a98246 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -14,6 +14,7 @@ import { LazyLock } from "./LazyLock.js"; * @property {FileSystemSyncAccessHandle} [journalHandle] * * @property {string} [writeHint] + * @property {number} [lockState] * @property {LazyLock} [readLock] * @property {Lock} [writeLock] * @property {number} [timeout] @@ -74,6 +75,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.journalHandle = file.retryResult.journalHandle; file.retryResult = null; + file.lockState = VFS.SQLITE_LOCK_NONE; file.readLock = new LazyLock(`${zName}-read`); file.writeLock = new Lock(`${zName}-write`); file.timeout = -1; @@ -165,6 +167,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.journalHandle.close(); const journalPath = this.#getJournalPathFromDbPath(file.zName); this.mapPathToFile.delete(journalPath); + + file.readLock.close(); + file.writeLock.close(); } else if (file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { // The actual OPFS journal file is managed with the main database // file, so don't close the access handle here. @@ -278,7 +283,50 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number|Promise} */ jLock(pFile, lockType) { - return VFS.SQLITE_OK; + try { + const file = this.mapIdToFile.get(pFile); + if (file.lockState === VFS.SQLITE_LOCK_NONE && lockType === VFS.SQLITE_LOCK_SHARED) { + // We do all our locking work in this transition. + if (file.retryResult === null) { + // Manage some special cases. + if (file.accessHandle.getSize() === 0) { + // The database has not been created. We will need a write lock. + file.writeHint = '2'; + } + if (file.journalHandle.getSize() > 0) { + // There is a hot journal. We will need a write lock. + file.writeHint = '2'; + } + + if (file.writeHint || file.readLock.mode !== 'shared') { + // Asynchronous lock acquisition is needed. Set retryResult to + // non-null so when SQLite calls jUnlock() it knows not to reset + // any locks we have in progress. + file.retryResult = {}; + this._module.retryOps.push(this.#retryLock(pFile, lockType)); + return VFS.SQLITE_BUSY; + } + + // This is a read transaction and we can get the shared + // lock synchronously. + file.readLock.acquireIfHeld('shared'); + } else if (file.retryResult instanceof Error) { + throw file.retryResult; + } + file.retryResult = null; + } else if (lockType >= VFS.SQLITE_LOCK_RESERVED && !file.writeLock.mode) { + // This is a write transaction but we don't already have the write + // lock. This happens when the write hint was not used, which this + // VFS treats as an error. + // TODO: Arrange for the write hint to be set on unlock. + return VFS.SQLITE_BUSY; + } + file.lockState = lockType; + return VFS.SQLITE_OK; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_LOCK; + } } /** @@ -287,7 +335,26 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number} */ jUnlock(pFile, lockType) { - return VFS.SQLITE_OK; + try { + const file = this.mapIdToFile.get(pFile); + + // If retryResult is non-null, an asynchronous lock operation is in + // progress. In that case, don't change any locks. + if (!file.retryResult && lockType === VFS.SQLITE_LOCK_NONE) { + // In this VFS, this is the only unlock transition that matters. + file.writeLock.release(); + if (file.readLock.mode === 'exclusive') { + file.readLock.release(); + } else { + file.readLock.releaseLazy(); + } + file.writeHint = null; + } + file.lockState = lockType; + } catch (e) { + this.lastError = e; + return VFS.SQLITE_IOERR_UNLOCK; + } } /** @@ -314,6 +381,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const key = extractString(pArg, pArg.getUint32(4, true)); const valueAddress = pArg.getUint32(8, true); const value = valueAddress ? extractString(pArg, valueAddress) : null; + console.log(`PRAGMA ${key} ${value}`); switch (key.toLowerCase()) { case 'experimental_pragma_20251114': // After entering the SHARED locking state on the next @@ -429,6 +497,32 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return `${dbPath}-journal`; } + /** + * Handle asynchronous jLock() tasks. + * @param {number} pFile + * @param {number} lockType + */ + async #retryLock(pFile, lockType) { + const file = this.mapIdToFile.get(pFile); + try { + if (file.writeHint === '1') { + // TODO: replace this temporary code. + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive', file.timeout); + } else if (file.writeHint === '2') { + // TODO: replace this temporary code. + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive', file.timeout); + } else { + await file.readLock.acquire('shared', file.timeout); + } + file.retryResult = {}; + } catch (e) { + file.retryResult = e; + return; + } + } + /** * Handle asynchronous jOpen() tasks. * @param {string} zName From d598ffa562e9731ed42cffb2add10fdd1bf58a08 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 6 Dec 2025 00:03:05 +0000 Subject: [PATCH 17/84] Comments and minor improvements. --- src/examples/OPFSWriteAheadVFS.js | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 95a98246..eb4a960f 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -319,6 +319,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // lock. This happens when the write hint was not used, which this // VFS treats as an error. // TODO: Arrange for the write hint to be set on unlock. + console.error('Multi-statement write transaction cannot use BEGIN DEFERRED') return VFS.SQLITE_BUSY; } file.lockState = lockType; @@ -378,10 +379,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const file = this.mapIdToFile.get(pFile); switch (op) { case VFS.SQLITE_FCNTL_PRAGMA: - const key = extractString(pArg, pArg.getUint32(4, true)); + const key = this._module.UTF8ToString(pArg.getUint32(4, true)); const valueAddress = pArg.getUint32(8, true); - const value = valueAddress ? extractString(pArg, valueAddress) : null; - console.log(`PRAGMA ${key} ${value}`); + const value = valueAddress ? this._module.UTF8ToString(valueAddress) : null; + this.log?.(`PRAGMA ${key} ${value}`); switch (key.toLowerCase()) { case 'experimental_pragma_20251114': // After entering the SHARED locking state on the next @@ -434,6 +435,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: + return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: // TODO return VFS.SQLITE_OK; @@ -535,6 +537,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const file = this.mapPathToFile.get(zName); try { // For simplicity, everything goes into the OPFS root directory. + // TODO: Support OPFS subdirectories. dirHandle = dirHandle ?? await navigator.storage.getDirectory(); const accessHandle = await this.#getAccessHandle(dirHandle, zName, flags); @@ -551,13 +554,3 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } } } - -/** - * @param {DataView} dataView - * @param {number} p - * @returns {string} - */ -function extractString(dataView, p) { - const chars = new Uint8Array(dataView.buffer, p); - return new TextDecoder().decode(chars.subarray(0, chars.indexOf(0))); -} \ No newline at end of file From 429c61e471f7fa6c813f3eace05c3f6219d40934 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 7 Dec 2025 17:21:15 +0000 Subject: [PATCH 18/84] Refactor writeHint handling. --- src/examples/OPFSWriteAheadVFS.js | 57 ++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index eb4a960f..a035f7d2 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -8,12 +8,12 @@ import { LazyLock } from "./LazyLock.js"; * @property {string} zName * @property {number} flags * @property {FileSystemSyncAccessHandle} [accessHandle] - * + * Main database file properties: * @property {*} [retryResult] * @property {FileSystemSyncAccessHandle} [journalHandle] * - * @property {string} [writeHint] + * @property {'reserved'|'exclusive'} [writeHint] * @property {number} [lockState] * @property {LazyLock} [readLock] * @property {Lock} [writeLock] @@ -291,11 +291,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // Manage some special cases. if (file.accessHandle.getSize() === 0) { // The database has not been created. We will need a write lock. - file.writeHint = '2'; + file.writeHint = 'exclusive'; } if (file.journalHandle.getSize() > 0) { // There is a hot journal. We will need a write lock. - file.writeHint = '2'; + file.writeHint = 'exclusive'; } if (file.writeHint || file.readLock.mode !== 'shared') { @@ -389,7 +389,16 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // transaction, SQLite intends to immediately (barring a hot // journal) transition to RESERVED if value is '1', or // EXCLUSIVE if value is '2'. - file.writeHint = value; + switch (value) { + case '1': + file.writeHint = 'reserved'; + break; + case '2': + file.writeHint = 'exclusive'; + break; + default: + throw new Error(`unexpected write hint value: ${value}`); + } break; case 'busy_timeout': // Override SQLite's handling of busy timeouts with our @@ -412,7 +421,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // way SQLite exclusive mode works (not actually exclusive // until a write occurs), starting with a read is like // BEGIN DEFERRED. - file.writeHint = '1'; + file.writeHint = 'reserved'; break; case 'normal': // The only reason for this is if @@ -452,9 +461,16 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number} */ jDeviceCharacteristics(pFile) { - return 0 - | VFS.SQLITE_IOCAP_BATCH_ATOMIC - | VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; + // Allow batch atomic writes with write-ahead. Disallow when writing + // directly to the file. + let value = VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; + const file = this.mapIdToFile.get(pFile); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file.writeHint !== 'exclusive') { + value |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; + } + } + return value } /** @@ -507,16 +523,19 @@ export class OPFSWriteAheadVFS extends FacadeVFS { async #retryLock(pFile, lockType) { const file = this.mapIdToFile.get(pFile); try { - if (file.writeHint === '1') { - // TODO: replace this temporary code. - await file.readLock.acquire('exclusive', file.timeout); - await file.writeLock.acquire('exclusive', file.timeout); - } else if (file.writeHint === '2') { - // TODO: replace this temporary code. - await file.readLock.acquire('exclusive', file.timeout); - await file.writeLock.acquire('exclusive', file.timeout); - } else { - await file.readLock.acquire('shared', file.timeout); + switch (file.writeHint) { + case 'reserved': + // TODO: Take only the writeLock when using write-ahead. + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive', file.timeout); + break; + case 'exclusive': + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive'); + break; + default: + await file.readLock.acquire('shared', file.timeout); + break; } file.retryResult = {}; } catch (e) { From e8685d7d11179cb1665605aa0a52e86302796199 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 7 Dec 2025 19:15:36 +0000 Subject: [PATCH 19/84] Create WriteAhead manager. --- src/examples/OPFSWriteAheadVFS.js | 138 +++++++++---- src/examples/WriteAhead.js | 319 ++++++++++++++++++++++++++++++ 2 files changed, 421 insertions(+), 36 deletions(-) create mode 100644 src/examples/WriteAhead.js diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index a035f7d2..d1397a90 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -2,6 +2,7 @@ import { FacadeVFS } from "../FacadeVFS.js"; import * as VFS from '../VFS.js'; import { Lock } from "./Lock.js"; import { LazyLock } from "./LazyLock.js"; +import { WriteAhead } from "./WriteAhead.js"; /** * @typedef FileEntry @@ -18,6 +19,8 @@ import { LazyLock } from "./LazyLock.js"; * @property {LazyLock} [readLock] * @property {Lock} [writeLock] * @property {number} [timeout] + * + * @property {WriteAhead} [writeAhead] */ /** @@ -28,7 +31,7 @@ let dirHandle = null; export class OPFSWriteAheadVFS extends FacadeVFS { lastError = null; - // log = console.log; + log = console.log; /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); @@ -73,11 +76,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // Initialize database file state. file.accessHandle = file.retryResult.accessHandle; file.journalHandle = file.retryResult.journalHandle; + file.writeAhead = file.retryResult.writeAhead; file.retryResult = null; file.lockState = VFS.SQLITE_LOCK_NONE; - file.readLock = new LazyLock(`${zName}-read`); - file.writeLock = new Lock(`${zName}-write`); + file.readLock = new LazyLock(`${zName}#read`); + file.writeLock = new Lock(`${zName}#write`); file.timeout = -1; file.writeHint = null; } else if (flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { @@ -193,10 +197,29 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { const file = this.mapIdToFile.get(fileId); - // On Chrome (at least), passing pData to accessHandle.read() is - // an error because pData is a Proxy of a Uint8Array. Calling - // subarray() produces a real Uint8Array and that works. - const bytesRead = file.accessHandle.read(pData.subarray(), { at: iOffset }); + let bytesRead = null; + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + // Try reading from the OPFS write-ahead overlay first. A read on + // the database file is always a complete page, except when reading + // from the 100-byte header. + const pageOffset = iOffset < 100 ? iOffset : 0; + const page = file.writeAhead.read(iOffset - pageOffset); + if (page) { + const readData = page.subarray(pageOffset, pageOffset + pData.byteLength); + pData.set(readData); + bytesRead = readData.byteLength; + } + } + + if (bytesRead === null) { + // Read directly from the OPFS file. + + // On Chrome (at least), passing pData to accessHandle.read() is + // an error because pData is a Proxy of a Uint8Array. Calling + // subarray() produces a real Uint8Array and that works. + bytesRead = file.accessHandle.read(pData.subarray(), { at: iOffset }); + } + if (bytesRead < pData.byteLength) { pData.fill(0, bytesRead); return VFS.SQLITE_IOERR_SHORT_READ; @@ -217,6 +240,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { const file = this.mapIdToFile.get(fileId); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file.writeHint !== 'exclusive') { + // Write to the write-ahead overlay. + file.writeAhead.write(iOffset, pData.subarray()); + return VFS.SQLITE_OK; + } + } + // On Chrome (at least), passing pData to accessHandle.write() is // an error because pData is a Proxy of a Uint8Array. Calling // subarray() produces a real Uint8Array and that works. @@ -268,7 +299,13 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jFileSize(fileId, pSize64) { try { const file = this.mapIdToFile.get(fileId); - const size = file.accessHandle.getSize(); + + let size; + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + size = file.writeAhead.getFileSize() || file.accessHandle.getSize(); + } else { + size = file.accessHandle.getSize(); + } pSize64.setBigInt64(0, BigInt(size), true); return VFS.SQLITE_OK; } catch (e) { @@ -313,7 +350,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } else if (file.retryResult instanceof Error) { throw file.retryResult; } + file.retryResult = null; + if (file.writeHint === null) { + file.writeAhead.isolateForRead(); + } } else if (lockType >= VFS.SQLITE_LOCK_RESERVED && !file.writeLock.mode) { // This is a write transaction but we don't already have the write // lock. This happens when the write hint was not used, which this @@ -350,6 +391,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.readLock.releaseLazy(); } file.writeHint = null; + + file.writeAhead.rejoin(); } file.lockState = lockType; } catch (e) { @@ -391,7 +434,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // EXCLUSIVE if value is '2'. switch (value) { case '1': - file.writeHint = 'reserved'; + if (file.writeHint !== 'exclusive') { + file.writeHint = 'reserved'; + } break; case '2': file.writeHint = 'exclusive'; @@ -448,6 +493,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: // TODO return VFS.SQLITE_OK; + + case VFS.SQLITE_FCNTL_SYNC: + if (file.writeHint === 'reserved') { + file.writeAhead.commit(); + } + break; } } catch (e) { this.lastError = e; @@ -487,26 +538,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK } - /** - * Get OPFS synchronous access handle. - * @param {FileSystemDirectoryHandle} dirHandle - * @param {string} filename - * @param {number} flags - * @returns {Promise} - */ - async #getAccessHandle(dirHandle, filename, flags) { - const fileHandle = await dirHandle.getFileHandle( - filename, - { create: (flags & VFS.SQLITE_OPEN_CREATE) === VFS.SQLITE_OPEN_CREATE }); - - // Open a synchronous access handle with concurrent access. - // @ts-ignore - const accessHandle = await fileHandle.createSyncAccessHandle({ - mode: 'readwrite-unsafe' - }); - return accessHandle; - } - /** * @param {string} dbPath * @returns {string} @@ -525,13 +556,18 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { switch (file.writeHint) { case 'reserved': - // TODO: Take only the writeLock when using write-ahead. - await file.readLock.acquire('exclusive', file.timeout); + // This transaction will be write-ahead. We only need + // writeLock, not readLock. await file.writeLock.acquire('exclusive', file.timeout); + await file.writeAhead.isolateForWrite(); break; case 'exclusive': + // This transaction will write directly to the database. await file.readLock.acquire('exclusive', file.timeout); await file.writeLock.acquire('exclusive'); + + // Transfer everything in write-ahead to the OPFS file. + await file.writeAhead.flush(); break; default: await file.readLock.acquire('shared', file.timeout); @@ -559,14 +595,44 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // TODO: Support OPFS subdirectories. dirHandle = dirHandle ?? await navigator.storage.getDirectory(); - const accessHandle = await this.#getAccessHandle(dirHandle, zName, flags); + // Open the main database OPFS file. + let created = false; + let accessHandle; + try { + const fileHandle = await dirHandle.getFileHandle(zName); + // @ts-ignore + accessHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + } catch (e) { + if (e.name === 'NotFoundError' && (flags & VFS.SQLITE_OPEN_CREATE)) { + const fileHandle = await dirHandle.getFileHandle(zName, { create: true }); + // @ts-ignore + accessHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + created = true; + } else { + throw e; + } + } + // Pre-open the journal OPFS file here. const journalPath = this.#getJournalPathFromDbPath(zName); - const journalHandle = await this.#getAccessHandle(dirHandle, journalPath, flags); - - file.retryResult = { accessHandle, journalHandle }; + const fileHandle = await dirHandle.getFileHandle(journalPath, { create: true }); + // @ts-ignore + const journalHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + + // Create the write-ahead manager. + const writeAhead= new WriteAhead( + zName, + (offset, data) => accessHandle.write(data, { at: offset }), + { create: created }); + await writeAhead.ready(); - // TODO: Load write-ahead overlay. + file.retryResult = { accessHandle, journalHandle, writeAhead }; } catch (e) { file.retryResult = e; return; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js new file mode 100644 index 00000000..a95c3c54 --- /dev/null +++ b/src/examples/WriteAhead.js @@ -0,0 +1,319 @@ +import { Lock } from './Lock.js'; + +/** + * @typedef Transaction + * @property {number} id + * @property {Map} pages address to page data mapping + * @property {number} fileSize + */ + +/** + * @typedef WriteAheadOptions + * @property {boolean} [create=false] true if database is being created + */ + +export class WriteAhead { + #zName; + #writeFn; + #options = { + create: false + }; + + #ready; + /** @type {'read'|'write'|'flush'} */ #state = null + + #txId = 0; + /** @type {Lock} */ #txLock = null; + #txFileSize = 0; + + /** @type {Map} */ #waOverlay = new Map(); + /** @type {Map} */ #txOverlay = new Map(); + #mapIdToTx = new Map(); + + #broadcastChannel; + + /** @type {IDBDatabase} */ #idbDb; + + /** + * @param {string} zName + * @param {(offset: number, data: Uint8Array) => void} writeFn + * @param {WriteAheadOptions} options + */ + constructor(zName, writeFn, options) { + this.#zName = zName; + this.#writeFn = writeFn; + this.#options = Object.assign(this.#options, options); + + this.#broadcastChannel = new BroadcastChannel(`${zName}#wa`); + this.#broadcastChannel.onmessage = (event) => { + /** @type {{type: string, tx: Transaction}} */ + if (event.data.type === 'tx') { + // New transaction from another connection. + /** @type {Transaction} */ const tx = event.data.tx; + this.#mapIdToTx.set(tx.id, tx); + + if (this.#state === null) { + this.#advanceTxId(); + } + } + + // TODO: handle checkpoint notification + }; + + this.#ready = (async () => { + // Disable checkpointing by other connections until we're ready. + await this.#updateTxLock(0); + + // Load all the write-ahead transactions from storage. + await this.initTxRepo(zName); + const { txList, emptyId } = await this.#loadTxList(0); + if (txList.length > 0) { + for (const tx of txList) { + this.#mapIdToTx.set(tx.id, tx); + } + + this.#txId = txList[0].id - 1; + this.#advanceTxId(); + } else { + this.#txId = emptyId; + } + + // Update our tx lock to reflect the current txId. + await this.#updateTxLock(this.#txId); + })(); + } + + ready() { + return this.#ready; + } + + close() { + this.#broadcastChannel.onmessage = null; + this.#broadcastChannel.close(); + } + + isolateForRead() { + this.#state = 'read'; + } + + async isolateForWrite() { + this.#state = 'write'; + + // Ensure that we have all previous transactions. + const { txList, emptyId } = await this.#loadTxList(this.#txId); + if (txList.length > 0) { + for (const tx of txList) { + this.#mapIdToTx.set(tx.id, tx); + + // This transaction wasn't already seen. It may just be a + // race condition, but it could have been a page crash + // between writing to IndexedDB and broadcasting. In case + // of the latter, broadcast the transaction again. + this.#broadcastChannel.postMessage({ type: 'tx', tx }); + } + + this.#advanceTxId(); + } else { + this.#txId = emptyId; + } + } + + rejoin() { + this.#state = null; + this.#advanceTxId(); + } + + /** + * @param {number} offset + * @return {Uint8Array?} + */ + read(offset) { + return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; + } + + /** + * @param {number} offset + * @param {Uint8Array} data + */ + write(offset, data) { + this.#txOverlay.set(offset, data); + } + + truncate(newSize) { + } + + getFileSize() { + return this.#txFileSize; + } + + commit() { + if (this.#txOverlay.size === 0) return; + + // Get the file size from the page 1 header. + const page1 = this.#txOverlay.get(0); + const dataView = new DataView(page1.buffer, page1.byteOffset, 100); + const pageSize = dataView.getUint16(16); + const pageCount = dataView.getUint32(28); + const fileSize = (pageSize === 1 ? 65536 : pageSize) * pageCount; + + // Create a new transaction. + const tx = { + id: this.#txId + 1, + pages: this.#txOverlay, + fileSize + }; + + // Incorporate the transaction into the local view. + this.#mapIdToTx.set(tx.id, tx); + this.#txOverlay = new Map(); + this.#advanceTxId(); + + // Persist the transaction to storage, then send to other connections. + this.#storeTx(tx).then(() => { + this.#broadcastChannel.postMessage({ type: 'tx', tx }); + }, e => { + // TODO: handle error + console.error('IndexedDB write failed', e); + }); + } + + rollback() { + // Discard transaction pages. + this.#txOverlay = new Map(); + } + + async flush() { + this.#state = 'flush'; + try { + } finally { + this.#state = null; + } + } + + /** + * Advance the local view of the database. + */ + #advanceTxId() { + let tx; + while (tx = this.#mapIdToTx.get(this.#txId + 1)) { + // Move transaction pages to the write-ahead overlay. + for (const [offset, data] of tx.pages) { + this.#waOverlay.set(offset, data); + } + this.#txId = tx.id; + this.#txFileSize = tx.fileSize; + } + + this.#updateTxLock(this.#txId); + } + + async initTxRepo(zName) { + // Delete existing IndexedDB database for a new SQLite database. + if (this.#options.create) { + await idbWrap(indexedDB.deleteDatabase(zName)); + } + + // Open IndexedDB database. + const idbRequest = indexedDB.open(zName, 1); + idbRequest.onupgradeneeded = (event) => { + const db = idbRequest.result; + const store = db.createObjectStore('txStore'); + + // Insert the initial marker. + store.put({ id: 1 }, 1); + }; + + this.#idbDb = await idbWrap(idbRequest); + } + + /** + * Load transactions from persistent storage starting from txId + 1. + * @param {number} txId + * @returns {Promise<{ txList: Transaction[], emptyId: number}>} + */ + async #loadTxList(txId) { + const idbTx = this.#idbDb.transaction('txStore', 'readonly'); + const idbTxStore = idbTx.objectStore('txStore'); + + // Get all transactions with id > txId. + const request = idbTxStore.getAll(IDBKeyRange.lowerBound(txId, true)); + /** @type {Transaction[]} */ const txList = await idbWrap(request); + + // The last object in the store is the end marker, which contains + // no data. Its purpose is to provide the txId when write-ahead + // is empty. + const marker = txList.pop(); + return { txList, emptyId: marker.id - 1 }; + } + + /** + * Copy a new transaction to persistent storage. + * @param {Transaction} tx + */ + async #storeTx(tx) { + const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); + const idbTxStore = idbTx.objectStore('txStore'); + + const results = [ + idbTxStore.put(tx, tx.id), // overwrite the current end marker + idbTxStore.put({ id: tx.id + 1 }, tx.id + 1), // new end marker + idbTx + ].map(idbWrap); + idbTx.commit(); + return Promise.all(results); + } + + /** + * Update the lock that publishes our current txId. + * @param {number} txId + */ + async #updateTxLock(txId) { + // Our view of the database, i.e. the txId, is encoded into the name + // of a lock so other connections can see it. When our txId changes, + // we acquire a new lock and release the old one. We must not release + // the old lock until the new one is in place. + const oldLock = this.#txLock; + const newLockName = `${this.#zName}-txId-#${txId}#`; + if (oldLock?.name !== newLockName) { + this.#txLock = new Lock(newLockName); + await this.#txLock.acquire('shared'); + oldLock?.release(); + } + } + + /** + * Find the globally lowest txId held by any connection. + * @returns {Promise} + */ + async #getLowestUsedTxId() { + const txLockRegex = new RegExp(`^(.*)-txId-#(\\d+)#$`); + const { held } = await navigator.locks.query(); + return held + .map(lock => lock.name.match(txLockRegex)) + .filter(match => match !== null) + .map(match => parseInt(match[2])) + .reduce((min, txId) => Math.min(min, txId), this.#txId); + } +} + +/** + * Convert IndexedDB callbacks to Promises. + * @param {IDBRequest|IDBTransaction} request + * @returns + */ +function idbWrap(request) { + return new Promise((resolve, reject) => { + if (request instanceof IDBTransaction) { + request.oncomplete = () => { + resolve(); + }; + } else { + request.onsuccess = () => { + resolve(request.result); + }; + } + request.onerror = () => { + reject(request.error); + }; + }); +} \ No newline at end of file From 9d75e4415eff5d05e9c3fd5e1e464981f7d5446a Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 7 Dec 2025 23:50:47 +0000 Subject: [PATCH 20/84] Implement write-ahead flush (full checkpoint). --- src/examples/OPFSWriteAheadVFS.js | 1 + src/examples/WriteAhead.js | 104 ++++++++++++++++++++++++++---- 2 files changed, 91 insertions(+), 14 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index d1397a90..68489856 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -629,6 +629,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const writeAhead= new WriteAhead( zName, (offset, data) => accessHandle.write(data, { at: offset }), + () => accessHandle.flush(), { create: created }); await writeAhead.ready(); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index a95c3c54..0303cc97 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -15,12 +15,13 @@ import { Lock } from './Lock.js'; export class WriteAhead { #zName; #writeFn; + #syncFn; #options = { create: false }; #ready; - /** @type {'read'|'write'|'flush'} */ #state = null + /** @type {'read'|'write'} */ #state = null #txId = 0; /** @type {Lock} */ #txLock = null; @@ -28,7 +29,7 @@ export class WriteAhead { /** @type {Map} */ #waOverlay = new Map(); /** @type {Map} */ #txOverlay = new Map(); - #mapIdToTx = new Map(); + /** @type {Map} */ #mapIdToTx = new Map(); #broadcastChannel; @@ -37,27 +38,31 @@ export class WriteAhead { /** * @param {string} zName * @param {(offset: number, data: Uint8Array) => void} writeFn + * @param {() => void} syncFn * @param {WriteAheadOptions} options */ - constructor(zName, writeFn, options) { + constructor(zName, writeFn, syncFn, options) { this.#zName = zName; this.#writeFn = writeFn; + this.#syncFn = syncFn; this.#options = Object.assign(this.#options, options); this.#broadcastChannel = new BroadcastChannel(`${zName}#wa`); this.#broadcastChannel.onmessage = (event) => { - /** @type {{type: string, tx: Transaction}} */ if (event.data.type === 'tx') { // New transaction from another connection. /** @type {Transaction} */ const tx = event.data.tx; this.#mapIdToTx.set(tx.id, tx); if (this.#state === null) { + // Not in an isolated state, so advance our view of the database. this.#advanceTxId(); } + } else if (event.data.type === 'ckpt') { + // Checkpoint notification from another connection. + /** @type {number} */ const ckptId = event.data.ckptId; + this.#handleCheckpoint(ckptId); } - - // TODO: handle checkpoint notification }; this.#ready = (async () => { @@ -65,8 +70,8 @@ export class WriteAhead { await this.#updateTxLock(0); // Load all the write-ahead transactions from storage. - await this.initTxRepo(zName); - const { txList, emptyId } = await this.#loadTxList(0); + await this.#repoInit(zName); + const { txList, emptyId } = await this.#repoLoad(0); if (txList.length > 0) { for (const tx of txList) { this.#mapIdToTx.set(tx.id, tx); @@ -93,14 +98,20 @@ export class WriteAhead { } isolateForRead() { + if (this.#state !== null) { + throw new Error('Already in isolated state'); + } this.#state = 'read'; } async isolateForWrite() { + if (this.#state !== null) { + throw new Error('Already in isolated state'); + } this.#state = 'write'; // Ensure that we have all previous transactions. - const { txList, emptyId } = await this.#loadTxList(this.#txId); + const { txList, emptyId } = await this.#repoLoad(this.#txId); if (txList.length > 0) { for (const tx of txList) { this.#mapIdToTx.set(tx.id, tx); @@ -169,7 +180,7 @@ export class WriteAhead { this.#advanceTxId(); // Persist the transaction to storage, then send to other connections. - this.#storeTx(tx).then(() => { + this.#repoStore(tx).then(() => { this.#broadcastChannel.postMessage({ type: 'tx', tx }); }, e => { // TODO: handle error @@ -183,8 +194,16 @@ export class WriteAhead { } async flush() { - this.#state = 'flush'; + if (this.#state !== null) { + throw new Error('Already in isolated state'); + } + try { + // Make sure we have every transaction. + await this.isolateForWrite(); + this.rejoin(); + + await this.#checkpoint(this.#txId); } finally { this.#state = null; } @@ -207,7 +226,53 @@ export class WriteAhead { this.#updateTxLock(this.#txId); } - async initTxRepo(zName) { + /** + * + * @param {number} [ckptId] + */ + async #checkpoint(ckptId) { + await navigator.locks.request(`${this.#zName}-ckpt`, async () => { + // If the txId checkpoint is not specified, find the lowest txId + // in use by any connection. + if (ckptId === undefined) { + ckptId = await this.#getLowestUsedTxId(); + } + + // Starting at ckptId and going backwards (earlier), write transaction + // pages to the main database file. Do not overwrite a page written + // by a later transaction. + const writtenOffsets = new Set(); + let tx = { id: ckptId + 1 }; + while (tx = this.#mapIdToTx.get(tx.id - 1)) { + for (const [offset, data] of tx.pages) { + if (!writtenOffsets.has(offset)) { + this.#writeFn(offset, data); + writtenOffsets.add(offset); + } + } + } + this.#syncFn(); + + // Notify other connections of the checkpoint. + this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); + + // Remove checkpointed transactions from write-ahead. + this.#repoDeleteUpTo(ckptId); + }); + } + + #handleCheckpoint(ckptId) { + // Removed checkpointed pages from the write-ahead overlay. + let tx = { id: ckptId + 1 }; + while (tx = this.#mapIdToTx.get(tx.id - 1)) { + for (const offset of tx.pages.keys()) { + this.#waOverlay.delete(offset); + } + this.#mapIdToTx.delete(tx.id); + } + } + + async #repoInit(zName) { // Delete existing IndexedDB database for a new SQLite database. if (this.#options.create) { await idbWrap(indexedDB.deleteDatabase(zName)); @@ -226,12 +291,23 @@ export class WriteAhead { this.#idbDb = await idbWrap(idbRequest); } + async #repoDeleteUpTo(txId) { + const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); + const results = Promise.all([ + idbTx.objectStore('txStore').delete(IDBKeyRange.upperBound(txId)), + idbTx + ].map(idbWrap)); + idbTx.commit(); + + return results; + } + /** * Load transactions from persistent storage starting from txId + 1. * @param {number} txId * @returns {Promise<{ txList: Transaction[], emptyId: number}>} */ - async #loadTxList(txId) { + async #repoLoad(txId) { const idbTx = this.#idbDb.transaction('txStore', 'readonly'); const idbTxStore = idbTx.objectStore('txStore'); @@ -250,7 +326,7 @@ export class WriteAhead { * Copy a new transaction to persistent storage. * @param {Transaction} tx */ - async #storeTx(tx) { + async #repoStore(tx) { const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const idbTxStore = idbTx.objectStore('txStore'); From 2e0b23d5e0c7bc2932fcb7db8ff55751a10924cf Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 00:32:03 +0000 Subject: [PATCH 21/84] Fix incorrect retention of view into WebAssembly memory. --- src/examples/OPFSWriteAheadVFS.js | 4 ++-- src/examples/WriteAhead.js | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 68489856..2073d85f 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -243,7 +243,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { if (file.writeHint !== 'exclusive') { // Write to the write-ahead overlay. - file.writeAhead.write(iOffset, pData.subarray()); + file.writeAhead.write(iOffset, pData); return VFS.SQLITE_OK; } } @@ -491,7 +491,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: - // TODO + // file.writeAhead.rollback(); return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_SYNC: diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 0303cc97..cd6bfb10 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -147,7 +147,8 @@ export class WriteAhead { * @param {Uint8Array} data */ write(offset, data) { - this.#txOverlay.set(offset, data); + // Make a copy of the data to avoid external mutation. + this.#txOverlay.set(offset, data.slice()); } truncate(newSize) { From d31b668ba7b52450aaaab889cfb69e6edb6ba4f0 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 00:47:41 +0000 Subject: [PATCH 22/84] Minor improvements. --- src/examples/OPFSWriteAheadVFS.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 2073d85f..81c6ebea 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -199,8 +199,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { let bytesRead = null; if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - // Try reading from the OPFS write-ahead overlay first. A read on - // the database file is always a complete page, except when reading + // Try reading from the write-ahead overlays first. A read on the + // database file is always a complete page, except when reading // from the 100-byte header. const pageOffset = iOffset < 100 ? iOffset : 0; const page = file.writeAhead.read(iOffset - pageOffset); @@ -239,9 +239,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jWrite(fileId, pData, iOffset) { try { const file = this.mapIdToFile.get(fileId); - if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint !== 'exclusive') { + if (file.writeHint === 'reserved') { // Write to the write-ahead overlay. file.writeAhead.write(iOffset, pData); return VFS.SQLITE_OK; @@ -267,6 +266,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jTruncate(fileId, iSize) { try { const file = this.mapIdToFile.get(fileId); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file.writeHint !== 'exclusive') { + file.writeAhead.truncate(iSize); + return VFS.SQLITE_OK; + } + } file.accessHandle.truncate(iSize); return VFS.SQLITE_OK; } catch (e) { @@ -283,6 +288,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jSync(fileId, flags) { try { const file = this.mapIdToFile.get(fileId); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file.writeHint === 'reserved') { + // Write-ahead sync is handled on SQLITE_FCNTL_SYNC. + return VFS.SQLITE_OK; + } + } file.accessHandle.flush(); return VFS.SQLITE_OK; } catch (e) { From 9b987288ca439d07baec5b28e22049689b6234ed Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 15:44:04 +0000 Subject: [PATCH 23/84] Fixes for VACUUM. --- src/examples/OPFSWriteAheadVFS.js | 34 ++++++++++++------------------- src/sqlite-api.js | 9 ++++---- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 81c6ebea..1719d76e 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -15,6 +15,7 @@ import { WriteAhead } from "./WriteAhead.js"; * @property {FileSystemSyncAccessHandle} [journalHandle] * * @property {'reserved'|'exclusive'} [writeHint] + * @property {'normal'|'exclusive'|null} [lockingMode] * @property {number} [lockState] * @property {LazyLock} [readLock] * @property {Lock} [writeLock] @@ -31,7 +32,7 @@ let dirHandle = null; export class OPFSWriteAheadVFS extends FacadeVFS { lastError = null; - log = console.log; + log = null; /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); @@ -80,6 +81,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.retryResult = null; file.lockState = VFS.SQLITE_LOCK_NONE; + file.lockingMode = null; file.readLock = new LazyLock(`${zName}#read`); file.writeLock = new Lock(`${zName}#write`); file.timeout = -1; @@ -340,8 +342,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file.accessHandle.getSize() === 0) { // The database has not been created. We will need a write lock. file.writeHint = 'exclusive'; - } - if (file.journalHandle.getSize() > 0) { + } else if (file.lockingMode === 'exclusive') { + // PRAGMA locking_mode=EXCLUSIVE was set. + file.writeHint = 'exclusive'; + } else if (file.journalHandle.getSize() > 0) { // There is a hot journal. We will need a write lock. file.writeHint = 'exclusive'; } @@ -370,14 +374,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // This is a write transaction but we don't already have the write // lock. This happens when the write hint was not used, which this // VFS treats as an error. - // TODO: Arrange for the write hint to be set on unlock. - console.error('Multi-statement write transaction cannot use BEGIN DEFERRED') - return VFS.SQLITE_BUSY; + // TODO: Arrange for the write hint to be set on unlock? + throw new Error('Multi-statement write transaction cannot use BEGIN DEFERRED'); } file.lockState = lockType; return VFS.SQLITE_OK; } catch (e) { this.lastError = e; + console.error(e.message); return VFS.SQLITE_IOERR_LOCK; } } @@ -471,21 +475,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK; case 'locking_mode': switch (value?.toLowerCase()) { - case 'exclusive': - // Set the write hint to prevent deadlock if the first - // statement in exclusive mode is a read. Because of the - // way SQLite exclusive mode works (not actually exclusive - // until a write occurs), starting with a read is like - // BEGIN DEFERRED. - file.writeHint = 'reserved'; - break; case 'normal': - // The only reason for this is if - // PRAGMA locking_mode=EXCLUSIVE is followed by - // PRAGMA locking_mode=NORMAL with no database operations - // in between. Leaving this out wouldn't cause an error, - // only a potential loss of concurrency for one transaction. - file.writeHint = null; + case 'exclusive': + file.lockingMode = value.toLowerCase(); break; } break; @@ -502,7 +494,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: - // file.writeAhead.rollback(); + file.writeAhead.rollback(); return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_SYNC: diff --git a/src/sqlite-api.js b/src/sqlite-api.js index a13e68bf..d1ff06cd 100644 --- a/src/sqlite-api.js +++ b/src/sqlite-api.js @@ -869,7 +869,7 @@ export function Factory(Module) { // succeed. async function retry(f) { let rc; - do { + for (let retryCount = 0; retryCount < 2; ++retryCount) { // Wait for all pending retry operations to complete. This is // normally empty on the first loop iteration. if (Module.retryOps.length) { @@ -881,9 +881,10 @@ export function Factory(Module) { } rc = await f(); - - // Retry on failure with new pending retry operations. - } while (rc && Module.retryOps.length); + if (rc === SQLite.SQLITE_OK || Module.retryOps.length === 0) { + return rc; + } + } return rc; } From 7343e1227aacab946942da6db8c6ed2cada6c936 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 17:39:32 +0000 Subject: [PATCH 24/84] Comments and minor code improvements. --- src/examples/WriteAhead.js | 82 +++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 9 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index cd6bfb10..3ac99d4c 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -88,6 +88,9 @@ export class WriteAhead { })(); } + /** + * @returns {Promise} + */ ready() { return this.#ready; } @@ -97,6 +100,12 @@ export class WriteAhead { this.#broadcastChannel.close(); } + /** + * Freeze our view of the database. + * The view includes the transactions received so far but is not + * guaranteed to be completely up to date (this allows this method + * to be synchronous). Unfreeze the view with rejoin(). + */ isolateForRead() { if (this.#state !== null) { throw new Error('Already in isolated state'); @@ -104,6 +113,12 @@ export class WriteAhead { this.#state = 'read'; } + /** + * Freeze our view of the database for writing. + * The view includes all transactions. + * Unfreeze the view with + * rejoin(). + */ async isolateForWrite() { if (this.#state !== null) { throw new Error('Already in isolated state'); @@ -120,6 +135,10 @@ export class WriteAhead { // race condition, but it could have been a page crash // between writing to IndexedDB and broadcasting. In case // of the latter, broadcast the transaction again. + // TODO: To avoid redundant broadcasts, consider scheduling + // a broadcast after a short delay and canceling if another + // broadcast is seen in the meantime. Alternatively, remove + // this code and schedule periodic checks. this.#broadcastChannel.postMessage({ type: 'tx', tx }); } @@ -131,6 +150,7 @@ export class WriteAhead { rejoin() { this.#state = null; + this.#txOverlay = new Map(); this.#advanceTxId(); } @@ -139,6 +159,12 @@ export class WriteAhead { * @return {Uint8Array?} */ read(offset) { + if (offset && this.#state === null) { + throw new Error('Not in isolated state'); + } + + // Look for the page in any write transaction in progress. + // Otherwise look in the write-ahead overlay. return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; } @@ -147,11 +173,19 @@ export class WriteAhead { * @param {Uint8Array} data */ write(offset, data) { + if (this.#state !== 'write') { + throw new Error('Not in write isolated state'); + } + // Make a copy of the data to avoid external mutation. this.#txOverlay.set(offset, data.slice()); } + /** + * @param {number} newSize + */ truncate(newSize) { + // Nothing needed. Size is tracked from page 1 header in commit(). } getFileSize() { @@ -194,6 +228,10 @@ export class WriteAhead { this.#txOverlay = new Map(); } + /** + * Flush the write-ahead transactions to the main database file. + * There must be no other connections reading or writing. + */ async flush() { if (this.#state !== null) { throw new Error('Already in isolated state'); @@ -204,6 +242,7 @@ export class WriteAhead { await this.isolateForWrite(); this.rejoin(); + // Perform a full checkpoint. Write-ahead will be empty afterwards. await this.#checkpoint(this.#txId); } finally { this.#state = null; @@ -216,7 +255,7 @@ export class WriteAhead { #advanceTxId() { let tx; while (tx = this.#mapIdToTx.get(this.#txId + 1)) { - // Move transaction pages to the write-ahead overlay. + // Add transaction pages to the write-ahead overlay. for (const [offset, data] of tx.pages) { this.#waOverlay.set(offset, data); } @@ -228,10 +267,11 @@ export class WriteAhead { } /** - * + * Move pages from write-ahead to main database file. * @param {number} [ckptId] */ async #checkpoint(ckptId) { + // Allow only one connection to checkpoint at a time. await navigator.locks.request(`${this.#zName}-ckpt`, async () => { // If the txId checkpoint is not specified, find the lowest txId // in use by any connection. @@ -252,27 +292,42 @@ export class WriteAhead { } } } - this.#syncFn(); - // Notify other connections of the checkpoint. - this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); + if (writtenOffsets.size > 0) { + this.#syncFn(); - // Remove checkpointed transactions from write-ahead. - this.#repoDeleteUpTo(ckptId); + // Notify other connections of the checkpoint. + this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); + + // Remove checkpointed transactions from write-ahead. + this.#repoDeleteUpTo(ckptId); + } }); } + /** + * After a checkpoint, remove checkpointed pages from write-ahead. + * The checkpoint may be been done locally or by another connection. + * @param {number} ckptId + */ #handleCheckpoint(ckptId) { - // Removed checkpointed pages from the write-ahead overlay. + // Loop backwards from ckptId. let tx = { id: ckptId + 1 }; while (tx = this.#mapIdToTx.get(tx.id - 1)) { + // Remove pages from write-ahead overlay. for (const offset of tx.pages.keys()) { this.#waOverlay.delete(offset); } + + // Remove transaction. this.#mapIdToTx.delete(tx.id); } } + /** + * Initialize persistent write-ahead storage. + * @param {string} zName + */ async #repoInit(zName) { // Delete existing IndexedDB database for a new SQLite database. if (this.#options.create) { @@ -292,6 +347,11 @@ export class WriteAhead { this.#idbDb = await idbWrap(idbRequest); } + /** + * Delete transactions through txId from persistent storage. + * @param {number} txId + * @returns + */ async #repoDeleteUpTo(txId) { const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const results = Promise.all([ @@ -363,11 +423,15 @@ export class WriteAhead { * @returns {Promise} */ async #getLowestUsedTxId() { + // * Get all held locks. + // * Find those that match the txId lock name pattern. + // * Extract the txId from the lock name. + // * Return the lowest txId found. const txLockRegex = new RegExp(`^(.*)-txId-#(\\d+)#$`); const { held } = await navigator.locks.query(); return held .map(lock => lock.name.match(txLockRegex)) - .filter(match => match !== null) + .filter(match => match !== null && match[1] === this.#zName) .map(match => parseInt(match[2])) .reduce((min, txId) => Math.min(min, txId), this.#txId); } From 83f12e89c27887841b195ad80caf18cf20844252 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 22:49:49 +0000 Subject: [PATCH 25/84] Change the txId lock name encoding. --- src/examples/WriteAhead.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 3ac99d4c..76e068db 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -410,7 +410,7 @@ export class WriteAhead { // we acquire a new lock and release the old one. We must not release // the old lock until the new one is in place. const oldLock = this.#txLock; - const newLockName = `${this.#zName}-txId-#${txId}#`; + const newLockName = `${this.#zName}-txId<${txId}>`; if (oldLock?.name !== newLockName) { this.#txLock = new Lock(newLockName); await this.#txLock.acquire('shared'); @@ -427,7 +427,7 @@ export class WriteAhead { // * Find those that match the txId lock name pattern. // * Extract the txId from the lock name. // * Return the lowest txId found. - const txLockRegex = new RegExp(`^(.*)-txId-#(\\d+)#$`); + const txLockRegex = new RegExp(`^(.*)-txId<(\\d+)>$`); const { held } = await navigator.locks.query(); return held .map(lock => lock.name.match(txLockRegex)) From 78b32f8f8059d56a9c7ecc9a611e49027e4e36d2 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 8 Dec 2025 22:53:06 +0000 Subject: [PATCH 26/84] Debug logging. --- src/examples/Lock.js | 4 +++- src/examples/OPFSWriteAheadVFS.js | 2 +- src/examples/WriteAhead.js | 31 +++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/examples/Lock.js b/src/examples/Lock.js index b3b62fa7..0802c7f8 100644 --- a/src/examples/Lock.js +++ b/src/examples/Lock.js @@ -17,7 +17,7 @@ export class Lock { close() { this.release(); } - + /** * @param {'shared'|'exclusive'} mode * @param {number} timeout -1 for infinite, 0 for poll, >0 for milliseconds @@ -51,6 +51,7 @@ export class Lock { this.#mode = mode; return new Promise(releaser => { this.#releaser = releaser; + console.log(`Lock acquire ${this.#name} ${mode}`); resolve(true); }) }).catch(e => { @@ -65,6 +66,7 @@ export class Lock { release() { this.#releaser?.(); + if (this.#releaser) console.log(`Lock release ${this.#name} ${this.#mode}`); this.#releaser = null; this.#mode = null; } diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 1719d76e..43b9b7d2 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -32,7 +32,7 @@ let dirHandle = null; export class OPFSWriteAheadVFS extends FacadeVFS { lastError = null; - log = null; + log = console.log; /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 76e068db..194860c3 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -33,6 +33,8 @@ export class WriteAhead { #broadcastChannel; + log = console.log; + /** @type {IDBDatabase} */ #idbDb; /** @@ -107,6 +109,7 @@ export class WriteAhead { * to be synchronous). Unfreeze the view with rejoin(). */ isolateForRead() { + this.log?.('isolateForRead'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -120,6 +123,7 @@ export class WriteAhead { * rejoin(). */ async isolateForWrite() { + this.log?.('isolateForWrite'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -149,6 +153,7 @@ export class WriteAhead { } rejoin() { + this.log?.('rejoin'); this.#state = null; this.#txOverlay = new Map(); this.#advanceTxId(); @@ -165,7 +170,10 @@ export class WriteAhead { // Look for the page in any write transaction in progress. // Otherwise look in the write-ahead overlay. - return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; + // return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; + const result = this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; + this.log?.(`read offset=${offset} ->`, result); + return result; } /** @@ -173,6 +181,7 @@ export class WriteAhead { * @param {Uint8Array} data */ write(offset, data) { + this.log?.(`write offset=${offset}`, data); if (this.#state !== 'write') { throw new Error('Not in write isolated state'); } @@ -189,10 +198,12 @@ export class WriteAhead { } getFileSize() { + this.log?.(`getFileSize -> ${this.#txFileSize}`); return this.#txFileSize; } commit() { + this.log?.('commit'); if (this.#txOverlay.size === 0) return; // Get the file size from the page 1 header. @@ -224,6 +235,7 @@ export class WriteAhead { } rollback() { + this.log?.('rollback'); // Discard transaction pages. this.#txOverlay = new Map(); } @@ -233,6 +245,7 @@ export class WriteAhead { * There must be no other connections reading or writing. */ async flush() { + this.log?.('flush'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -253,6 +266,7 @@ export class WriteAhead { * Advance the local view of the database. */ #advanceTxId() { + this.log?.('#advanceTxId'); let tx; while (tx = this.#mapIdToTx.get(this.#txId + 1)) { // Add transaction pages to the write-ahead overlay. @@ -278,6 +292,7 @@ export class WriteAhead { if (ckptId === undefined) { ckptId = await this.#getLowestUsedTxId(); } + this.log?.(`#checkpoint ckptId=${ckptId}`); // Starting at ckptId and going backwards (earlier), write transaction // pages to the main database file. Do not overwrite a page written @@ -329,6 +344,7 @@ export class WriteAhead { * @param {string} zName */ async #repoInit(zName) { + this.log?.('#repoInit'); // Delete existing IndexedDB database for a new SQLite database. if (this.#options.create) { await idbWrap(indexedDB.deleteDatabase(zName)); @@ -353,6 +369,7 @@ export class WriteAhead { * @returns */ async #repoDeleteUpTo(txId) { + this.log?.(`#repoDeleteUpTo txId=${txId}`); const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const results = Promise.all([ idbTx.objectStore('txStore').delete(IDBKeyRange.upperBound(txId)), @@ -369,6 +386,7 @@ export class WriteAhead { * @returns {Promise<{ txList: Transaction[], emptyId: number}>} */ async #repoLoad(txId) { + this.log?.(`#repoLoad txId=${txId}`); const idbTx = this.#idbDb.transaction('txStore', 'readonly'); const idbTxStore = idbTx.objectStore('txStore'); @@ -388,6 +406,7 @@ export class WriteAhead { * @param {Transaction} tx */ async #repoStore(tx) { + this.log?.(`#repoStore txId=${tx.id}`, tx); const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const idbTxStore = idbTx.objectStore('txStore'); @@ -405,6 +424,7 @@ export class WriteAhead { * @param {number} txId */ async #updateTxLock(txId) { + this.log?.(`#updateTxLock txId=${txId}`); // Our view of the database, i.e. the txId, is encoded into the name // of a lock so other connections can see it. When our txId changes, // we acquire a new lock and release the old one. We must not release @@ -429,11 +449,18 @@ export class WriteAhead { // * Return the lowest txId found. const txLockRegex = new RegExp(`^(.*)-txId<(\\d+)>$`); const { held } = await navigator.locks.query(); - return held + // return held + // .map(lock => lock.name.match(txLockRegex)) + // .filter(match => match !== null && match[1] === this.#zName) + // .map(match => parseInt(match[2])) + // .reduce((min, txId) => Math.min(min, txId), this.#txId); + const result = held .map(lock => lock.name.match(txLockRegex)) .filter(match => match !== null && match[1] === this.#zName) .map(match => parseInt(match[2])) .reduce((min, txId) => Math.min(min, txId), this.#txId); + this.log?.(`#getLowestUsedTxId -> ${result}`); + return result; } } From 1db7ea835b773966bc84ea20f7b936b8b8f36933 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 00:43:08 +0000 Subject: [PATCH 27/84] Fix bug where handling a checkpoint could remove a newer page. --- src/examples/WriteAhead.js | 59 +++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 194860c3..0bec222c 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -49,24 +49,6 @@ export class WriteAhead { this.#syncFn = syncFn; this.#options = Object.assign(this.#options, options); - this.#broadcastChannel = new BroadcastChannel(`${zName}#wa`); - this.#broadcastChannel.onmessage = (event) => { - if (event.data.type === 'tx') { - // New transaction from another connection. - /** @type {Transaction} */ const tx = event.data.tx; - this.#mapIdToTx.set(tx.id, tx); - - if (this.#state === null) { - // Not in an isolated state, so advance our view of the database. - this.#advanceTxId(); - } - } else if (event.data.type === 'ckpt') { - // Checkpoint notification from another connection. - /** @type {number} */ const ckptId = event.data.ckptId; - this.#handleCheckpoint(ckptId); - } - }; - this.#ready = (async () => { // Disable checkpointing by other connections until we're ready. await this.#updateTxLock(0); @@ -85,6 +67,12 @@ export class WriteAhead { this.#txId = emptyId; } + // Listen for transactions and checkpoints from other connections. + this.#broadcastChannel = new BroadcastChannel(`${zName}#wa`); + this.#broadcastChannel.onmessage = (event) => { + this.#handleMessage(event); + }; + // Update our tx lock to reflect the current txId. await this.#updateTxLock(this.#txId); })(); @@ -232,6 +220,11 @@ export class WriteAhead { // TODO: handle error console.error('IndexedDB write failed', e); }); + + // Automatic checkpoint. + // TODO: This doesn't have to be done here. It could be done periodically, + // or based on some heuristic, e.g. number of transactions or pages. + this.#checkpoint(); } rollback() { @@ -326,12 +319,17 @@ export class WriteAhead { * @param {number} ckptId */ #handleCheckpoint(ckptId) { + this.log?.(`#handleCheckpoint ckptId=${ckptId}`); // Loop backwards from ckptId. let tx = { id: ckptId + 1 }; while (tx = this.#mapIdToTx.get(tx.id - 1)) { // Remove pages from write-ahead overlay. - for (const offset of tx.pages.keys()) { - this.#waOverlay.delete(offset); + for (const [offset, page] of tx.pages.entries()) { + // Be sure not to remove a newer version of the page. + const overlayPage = this.#waOverlay.get(offset); + if (overlayPage === page) { + this.#waOverlay.delete(offset); + } } // Remove transaction. @@ -339,6 +337,27 @@ export class WriteAhead { } } + /** + * @param {MessageEvent} event + */ + #handleMessage(event) { + this.log?.('#handleMessage', event.data); + if (event.data.type === 'tx') { + // New transaction from another connection. + /** @type {Transaction} */ const tx = event.data.tx; + this.#mapIdToTx.set(tx.id, tx); + + if (this.#state === null) { + // Not in an isolated state, so advance our view of the database. + this.#advanceTxId(); + } + } else if (event.data.type === 'ckpt') { + // Checkpoint notification from another connection. + /** @type {number} */ const ckptId = event.data.ckptId; + this.#handleCheckpoint(ckptId); + } + } + /** * Initialize persistent write-ahead storage. * @param {string} zName From 71fd93af6e4bb8e314731579811f150f0e807387 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 01:05:06 +0000 Subject: [PATCH 28/84] Comments and fixes. --- src/examples/OPFSWriteAheadVFS.js | 1 - src/examples/WriteAhead.js | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 43b9b7d2..04b18571 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -374,7 +374,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // This is a write transaction but we don't already have the write // lock. This happens when the write hint was not used, which this // VFS treats as an error. - // TODO: Arrange for the write hint to be set on unlock? throw new Error('Multi-statement write transaction cannot use BEGIN DEFERRED'); } file.lockState = lockType; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 0bec222c..0ccf43b9 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -49,6 +49,7 @@ export class WriteAhead { this.#syncFn = syncFn; this.#options = Object.assign(this.#options, options); + // All the asynchronous initialization is done here. this.#ready = (async () => { // Disable checkpointing by other connections until we're ready. await this.#updateTxLock(0); @@ -106,9 +107,7 @@ export class WriteAhead { /** * Freeze our view of the database for writing. - * The view includes all transactions. - * Unfreeze the view with - * rejoin(). + * The view includes all transactions. Unfreeze the view with rejoin(). */ async isolateForWrite() { this.log?.('isolateForWrite'); @@ -174,7 +173,7 @@ export class WriteAhead { throw new Error('Not in write isolated state'); } - // Make a copy of the data to avoid external mutation. + // Save a copy of the data to avoid external mutation. this.#txOverlay.set(offset, data.slice()); } @@ -187,7 +186,9 @@ export class WriteAhead { getFileSize() { this.log?.(`getFileSize -> ${this.#txFileSize}`); - return this.#txFileSize; + // If the overlay is empty, the last file size may no longer be valid + // if direct changes were made to the main database file. + return this.#waOverlay.size ? this.#txFileSize : null; } commit() { @@ -304,8 +305,9 @@ export class WriteAhead { if (writtenOffsets.size > 0) { this.#syncFn(); - // Notify other connections of the checkpoint. + // Notify other connections and ourselves of the checkpoint. this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); + this.#handleCheckpoint(ckptId); // Remove checkpointed transactions from write-ahead. this.#repoDeleteUpTo(ckptId); From f2789dee57886192455da04849871ef7b4f9fe26 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 01:10:50 +0000 Subject: [PATCH 29/84] Revert "Debug logging." This reverts commit 45f34088fb936ebb60da4c475ab539b67778d639. --- src/examples/Lock.js | 4 +--- src/examples/OPFSWriteAheadVFS.js | 2 +- src/examples/WriteAhead.js | 33 ++----------------------------- 3 files changed, 4 insertions(+), 35 deletions(-) diff --git a/src/examples/Lock.js b/src/examples/Lock.js index 0802c7f8..b3b62fa7 100644 --- a/src/examples/Lock.js +++ b/src/examples/Lock.js @@ -17,7 +17,7 @@ export class Lock { close() { this.release(); } - + /** * @param {'shared'|'exclusive'} mode * @param {number} timeout -1 for infinite, 0 for poll, >0 for milliseconds @@ -51,7 +51,6 @@ export class Lock { this.#mode = mode; return new Promise(releaser => { this.#releaser = releaser; - console.log(`Lock acquire ${this.#name} ${mode}`); resolve(true); }) }).catch(e => { @@ -66,7 +65,6 @@ export class Lock { release() { this.#releaser?.(); - if (this.#releaser) console.log(`Lock release ${this.#name} ${this.#mode}`); this.#releaser = null; this.#mode = null; } diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 04b18571..3d729306 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -32,7 +32,7 @@ let dirHandle = null; export class OPFSWriteAheadVFS extends FacadeVFS { lastError = null; - log = console.log; + log = null; /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 0ccf43b9..84d8ee29 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -33,8 +33,6 @@ export class WriteAhead { #broadcastChannel; - log = console.log; - /** @type {IDBDatabase} */ #idbDb; /** @@ -98,7 +96,6 @@ export class WriteAhead { * to be synchronous). Unfreeze the view with rejoin(). */ isolateForRead() { - this.log?.('isolateForRead'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -110,7 +107,6 @@ export class WriteAhead { * The view includes all transactions. Unfreeze the view with rejoin(). */ async isolateForWrite() { - this.log?.('isolateForWrite'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -140,7 +136,6 @@ export class WriteAhead { } rejoin() { - this.log?.('rejoin'); this.#state = null; this.#txOverlay = new Map(); this.#advanceTxId(); @@ -157,10 +152,7 @@ export class WriteAhead { // Look for the page in any write transaction in progress. // Otherwise look in the write-ahead overlay. - // return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; - const result = this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; - this.log?.(`read offset=${offset} ->`, result); - return result; + return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; } /** @@ -168,7 +160,6 @@ export class WriteAhead { * @param {Uint8Array} data */ write(offset, data) { - this.log?.(`write offset=${offset}`, data); if (this.#state !== 'write') { throw new Error('Not in write isolated state'); } @@ -185,14 +176,12 @@ export class WriteAhead { } getFileSize() { - this.log?.(`getFileSize -> ${this.#txFileSize}`); // If the overlay is empty, the last file size may no longer be valid // if direct changes were made to the main database file. return this.#waOverlay.size ? this.#txFileSize : null; } commit() { - this.log?.('commit'); if (this.#txOverlay.size === 0) return; // Get the file size from the page 1 header. @@ -229,7 +218,6 @@ export class WriteAhead { } rollback() { - this.log?.('rollback'); // Discard transaction pages. this.#txOverlay = new Map(); } @@ -239,7 +227,6 @@ export class WriteAhead { * There must be no other connections reading or writing. */ async flush() { - this.log?.('flush'); if (this.#state !== null) { throw new Error('Already in isolated state'); } @@ -260,7 +247,6 @@ export class WriteAhead { * Advance the local view of the database. */ #advanceTxId() { - this.log?.('#advanceTxId'); let tx; while (tx = this.#mapIdToTx.get(this.#txId + 1)) { // Add transaction pages to the write-ahead overlay. @@ -286,7 +272,6 @@ export class WriteAhead { if (ckptId === undefined) { ckptId = await this.#getLowestUsedTxId(); } - this.log?.(`#checkpoint ckptId=${ckptId}`); // Starting at ckptId and going backwards (earlier), write transaction // pages to the main database file. Do not overwrite a page written @@ -321,7 +306,6 @@ export class WriteAhead { * @param {number} ckptId */ #handleCheckpoint(ckptId) { - this.log?.(`#handleCheckpoint ckptId=${ckptId}`); // Loop backwards from ckptId. let tx = { id: ckptId + 1 }; while (tx = this.#mapIdToTx.get(tx.id - 1)) { @@ -343,7 +327,6 @@ export class WriteAhead { * @param {MessageEvent} event */ #handleMessage(event) { - this.log?.('#handleMessage', event.data); if (event.data.type === 'tx') { // New transaction from another connection. /** @type {Transaction} */ const tx = event.data.tx; @@ -365,7 +348,6 @@ export class WriteAhead { * @param {string} zName */ async #repoInit(zName) { - this.log?.('#repoInit'); // Delete existing IndexedDB database for a new SQLite database. if (this.#options.create) { await idbWrap(indexedDB.deleteDatabase(zName)); @@ -390,7 +372,6 @@ export class WriteAhead { * @returns */ async #repoDeleteUpTo(txId) { - this.log?.(`#repoDeleteUpTo txId=${txId}`); const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const results = Promise.all([ idbTx.objectStore('txStore').delete(IDBKeyRange.upperBound(txId)), @@ -407,7 +388,6 @@ export class WriteAhead { * @returns {Promise<{ txList: Transaction[], emptyId: number}>} */ async #repoLoad(txId) { - this.log?.(`#repoLoad txId=${txId}`); const idbTx = this.#idbDb.transaction('txStore', 'readonly'); const idbTxStore = idbTx.objectStore('txStore'); @@ -427,7 +407,6 @@ export class WriteAhead { * @param {Transaction} tx */ async #repoStore(tx) { - this.log?.(`#repoStore txId=${tx.id}`, tx); const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); const idbTxStore = idbTx.objectStore('txStore'); @@ -445,7 +424,6 @@ export class WriteAhead { * @param {number} txId */ async #updateTxLock(txId) { - this.log?.(`#updateTxLock txId=${txId}`); // Our view of the database, i.e. the txId, is encoded into the name // of a lock so other connections can see it. When our txId changes, // we acquire a new lock and release the old one. We must not release @@ -470,18 +448,11 @@ export class WriteAhead { // * Return the lowest txId found. const txLockRegex = new RegExp(`^(.*)-txId<(\\d+)>$`); const { held } = await navigator.locks.query(); - // return held - // .map(lock => lock.name.match(txLockRegex)) - // .filter(match => match !== null && match[1] === this.#zName) - // .map(match => parseInt(match[2])) - // .reduce((min, txId) => Math.min(min, txId), this.#txId); - const result = held + return held .map(lock => lock.name.match(txLockRegex)) .filter(match => match !== null && match[1] === this.#zName) .map(match => parseInt(match[2])) .reduce((min, txId) => Math.min(min, txId), this.#txId); - this.log?.(`#getLowestUsedTxId -> ${result}`); - return result; } } From bf5e8c4dbcb4c15c8eb212b46c486b8d12f747b6 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 04:08:53 +0000 Subject: [PATCH 30/84] Fix exclusive locking_mode crash on read. --- src/examples/WriteAhead.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 84d8ee29..6629e3f9 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -146,10 +146,8 @@ export class WriteAhead { * @return {Uint8Array?} */ read(offset) { - if (offset && this.#state === null) { - throw new Error('Not in isolated state'); - } - + if (this.#state === null) return null; + // Look for the page in any write transaction in progress. // Otherwise look in the write-ahead overlay. return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; From 8a0385b58028e5661e68ab83a76ba3e30a59cc14 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 23:39:47 +0000 Subject: [PATCH 31/84] Add OPFSWriteAheadVFS to contention test. --- demo/contention/contention-worker.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/demo/contention/contention-worker.js b/demo/contention/contention-worker.js index e2c26459..2694b89c 100644 --- a/demo/contention/contention-worker.js +++ b/demo/contention/contention-worker.js @@ -54,9 +54,13 @@ const BUILDS = new Map([ name: 'OPFSPermutedVFS', vfsModule: '../../src/examples/OPFSPermutedVFS.js', }, + { + name: 'OPFSWriteAheadVFS', + vfsModule: '../../src/examples/OPFSWriteAheadVFS.js', + }, { name: 'AccessHandlePoolVFS', - vfsModule: '../src/examples/AccessHandlePoolVFS.js', + vfsModule: '../../src/examples/AccessHandlePoolVFS.js', }, { name: 'FLOOR', From a605885f69c941da727e2ca80b4af2eb868b64b0 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 9 Dec 2025 23:40:45 +0000 Subject: [PATCH 32/84] Fix race condition in #retryOpen(). --- src/examples/OPFSWriteAheadVFS.js | 95 ++++++++++++++++++------------- src/examples/WriteAhead.js | 1 + 2 files changed, 57 insertions(+), 39 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 3d729306..c269e1fd 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -104,6 +104,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { pOutFlags.setInt32(0, flags, true); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_CANTOPEN; } @@ -128,6 +129,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); + this.lastError = e; return VFS.SQLITE_IOERR_DELETE; } } @@ -154,6 +157,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_ACCESS; } @@ -166,7 +170,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { jClose(fileId) { try { const file = this.mapIdToFile.get(fileId); - if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file?.flags & VFS.SQLITE_OPEN_MAIN_DB) { + file.writeAhead.close(); file.accessHandle.close(); this.mapPathToFile.delete(file?.zName); @@ -176,7 +181,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.readLock.close(); file.writeLock.close(); - } else if (file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { + } else if (file?.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { // The actual OPFS journal file is managed with the main database // file, so don't close the access handle here. } @@ -185,6 +190,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { this.mapIdToFile.delete(fileId); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); + this.lastError = e; return VFS.SQLITE_IOERR_CLOSE; } } @@ -228,6 +235,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); + this.lastError = e; return VFS.SQLITE_IOERR_READ; } } @@ -255,6 +264,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.accessHandle.write(pData.subarray(), { at: iOffset }); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_WRITE; } @@ -277,6 +287,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.accessHandle.truncate(iSize); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_TRUNCATE; } @@ -299,6 +310,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.accessHandle.flush(); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_FSYNC; } @@ -322,6 +334,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { pSize64.setBigInt64(0, BigInt(size), true); return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_FSTAT; } @@ -379,8 +392,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.lockState = lockType; return VFS.SQLITE_OK; } catch (e) { + console.error(e.stack); this.lastError = e; - console.error(e.message); return VFS.SQLITE_IOERR_LOCK; } } @@ -410,6 +423,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } file.lockState = lockType; } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_UNLOCK; } @@ -503,6 +517,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; } } catch (e) { + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR; } @@ -523,7 +538,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { value |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; } } - return value + return value; } /** @@ -593,49 +608,51 @@ export class OPFSWriteAheadVFS extends FacadeVFS { async #retryOpen(zName, flags, fileId, pOutFlags) { const file = this.mapPathToFile.get(zName); try { - // For simplicity, everything goes into the OPFS root directory. - // TODO: Support OPFS subdirectories. - dirHandle = dirHandle ?? await navigator.storage.getDirectory(); - - // Open the main database OPFS file. - let created = false; - let accessHandle; - try { - const fileHandle = await dirHandle.getFileHandle(zName); - // @ts-ignore - accessHandle = await fileHandle.createSyncAccessHandle({ - mode: 'readwrite-unsafe' - }); - } catch (e) { - if (e.name === 'NotFoundError' && (flags & VFS.SQLITE_OPEN_CREATE)) { - const fileHandle = await dirHandle.getFileHandle(zName, { create: true }); + await navigator.locks.request(`${zName}#open`, async lock => { + // For simplicity, everything goes into the OPFS root directory. + // TODO: Support OPFS subdirectories. + dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + + // Open the main database OPFS file. + let created = false; + let accessHandle; + try { + const fileHandle = await dirHandle.getFileHandle(zName); // @ts-ignore accessHandle = await fileHandle.createSyncAccessHandle({ mode: 'readwrite-unsafe' }); - created = true; - } else { - throw e; + } catch (e) { + if (e.name === 'NotFoundError' && (flags & VFS.SQLITE_OPEN_CREATE)) { + const fileHandle = await dirHandle.getFileHandle(zName, { create: true }); + // @ts-ignore + accessHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + created = true; + } else { + throw e; + } } - } - // Pre-open the journal OPFS file here. - const journalPath = this.#getJournalPathFromDbPath(zName); - const fileHandle = await dirHandle.getFileHandle(journalPath, { create: true }); - // @ts-ignore - const journalHandle = await fileHandle.createSyncAccessHandle({ - mode: 'readwrite-unsafe' - }); + // Pre-open the journal OPFS file here. + const journalPath = this.#getJournalPathFromDbPath(zName); + const fileHandle = await dirHandle.getFileHandle(journalPath, { create: true }); + // @ts-ignore + const journalHandle = await fileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); - // Create the write-ahead manager. - const writeAhead= new WriteAhead( - zName, - (offset, data) => accessHandle.write(data, { at: offset }), - () => accessHandle.flush(), - { create: created }); - await writeAhead.ready(); + // Create the write-ahead manager. + const writeAhead= new WriteAhead( + zName, + (offset, data) => accessHandle.write(data, { at: offset }), + () => accessHandle.flush(), + { create: created }); + await writeAhead.ready(); - file.retryResult = { accessHandle, journalHandle, writeAhead }; + file.retryResult = { accessHandle, journalHandle, writeAhead }; + }); } catch (e) { file.retryResult = e; return; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 6629e3f9..94a67cb1 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -85,6 +85,7 @@ export class WriteAhead { } close() { + this.#txLock?.release(); this.#broadcastChannel.onmessage = null; this.#broadcastChannel.close(); } From cef18f4482e5d130c9f632b7091b92055a383159 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Wed, 10 Dec 2025 06:18:15 +0000 Subject: [PATCH 33/84] Simplify batch atomic enabling. --- src/examples/OPFSWriteAheadVFS.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index c269e1fd..8a5487c7 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -504,7 +504,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: + // Allow batch atomic writes when write-ahead is in use. + return file.writeHint === 'reserved' ? VFS.SQLITE_OK : VFS.SQLITE_NOTFOUND; case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: + // Commit will happen on SQLITE_FCNTL_SYNC. return VFS.SQLITE_OK; case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: file.writeAhead.rollback(); @@ -529,16 +532,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number} */ jDeviceCharacteristics(pFile) { - // Allow batch atomic writes with write-ahead. Disallow when writing - // directly to the file. - let value = VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; - const file = this.mapIdToFile.get(pFile); - if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint !== 'exclusive') { - value |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; - } - } - return value; + return 0 + | VFS.SQLITE_IOCAP_BATCH_ATOMIC + | VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; } /** From 1414e1fc1fa3684d8a094399a18ac2448e52c186 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 15 Dec 2025 19:08:52 +0000 Subject: [PATCH 34/84] Allow databases in subdirectories. --- src/examples/OPFSWriteAheadVFS.js | 47 ++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 8a5487c7..e7cc1cd0 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -4,6 +4,8 @@ import { Lock } from "./Lock.js"; import { LazyLock } from "./LazyLock.js"; import { WriteAhead } from "./WriteAhead.js"; +const TEMPORARY_FILE_DIR_ROOT = '.writeahead-tmp'; + /** * @typedef FileEntry * @property {string} zName @@ -25,10 +27,9 @@ import { WriteAhead } from "./WriteAhead.js"; */ /** - * Cache the OPFS root directory handle. - * @type {FileSystemDirectoryHandle} + * @typedef OPFSWriteAheadOptions + * @property {number} [nTmpFiles] */ -let dirHandle = null; export class OPFSWriteAheadVFS extends FacadeVFS { lastError = null; @@ -36,9 +37,13 @@ export class OPFSWriteAheadVFS extends FacadeVFS { /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); + /** @type {OPFSWriteAheadOptions} */ options = { + nTmpFiles: 4 + }; static async create(name, module, options) { const vfs = new OPFSWriteAheadVFS(name, module); + Object.assign(vfs.options, options); await vfs.isReady(); return vfs; } @@ -176,7 +181,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { this.mapPathToFile.delete(file?.zName); file.journalHandle.close(); - const journalPath = this.#getJournalPathFromDbPath(file.zName); + const journalPath = this.#getJournalNameFromDbName(file.zName); this.mapPathToFile.delete(journalPath); file.readLock.close(); @@ -552,11 +557,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } /** - * @param {string} dbPath + * @param {string} dbName * @returns {string} */ - #getJournalPathFromDbPath(dbPath) { - return `${dbPath}-journal`; + #getJournalNameFromDbName(dbName) { + return `${dbName}-journal`; } /** @@ -605,22 +610,32 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const file = this.mapPathToFile.get(zName); try { await navigator.locks.request(`${zName}#open`, async lock => { - // For simplicity, everything goes into the OPFS root directory. - // TODO: Support OPFS subdirectories. - dirHandle = dirHandle ?? await navigator.storage.getDirectory(); + // Parse the path components. + const directoryNames = zName.split('/').filter(d => d); + const dbName = directoryNames.pop(); + + // Get the OPFS directory handle. + let dirHandle = await navigator.storage.getDirectory(); + const create = !!(flags & VFS.SQLITE_OPEN_CREATE); + for (const directoryName of directoryNames) { + dirHandle = await dirHandle.getDirectoryHandle(directoryName, { create }); + } - // Open the main database OPFS file. + // Open the main database OPFS file. We need to know whether the file + // was created or not so we know whether to remove any existing + // IndexedDB database with the same name. This will not be necessary + // if the write-ahead data is moved to OPFS entirely. let created = false; let accessHandle; try { - const fileHandle = await dirHandle.getFileHandle(zName); + const fileHandle = await dirHandle.getFileHandle(dbName); // @ts-ignore accessHandle = await fileHandle.createSyncAccessHandle({ mode: 'readwrite-unsafe' }); } catch (e) { - if (e.name === 'NotFoundError' && (flags & VFS.SQLITE_OPEN_CREATE)) { - const fileHandle = await dirHandle.getFileHandle(zName, { create: true }); + if (e.name === 'NotFoundError' && create) { + const fileHandle = await dirHandle.getFileHandle(dbName, { create }); // @ts-ignore accessHandle = await fileHandle.createSyncAccessHandle({ mode: 'readwrite-unsafe' @@ -632,8 +647,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } // Pre-open the journal OPFS file here. - const journalPath = this.#getJournalPathFromDbPath(zName); - const fileHandle = await dirHandle.getFileHandle(journalPath, { create: true }); + const journalName = this.#getJournalNameFromDbName(dbName); + const fileHandle = await dirHandle.getFileHandle(journalName, { create: true }); // @ts-ignore const journalHandle = await fileHandle.createSyncAccessHandle({ mode: 'readwrite-unsafe' From bc8ac7423b235fd700e3cc3f65689925ba48a118 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 16 Dec 2025 00:26:04 +0000 Subject: [PATCH 35/84] Add temporary file support. --- src/examples/OPFSWriteAheadVFS.js | 117 ++++++++++++++++++++++++++---- 1 file changed, 104 insertions(+), 13 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index e7cc1cd0..6430a423 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -4,7 +4,9 @@ import { Lock } from "./Lock.js"; import { LazyLock } from "./LazyLock.js"; import { WriteAhead } from "./WriteAhead.js"; -const TEMPORARY_FILE_DIR_ROOT = '.writeahead-tmp'; +const LIBRARY_FILES_ROOT = '.wa-sqlite'; + +const finalizationRegistry = new FinalizationRegistry(f => f()); /** * @typedef FileEntry @@ -37,10 +39,15 @@ export class OPFSWriteAheadVFS extends FacadeVFS { /** @type {Map} */ mapIdToFile = new Map(); /** @type {Map} */ mapPathToFile = new Map(); + + /** @type {Map} */ boundTempFiles = new Map(); + /** @type {Set} */ unboundTempFiles = new Set(); /** @type {OPFSWriteAheadOptions} */ options = { nTmpFiles: 4 }; + _ready; + static async create(name, module, options) { const vfs = new OPFSWriteAheadVFS(name, module); Object.assign(vfs.options, options); @@ -50,6 +57,53 @@ export class OPFSWriteAheadVFS extends FacadeVFS { constructor(name, module) { super(name, module); + this._ready = (async () => { + // Ensure the library files root directory exists. + let dirHandle = await navigator.storage.getDirectory(); + dirHandle = await dirHandle.getDirectoryHandle(LIBRARY_FILES_ROOT, { create: true }); + + // Clean up any stale session directories. + // @ts-ignore + for await (const name of dirHandle.keys()) { + if (name.startsWith('.session-')) { + // Acquire a lock on the session directory to ensure it is not in use. + await navigator.locks.request(name, { ifAvailable: true }, async lock => { + if (lock) { + // This directory is not in use. + try { + await dirHandle.removeEntry(name, { recursive: true }); + } catch (e) { + // Ignore errors, will try again next time. + } + } + }); + } + } + + // Create our session directory. + const dirName = `.session-${Math.random().toString(16).slice(2)}`; + await new Promise(resolve => { + navigator.locks.request(dirName, () => { + resolve(); + return new Promise(release => { + finalizationRegistry.register(this, release); + }); + }); + }); + dirHandle = await dirHandle.getDirectoryHandle(dirName, { create: true }); + + // Create temporary files. + for (let i = 0; i < this.options.nTmpFiles; i++) { + const fileHandle= await dirHandle.getFileHandle(i.toString(), { create: true }); + const accessHandle = await fileHandle.createSyncAccessHandle(); + finalizationRegistry.register(this, () => accessHandle.close()); + this.unboundTempFiles.add(accessHandle); + } + })(); + } + + isReady() { + return Promise.all([super.isReady(), this._ready]).then(() => true); } /** @@ -61,6 +115,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { */ jOpen(zName, fileId, flags, pOutFlags) { try { + if (zName === null) { + // Generate a temporary filename. This will only be used as a + // key to map to a pre-opened temporary file access handle. + zName = Math.random().toString(16).slice(2); + } + const file = this.mapPathToFile.get(zName) ?? { zName, flags, @@ -102,7 +162,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // Initialize journal file state. file.accessHandle = dbFile.journalHandle; } else { - throw new Error(`unsupported file type 0x${flags.toString(16)} for ${zName}`); + // This is a temporary file. Use an unbound pre-opened accessHandle. + if (this.unboundTempFiles.size === 0) { + throw new Error('no temporary files available'); + } + const accessHandle = this.unboundTempFiles.values().next().value; + this.unboundTempFiles.delete(accessHandle); + this.boundTempFiles.set(zName, accessHandle); + file.accessHandle = accessHandle; } this.mapIdToFile.set(fileId, file); @@ -129,8 +196,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // We don't actually delete it, just truncate it to zero length. file.accessHandle.truncate(0); file.accessHandle.flush(); - } else { - throw new Error(`Unexpected delete: ${zName}`); + } else if (this.boundTempFiles.has(zName)) { + this.#deleteTemporaryFile(file); } return VFS.SQLITE_OK; } catch (e) { @@ -189,6 +256,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } else if (file?.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { // The actual OPFS journal file is managed with the main database // file, so don't close the access handle here. + } else if (file?.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) { + this.#deleteTemporaryFile(file); } // Disassociate fileId from file entry. @@ -509,18 +578,28 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: - // Allow batch atomic writes when write-ahead is in use. - return file.writeHint === 'reserved' ? VFS.SQLITE_OK : VFS.SQLITE_NOTFOUND; + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + // Allow batch atomic writes when write-ahead is in use. + return file.writeHint === 'reserved' ? VFS.SQLITE_OK : VFS.SQLITE_NOTFOUND; + } + break; case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: - // Commit will happen on SQLITE_FCNTL_SYNC. - return VFS.SQLITE_OK; + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + // Commit will happen on SQLITE_FCNTL_SYNC. + return VFS.SQLITE_OK; + } + break; case VFS.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: - file.writeAhead.rollback(); - return VFS.SQLITE_OK; - + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + file.writeAhead.rollback(); + return VFS.SQLITE_OK; + } + break; case VFS.SQLITE_FCNTL_SYNC: - if (file.writeHint === 'reserved') { - file.writeAhead.commit(); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { + if (file.writeHint === 'reserved') { + file.writeAhead.commit(); + } } break; } @@ -556,6 +635,18 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK } + /** + * @param {FileEntry} file + */ + #deleteTemporaryFile(file) { + file.accessHandle.truncate(0); + + // Temporary files are not actually deleted, just returned to the pool. + this.mapPathToFile.delete(file.zName); + this.unboundTempFiles.add(file.accessHandle); + this.boundTempFiles.delete(file.zName); + } + /** * @param {string} dbName * @returns {string} From 3db3702bbf70cb7ea9c589dbb23fc2647560cb95 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 16 Dec 2025 17:45:33 +0000 Subject: [PATCH 36/84] Use PRAGMA wal_autocheckpoint for checkpoint invocation. --- src/examples/OPFSWriteAheadVFS.js | 28 +++++++++++------ src/examples/WriteAhead.js | 51 ++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 15 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 6430a423..a59f3e9d 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -571,21 +571,24 @@ export class OPFSWriteAheadVFS extends FacadeVFS { case 'vfs_logging': // This is a trace feature for debugging only. if (value !== null) { - this.log = parseInt(value) !== 0 ? console.log : null; + this.log = parseInt(value) !== 0 ? console.debug : null; + file.writeAhead.log = this.log; } return VFS.SQLITE_OK; + case 'wal_autocheckpoint': + if (value !== null) { + const pageCount = parseInt(value); + if (pageCount > 0) { + file.writeAhead.setAutoCheckpoint(pageCount); + } + } + break; } break; case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: - if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - // Allow batch atomic writes when write-ahead is in use. - return file.writeHint === 'reserved' ? VFS.SQLITE_OK : VFS.SQLITE_NOTFOUND; - } - break; case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - // Commit will happen on SQLITE_FCNTL_SYNC. return VFS.SQLITE_OK; } break; @@ -616,9 +619,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number} */ jDeviceCharacteristics(pFile) { - return 0 - | VFS.SQLITE_IOCAP_BATCH_ATOMIC - | VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; + let result = VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; + + const file = this.mapIdToFile.get(pFile); + if (file.flags & VFS.SQLITE_OPEN_MAIN_DB && file.writeHint === 'reserved') { + // When write-ahead is in use, we can do batch atomic writes. + result |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; + } + return result; } /** diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 94a67cb1..4aa6c288 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -1,5 +1,7 @@ import { Lock } from './Lock.js'; +const DEFAULT_AUTOCHECKPOINT_PAGES = 1000; + /** * @typedef Transaction * @property {number} id @@ -13,6 +15,8 @@ import { Lock } from './Lock.js'; */ export class WriteAhead { + log = null; + #zName; #writeFn; #syncFn; @@ -30,8 +34,10 @@ export class WriteAhead { /** @type {Map} */ #waOverlay = new Map(); /** @type {Map} */ #txOverlay = new Map(); /** @type {Map} */ #mapIdToTx = new Map(); + #nWriteAheadPages = 0; #broadcastChannel; + #autoCheckpointPages = DEFAULT_AUTOCHECKPOINT_PAGES; /** @type {IDBDatabase} */ #idbDb; @@ -210,10 +216,21 @@ export class WriteAhead { console.error('IndexedDB write failed', e); }); - // Automatic checkpoint. - // TODO: This doesn't have to be done here. It could be done periodically, - // or based on some heuristic, e.g. number of transactions or pages. - this.#checkpoint(); + // TODO: remove this sanity check + let checkCount = 0; + for (const tx of this.#mapIdToTx.values()) { + checkCount += tx.pages.size; + } + if (checkCount !== this.#nWriteAheadPages) { + console.warn('page count mismatch', checkCount, this.#nWriteAheadPages); + debugger; + } + + // Auto-checkpoint when the write-ahead overlay exceeds the + // checkpoint threshold. + if (this.#nWriteAheadPages >= this.#autoCheckpointPages) { + this.#checkpoint(); + } } rollback() { @@ -242,21 +259,33 @@ export class WriteAhead { } } + /** + * @param {number} pageCount + */ + setAutoCheckpoint(pageCount) { + this.#autoCheckpointPages = pageCount; + } + /** * Advance the local view of the database. */ #advanceTxId() { + const oldTxId = this.#txId; + let tx; while (tx = this.#mapIdToTx.get(this.#txId + 1)) { // Add transaction pages to the write-ahead overlay. for (const [offset, data] of tx.pages) { this.#waOverlay.set(offset, data); } + this.#nWriteAheadPages += tx.pages.size; this.#txId = tx.id; this.#txFileSize = tx.fileSize; } - this.#updateTxLock(this.#txId); + if (this.#txId !== oldTxId) { + this.#updateTxLock(this.#txId); + } } /** @@ -320,6 +349,16 @@ export class WriteAhead { // Remove transaction. this.#mapIdToTx.delete(tx.id); } + + const oldCount = this.#nWriteAheadPages; + + // Recalculate the number of pages in write-ahead. + this.#nWriteAheadPages = 0; + for (const tx of this.#mapIdToTx.values()) { + this.#nWriteAheadPages += tx.pages.size; + } + + this.log?.(`%cCheckpoint to txId ${ckptId}, ${oldCount} -> ${this.#nWriteAheadPages} pages in write-ahead`, 'background-color: lightgreen;'); } /** @@ -433,6 +472,8 @@ export class WriteAhead { this.#txLock = new Lock(newLockName); await this.#txLock.acquire('shared'); oldLock?.release(); + + this.log?.(`%ctxId to ${txId}`, 'background-color: lightblue;'); } } From b658513a977cbb8a72a39e11af05f8557a119e6f Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Thu, 18 Dec 2025 03:32:02 +0000 Subject: [PATCH 37/84] Implement heartbeat check for missing transactions. --- src/examples/WriteAhead.js | 106 ++++++++++++++++++++++++++++++++----- 1 file changed, 93 insertions(+), 13 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 4aa6c288..dde41e3a 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -1,6 +1,8 @@ import { Lock } from './Lock.js'; const DEFAULT_AUTOCHECKPOINT_PAGES = 1000; +const DEFAULT_HEARTBEAT_INTERVAL = 3000; +const DEFAULT_HEARTBEAT_ACTION_DELAY = 50; /** * @typedef Transaction @@ -12,6 +14,8 @@ const DEFAULT_AUTOCHECKPOINT_PAGES = 1000; /** * @typedef WriteAheadOptions * @property {boolean} [create=false] true if database is being created + * @property {number} [heartbeatInterval] + * @property {number} [heartbeatActionDelay] */ export class WriteAhead { @@ -21,7 +25,9 @@ export class WriteAhead { #writeFn; #syncFn; #options = { - create: false + create: false, + heartbeatInterval: DEFAULT_HEARTBEAT_INTERVAL, + heartbeatActionDelay: DEFAULT_HEARTBEAT_ACTION_DELAY }; #ready; @@ -38,6 +44,7 @@ export class WriteAhead { #broadcastChannel; #autoCheckpointPages = DEFAULT_AUTOCHECKPOINT_PAGES; + /** @type {NodeJS.Timeout} */ #heartbeatTimer; /** @type {IDBDatabase} */ #idbDb; @@ -80,6 +87,11 @@ export class WriteAhead { // Update our tx lock to reflect the current txId. await this.#updateTxLock(this.#txId); + + // Schedule first heartbeat. The heartbeat is a guard against a crash + // in another context between persisting a transaction and broadcasting + // it. + this.#heartbeat(); })(); } @@ -94,6 +106,7 @@ export class WriteAhead { this.#txLock?.release(); this.#broadcastChannel.onmessage = null; this.#broadcastChannel.close(); + clearTimeout(this.#heartbeatTimer); } /** @@ -119,23 +132,16 @@ export class WriteAhead { } this.#state = 'write'; + // Heartbeat is not needed while writing because we will be current. + clearTimeout(this.#heartbeatTimer); + this.#heartbeatTimer = null; + // Ensure that we have all previous transactions. const { txList, emptyId } = await this.#repoLoad(this.#txId); if (txList.length > 0) { for (const tx of txList) { this.#mapIdToTx.set(tx.id, tx); - - // This transaction wasn't already seen. It may just be a - // race condition, but it could have been a page crash - // between writing to IndexedDB and broadcasting. In case - // of the latter, broadcast the transaction again. - // TODO: To avoid redundant broadcasts, consider scheduling - // a broadcast after a short delay and canceling if another - // broadcast is seen in the meantime. Alternatively, remove - // this code and schedule periodic checks. - this.#broadcastChannel.postMessage({ type: 'tx', tx }); } - this.#advanceTxId(); } else { this.#txId = emptyId; @@ -143,6 +149,11 @@ export class WriteAhead { } rejoin() { + if (this.#state === 'write') { + // Resume heartbeat after write isolation. + this.#heartbeat(); + } + this.#state = null; this.#txOverlay = new Map(); this.#advanceTxId(); @@ -381,6 +392,46 @@ export class WriteAhead { } } + /** + * Periodic check for missing transactions. + */ + async #heartbeat() { + try { + if (this.#heartbeatTimer) { + // Check whether we are missing the next transaction. + const nextLocalTxId = this.#txId + 1; + const lastRepoTxId = await this.#repoLastTxId(); + if (this.#txId < lastRepoTxId && !this.#mapIdToTx.has(nextLocalTxId)) { + // There are transactions in the repository that we have not received + // a broadcast for. This could be due to a crash in another context + // or simply unlucky timing. In case of bad timing, use a brief + // delay to allow any pending broadcasts to arrive. + setTimeout(async () => { + // Repeat the check. + if (this.#txId < nextLocalTxId && !this.#mapIdToTx.has(nextLocalTxId)) { + // Still missing the next transaction, so load it from the + // repository. + const { txList } = await this.#repoLoad(this.#txId); + + // Simulate a broadcast message for this transaction. + this.#handleMessage( + new MessageEvent('message', { data: { type: 'tx', tx: txList[0] } })); + } + }, this.#options.heartbeatActionDelay); + } + } + } catch (e) { + console.error('Heartbeat failed', e); + } + + // Schedule next heartbeat. Add a bit of skew to reduce correlated + // heartbeats across multiple connections. + const delay = this.#options.heartbeatInterval * (0.9 + 0.2 * Math.random()); + this.#heartbeatTimer = setTimeout(() => { + this.#heartbeat(); + }, delay); + } + /** * Initialize persistent write-ahead storage. * @param {string} zName @@ -420,6 +471,34 @@ export class WriteAhead { return results; } + /** + * Get the last transaction id for the database. + * @returns {Promise} + */ + async #repoLastTxId() { + const idbTx = this.#idbDb.transaction('txStore', 'readonly'); + const idbTxStore = idbTx.objectStore('txStore'); + const marker = await new Promise((resolve, reject) => { + // Use a cursor with 'prev' direction to get the last key + // in the store. This will be the end marker, which will + // be the *next* transaction id. + const request = idbTxStore.openKeyCursor(null, 'prev'); + request.onsuccess = () => { + const cursor = request.result; + if (cursor) { + resolve(cursor.key); + } else { + reject(new Error('Invalid repository state')); + } + }; + request.onerror = () => { + reject(request.error); + }; + }); + idbTx.commit(); + return marker - 1; + } + /** * Load transactions from persistent storage starting from txId + 1. * @param {number} txId @@ -432,6 +511,7 @@ export class WriteAhead { // Get all transactions with id > txId. const request = idbTxStore.getAll(IDBKeyRange.lowerBound(txId, true)); /** @type {Transaction[]} */ const txList = await idbWrap(request); + idbTx.commit(); // The last object in the store is the end marker, which contains // no data. Its purpose is to provide the txId when write-ahead @@ -490,7 +570,7 @@ export class WriteAhead { const { held } = await navigator.locks.query(); return held .map(lock => lock.name.match(txLockRegex)) - .filter(match => match !== null && match[1] === this.#zName) + .filter(match => match?.[1] === this.#zName) .map(match => parseInt(match[2])) .reduce((min, txId) => Math.min(min, txId), this.#txId); } From 5ff9e537f327e0107bc026c47028bd8a047d4bca Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Thu, 18 Dec 2025 03:50:14 +0000 Subject: [PATCH 38/84] Tweak WriteAhead options. --- src/examples/OPFSWriteAheadVFS.js | 3 ++- src/examples/WriteAhead.js | 31 ++++++++++++------------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index a59f3e9d..da551d4c 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -487,6 +487,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // In this VFS, this is the only unlock transition that matters. file.writeLock.release(); if (file.readLock.mode === 'exclusive') { + // TODO: Consider lazy release here as well. file.readLock.release(); } else { file.readLock.releaseLazy(); @@ -579,7 +580,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (value !== null) { const pageCount = parseInt(value); if (pageCount > 0) { - file.writeAhead.setAutoCheckpoint(pageCount); + file.writeAhead.options.autoCheckpointPages = pageCount; } } break; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index dde41e3a..6392cfe0 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -20,16 +20,17 @@ const DEFAULT_HEARTBEAT_ACTION_DELAY = 50; export class WriteAhead { log = null; - - #zName; - #writeFn; - #syncFn; - #options = { + options = { create: false, + autoCheckpointPages: DEFAULT_AUTOCHECKPOINT_PAGES, heartbeatInterval: DEFAULT_HEARTBEAT_INTERVAL, heartbeatActionDelay: DEFAULT_HEARTBEAT_ACTION_DELAY }; + #zName; + #writeFn; + #syncFn; + #ready; /** @type {'read'|'write'} */ #state = null @@ -43,7 +44,6 @@ export class WriteAhead { #nWriteAheadPages = 0; #broadcastChannel; - #autoCheckpointPages = DEFAULT_AUTOCHECKPOINT_PAGES; /** @type {NodeJS.Timeout} */ #heartbeatTimer; /** @type {IDBDatabase} */ #idbDb; @@ -58,7 +58,7 @@ export class WriteAhead { this.#zName = zName; this.#writeFn = writeFn; this.#syncFn = syncFn; - this.#options = Object.assign(this.#options, options); + this.options = Object.assign(this.options, options); // All the asynchronous initialization is done here. this.#ready = (async () => { @@ -239,7 +239,7 @@ export class WriteAhead { // Auto-checkpoint when the write-ahead overlay exceeds the // checkpoint threshold. - if (this.#nWriteAheadPages >= this.#autoCheckpointPages) { + if (this.#nWriteAheadPages >= this.options.autoCheckpointPages) { this.#checkpoint(); } } @@ -270,13 +270,6 @@ export class WriteAhead { } } - /** - * @param {number} pageCount - */ - setAutoCheckpoint(pageCount) { - this.#autoCheckpointPages = pageCount; - } - /** * Advance the local view of the database. */ @@ -417,16 +410,16 @@ export class WriteAhead { this.#handleMessage( new MessageEvent('message', { data: { type: 'tx', tx: txList[0] } })); } - }, this.#options.heartbeatActionDelay); + }, this.options.heartbeatActionDelay); } } } catch (e) { console.error('Heartbeat failed', e); } - // Schedule next heartbeat. Add a bit of skew to reduce correlated + // Schedule next heartbeat. Add a bit of jitter to decorrelate // heartbeats across multiple connections. - const delay = this.#options.heartbeatInterval * (0.9 + 0.2 * Math.random()); + const delay = this.options.heartbeatInterval * (0.9 + 0.2 * Math.random()); this.#heartbeatTimer = setTimeout(() => { this.#heartbeat(); }, delay); @@ -438,7 +431,7 @@ export class WriteAhead { */ async #repoInit(zName) { // Delete existing IndexedDB database for a new SQLite database. - if (this.#options.create) { + if (this.options.create) { await idbWrap(indexedDB.deleteDatabase(zName)); } From 28f1c371065b846c694f97a98dd75edb99dddf51 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Thu, 18 Dec 2025 22:59:29 +0000 Subject: [PATCH 39/84] Minor fixes. --- src/examples/OPFSWriteAheadVFS.js | 12 ++++++++---- src/examples/WriteAhead.js | 9 ++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index da551d4c..fe311b0f 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -20,7 +20,7 @@ const finalizationRegistry = new FinalizationRegistry(f => f()); * * @property {'reserved'|'exclusive'} [writeHint] * @property {'normal'|'exclusive'|null} [lockingMode] - * @property {number} [lockState] + * @property {number} [lockState] SQLITE_LOCK_* * @property {LazyLock} [readLock] * @property {Lock} [writeLock] * @property {number} [timeout] @@ -161,6 +161,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // Initialize journal file state. file.accessHandle = dbFile.journalHandle; + } else if (flags & (VFS.SQLITE_OPEN_WAL | VFS.SQLITE_OPEN_SUPER_JOURNAL)) { + throw new Error('WAL and super-journal files are not supported'); } else { // This is a temporary file. Use an unbound pre-opened accessHandle. if (this.unboundTempFiles.size === 0) { @@ -569,7 +571,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; } break; - case 'vfs_logging': + case 'vfs_trace': // This is a trace feature for debugging only. if (value !== null) { this.log = parseInt(value) !== 0 ? console.debug : null; @@ -623,7 +625,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { let result = VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; const file = this.mapIdToFile.get(pFile); - if (file.flags & VFS.SQLITE_OPEN_MAIN_DB && file.writeHint === 'reserved') { + if (file.writeHint === 'reserved') { // When write-ahead is in use, we can do batch atomic writes. result |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; } @@ -680,7 +682,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { await file.writeAhead.isolateForWrite(); break; case 'exclusive': - // This transaction will write directly to the database. + // This transaction will write directly to the database, + // i.e. not using write-ahead. Get exclusive access. await file.readLock.acquire('exclusive', file.timeout); await file.writeLock.acquire('exclusive'); @@ -688,6 +691,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { await file.writeAhead.flush(); break; default: + // This transaction will only read. await file.readLock.acquire('shared', file.timeout); break; } diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 6392cfe0..2512e773 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -202,6 +202,13 @@ export class WriteAhead { // Get the file size from the page 1 header. const page1 = this.#txOverlay.get(0); + if (!page1) { + // The change counter on page 1 must be updated on every transaction. + // If page 1 is not here then this must be a non-batch-atomic rollback + // where page 1 has not yet been written. + this.#txOverlay.clear(); + return; + } const dataView = new DataView(page1.buffer, page1.byteOffset, 100); const pageSize = dataView.getUint16(16); const pageCount = dataView.getUint32(28); @@ -246,7 +253,7 @@ export class WriteAhead { rollback() { // Discard transaction pages. - this.#txOverlay = new Map(); + this.#txOverlay.clear(); } /** From a83239dfcc1c0cb04beef635e96f8bf6db024337 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Fri, 19 Dec 2025 22:34:41 +0000 Subject: [PATCH 40/84] Allow file resize on checkpoint. --- src/examples/OPFSWriteAheadVFS.js | 3 ++- src/examples/WriteAhead.js | 31 +++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index fe311b0f..c28fe383 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -730,7 +730,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // IndexedDB database with the same name. This will not be necessary // if the write-ahead data is moved to OPFS entirely. let created = false; - let accessHandle; + /** @type {FileSystemSyncAccessHandle} */ let accessHandle; try { const fileHandle = await dirHandle.getFileHandle(dbName); // @ts-ignore @@ -762,6 +762,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const writeAhead= new WriteAhead( zName, (offset, data) => accessHandle.write(data, { at: offset }), + (newSize) => accessHandle.truncate(newSize), () => accessHandle.flush(), { create: created }); await writeAhead.ready(); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 2512e773..b1504098 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -29,6 +29,7 @@ export class WriteAhead { #zName; #writeFn; + #truncateFn; #syncFn; #ready; @@ -44,19 +45,21 @@ export class WriteAhead { #nWriteAheadPages = 0; #broadcastChannel; - /** @type {NodeJS.Timeout} */ #heartbeatTimer; + /** @type {number} */ #heartbeatTimer; /** @type {IDBDatabase} */ #idbDb; /** * @param {string} zName - * @param {(offset: number, data: Uint8Array) => void} writeFn + * @param {(offset: number, data: Uint8Array) => void} writeFn + * @param {(newSize: number) => void} truncateFn * @param {() => void} syncFn * @param {WriteAheadOptions} options */ - constructor(zName, writeFn, syncFn, options) { + constructor(zName, writeFn, truncateFn, syncFn, options) { this.#zName = zName; this.#writeFn = writeFn; + this.#truncateFn = truncateFn; this.#syncFn = syncFn; this.options = Object.assign(this.options, options); @@ -205,14 +208,13 @@ export class WriteAhead { if (!page1) { // The change counter on page 1 must be updated on every transaction. // If page 1 is not here then this must be a non-batch-atomic rollback - // where page 1 has not yet been written. + // before page 1 was modified, and we can discard the transaction. this.#txOverlay.clear(); return; } const dataView = new DataView(page1.buffer, page1.byteOffset, 100); - const pageSize = dataView.getUint16(16); const pageCount = dataView.getUint32(28); - const fileSize = (pageSize === 1 ? 65536 : pageSize) * pageCount; + const fileSize = page1.byteLength * pageCount; // Create a new transaction. const tx = { @@ -305,7 +307,9 @@ export class WriteAhead { */ async #checkpoint(ckptId) { // Allow only one connection to checkpoint at a time. - await navigator.locks.request(`${this.#zName}-ckpt`, async () => { + /** @type {LockOptions} */ + const lockOptions = { mode: 'exclusive', ifAvailable: true }; + await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async () => { // If the txId checkpoint is not specified, find the lowest txId // in use by any connection. if (ckptId === undefined) { @@ -316,10 +320,19 @@ export class WriteAhead { // pages to the main database file. Do not overwrite a page written // by a later transaction. const writtenOffsets = new Set(); + let fileSize = 0; let tx = { id: ckptId + 1 }; while (tx = this.#mapIdToTx.get(tx.id - 1)) { + if (tx.id === ckptId) { + // Set the file size from the latest transaction. This may be + // unnecessary as SQLite is not known to reduce the database size + // except with VACUUM. + fileSize = tx.fileSize; + this.#truncateFn(fileSize); + } + for (const [offset, data] of tx.pages) { - if (!writtenOffsets.has(offset)) { + if (offset < fileSize && !writtenOffsets.has(offset)) { this.#writeFn(offset, data); writtenOffsets.add(offset); } @@ -419,6 +432,8 @@ export class WriteAhead { } }, this.options.heartbeatActionDelay); } + + // TODO: move checkpointing here } } catch (e) { console.error('Heartbeat failed', e); From 9e706a5176eeba631803b08133f1a08bf58cfdf1 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 20 Dec 2025 16:51:14 +0000 Subject: [PATCH 41/84] Checkpoint in heartbeat. --- src/examples/WriteAhead.js | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index b1504098..d2978843 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -235,22 +235,6 @@ export class WriteAhead { // TODO: handle error console.error('IndexedDB write failed', e); }); - - // TODO: remove this sanity check - let checkCount = 0; - for (const tx of this.#mapIdToTx.values()) { - checkCount += tx.pages.size; - } - if (checkCount !== this.#nWriteAheadPages) { - console.warn('page count mismatch', checkCount, this.#nWriteAheadPages); - debugger; - } - - // Auto-checkpoint when the write-ahead overlay exceeds the - // checkpoint threshold. - if (this.#nWriteAheadPages >= this.options.autoCheckpointPages) { - this.#checkpoint(); - } } rollback() { @@ -272,10 +256,15 @@ export class WriteAhead { await this.isolateForWrite(); this.rejoin(); + // Disable heartbeat. + clearTimeout(this.#heartbeatTimer); + this.#heartbeatTimer = null; + // Perform a full checkpoint. Write-ahead will be empty afterwards. await this.#checkpoint(this.#txId); } finally { this.#state = null; + this.#heartbeat(); } } @@ -411,6 +400,12 @@ export class WriteAhead { async #heartbeat() { try { if (this.#heartbeatTimer) { + // Auto-checkpoint when the write-ahead overlay exceeds the + // checkpoint threshold. + if (this.#nWriteAheadPages >= this.options.autoCheckpointPages) { + this.#checkpoint(); + } + // Check whether we are missing the next transaction. const nextLocalTxId = this.#txId + 1; const lastRepoTxId = await this.#repoLastTxId(); @@ -432,8 +427,6 @@ export class WriteAhead { } }, this.options.heartbeatActionDelay); } - - // TODO: move checkpointing here } } catch (e) { console.error('Heartbeat failed', e); From af8397339e713fa3563a722a07700f061de9c4df Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 20 Dec 2025 18:40:30 +0000 Subject: [PATCH 42/84] Add write_ahead pragma. --- src/examples/OPFSWriteAheadVFS.js | 158 +++++++++++++++++++----------- 1 file changed, 101 insertions(+), 57 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index c28fe383..8e4e2d4f 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -18,6 +18,7 @@ const finalizationRegistry = new FinalizationRegistry(f => f()); * @property {*} [retryResult] * @property {FileSystemSyncAccessHandle} [journalHandle] * + * @property {boolean} [useWriteAhead] * @property {'reserved'|'exclusive'} [writeHint] * @property {'normal'|'exclusive'|null} [lockingMode] * @property {number} [lockState] SQLITE_LOCK_* @@ -150,28 +151,36 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.readLock = new LazyLock(`${zName}#read`); file.writeLock = new Lock(`${zName}#write`); file.timeout = -1; + file.useWriteAhead = true; file.writeHint = null; } else if (flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { // A journal file is managed with its main database so look that up. - const dbFilename = zName.slice(0, -"-journal".length); - const dbFile = this.mapPathToFile.get(dbFilename); + const dbFile = this.#getDbFileFromJournalName(zName); if (!dbFile) { throw new Error(`database file not found for journal ${zName}`); } - // Initialize journal file state. - file.accessHandle = dbFile.journalHandle; + // Determine whether to use the public journal (which is hot or + // could become hot) or a private journal from the session directory. + // This is necessary because read connections can test a journal + // for hotness while a write-ahead transaction is in progress. + if (!dbFile.useWriteAhead || dbFile.journalHandle.getSize() > 0) { + // Either write-ahead is not being used, or a hot journal is being + // opened for recovery. Use the public journal. + file.accessHandle = dbFile.journalHandle; + } else if (dbFile.useWriteAhead && dbFile.lockState > VFS.SQLITE_LOCK_SHARED) { + // The journal is being opened for a write-ahead transaction. + // This journal can never be hot so don't expose it to other + // connections. + file.accessHandle = this.#openTemporaryFile(zName); + } else { + throw new Error('unexpected journal file conditions'); + } } else if (flags & (VFS.SQLITE_OPEN_WAL | VFS.SQLITE_OPEN_SUPER_JOURNAL)) { throw new Error('WAL and super-journal files are not supported'); } else { // This is a temporary file. Use an unbound pre-opened accessHandle. - if (this.unboundTempFiles.size === 0) { - throw new Error('no temporary files available'); - } - const accessHandle = this.unboundTempFiles.values().next().value; - this.unboundTempFiles.delete(accessHandle); - this.boundTempFiles.set(zName, accessHandle); - file.accessHandle = accessHandle; + file.accessHandle = this.#openTemporaryFile(zName); } this.mapIdToFile.set(fileId, file); @@ -191,15 +200,16 @@ export class OPFSWriteAheadVFS extends FacadeVFS { */ jDelete(zName, syncDir) { try { - const file = this.mapPathToFile.get(zName); - if (!file) throw new Error(`file not found: ${zName}`); - if (file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { - // The actual OPFS journal file is managed with the main database. - // We don't actually delete it, just truncate it to zero length. - file.accessHandle.truncate(0); - file.accessHandle.flush(); - } else if (this.boundTempFiles.has(zName)) { + if (this.boundTempFiles.has(zName)) { + const file = this.mapPathToFile.get(zName); this.#deleteTemporaryFile(file); + } else if (zName.endsWith('-journal')) { + const dbFile = this.#getDbFileFromJournalName(zName); + dbFile?.journalHandle.truncate(0); + dbFile?.journalHandle.flush(); + this.mapPathToFile.delete(zName); + } else { + throw new Error(`unexpected file deletion: ${zName}`); } return VFS.SQLITE_OK; } catch (e) { @@ -217,18 +227,28 @@ export class OPFSWriteAheadVFS extends FacadeVFS { */ jAccess(zName, flags, pResOut) { try { - const file = this.mapPathToFile.get(zName); - if (file) { - if ((file.flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) && - file.accessHandle.getSize() === 0) { - // Treat an empty journal file as non-existent. - pResOut.setInt32(0, 0, true); - } else { - pResOut.setInt32(0, 1, true); + // Special case main journal files. + if (zName.endsWith('-journal')) { + const dbFile = this.#getDbFileFromJournalName(zName); + if (dbFile) { + if (dbFile.lockState <= VFS.SQLITE_LOCK_SHARED) { + // SQLite is testing for a hot journal. Journals created in the + // session directory for write-ahead transactions are never hot, + // i.e. they are used only for rollback. So here we look for + // the status of the public journal. + if (dbFile.journalHandle.getSize() === 0) { + // Treat an empty journal file as non-existent. + pResOut.setInt32(0, 0, true); + } else { + pResOut.setInt32(0, 1, true); + } + } + return VFS.SQLITE_OK; } - } else { - pResOut.setInt32(0, 0, true); } + + const file = this.mapPathToFile.get(zName); + pResOut.setInt32(0, file ? 1 : 0, true); return VFS.SQLITE_OK; } catch (e) { console.error(e.stack); @@ -327,7 +347,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { const file = this.mapIdToFile.get(fileId); if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint === 'reserved') { + if (file.useWriteAhead) { // Write to the write-ahead overlay. file.writeAhead.write(iOffset, pData); return VFS.SQLITE_OK; @@ -355,7 +375,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { const file = this.mapIdToFile.get(fileId); if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint !== 'exclusive') { + if (file.useWriteAhead) { file.writeAhead.truncate(iSize); return VFS.SQLITE_OK; } @@ -378,7 +398,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { const file = this.mapIdToFile.get(fileId); if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint === 'reserved') { + if (file.useWriteAhead) { // Write-ahead sync is handled on SQLITE_FCNTL_SYNC. return VFS.SQLITE_OK; } @@ -427,18 +447,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file.lockState === VFS.SQLITE_LOCK_NONE && lockType === VFS.SQLITE_LOCK_SHARED) { // We do all our locking work in this transition. if (file.retryResult === null) { - // Manage some special cases. - if (file.accessHandle.getSize() === 0) { - // The database has not been created. We will need a write lock. - file.writeHint = 'exclusive'; - } else if (file.lockingMode === 'exclusive') { - // PRAGMA locking_mode=EXCLUSIVE was set. - file.writeHint = 'exclusive'; - } else if (file.journalHandle.getSize() > 0) { - // There is a hot journal. We will need a write lock. - file.writeHint = 'exclusive'; - } - if (file.writeHint || file.readLock.mode !== 'shared') { // Asynchronous lock acquisition is needed. Set retryResult to // non-null so when SQLite calls jUnlock() it knows not to reset @@ -586,6 +594,18 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } } break; + case 'write_ahead': + // This is a custom pragma to enable or disable write-ahead. + // By default, write-ahead is enabled. + if (value !== null) { + file.useWriteAhead = parseInt(value) !== 0; + } else { + const s = (file.useWriteAhead ? '1' : '0'); + const ptr = this._module._sqlite3_malloc64(s.length + 1); + this._module.stringToUTF8(s, ptr, s.length + 1); + pArg.setUint32(0, ptr, true); + } + return VFS.SQLITE_OK; } break; @@ -603,7 +623,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; case VFS.SQLITE_FCNTL_SYNC: if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { - if (file.writeHint === 'reserved') { + if (file.useWriteAhead) { file.writeAhead.commit(); } } @@ -625,7 +645,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { let result = VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; const file = this.mapIdToFile.get(pFile); - if (file.writeHint === 'reserved') { + if (file.useWriteAhead) { // When write-ahead is in use, we can do batch atomic writes. result |= VFS.SQLITE_IOCAP_BATCH_ATOMIC; } @@ -646,6 +666,20 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK } + /** + * @param {string} zName + * @returns {FileSystemSyncAccessHandle} + */ + #openTemporaryFile(zName) { + if (this.unboundTempFiles.size === 0) { + throw new Error('no temporary files available'); + } + const accessHandle = this.unboundTempFiles.values().next().value; + this.unboundTempFiles.delete(accessHandle); + this.boundTempFiles.set(zName, accessHandle); + return accessHandle; + } + /** * @param {FileEntry} file */ @@ -666,6 +700,15 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return `${dbName}-journal`; } + /** + * @param {string} journalName + * @returns {FileEntry} + */ + #getDbFileFromJournalName(journalName) { + const dbFilename = journalName.slice(0, -'-journal'.length); + return this.mapPathToFile.get(dbFilename); + } + /** * Handle asynchronous jLock() tasks. * @param {number} pFile @@ -676,19 +719,20 @@ export class OPFSWriteAheadVFS extends FacadeVFS { try { switch (file.writeHint) { case 'reserved': - // This transaction will be write-ahead. We only need - // writeLock, not readLock. - await file.writeLock.acquire('exclusive', file.timeout); - await file.writeAhead.isolateForWrite(); - break; case 'exclusive': - // This transaction will write directly to the database, - // i.e. not using write-ahead. Get exclusive access. - await file.readLock.acquire('exclusive', file.timeout); - await file.writeLock.acquire('exclusive'); + if (file.useWriteAhead) { + // Write-ahead transactions only need writeLock, not readLock. + await file.writeLock.acquire('exclusive', file.timeout); + await file.writeAhead.isolateForWrite(); + } else { + // This transaction will write directly to the database, + // i.e. not using write-ahead. Get exclusive access. + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive'); - // Transfer everything in write-ahead to the OPFS file. - await file.writeAhead.flush(); + // Transfer everything in write-ahead to the OPFS file. + await file.writeAhead.flush(); + } break; default: // This transaction will only read. From fa0fd681adcb7bea872149e1ba6f90f4f646f4da Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 20 Dec 2025 22:45:29 +0000 Subject: [PATCH 43/84] Fix WriteAhead.close() race condition. --- src/examples/WriteAhead.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index d2978843..9cdc95cd 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -105,7 +105,8 @@ export class WriteAhead { return this.#ready; } - close() { + async close() { + await this.#ready; this.#txLock?.release(); this.#broadcastChannel.onmessage = null; this.#broadcastChannel.close(); @@ -229,7 +230,7 @@ export class WriteAhead { this.#advanceTxId(); // Persist the transaction to storage, then send to other connections. - this.#repoStore(tx).then(() => { + this.#ready = this.#repoStore(tx).then(() => { this.#broadcastChannel.postMessage({ type: 'tx', tx }); }, e => { // TODO: handle error @@ -293,11 +294,10 @@ export class WriteAhead { /** * Move pages from write-ahead to main database file. * @param {number} [ckptId] + * @param {LockOptions} [lockOptions] */ - async #checkpoint(ckptId) { + async #checkpoint(ckptId, lockOptions = { ifAvailable: true }) { // Allow only one connection to checkpoint at a time. - /** @type {LockOptions} */ - const lockOptions = { mode: 'exclusive', ifAvailable: true }; await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async () => { // If the txId checkpoint is not specified, find the lowest txId // in use by any connection. From b70ab73b593a0fd5f34cfbb9c74fccf4c39046ea Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 20 Dec 2025 23:32:01 +0000 Subject: [PATCH 44/84] Fix checkpoint locking. --- src/examples/WriteAhead.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 9cdc95cd..401dc5f6 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -297,8 +297,14 @@ export class WriteAhead { * @param {LockOptions} [lockOptions] */ async #checkpoint(ckptId, lockOptions = { ifAvailable: true }) { - // Allow only one connection to checkpoint at a time. - await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async () => { + // Allow only one connection to checkpoint at a time. The default + // lockOptions argument will skip everything if another connection + // is already checkpointing. This is suitable for heartbeat-initiated + // checkpoints. For a checkpoint initiated by flush(), we should + // block until we can checkpoint ourselves. + await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async lock => { + if (!lock) return; + // If the txId checkpoint is not specified, find the lowest txId // in use by any connection. if (ckptId === undefined) { From c87429e62de3f4d128466e608499c2af84eb69b2 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sat, 20 Dec 2025 23:54:06 +0000 Subject: [PATCH 45/84] Work around spurious IDE type warning. --- src/examples/Lock.js | 2 +- src/examples/WriteAhead.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/examples/Lock.js b/src/examples/Lock.js index b3b62fa7..93965874 100644 --- a/src/examples/Lock.js +++ b/src/examples/Lock.js @@ -33,7 +33,7 @@ export class Lock { let timeoutId; if (timeout > 0) { const abortController = new AbortController(); - timeoutId = setTimeout(() => { + timeoutId = self.setTimeout(() => { abortController.abort(); }, timeout); options.signal = abortController.signal; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 401dc5f6..945f56c0 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -420,7 +420,7 @@ export class WriteAhead { // a broadcast for. This could be due to a crash in another context // or simply unlucky timing. In case of bad timing, use a brief // delay to allow any pending broadcasts to arrive. - setTimeout(async () => { + self.setTimeout(async () => { // Repeat the check. if (this.#txId < nextLocalTxId && !this.#mapIdToTx.has(nextLocalTxId)) { // Still missing the next transaction, so load it from the @@ -441,7 +441,7 @@ export class WriteAhead { // Schedule next heartbeat. Add a bit of jitter to decorrelate // heartbeats across multiple connections. const delay = this.options.heartbeatInterval * (0.9 + 0.2 * Math.random()); - this.#heartbeatTimer = setTimeout(() => { + this.#heartbeatTimer = self.setTimeout(() => { this.#heartbeat(); }, delay); } From d15089e9edf6280f5588d3d593177a77543522ce Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 21 Dec 2025 16:47:46 +0000 Subject: [PATCH 46/84] Add configurable error handler. --- src/examples/OPFSWriteAheadVFS.js | 9 ++++- src/examples/WriteAhead.js | 64 ++++++++++++++++++++----------- 2 files changed, 49 insertions(+), 24 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 8e4e2d4f..47d66a39 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -5,6 +5,7 @@ import { LazyLock } from "./LazyLock.js"; import { WriteAhead } from "./WriteAhead.js"; const LIBRARY_FILES_ROOT = '.wa-sqlite'; +const DEFAULT_TEMP_FILES = 6; const finalizationRegistry = new FinalizationRegistry(f => f()); @@ -32,6 +33,10 @@ const finalizationRegistry = new FinalizationRegistry(f => f()); /** * @typedef OPFSWriteAheadOptions * @property {number} [nTmpFiles] + * @property {number} [autoCheckpointPages] + * @property {number} [heartbeatInterval] + * @property {number} [heartbeatActionDelay] + * @property {(error: Error) => void} [asyncErrorHandler] */ export class OPFSWriteAheadVFS extends FacadeVFS { @@ -44,7 +49,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { /** @type {Map} */ boundTempFiles = new Map(); /** @type {Set} */ unboundTempFiles = new Set(); /** @type {OPFSWriteAheadOptions} */ options = { - nTmpFiles: 4 + nTmpFiles: DEFAULT_TEMP_FILES }; _ready; @@ -808,7 +813,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { (offset, data) => accessHandle.write(data, { at: offset }), (newSize) => accessHandle.truncate(newSize), () => accessHandle.flush(), - { create: created }); + Object.assign({ create: created }, this.options)); await writeAhead.ready(); file.retryResult = { accessHandle, journalHandle, writeAhead }; diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 945f56c0..6dec2d5e 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -14,17 +14,20 @@ const DEFAULT_HEARTBEAT_ACTION_DELAY = 50; /** * @typedef WriteAheadOptions * @property {boolean} [create=false] true if database is being created + * @property {number} [autoCheckpointPages] * @property {number} [heartbeatInterval] * @property {number} [heartbeatActionDelay] + * @property {(error: Error) => void} [asyncErrorHandler] */ export class WriteAhead { log = null; - options = { + /** @type {WriteAheadOptions} */ options = { create: false, autoCheckpointPages: DEFAULT_AUTOCHECKPOINT_PAGES, heartbeatInterval: DEFAULT_HEARTBEAT_INTERVAL, - heartbeatActionDelay: DEFAULT_HEARTBEAT_ACTION_DELAY + heartbeatActionDelay: DEFAULT_HEARTBEAT_ACTION_DELAY, + asyncErrorHandler: (error) => { console.error(error); } }; #zName; @@ -32,7 +35,7 @@ export class WriteAhead { #truncateFn; #syncFn; - #ready; + /** @type {Promise} */ #ready; /** @type {'read'|'write'} */ #state = null #txId = 0; @@ -106,11 +109,14 @@ export class WriteAhead { } async close() { + // Stop asynchronous maintenance. + this.#broadcastChannel.onmessage = null; + clearTimeout(this.#heartbeatTimer); + + // Wait for any pending commit to complete. await this.#ready; this.#txLock?.release(); - this.#broadcastChannel.onmessage = null; this.#broadcastChannel.close(); - clearTimeout(this.#heartbeatTimer); } /** @@ -140,6 +146,12 @@ export class WriteAhead { clearTimeout(this.#heartbeatTimer); this.#heartbeatTimer = null; + // Wait for our previous write transaction to complete. Any asynchronous + // error with that transaction will be ignored. Configure an + // asyncErrorHandler to receive those errors. + await this.#ready.catch(() => {}); + this.#ready = Promise.resolve(); + // Ensure that we have all previous transactions. const { txList, emptyId } = await this.#repoLoad(this.#txId); if (txList.length > 0) { @@ -159,7 +171,6 @@ export class WriteAhead { } this.#state = null; - this.#txOverlay = new Map(); this.#advanceTxId(); } @@ -170,9 +181,12 @@ export class WriteAhead { read(offset) { if (this.#state === null) return null; - // Look for the page in any write transaction in progress. - // Otherwise look in the write-ahead overlay. - return this.#txOverlay?.get(offset) ?? this.#waOverlay.get(offset) ?? null; + // First look for the page in any write transaction in progress. + // Note that txOverlay may contain data even if not in write state, + // because a previous transaction is not final until a successful + // store to the write-ahead repo. If the page is not found in the + // transaction overlay, look in the write-ahead overlay. + return this.#txOverlay.get(offset) ?? this.#waOverlay.get(offset) ?? null; } /** @@ -224,18 +238,21 @@ export class WriteAhead { fileSize }; - // Incorporate the transaction into the local view. - this.#mapIdToTx.set(tx.id, tx); - this.#txOverlay = new Map(); - this.#advanceTxId(); + // Persist the transaction to storage, then notify. + const complete = this.#repoStore(tx).then(() => { + // Incorporate the transaction into the local view. + const payload = { type: 'tx', tx }; + this.#handleMessage(new MessageEvent('message', { data: payload })); + this.#txOverlay = new Map(); - // Persist the transaction to storage, then send to other connections. - this.#ready = this.#repoStore(tx).then(() => { - this.#broadcastChannel.postMessage({ type: 'tx', tx }); + // Send the transaction to other connections. + this.#broadcastChannel.postMessage(payload); }, e => { - // TODO: handle error - console.error('IndexedDB write failed', e); + this.#txOverlay = new Map(); + this.options.asyncErrorHandler(e); }); + + this.#ready = Promise.all([this.#ready, complete]); } rollback() { @@ -601,13 +618,16 @@ function idbWrap(request) { request.oncomplete = () => { resolve(); }; + request.onabort = () => { + reject(request.error ?? new Error('transaction aborted')); + }; } else { request.onsuccess = () => { resolve(request.result); }; + request.onerror = () => { + reject(request.error); + }; } - request.onerror = () => { - reject(request.error); - }; }); -} \ No newline at end of file +} From 0d8bea427e8ca794a4cd3d6b8cb19f8aa9ab062b Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 21 Dec 2025 18:23:19 +0000 Subject: [PATCH 47/84] Fix VACUUM. --- src/examples/OPFSWriteAheadVFS.js | 7 +++++++ src/examples/WriteAhead.js | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 47d66a39..afd92b93 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -452,6 +452,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file.lockState === VFS.SQLITE_LOCK_NONE && lockType === VFS.SQLITE_LOCK_SHARED) { // We do all our locking work in this transition. if (file.retryResult === null) { + if (file.lockingMode === 'exclusive') { + file.writeHint = 'exclusive'; + } + if (file.writeHint || file.readLock.mode !== 'shared') { // Asynchronous lock acquisition is needed. Set retryResult to // non-null so when SQLite calls jUnlock() it knows not to reset @@ -603,6 +607,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // This is a custom pragma to enable or disable write-ahead. // By default, write-ahead is enabled. if (value !== null) { + if (file.lockState !== VFS.SQLITE_LOCK_NONE) { + throw new Error('cannot change write_ahead mode while database is locked'); + } file.useWriteAhead = parseInt(value) !== 0; } else { const s = (file.useWriteAhead ? '1' : '0'); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 6dec2d5e..3a9d524f 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -279,7 +279,7 @@ export class WriteAhead { this.#heartbeatTimer = null; // Perform a full checkpoint. Write-ahead will be empty afterwards. - await this.#checkpoint(this.#txId); + await this.#checkpoint(this.#txId, { ifAvailable: false }); } finally { this.#state = null; this.#heartbeat(); From 5c61804874aa8df61a957e9d0503b539c6d37bb7 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 21 Dec 2025 21:31:33 +0000 Subject: [PATCH 48/84] Mostly comments. --- src/examples/OPFSWriteAheadVFS.js | 25 +++++++++++++++++++++---- src/examples/WriteAhead.js | 30 +++++++++++++++++------------- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index afd92b93..b5827543 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -453,6 +453,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // We do all our locking work in this transition. if (file.retryResult === null) { if (file.lockingMode === 'exclusive') { + // SQLite exclusive locking mode really means that no unlocking + // is done, not that the locking state is immediately EXCLUSIVE. + // This is a problem if the first transaction after setting + // exclusive locking mode does not come with a write hint, so + // we force the write hint here. file.writeHint = 'exclusive'; } @@ -472,8 +477,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { throw file.retryResult; } + // We have acquired the needed locks, either synchronously or + // via retry. file.retryResult = null; if (file.writeHint === null) { + // Ensure that our read-only view of the database does not change + // while in the SHARED lock state. The corresponding method + // isolateForWrite() is not called in this method, but instead + // in retryLock() because it is asynchronous. file.writeAhead.isolateForRead(); } } else if (lockType >= VFS.SQLITE_LOCK_RESERVED && !file.writeLock.mode) { @@ -529,6 +540,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {number} */ jCheckReservedLock(pFile, pResOut) { + // This function is only called in the SHARED lock state, and when + // a potentially hot journal file exists. Such a journal can only + // be created without using write-ahead, and such a connection + // cannot co-exist with this connection in SHARED. pResOut.setInt32(0, 0, true); return VFS.SQLITE_OK; } @@ -556,9 +571,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // EXCLUSIVE if value is '2'. switch (value) { case '1': - if (file.writeHint !== 'exclusive') { - file.writeHint = 'reserved'; - } + file.writeHint = 'reserved'; break; case '2': file.writeHint = 'exclusive'; @@ -621,6 +634,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } break; + // Support SQLite batch atomic write transactions. case VFS.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: case VFS.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { @@ -633,6 +647,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK; } break; + case VFS.SQLITE_FCNTL_SYNC: if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { if (file.useWriteAhead) { @@ -686,6 +701,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (this.unboundTempFiles.size === 0) { throw new Error('no temporary files available'); } + + // Bind an access handle from the temporary pool. const accessHandle = this.unboundTempFiles.values().next().value; this.unboundTempFiles.delete(accessHandle); this.boundTempFiles.set(zName, accessHandle); @@ -815,7 +832,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { }); // Create the write-ahead manager. - const writeAhead= new WriteAhead( + const writeAhead = new WriteAhead( zName, (offset, data) => accessHandle.write(data, { at: offset }), (newSize) => accessHandle.truncate(newSize), diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 3a9d524f..d3a43ae4 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -146,11 +146,9 @@ export class WriteAhead { clearTimeout(this.#heartbeatTimer); this.#heartbeatTimer = null; - // Wait for our previous write transaction to complete. Any asynchronous - // error with that transaction will be ignored. Configure an - // asyncErrorHandler to receive those errors. - await this.#ready.catch(() => {}); - this.#ready = Promise.resolve(); + // Wait for our previous write transaction to complete. Note that + // any error will be caught and passed to asyncErrorHandler. + await this.#ready; // Ensure that we have all previous transactions. const { txList, emptyId } = await this.#repoLoad(this.#txId); @@ -168,10 +166,11 @@ export class WriteAhead { if (this.#state === 'write') { // Resume heartbeat after write isolation. this.#heartbeat(); + } else { + // Catch up on new transactions that arrived while isolated. + this.#advanceTxId(); } - this.#state = null; - this.#advanceTxId(); } /** @@ -179,8 +178,6 @@ export class WriteAhead { * @return {Uint8Array?} */ read(offset) { - if (this.#state === null) return null; - // First look for the page in any write transaction in progress. // Note that txOverlay may contain data even if not in write state, // because a previous transaction is not final until a successful @@ -240,7 +237,9 @@ export class WriteAhead { // Persist the transaction to storage, then notify. const complete = this.#repoStore(tx).then(() => { - // Incorporate the transaction into the local view. + // Incorporate the transaction into the local view. Note that this + // is not done synchronously so reads from the next transaction + // may be done using #txOverlay with the view not yet advanced. const payload = { type: 'tx', tx }; this.#handleMessage(new MessageEvent('message', { data: payload })); this.#txOverlay = new Map(); @@ -274,7 +273,7 @@ export class WriteAhead { await this.isolateForWrite(); this.rejoin(); - // Disable heartbeat. + // Disable heartbeat as a minor optimization. clearTimeout(this.#heartbeatTimer); this.#heartbeatTimer = null; @@ -292,6 +291,9 @@ export class WriteAhead { #advanceTxId() { const oldTxId = this.#txId; + // Look up the next transaction one at a time. This will stop if there + // are any missing transactions, which will be filled in later either + // for write isolation or by the heartbeat. let tx; while (tx = this.#mapIdToTx.get(this.#txId + 1)) { // Add transaction pages to the write-ahead overlay. @@ -299,6 +301,7 @@ export class WriteAhead { this.#waOverlay.set(offset, data); } this.#nWriteAheadPages += tx.pages.size; + this.#txId = tx.id; this.#txFileSize = tx.fileSize; } @@ -352,13 +355,14 @@ export class WriteAhead { } if (writtenOffsets.size > 0) { + // Ensure data is safely in the file. this.#syncFn(); // Notify other connections and ourselves of the checkpoint. this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); this.#handleCheckpoint(ckptId); - // Remove checkpointed transactions from write-ahead. + // Remove checkpointed transactions from persistent storage. this.#repoDeleteUpTo(ckptId); } }); @@ -418,7 +422,7 @@ export class WriteAhead { } /** - * Periodic check for missing transactions. + * Periodic check for missing transactions and checkpointing. */ async #heartbeat() { try { From 8c94cdf21d5c1e78fc938182d57d52f5551eed95 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 22 Dec 2025 16:45:38 +0000 Subject: [PATCH 49/84] Disable write-ahead in exclusive locking mode. --- src/examples/OPFSWriteAheadVFS.js | 16 +++++++++++--- src/examples/WriteAhead.js | 35 +++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index b5827543..fb535167 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -594,10 +594,21 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; case 'locking_mode': + // The IndexedDB implementation of write-ahead must persist + // asynchronously, so the next write transaction must wait + // for that to complete successfully. With normal locking we + // can do that in retryLock(), but with exclusive locking + // retryLock() won't be called for the next transaction. We + // could perform a retry on the first write, but for now + // just disable write-ahead in exclusive locking mode. switch (value?.toLowerCase()) { case 'normal': + file.lockingMode = 'normal'; + file.useWriteAhead = true; + break; case 'exclusive': - file.lockingMode = value.toLowerCase(); + file.lockingMode = 'exclusive'; + file.useWriteAhead = false; break; } break; @@ -617,8 +628,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } break; case 'write_ahead': - // This is a custom pragma to enable or disable write-ahead. - // By default, write-ahead is enabled. + // For testing purposes only: enable or disable write-ahead mode. if (value !== null) { if (file.lockState !== VFS.SQLITE_LOCK_NONE) { throw new Error('cannot change write_ahead mode while database is locked'); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index d3a43ae4..67b99b8a 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -154,7 +154,12 @@ export class WriteAhead { const { txList, emptyId } = await this.#repoLoad(this.#txId); if (txList.length > 0) { for (const tx of txList) { - this.#mapIdToTx.set(tx.id, tx); + // Don't overwrite any transactions we already have as that can + // produce subtle bugs when we need to know if a page belongs to + // a particular transaction. + if (!this.#mapIdToTx.has(tx.id)) { + this.#mapIdToTx.set(tx.id, tx); + } } this.#advanceTxId(); } else { @@ -237,11 +242,20 @@ export class WriteAhead { // Persist the transaction to storage, then notify. const complete = this.#repoStore(tx).then(() => { - // Incorporate the transaction into the local view. Note that this - // is not done synchronously so reads from the next transaction - // may be done using #txOverlay with the view not yet advanced. + // Incorporate the transaction into the local view. This is a tricky + // situation because we can't accept our own transaction until it + // is persistently stored asynchronously here, while in the meantime + // we may have moved on to another transaction. + // + // If the next transaction is a write transaction, isolateForWrite() + // will wait for this Promise to complete. If the next transaction + // is a read transaction, it may start before this Promise completes, + // so it will read from #txOverlay until then. const payload = { type: 'tx', tx }; this.#handleMessage(new MessageEvent('message', { data: payload })); + if (this.#state === 'read') { + this.#advanceTxId(); + } this.#txOverlay = new Map(); // Send the transaction to other connections. @@ -406,13 +420,16 @@ export class WriteAhead { */ #handleMessage(event) { if (event.data.type === 'tx') { - // New transaction from another connection. + // New transaction from another connection. Don't use it if we + // already have it. /** @type {Transaction} */ const tx = event.data.tx; - this.#mapIdToTx.set(tx.id, tx); + if (!this.#mapIdToTx.has(tx.id)) { + this.#mapIdToTx.set(tx.id, tx); - if (this.#state === null) { - // Not in an isolated state, so advance our view of the database. - this.#advanceTxId(); + if (this.#state === null) { + // Not in an isolated state, so advance our view of the database. + this.#advanceTxId(); + } } } else if (event.data.type === 'ckpt') { // Checkpoint notification from another connection. From c2ac641c1da09305df0afc2b108f2b020d78ea06 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 23 Dec 2025 00:37:10 +0000 Subject: [PATCH 50/84] Move isolateForWrite() sync with commit as late as possible. --- src/examples/WriteAhead.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 67b99b8a..560b41db 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -146,10 +146,6 @@ export class WriteAhead { clearTimeout(this.#heartbeatTimer); this.#heartbeatTimer = null; - // Wait for our previous write transaction to complete. Note that - // any error will be caught and passed to asyncErrorHandler. - await this.#ready; - // Ensure that we have all previous transactions. const { txList, emptyId } = await this.#repoLoad(this.#txId); if (txList.length > 0) { @@ -165,6 +161,12 @@ export class WriteAhead { } else { this.#txId = emptyId; } + + // Wait for our previous write transaction to complete. The required + // synchronization is for #txOverlay to be reset *before* a write() + // is called to populate it. Not certain whether this is necessary, + // even with worst case scheduling, but the cost is minor if not. + await this.#ready; } rejoin() { From d41b0aafea79e0040e5ebf730f83d3bdb38bb076 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 23 Dec 2025 01:08:24 +0000 Subject: [PATCH 51/84] Restore database size on batch atomic rollback. --- src/examples/WriteAhead.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 560b41db..75fac837 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -220,13 +220,12 @@ export class WriteAhead { } commit() { - if (this.#txOverlay.size === 0) return; - // Get the file size from the page 1 header. const page1 = this.#txOverlay.get(0); if (!page1) { - // The change counter on page 1 must be updated on every transaction. - // If page 1 is not here then this must be a non-batch-atomic rollback + // The change counter on page 1 must be updated on every transaction + // (not with SQLite WAL mode, but that doesn't apply here). If + // page 1 is not here then this must be a non-batch-atomic rollback // before page 1 was modified, and we can discard the transaction. this.#txOverlay.clear(); return; @@ -273,6 +272,16 @@ export class WriteAhead { rollback() { // Discard transaction pages. this.#txOverlay.clear(); + + // Restore original file size. + const page1 = this.#waOverlay.get(0); + if (page1) { + const dataView = new DataView(page1.buffer, page1.byteOffset, 100); + const pageCount = dataView.getUint32(28); + this.#txFileSize = page1.byteLength * pageCount; + } else { + this.#txFileSize = 0; + } } /** @@ -295,6 +304,7 @@ export class WriteAhead { // Perform a full checkpoint. Write-ahead will be empty afterwards. await this.#checkpoint(this.#txId, { ifAvailable: false }); + console.assert(this.#waOverlay.size === 0, 'write-ahead not empty after flush'); } finally { this.#state = null; this.#heartbeat(); From fdf2f359bd63620e0c8caa41bada32e838031034 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 23 Dec 2025 01:26:30 +0000 Subject: [PATCH 52/84] Fix exit from exclusive locking mode. --- src/examples/OPFSWriteAheadVFS.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index fb535167..55a2f6d8 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -459,6 +459,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // exclusive locking mode does not come with a write hint, so // we force the write hint here. file.writeHint = 'exclusive'; + file.useWriteAhead = false; } if (file.writeHint || file.readLock.mode !== 'shared') { @@ -515,6 +516,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // progress. In that case, don't change any locks. if (!file.retryResult && lockType === VFS.SQLITE_LOCK_NONE) { // In this VFS, this is the only unlock transition that matters. + if (file.useWriteAhead) { + // Exit write-ahead isolation. + file.writeAhead.rejoin(); + } + file.writeLock.release(); if (file.readLock.mode === 'exclusive') { // TODO: Consider lazy release here as well. @@ -524,7 +530,9 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } file.writeHint = null; - file.writeAhead.rejoin(); + if (file.lockingMode === 'normal') { + file.useWriteAhead = true; + } } file.lockState = lockType; } catch (e) { @@ -594,21 +602,14 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } return VFS.SQLITE_OK; case 'locking_mode': - // The IndexedDB implementation of write-ahead must persist - // asynchronously, so the next write transaction must wait - // for that to complete successfully. With normal locking we - // can do that in retryLock(), but with exclusive locking - // retryLock() won't be called for the next transaction. We - // could perform a retry on the first write, but for now - // just disable write-ahead in exclusive locking mode. + // Track SQLite locking mode. We will use write-ahead only in + // normal locking mode. switch (value?.toLowerCase()) { case 'normal': file.lockingMode = 'normal'; - file.useWriteAhead = true; break; case 'exclusive': file.lockingMode = 'exclusive'; - file.useWriteAhead = false; break; } break; From 93c3ff486aa82b169d504aa4e42d06006b637ae0 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Thu, 25 Dec 2025 16:26:04 +0000 Subject: [PATCH 53/84] Avoid unnecessary syncing of temporary files. --- src/examples/OPFSWriteAheadVFS.js | 14 +++++++++++--- src/examples/WriteAhead.js | 11 ++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 55a2f6d8..0f55cf9c 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -404,11 +404,19 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const file = this.mapIdToFile.get(fileId); if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { if (file.useWriteAhead) { - // Write-ahead sync is handled on SQLITE_FCNTL_SYNC. - return VFS.SQLITE_OK; + // TODO: Track PRAGMA synchronous setting. + file.writeAhead.sync('normal'); + } else { + file.accessHandle.flush(); } + } else if (!this.boundTempFiles.has(file.zName)) { + // Persistent journal file requires sync. + file.accessHandle.flush(); + } else { + // This is a temporary file so sync is not needed. + // Temporary journals are only used for rollback by the + // connection that created them, not for recovery. } - file.accessHandle.flush(); return VFS.SQLITE_OK; } catch (e) { console.error(e.stack); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 75fac837..0fe147e2 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -285,7 +285,16 @@ export class WriteAhead { } /** - * Flush the write-ahead transactions to the main database file. + * @param {'normal'|'full'} mode + */ + sync(mode) { + // IndexedDB can only guarantee durability asynchronously, so this + // does nothing. If persistence is changed to OPFS then there can + // be durability options. + } + + /** + * Flush all write-ahead transactions to the main database file. * There must be no other connections reading or writing. */ async flush() { From f693fcdf12dcf68b4277d447f99f6aa6705880f5 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 29 Dec 2025 22:49:00 +0000 Subject: [PATCH 54/84] IDE syntax checking fixes for tsgo. --- src/examples/OPFSWriteAheadVFS.js | 4 +++- src/examples/WriteAhead.js | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 0f55cf9c..fda751dd 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -7,7 +7,7 @@ import { WriteAhead } from "./WriteAhead.js"; const LIBRARY_FILES_ROOT = '.wa-sqlite'; const DEFAULT_TEMP_FILES = 6; -const finalizationRegistry = new FinalizationRegistry(f => f()); +const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ f) => f()); /** * @typedef FileEntry @@ -90,8 +90,10 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const dirName = `.session-${Math.random().toString(16).slice(2)}`; await new Promise(resolve => { navigator.locks.request(dirName, () => { + // @ts-ignore resolve(); return new Promise(release => { + // @ts-ignore finalizationRegistry.register(this, release); }); }); diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 0fe147e2..f14bcc1d 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -525,7 +525,7 @@ export class WriteAhead { store.put({ id: 1 }, 1); }; - this.#idbDb = await idbWrap(idbRequest); + this.#idbDb = /** @type {IDBDatabase} */ (await idbWrap(idbRequest)); } /** @@ -569,7 +569,7 @@ export class WriteAhead { }; }); idbTx.commit(); - return marker - 1; + return /** @type {number} */ (marker) - 1; } /** @@ -583,7 +583,7 @@ export class WriteAhead { // Get all transactions with id > txId. const request = idbTxStore.getAll(IDBKeyRange.lowerBound(txId, true)); - /** @type {Transaction[]} */ const txList = await idbWrap(request); + const txList = /** @type {Transaction[]} */ (await idbWrap(request)); idbTx.commit(); // The last object in the store is the end marker, which contains @@ -651,8 +651,9 @@ export class WriteAhead { /** * Convert IndexedDB callbacks to Promises. - * @param {IDBRequest|IDBTransaction} request - * @returns + * @template T + * @param {IDBRequest|IDBTransaction} request + * @returns {Promise} */ function idbWrap(request) { return new Promise((resolve, reject) => { From 367fefb1a3187b19b45dba47e44fadcb5924e738 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 22 Feb 2026 15:09:57 -0800 Subject: [PATCH 55/84] Replace write-ahead IndexedDB persistence with OPFS. --- src/examples/Lock.js | 6 +- src/examples/OPFSWriteAheadVFS.js | 109 ++- src/examples/WriteAhead.js | 1103 ++++++++++++++++++----------- src/sqlite-api.js | 13 +- 4 files changed, 820 insertions(+), 411 deletions(-) diff --git a/src/examples/Lock.js b/src/examples/Lock.js index 93965874..538755e5 100644 --- a/src/examples/Lock.js +++ b/src/examples/Lock.js @@ -21,7 +21,7 @@ export class Lock { /** * @param {'shared'|'exclusive'} mode * @param {number} timeout -1 for infinite, 0 for poll, >0 for milliseconds - * @return {Promise} true if lock acquired, false on timeout + * @return {Promise} true if lock acquired, false on failed poll */ async acquire(mode, timeout = -1) { if (this.#releaser) { @@ -54,10 +54,6 @@ export class Lock { resolve(true); }) }).catch(e => { - if (e.name === 'AbortError') { - // Timeout expired while waiting for the lock. - return resolve(false); - } return reject(e); }); }); diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index fda751dd..28edb321 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -17,6 +17,7 @@ const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ * Main database file properties: * @property {*} [retryResult] + * @property {FileSystemSyncAccessHandle} [waHandle] * @property {FileSystemSyncAccessHandle} [journalHandle] * * @property {boolean} [useWriteAhead] @@ -36,7 +37,6 @@ const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ * @property {number} [autoCheckpointPages] * @property {number} [heartbeatInterval] * @property {number} [heartbeatActionDelay] - * @property {(error: Error) => void} [asyncErrorHandler] */ export class OPFSWriteAheadVFS extends FacadeVFS { @@ -150,6 +150,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // Initialize database file state. file.accessHandle = file.retryResult.accessHandle; file.journalHandle = file.retryResult.journalHandle; + file.waHandle = file.retryResult.waHandle; file.writeAhead = file.retryResult.writeAhead; file.retryResult = null; @@ -274,6 +275,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file?.flags & VFS.SQLITE_OPEN_MAIN_DB) { file.writeAhead.close(); file.accessHandle.close(); + file.waHandle.close(); this.mapPathToFile.delete(file?.zName); file.journalHandle.close(); @@ -507,6 +509,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.lockState = lockType; return VFS.SQLITE_OK; } catch (e) { + if (e.name === 'AbortError') { + // Timeout expired while waiting for the lock. + return VFS.SQLITE_BUSY; + } + console.error(e.stack); this.lastError = e; return VFS.SQLITE_IOERR_LOCK; @@ -638,6 +645,35 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } } break; + case 'wal_checkpoint': + const checkpointMode = (value ?? 'passive').toLowerCase(); + switch (checkpointMode) { + case 'passive': + case 'full': + case 'restart': + case 'truncate': + if (file.lockState !== VFS.SQLITE_LOCK_NONE) { + throw new Error('invalid while database is locked'); + } + + this._module.pendingOps.push(this.#pendingCheckpoint(file, checkpointMode)); + break; + case 'noop': + break; + default: + throw new Error(`unexpected wal_checkpoint mode: ${value}`); + } + + // Return the approximate size of the write-ahead data (which + // may be smaller than the actual file size). SQLite returns + // different information, but that is not feasible from a VFS. + { + const s = file.writeAhead.getWriteAheadSize().toString(); + const ptr = this._module._sqlite3_malloc64(s.length + 1); + this._module.stringToUTF8(s, ptr, s.length + 1); + pArg.setUint32(0, ptr, true); + } + return VFS.SQLITE_OK; case 'write_ahead': // For testing purposes only: enable or disable write-ahead mode. if (value !== null) { @@ -750,6 +786,11 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return `${dbName}-journal`; } + #getWriteAheadNameFromDbName(dbName) { + // Our WAL file is not compatible with SQLite WAL, so use a distinct name. + return `${dbName}-waf`; + } + /** * @param {string} journalName * @returns {FileEntry} @@ -759,6 +800,30 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return this.mapPathToFile.get(dbFilename); } + /** + * Asynchronous PRAGMA operation to checkpoint the write-ahead log. + * @param {FileEntry} file + * @param {'passive'|'full'|'restart'|'truncate'} mode + */ + async #pendingCheckpoint(file, mode) { + try { + if (mode !== 'passive') { + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive'); + } + + await file.writeAhead.checkpoint(mode); + } catch (e) { + if (e.name === 'AbortError') { + e.code = VFS.SQLITE_BUSY; + } + throw e; + } finally { + file.readLock.release(); + file.writeLock.release(); + } + } + /** * Handle asynchronous jLock() tasks. * @param {number} pFile @@ -773,7 +838,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { if (file.useWriteAhead) { // Write-ahead transactions only need writeLock, not readLock. await file.writeLock.acquire('exclusive', file.timeout); - await file.writeAhead.isolateForWrite(); + file.writeAhead.isolateForWrite(); } else { // This transaction will write directly to the database, // i.e. not using write-ahead. Get exclusive access. @@ -781,7 +846,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { await file.writeLock.acquire('exclusive'); // Transfer everything in write-ahead to the OPFS file. - await file.writeAhead.flush(); + await file.writeAhead.checkpoint('restart'); } break; default: @@ -805,6 +870,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { * @returns {Promise} */ async #retryOpen(zName, flags, fileId, pOutFlags) { + /** @type {(() => void)[]} */ const onError = []; const file = this.mapPathToFile.get(zName); try { await navigator.locks.request(`${zName}#open`, async lock => { @@ -843,6 +909,12 @@ export class OPFSWriteAheadVFS extends FacadeVFS { throw e; } } + onError.push(() => { + accessHandle.close(); + if (created) { + dirHandle.removeEntry(dbName); + } + }); // Pre-open the journal OPFS file here. const journalName = this.#getJournalNameFromDbName(dbName); @@ -851,21 +923,42 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const journalHandle = await fileHandle.createSyncAccessHandle({ mode: 'readwrite-unsafe' }); + onError.push(() => { + journalHandle.close(); + if (created) { + dirHandle.removeEntry(journalName); + } + }); + // Open the WAL file. + const waName = this.#getWriteAheadNameFromDbName(dbName); + const waFileHandle = await dirHandle.getFileHandle(waName, { create: true }); + // @ts-ignore + const waHandle = await waFileHandle.createSyncAccessHandle({ + mode: 'readwrite-unsafe' + }); + onError.push(() => { + waHandle.close(); + if (created) { + dirHandle.removeEntry(waName); + } + }); + // Create the write-ahead manager. const writeAhead = new WriteAhead( zName, - (offset, data) => accessHandle.write(data, { at: offset }), - (newSize) => accessHandle.truncate(newSize), - () => accessHandle.flush(), + accessHandle, + waHandle, Object.assign({ create: created }, this.options)); await writeAhead.ready(); - file.retryResult = { accessHandle, journalHandle, writeAhead }; + file.retryResult = { accessHandle, waHandle, journalHandle, writeAhead }; }); } catch (e) { + while (onError.length) { + onError.pop()(); + } file.retryResult = e; - return; } } } diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index f14bcc1d..2b689e68 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -1,23 +1,33 @@ import { Lock } from './Lock.js'; -const DEFAULT_AUTOCHECKPOINT_PAGES = 1000; -const DEFAULT_HEARTBEAT_INTERVAL = 3000; -const DEFAULT_HEARTBEAT_ACTION_DELAY = 50; +const DEFAULT_AUTOCHECKPOINT_PAGES = 1_000; +const DEFAULT_BACKSTOP_INTERVAL = 30_000; + +const SECTOR_SIZE = 4096; +const WAL_FILE_HEADER_SIZE = 32; +const WAL_FRAME_BASE = SECTOR_SIZE + WAL_FILE_HEADER_SIZE; // first frame starts at this offset + +/** + * @typedef PageEntry + * @property {number} waOffset location in WAL file + * @property {number} pageSize + * @property {Uint8Array} [pageData] + */ /** * @typedef Transaction * @property {number} id - * @property {Map} pages address to page data mapping - * @property {number} fileSize + * @property {Map} pages address to page data mapping + * @property {number} dbFileSize + * @property {number} dbPageSize + * @property {number} waOffsetEnd */ /** * @typedef WriteAheadOptions * @property {boolean} [create=false] true if database is being created * @property {number} [autoCheckpointPages] - * @property {number} [heartbeatInterval] - * @property {number} [heartbeatActionDelay] - * @property {(error: Error) => void} [asyncErrorHandler] + * @property {number} [backstopInterval] */ export class WriteAhead { @@ -25,79 +35,68 @@ export class WriteAhead { /** @type {WriteAheadOptions} */ options = { create: false, autoCheckpointPages: DEFAULT_AUTOCHECKPOINT_PAGES, - heartbeatInterval: DEFAULT_HEARTBEAT_INTERVAL, - heartbeatActionDelay: DEFAULT_HEARTBEAT_ACTION_DELAY, - asyncErrorHandler: (error) => { console.error(error); } + backstopInterval: DEFAULT_BACKSTOP_INTERVAL, }; #zName; - #writeFn; - #truncateFn; - #syncFn; + #dbHandle; + #waFile; - /** @type {Promise} */ #ready; - /** @type {'read'|'write'} */ #state = null + #dbFileSize = 0; - #txId = 0; - /** @type {Lock} */ #txLock = null; - #txFileSize = 0; + /** @type {Promise} */ #ready; + /** @type {'read'|'write'} */ #isolationState = null - /** @type {Map} */ #waOverlay = new Map(); - /** @type {Map} */ #txOverlay = new Map(); + /** @type {Lock} */ #txIdLock = null; + /** @type {Transaction} */ #txActive = null; + + /** @type {Map} */ #waOverlay = new Map(); /** @type {Map} */ #mapIdToTx = new Map(); - #nWriteAheadPages = 0; + /** @type {Map} */ #pendingTx = new Map(); #broadcastChannel; - /** @type {number} */ #heartbeatTimer; - - /** @type {IDBDatabase} */ #idbDb; + /** @type {number} */ #backstopTimer; /** * @param {string} zName - * @param {(offset: number, data: Uint8Array) => void} writeFn - * @param {(newSize: number) => void} truncateFn - * @param {() => void} syncFn + * @param {FileSystemSyncAccessHandle} dbHandle + * @param {FileSystemSyncAccessHandle} waHandle * @param {WriteAheadOptions} options */ - constructor(zName, writeFn, truncateFn, syncFn, options) { + constructor(zName, dbHandle, waHandle, options) { this.#zName = zName; - this.#writeFn = writeFn; - this.#truncateFn = truncateFn; - this.#syncFn = syncFn; + this.#dbHandle = dbHandle; + this.#waFile = new WriteAheadFile(waHandle); this.options = Object.assign(this.options, options); // All the asynchronous initialization is done here. this.#ready = (async () => { // Disable checkpointing by other connections until we're ready. - await this.#updateTxLock(0); - - // Load all the write-ahead transactions from storage. - await this.#repoInit(zName); - const { txList, emptyId } = await this.#repoLoad(0); - if (txList.length > 0) { - for (const tx of txList) { - this.#mapIdToTx.set(tx.id, tx); - } + await navigator.locks.request(`${this.#zName}-ckpt`, async () => { + await this.#updateTxIdLock(); + }); - this.#txId = txList[0].id - 1; - this.#advanceTxId(); - } else { - this.#txId = emptyId; + // Load all the transactions from the WAL file. + if (this.options.create) { + this.#waFile.create(); } + this.#waFile.open(); + for (const tx of this.#waFile.readAllTx()) { + this.#activateTx(tx); + } + this.#updateTxIdLock(); // doesn't need await + // Listen for transactions and checkpoints from other connections. this.#broadcastChannel = new BroadcastChannel(`${zName}#wa`); this.#broadcastChannel.onmessage = (event) => { this.#handleMessage(event); }; - // Update our tx lock to reflect the current txId. - await this.#updateTxLock(this.#txId); - - // Schedule first heartbeat. The heartbeat is a guard against a crash - // in another context between persisting a transaction and broadcasting + // Schedule backstop. The backstop is a guard against a crash in + // another context between persisting a transaction and broadcasting // it. - this.#heartbeat(); + this.#backstop(); })(); } @@ -108,14 +107,13 @@ export class WriteAhead { return this.#ready; } - async close() { + close() { // Stop asynchronous maintenance. this.#broadcastChannel.onmessage = null; - clearTimeout(this.#heartbeatTimer); + clearTimeout(this.#backstopTimer); // Wait for any pending commit to complete. - await this.#ready; - this.#txLock?.release(); + this.#txIdLock?.release(); this.#broadcastChannel.close(); } @@ -126,58 +124,57 @@ export class WriteAhead { * to be synchronous). Unfreeze the view with rejoin(). */ isolateForRead() { - if (this.#state !== null) { + if (this.#isolationState !== null) { throw new Error('Already in isolated state'); } - this.#state = 'read'; + this.#isolationState = 'read'; + + if (this.#waFile.checkReset()) { + // The WAL file has been restarted after a full checkpoint. Our + // view must be at the final transaction before the checkpoint for + // that to have happened. The previous overlay is now stale. In + // case we haven't received the checkpoint broadcast, make sure + // the overlay is cleared. + this.#handleCheckpoint(this.#waFile.txId); + } } /** * Freeze our view of the database for writing. * The view includes all transactions. Unfreeze the view with rejoin(). */ - async isolateForWrite() { - if (this.#state !== null) { + isolateForWrite() { + if (this.#isolationState !== null) { throw new Error('Already in isolated state'); } - this.#state = 'write'; - - // Heartbeat is not needed while writing because we will be current. - clearTimeout(this.#heartbeatTimer); - this.#heartbeatTimer = null; - - // Ensure that we have all previous transactions. - const { txList, emptyId } = await this.#repoLoad(this.#txId); - if (txList.length > 0) { - for (const tx of txList) { - // Don't overwrite any transactions we already have as that can - // produce subtle bugs when we need to know if a page belongs to - // a particular transaction. - if (!this.#mapIdToTx.has(tx.id)) { - this.#mapIdToTx.set(tx.id, tx); - } - } - this.#advanceTxId(); - } else { - this.#txId = emptyId; + this.#isolationState = 'write'; + + // Backstop is not needed while writing because we will be current. + clearTimeout(this.#backstopTimer); + this.#backstopTimer = null; + + if (this.#waFile.checkReset()) { + // The WAL file has been restarted after a full checkpoint. Our + // view must be at the final transaction before the checkpoint for + // that to have happened. The previous overlay is now stale. In + // case we haven't received the checkpoint broadcast, make sure + // the overlay is cleared. + this.#handleCheckpoint(this.#waFile.txId); } - // Wait for our previous write transaction to complete. The required - // synchronization is for #txOverlay to be reset *before* a write() - // is called to populate it. Not certain whether this is necessary, - // even with worst case scheduling, but the cost is minor if not. - await this.#ready; + // A writer needs all previous transactions assimilated. + this.#advanceTxId({ readToCurrent: true }); } rejoin() { - if (this.#state === 'write') { - // Resume heartbeat after write isolation. - this.#heartbeat(); + if (this.#isolationState === 'write') { + // Resume backstop after write isolation. + this.#backstop(); } else { // Catch up on new transactions that arrived while isolated. this.#advanceTxId(); } - this.#state = null; + this.#isolationState = null; } /** @@ -186,11 +183,22 @@ export class WriteAhead { */ read(offset) { // First look for the page in any write transaction in progress. - // Note that txOverlay may contain data even if not in write state, - // because a previous transaction is not final until a successful - // store to the write-ahead repo. If the page is not found in the - // transaction overlay, look in the write-ahead overlay. - return this.#txOverlay.get(offset) ?? this.#waOverlay.get(offset) ?? null; + // If the page is not found in the transaction overlay, look in the + // write-ahead overlay. + const pageEntry = this.#txActive?.pages.get(offset) ?? this.#waOverlay.get(offset); + if (pageEntry) { + this.log?.(`%cread page at offset ${offset} from WAL ${pageEntry.waOffset}`, 'background-color: gold;'); + if (pageEntry.pageData) { + // Page data is cached. + return pageEntry.pageData; + } + + // Read the page from the WAL file. + const buffer = new Uint8Array(pageEntry.pageSize); + this.#waFile.accessHandle.read(buffer, { at: pageEntry.waOffset }); + return buffer; + } + return null; } /** @@ -198,207 +206,267 @@ export class WriteAhead { * @param {Uint8Array} data */ write(offset, data) { - if (this.#state !== 'write') { + if (this.#isolationState !== 'write') { throw new Error('Not in write isolated state'); } - // Save a copy of the data to avoid external mutation. - this.#txOverlay.set(offset, data.slice()); + if (!this.#txActive) { + // There is no active transaction so create one. + this.#txActive = this.#waFile.beginTx(); + } + const waOffset = this.#waFile.writePage(offset, data.slice()); + this.log?.(`%c#write page at ${offset} to WAL ${waOffset}`, 'background-color: lightskyblue;'); } /** * @param {number} newSize */ truncate(newSize) { - // Nothing needed. Size is tracked from page 1 header in commit(). + // Remove any pages past the truncation point. We don't need to save + // the file size because that will be extracted from page 1. + for (const offset of this.#txActive.pages.keys()) { + if (offset >= newSize) { + this.#txActive.pages.delete(offset); + } + } } getFileSize() { // If the overlay is empty, the last file size may no longer be valid // if direct changes were made to the main database file. - return this.#waOverlay.size ? this.#txFileSize : null; + return this.#waOverlay.size ? this.#dbFileSize : null; } commit() { - // Get the file size from the page 1 header. - const page1 = this.#txOverlay.get(0); - if (!page1) { - // The change counter on page 1 must be updated on every transaction - // (not with SQLite WAL mode, but that doesn't apply here). If - // page 1 is not here then this must be a non-batch-atomic rollback - // before page 1 was modified, and we can discard the transaction. - this.#txOverlay.clear(); - return; - } - const dataView = new DataView(page1.buffer, page1.byteOffset, 100); - const pageCount = dataView.getUint32(28); - const fileSize = page1.byteLength * pageCount; - - // Create a new transaction. - const tx = { - id: this.#txId + 1, - pages: this.#txOverlay, - fileSize - }; + // Persist the final pending transaction page with the database size. + this.#waFile.commitTx(); - // Persist the transaction to storage, then notify. - const complete = this.#repoStore(tx).then(() => { - // Incorporate the transaction into the local view. This is a tricky - // situation because we can't accept our own transaction until it - // is persistently stored asynchronously here, while in the meantime - // we may have moved on to another transaction. - // - // If the next transaction is a write transaction, isolateForWrite() - // will wait for this Promise to complete. If the next transaction - // is a read transaction, it may start before this Promise completes, - // so it will read from #txOverlay until then. - const payload = { type: 'tx', tx }; - this.#handleMessage(new MessageEvent('message', { data: payload })); - if (this.#state === 'read') { - this.#advanceTxId(); - } - this.#txOverlay = new Map(); + // Incorporate the transaction locally. + this.#activateTx(this.#txActive); + this.#updateTxIdLock(); - // Send the transaction to other connections. - this.#broadcastChannel.postMessage(payload); - }, e => { - this.#txOverlay = new Map(); - this.options.asyncErrorHandler(e); - }); + // Send the transaction to other connections. + const payload = { type: 'tx', tx: this.#txActive }; + this.#broadcastChannel.postMessage(payload); + this.#txActive = null; - this.#ready = Promise.all([this.#ready, complete]); } rollback() { // Discard transaction pages. - this.#txOverlay.clear(); - - // Restore original file size. - const page1 = this.#waOverlay.get(0); - if (page1) { - const dataView = new DataView(page1.buffer, page1.byteOffset, 100); - const pageCount = dataView.getUint32(28); - this.#txFileSize = page1.byteLength * pageCount; - } else { - this.#txFileSize = 0; - } + this.#waFile.abortTx(); + this.#txActive = null; } /** * @param {'normal'|'full'} mode */ sync(mode) { - // IndexedDB can only guarantee durability asynchronously, so this - // does nothing. If persistence is changed to OPFS then there can - // be durability options. + if (mode === 'full') { + this.#waFile.accessHandle.flush(); + } } /** * Flush all write-ahead transactions to the main database file. * There must be no other connections reading or writing. + * @param {'passive'|'full'|'restart'|'truncate'} mode */ - async flush() { - if (this.#state !== null) { - throw new Error('Already in isolated state'); + async checkpoint(mode) { + if (mode !== 'passive') { + this.isolateForWrite(); } - try { - // Make sure we have every transaction. - await this.isolateForWrite(); - this.rejoin(); - - // Disable heartbeat as a minor optimization. - clearTimeout(this.#heartbeatTimer); - this.#heartbeatTimer = null; + const options = { + isRestart: mode !== 'passive', + isRequired: mode !== 'passive' + }; + await this.#checkpoint(options); - // Perform a full checkpoint. Write-ahead will be empty afterwards. - await this.#checkpoint(this.#txId, { ifAvailable: false }); - console.assert(this.#waOverlay.size === 0, 'write-ahead not empty after flush'); + if (mode === 'truncate') { + this.#waFile.accessHandle.truncate(this.#waFile.currentOffset); + this.log?.(`%ccheckpoint restart WAL file`, 'background-color: lightgreen;'); + } } finally { - this.#state = null; - this.#heartbeat(); + if (mode !== 'passive') { + this.rejoin(); + } + } + } + + /** + * Return the known usage size of the write-ahead file. Note that the + * actual file size may be larger than reported if this connection is + * not current or if the file has obsolete content past the current point. + * @returns {number} + */ + getWriteAheadSize() { + return this.#waFile.currentOffset; + } + + /** + * Incorporate a transaction into our view of the database. + * @param {Transaction} tx + */ + #activateTx(tx) { + // Transfer to the active collection of transactions. + this.#mapIdToTx.set(tx.id, tx); + + // Add transaction pages to the write-ahead overlay. + for (const [offset, pageEntry] of tx.pages) { + this.#waOverlay.set(offset, pageEntry); } + this.#dbFileSize = tx.dbFileSize; } /** - * Advance the local view of the database. + * Advance the local view of the database. By default, advance to the + * last broadcast transaction. Optionally, also advance through any + * additional transactions in the WAL file to be fully current. + * + * @param {{readToCurrent?: boolean}} options */ - #advanceTxId() { - const oldTxId = this.#txId; - - // Look up the next transaction one at a time. This will stop if there - // are any missing transactions, which will be filled in later either - // for write isolation or by the heartbeat. - let tx; - while (tx = this.#mapIdToTx.get(this.#txId + 1)) { - // Add transaction pages to the write-ahead overlay. - for (const [offset, data] of tx.pages) { - this.#waOverlay.set(offset, data); + #advanceTxId(options = {}) { + let didAdvance = false; + while (this.#pendingTx.size) { + // Fetch the next transaction in sequence. Usually this will come + // from pendingTx, but if it is missing then read it from the file. + const nextTxId = this.#waFile.txId + 1; + let tx; + if (this.#pendingTx.has(nextTxId)) { + tx = this.#pendingTx.get(nextTxId); + this.#pendingTx.delete(tx.id); + this.#waFile.skipTx(tx.id, tx.waOffsetEnd); + } else { + tx = this.#waFile.readTx(); } - this.#nWriteAheadPages += tx.pages.size; - this.#txId = tx.id; - this.#txFileSize = tx.fileSize; + this.#activateTx(tx); + didAdvance = true; + } + + if (options.readToCurrent) { + // Read all additional transactions from the WAL file. + for (const tx of this.#waFile.readAllTx()) { + this.#activateTx(tx); + didAdvance = true; + } } - if (this.#txId !== oldTxId) { - this.#updateTxLock(this.#txId); + if (didAdvance) { + // Publish our new view txId. + this.#updateTxIdLock(); } } /** * Move pages from write-ahead to main database file. - * @param {number} [ckptId] - * @param {LockOptions} [lockOptions] + * + * @param {{isRestart?: boolean, isRequired?: boolean}} options */ - async #checkpoint(ckptId, lockOptions = { ifAvailable: true }) { - // Allow only one connection to checkpoint at a time. The default - // lockOptions argument will skip everything if another connection - // is already checkpointing. This is suitable for heartbeat-initiated - // checkpoints. For a checkpoint initiated by flush(), we should - // block until we can checkpoint ourselves. - await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async lock => { - if (!lock) return; + async #checkpoint(options = {}) { + // By default, checkpointing is abandoned if another connection is + // already checkpointing. With the isRequired option, a checkpoint + // is always performed. This is necessary for leaving write-ahead + // mode or a user-requested checkpoint. + const lockOptions = { + ifAvailable: !options.isRequired, + }; - // If the txId checkpoint is not specified, find the lowest txId - // in use by any connection. - if (ckptId === undefined) { - ckptId = await this.#getLowestUsedTxId(); + await navigator.locks.request(`${this.#zName}-ckpt`, lockOptions, async lock => { + if (!lock) return null; + + /** @type {number} */ let ckptId; + if (options.isRestart) { + // Full checkpoint, use the current WAL file txId. + ckptId = this.#waFile.txId; + + // Wait for all connections to reach this txId. Each connection + // acquires a shared lock whose name contains the database name, + // the minimum and maximum txId it has in mapIdToTx. We want all + // maximum txId values to be ckptId. + let pendingLockNames = []; + do { + // Wait for connections with lower maximum txIds. When a + // connection advances its txId, it will release its previous + // lock and acquire a new one. + await Promise.all( + pendingLockNames.map(name => navigator.locks.request(name, async () => {})) + ); + + // Refresh the list of locks with lower txIds. + pendingLockNames = (await this.#getTxIdLocks()) + .filter(value => value.maxTxId < ckptId) + .map(value => value.name); + } while (pendingLockNames.length > 0); + this.log?.(`%c#checkpoint full txId ${ckptId}`, 'background-color: lightgreen;'); + } else { + // Not a full checkpoint, so find the lowest txId in use by any + // connection. + ckptId = (await this.#getTxIdLocks()) + .reduce((min, value) => Math.min(min, value.maxTxId), this.#waFile.txId); + this.log?.(`%c#checkpoint partial txId ${ckptId}`, 'background-color: lightgreen;'); } + // Sync the WAL file. This ensures that if there is a crash after + // part of the WAL has been copied, the uncopied part will still be + // available afterwards. + this.#waFile.accessHandle.flush(); + // Starting at ckptId and going backwards (earlier), write transaction // pages to the main database file. Do not overwrite a page written // by a later transaction. const writtenOffsets = new Set(); - let fileSize = 0; - let tx = { id: ckptId + 1 }; + let dbFileSize = 0; + let tx = /** @type {Transaction} */ ({ id: ckptId + 1 }); while (tx = this.#mapIdToTx.get(tx.id - 1)) { if (tx.id === ckptId) { // Set the file size from the latest transaction. This may be // unnecessary as SQLite is not known to reduce the database size // except with VACUUM. - fileSize = tx.fileSize; - this.#truncateFn(fileSize); + dbFileSize = tx.dbFileSize; + this.#dbHandle.truncate(dbFileSize); } - for (const [offset, data] of tx.pages) { - if (offset < fileSize && !writtenOffsets.has(offset)) { - this.#writeFn(offset, data); + for (const [offset, pageEntry] of tx.pages) { + if (offset < dbFileSize && !writtenOffsets.has(offset)) { + let pageData = pageEntry.pageData; + if (!pageData) { + // Page data was not cached, so read it from the WAL file. + pageData = new Uint8Array(pageEntry.pageSize); + const nRead = this.#waFile.accessHandle.read( + pageData, + { at: pageEntry.waOffset }); + if (nRead !== pageData.byteLength) { + throw new Error('Checkpoint read failed'); + } + } + + // Write the page to the database file. + const nWritten = this.#dbHandle.write(pageData, { at: offset }); + if (nWritten !== pageData.byteLength) { + throw new Error('Checkpoint write failed'); + } writtenOffsets.add(offset); + this.log?.(`%c#checkpoint wrote txId ${tx.id} page at ${offset} to database`, 'background-color: lightgreen;'); } } } if (writtenOffsets.size > 0) { // Ensure data is safely in the file. - this.#syncFn(); + this.#dbHandle.flush(); // Notify other connections and ourselves of the checkpoint. - this.#broadcastChannel.postMessage({ type: 'ckpt', ckptId }); + this.#broadcastChannel.postMessage({ + type: 'ckpt', + ckptId, + }); this.#handleCheckpoint(ckptId); + } - // Remove checkpointed transactions from persistent storage. - this.#repoDeleteUpTo(ckptId); + if (options.isRestart) { + this.#waFile.reset(); } }); } @@ -409,14 +477,17 @@ export class WriteAhead { * @param {number} ckptId */ #handleCheckpoint(ckptId) { + this.log?.(`%c#handleCheckpoint to txId ${ckptId}`, 'background-color: lightgreen;'); + // Loop backwards from ckptId. - let tx = { id: ckptId + 1 }; + let tx = /** @type {Transaction} */ ({ id: ckptId + 1 }); while (tx = this.#mapIdToTx.get(tx.id - 1)) { // Remove pages from write-ahead overlay. for (const [offset, page] of tx.pages.entries()) { // Be sure not to remove a newer version of the page. const overlayPage = this.#waOverlay.get(offset); if (overlayPage === page) { + this.log?.(`%cremove txId ${tx.id} page at offset ${offset}`, 'background-color: lightgreen;'); this.#waOverlay.delete(offset); } } @@ -424,16 +495,7 @@ export class WriteAhead { // Remove transaction. this.#mapIdToTx.delete(tx.id); } - - const oldCount = this.#nWriteAheadPages; - - // Recalculate the number of pages in write-ahead. - this.#nWriteAheadPages = 0; - for (const tx of this.#mapIdToTx.values()) { - this.#nWriteAheadPages += tx.pages.size; - } - - this.log?.(`%cCheckpoint to txId ${ckptId}, ${oldCount} -> ${this.#nWriteAheadPages} pages in write-ahead`, 'background-color: lightgreen;'); + this.#updateTxIdLock(); } /** @@ -444,10 +506,9 @@ export class WriteAhead { // New transaction from another connection. Don't use it if we // already have it. /** @type {Transaction} */ const tx = event.data.tx; - if (!this.#mapIdToTx.has(tx.id)) { - this.#mapIdToTx.set(tx.id, tx); - - if (this.#state === null) { + if (tx.id > this.#waFile.txId) { + this.#pendingTx.set(tx.id, tx); + if (this.#isolationState === null) { // Not in an isolated state, so advance our view of the database. this.#advanceTxId(); } @@ -460,217 +521,465 @@ export class WriteAhead { } /** - * Periodic check for missing transactions and checkpointing. + * Periodic check for recovering from lost transaction broadcasts. */ - async #heartbeat() { + async #backstop() { try { - if (this.#heartbeatTimer) { - // Auto-checkpoint when the write-ahead overlay exceeds the - // checkpoint threshold. - if (this.#nWriteAheadPages >= this.options.autoCheckpointPages) { - this.#checkpoint(); - } - - // Check whether we are missing the next transaction. - const nextLocalTxId = this.#txId + 1; - const lastRepoTxId = await this.#repoLastTxId(); - if (this.#txId < lastRepoTxId && !this.#mapIdToTx.has(nextLocalTxId)) { - // There are transactions in the repository that we have not received - // a broadcast for. This could be due to a crash in another context - // or simply unlucky timing. In case of bad timing, use a brief - // delay to allow any pending broadcasts to arrive. - self.setTimeout(async () => { - // Repeat the check. - if (this.#txId < nextLocalTxId && !this.#mapIdToTx.has(nextLocalTxId)) { - // Still missing the next transaction, so load it from the - // repository. - const { txList } = await this.#repoLoad(this.#txId); - - // Simulate a broadcast message for this transaction. - this.#handleMessage( - new MessageEvent('message', { data: { type: 'tx', tx: txList[0] } })); - } - }, this.options.heartbeatActionDelay); + if (this.#backstopTimer) { + if (this.#isolationState === null) { + // Not in an isolated state, so advance our view of the database. + const oldTxId = this.#waFile.txId; + this.#advanceTxId({ readToCurrent: true }); + if (this.#waFile.txId > oldTxId) { + this.log?.(`%cbackstop txId ${oldTxId} -> ${this.#waFile.txId}`, 'background-color: lightyellow;'); + } } } } catch (e) { - console.error('Heartbeat failed', e); + console.error('Backstop failed', e); } - // Schedule next heartbeat. Add a bit of jitter to decorrelate - // heartbeats across multiple connections. - const delay = this.options.heartbeatInterval * (0.9 + 0.2 * Math.random()); - this.#heartbeatTimer = self.setTimeout(() => { - this.#heartbeat(); + // Schedule next backstop. Add a bit of jitter to decorrelate + // backstops across multiple connections. + const delay = this.options.backstopInterval * (0.9 + 0.2 * Math.random()); + this.#backstopTimer = self.setTimeout(() => { + this.#backstop(); }, delay); } - + /** - * Initialize persistent write-ahead storage. - * @param {string} zName + * Update the lock that publishes our current txId. */ - async #repoInit(zName) { - // Delete existing IndexedDB database for a new SQLite database. - if (this.options.create) { - await idbWrap(indexedDB.deleteDatabase(zName)); + async #updateTxIdLock() { + // Our view of the database, i.e. the txId, is encoded into the name + // of a lock so other connections can see it. When our txId changes, + // we acquire a new lock and release the old one. We must not release + // the old lock until the new one is in place. + const oldLock = this.#txIdLock; + const newLockName = this.#encodeTxIdLockName(); + if (oldLock?.name !== newLockName) { + this.#txIdLock = new Lock(newLockName); + await this.#txIdLock.acquire('shared').then(() => { + // The new lock is acquired. + oldLock?.release(); + }); + + if (this.log) { + const { minTxId, maxTxId } = this.#decodeTxIdLockName(newLockName); + this.log?.(`%ctxId to ${minTxId}:${maxTxId}`, 'background-color: pink;'); + } } - - // Open IndexedDB database. - const idbRequest = indexedDB.open(zName, 1); - idbRequest.onupgradeneeded = (event) => { - const db = idbRequest.result; - const store = db.createObjectStore('txStore'); - - // Insert the initial marker. - store.put({ id: 1 }, 1); - }; - - this.#idbDb = /** @type {IDBDatabase} */ (await idbWrap(idbRequest)); } - + /** - * Delete transactions through txId from persistent storage. - * @param {number} txId - * @returns + * Get all txId locks for this database. + * @returns {Promise<{name: string, minTxId: number, maxTxId: number}[]>} */ - async #repoDeleteUpTo(txId) { - const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); - const results = Promise.all([ - idbTx.objectStore('txStore').delete(IDBKeyRange.upperBound(txId)), - idbTx - ].map(idbWrap)); - idbTx.commit(); + async #getTxIdLocks() { + const { held } = await navigator.locks.query(); + return held + .map(lock => this.#decodeTxIdLockName(lock.name)) + .filter(value => value !== null) + } - return results; + /** + * @returns {string} + */ + #encodeTxIdLockName() { + // The maxTxId is our current view of the database. The minTxId is + // the lowest txId we get pages from the WAL for, which is the lowest + // key in mapIdToTx. If mapIdToTx is empty then we aren't reading + // from the WAL at all - in this case we arbitrarily set minTxId to + // invalid value maxTxId + 1. + const maxTxId = this.#waFile.txId; + const minTxId = this.#mapIdToTx.keys().next().value ?? (maxTxId + 1); + return `${this.#zName}-txId<${minTxId}:${maxTxId}>`; } /** - * Get the last transaction id for the database. - * @returns {Promise} + * @param {string} lockName + * @returns {{name: string, minTxId: number, maxTxId: number}} */ - async #repoLastTxId() { - const idbTx = this.#idbDb.transaction('txStore', 'readonly'); - const idbTxStore = idbTx.objectStore('txStore'); - const marker = await new Promise((resolve, reject) => { - // Use a cursor with 'prev' direction to get the last key - // in the store. This will be the end marker, which will - // be the *next* transaction id. - const request = idbTxStore.openKeyCursor(null, 'prev'); - request.onsuccess = () => { - const cursor = request.result; - if (cursor) { - resolve(cursor.key); - } else { - reject(new Error('Invalid repository state')); - } - }; - request.onerror = () => { - reject(request.error); + #decodeTxIdLockName(lockName) { + const match = lockName.match(/^(.*)-txId<(\d+):(\d+)>$/); + if (match?.[1] === this.#zName) { + // This txId lock is for this database. + return { + name: match[1], + minTxId: parseInt(match[2]), + maxTxId: parseInt(match[3]) }; - }); - idbTx.commit(); - return /** @type {number} */ (marker) - 1; + } + return null; + } +} + +class WriteAheadFile { + static MAGIC = 0x377f0684; + static FILE_HEADER_SIZE = 32; + static FRAME_HEADER_SIZE = 32; + static FRAME_TYPE_PAGE = 0; + static FRAME_TYPE_COMMIT = 1; + + /** @type {FileSystemSyncAccessHandle} */ accessHandle; + /** @type {number} */ currentOffset; + + txId = 0; + salt1 = 0; + salt2 = 0; + + /** @type {Transaction} */ txInProgress = null; + + constructor(accessHandle) { + this.accessHandle = accessHandle; + } + + create() { + this.accessHandle.truncate(0); + this.#writeFileHeader(); + } + + open() { + // Read file headers from both header slots and use the one with the + // higher nextTxId. + const fileHeader = [0, SECTOR_SIZE] + .map(offset => this.#readFileHeader(offset)) + .filter(h => h) + .sort((a, b) => b.nextTxId - a.nextTxId)[0]; + + this.currentOffset = WAL_FRAME_BASE; + this.txId = fileHeader.nextTxId - 1; + this.salt1 = fileHeader.salt1; + this.salt2 = fileHeader.salt2; + } + + reset(options = { truncate: true }) { + const fileHeader = this.#writeFileHeader(); + if (options.truncate) { + this.accessHandle.truncate(WAL_FRAME_BASE); + } + + this.currentOffset = WAL_FRAME_BASE; + this.salt1 = fileHeader.salt1; + this.salt2 = fileHeader.salt2; + } + + checkReset() { + // Check for a new header. There are two header slots in the file. + // Look in the slot that is not current, which will be at offset 0 + // or SECTOR_SIZE depending on the current salt1 value (salt1 is + // incremented on each new header). + const headerOffset = (this.salt1 & 0x1) ? 0 : SECTOR_SIZE; + const fileHeader = this.#readFileHeader(headerOffset); + if (fileHeader?.nextTxId > this.txId && + fileHeader.salt1 === ((this.salt1 + 1) | 0)) { + // The WAL file has been reset. + this.currentOffset = WAL_FRAME_BASE; + this.salt1 = fileHeader.salt1; + this.salt2 = fileHeader.salt2; + return true; + } + return false; + } + + *readAllTx() { + while (true) { + const tx = this.readTx(); + if (!tx) break; + yield tx; + } } /** - * Load transactions from persistent storage starting from txId + 1. - * @param {number} txId - * @returns {Promise<{ txList: Transaction[], emptyId: number}>} + * @returns {Transaction?} */ - async #repoLoad(txId) { - const idbTx = this.#idbDb.transaction('txStore', 'readonly'); - const idbTxStore = idbTx.objectStore('txStore'); + readTx() { + // Read the next complete transaction or return null. + let offset = this.currentOffset; + /** @type {Transaction?} */ let tx = null; + while (true) { + const frame = this.#readFrame(offset); + if (!frame) return null; + + if (frame.frameType === WriteAheadFile.FRAME_TYPE_COMMIT) { + // Update the instance state. + this.txId += 1; + this.currentOffset = offset + frame.byteLength; + + tx.id = this.txId; + tx.dbFileSize = frame.dbFileSize; + tx.waOffsetEnd = this.currentOffset; + return tx; + } + + // frameType === WriteAheadFile.FRAME_TYPE_PAGE + if (!tx) { + tx = { + id: 0, // placeholder + pages: new Map(), + dbFileSize: 0, // placeholder + dbPageSize: frame.pageData.byteLength, + waOffsetEnd: 0 // placeholder + }; + } - // Get all transactions with id > txId. - const request = idbTxStore.getAll(IDBKeyRange.lowerBound(txId, true)); - const txList = /** @type {Transaction[]} */ (await idbWrap(request)); - idbTx.commit(); + tx.pages.set( + frame.pageOffset, + { + pageSize: frame.pageData.byteLength, + waOffset: offset + WriteAheadFile.FRAME_HEADER_SIZE + }); - // The last object in the store is the end marker, which contains - // no data. Its purpose is to provide the txId when write-ahead - // is empty. - const marker = txList.pop(); - return { txList, emptyId: marker.id - 1 }; + offset += frame.byteLength; + } } /** - * Copy a new transaction to persistent storage. - * @param {Transaction} tx + * This method is called when transaction(s) have been received by other + * means than readTx(), e.g. via BroadcastChannel. + * + * @param {number} txId + * @param {number} offset */ - async #repoStore(tx) { - const idbTx = this.#idbDb.transaction('txStore', 'readwrite'); - const idbTxStore = idbTx.objectStore('txStore'); - - const results = [ - idbTxStore.put(tx, tx.id), // overwrite the current end marker - idbTxStore.put({ id: tx.id + 1 }, tx.id + 1), // new end marker - idbTx - ].map(idbWrap); - idbTx.commit(); - return Promise.all(results); + skipTx(txId, offset) { + this.txId = txId; + this.currentOffset = offset; } /** - * Update the lock that publishes our current txId. - * @param {number} txId + * + * @param {{overwrite?: boolean}} options + * @returns {Transaction} */ - async #updateTxLock(txId) { - // Our view of the database, i.e. the txId, is encoded into the name - // of a lock so other connections can see it. When our txId changes, - // we acquire a new lock and release the old one. We must not release - // the old lock until the new one is in place. - const oldLock = this.#txLock; - const newLockName = `${this.#zName}-txId<${txId}>`; - if (oldLock?.name !== newLockName) { - this.#txLock = new Lock(newLockName); - await this.#txLock.acquire('shared'); - oldLock?.release(); + beginTx(options = {}) { + this.txInProgress = { + id: this.txId + 1, + pages: new Map(), + dbFileSize: 0, + dbPageSize: 0, + waOffsetEnd: this.currentOffset + }; + return this.txInProgress; + } + + /** + * Write a page frame to the WAL file. + * + * @param {number} pageOffset + * @param {Uint8Array} pageData + */ + writePage(pageOffset, pageData) { + const headerView = new DataView(new ArrayBuffer(WriteAheadFile.FRAME_HEADER_SIZE)); + headerView.setUint8(0, WriteAheadFile.FRAME_TYPE_PAGE); + headerView.setUint16(2, pageData.byteLength === 65536 ? 1 : pageData.byteLength); + headerView.setBigUint64(8, BigInt(pageOffset)); + headerView.setUint32(16, this.salt1); + headerView.setUint32(20, this.salt2); + + const checksum = new Checksum(); + checksum.update(new Uint8Array(headerView.buffer, 0, WriteAheadFile.FRAME_HEADER_SIZE - 8)); + checksum.update(pageData); + headerView.setUint32(24, checksum.s0); + headerView.setUint32(28, checksum.s1); + + const bytesWritten = + this.accessHandle.write(headerView, { at: this.txInProgress.waOffsetEnd }) + + this.accessHandle.write(pageData, { + at: this.txInProgress.waOffsetEnd + WriteAheadFile.FRAME_HEADER_SIZE + }); + if (bytesWritten !== headerView.byteLength + pageData.byteLength) { + throw new Error('write failed'); + } + + const pageEntry = { + pageSize: pageData.byteLength, + waOffset: this.txInProgress.waOffsetEnd + WriteAheadFile.FRAME_HEADER_SIZE + }; + if (pageOffset === 0) { + // This is page 1, which contains the database header. + const dataView = new DataView(pageData.buffer, pageData.byteOffset, pageData.byteLength); + const pageCount = dataView.getUint32(28); + this.txInProgress.dbFileSize = pageCount * pageData.byteLength; + this.txInProgress.dbPageSize = pageData.byteLength; - this.log?.(`%ctxId to ${txId}`, 'background-color: lightblue;'); + // Cache page 1 as a performance optimization and to exercise the + // cache code path. + pageEntry.pageData = pageData; } + + this.txInProgress.pages.set(pageOffset, pageEntry); + this.txInProgress.waOffsetEnd += bytesWritten; + + return pageEntry.waOffset; } /** - * Find the globally lowest txId held by any connection. - * @returns {Promise} + * @returns {Transaction} */ - async #getLowestUsedTxId() { - // * Get all held locks. - // * Find those that match the txId lock name pattern. - // * Extract the txId from the lock name. - // * Return the lowest txId found. - const txLockRegex = new RegExp(`^(.*)-txId<(\\d+)>$`); - const { held } = await navigator.locks.query(); - return held - .map(lock => lock.name.match(txLockRegex)) - .filter(match => match?.[1] === this.#zName) - .map(match => parseInt(match[2])) - .reduce((min, txId) => Math.min(min, txId), this.#txId); + commitTx() { + const headerView = new DataView(new ArrayBuffer(WriteAheadFile.FRAME_HEADER_SIZE)); + headerView.setUint8(0, WriteAheadFile.FRAME_TYPE_COMMIT); + headerView.setBigUint64(8, BigInt(this.txInProgress.dbFileSize)); + headerView.setUint32(16, this.salt1); + headerView.setUint32(20, this.salt2); + + const checksum = new Checksum(); + checksum.update(new Uint8Array(headerView.buffer, 0, WriteAheadFile.FRAME_HEADER_SIZE - 8)); + headerView.setUint32(24, checksum.s0); + headerView.setUint32(28, checksum.s1); + + const bytesWritten = this.accessHandle.write(headerView, { + at: this.txInProgress.waOffsetEnd + }); + if (bytesWritten !== headerView.byteLength) { + throw new Error('write failed'); + } + this.txInProgress.waOffsetEnd += bytesWritten; + + const tx = this.txInProgress; + this.txInProgress = null; + this.currentOffset = tx.waOffsetEnd; + this.txId = tx.id; + return tx; + } + + abortTx() { + this.txInProgress = null; + } + + #readFileHeader(offset) { + const headerView = new DataView(new ArrayBuffer(WriteAheadFile.FILE_HEADER_SIZE)); + if (this.accessHandle.read(headerView, { at: offset }) !== headerView.byteLength) { + return null; + } + + if (headerView.getUint32(0) !== WriteAheadFile.MAGIC) return null; + + const checksum = new Checksum(); + checksum.update(new Uint8Array(headerView.buffer, 0, WriteAheadFile.FILE_HEADER_SIZE - 8)); + if (!checksum.matches(headerView.getUint32(24), headerView.getUint32(28))) { + return null; + } + + return { + nextTxId: Number(headerView.getBigUint64(8)), + salt1: headerView.getUint32(16), + salt2: headerView.getUint32(20) + } + } + + #readFrame(offset) { + const headerView = new DataView(new ArrayBuffer(WriteAheadFile.FRAME_HEADER_SIZE)); + if (this.accessHandle.read(headerView, { at: offset }) !== headerView.byteLength) { + // EOF, not an error. + return null; + } + + // Verify the frame header salt values match the file header. + const frameSalt1 = headerView.getUint32(16); + const frameSalt2 = headerView.getUint32(20); + if (frameSalt1 !== this.salt1 || frameSalt2 !== this.salt2) { + // Not necessarily an error, could be from a restart without + // truncation. + return null; + } + + const payloadSize = (size => size === 1 ? 65536 : size)(headerView.getUint16(2)); + /** @type {Uint8Array} */ let payloadData; + if (payloadSize) { + payloadData = new Uint8Array(payloadSize); + const payloadBytesRead = this.accessHandle.read( + payloadData, + { at: offset + WriteAheadFile.FRAME_HEADER_SIZE }); + if (payloadBytesRead !== payloadSize ) return null; + } + + const checksum = new Checksum(); + checksum.update(new Uint8Array(headerView.buffer, 0, WriteAheadFile.FRAME_HEADER_SIZE - 8)); + if (payloadData) { + checksum.update(payloadData); + } + if (!checksum.matches(headerView.getUint32(24), headerView.getUint32(28))) { + // Not necessarily an error, could be from a restart without + // truncation. + return null; + } + + const frameType = headerView.getUint8(0); + if (frameType === WriteAheadFile.FRAME_TYPE_PAGE) { + return { + frameType, + byteLength: WriteAheadFile.FRAME_HEADER_SIZE + payloadSize, + pageOffset: Number(headerView.getBigUint64(8)), + pageData: payloadData + } + } else if (frameType === WriteAheadFile.FRAME_TYPE_COMMIT) { + // Flags byte is currently unused. A possible future use would be + // to indicate an overwrite commit to trigger clearing the overlay. + // This might allow a page size change by VACUUM. + const flags = headerView.getUint8(1); + return { + frameType, + byteLength: WriteAheadFile.FRAME_HEADER_SIZE, + dbFileSize: Number(headerView.getBigUint64(8)), + isOverwrite: !!(flags & 0x1) + } + } + throw new Error(`Invalid frame type: ${frameType}`); + } + + #writeFileHeader() { + // Derive new values from the previous values. Note that salt1 always + // flips between even and odd so successive headers are written to + // alternating slots. If the write fails, the file remains in a valid + // state. + const nextTxId = this.txId + 1; + const salt1 = (this.salt1 + 1) | 0; + const salt2 = Math.floor(Math.random() * 0xffffffff); + const headerView = new DataView(new ArrayBuffer(WriteAheadFile.FILE_HEADER_SIZE)); + headerView.setUint32(0, WriteAheadFile.MAGIC); + headerView.setBigUint64(8, BigInt(nextTxId)); + headerView.setUint32(16, salt1); + headerView.setUint32(20, salt2); + + const checksum = new Checksum(); + checksum.update(new Uint8Array(headerView.buffer, 0, WriteAheadFile.FILE_HEADER_SIZE - 8)); + headerView.setUint32(24, checksum.s0); + headerView.setUint32(28, checksum.s1); + + // A header with an even salt1 is written at offset 0, and with an + // odd salt1 at SECTOR_SIZE. + const headerOffset = (salt1 & 0x1) ? SECTOR_SIZE : 0; + const bytesWritten = this.accessHandle.write(headerView, { at: headerOffset }); + if (bytesWritten !== headerView.byteLength) { + throw new Error('write failed'); + } + + this.accessHandle.flush(); + return { nextTxId, salt1, salt2 }; } } -/** - * Convert IndexedDB callbacks to Promises. - * @template T - * @param {IDBRequest|IDBTransaction} request - * @returns {Promise} - */ -function idbWrap(request) { - return new Promise((resolve, reject) => { - if (request instanceof IDBTransaction) { - request.oncomplete = () => { - resolve(); - }; - request.onabort = () => { - reject(request.error ?? new Error('transaction aborted')); - }; - } else { - request.onsuccess = () => { - resolve(request.result); - }; - request.onerror = () => { - reject(request.error); - }; +// https://www.sqlite.org/fileformat.html#checksum_algorithm +class Checksum { + /** @type {number} */ s0 = 0; + /** @type {number} */ s1 = 0; + + /** + * @param {ArrayBuffer|ArrayBufferView} data + */ + update(data) { + if ((data.byteLength % 8) !== 0) throw new Error('Data must be a multiple of 8 bytes'); + const words = ArrayBuffer.isView(data) ? + new Uint32Array(data.buffer, data.byteOffset, data.byteLength / 4) : + new Uint32Array(data); + for (let i = 0; i < words.length; i += 2) { + this.s0 = (this.s0 + words[i] + this.s1) >>> 0; + this.s1 = (this.s1 + words[i + 1] + this.s0) >>> 0; } - }); + } + + matches(s0, s1) { + return this.s0 === s0 && this.s1 === s1; + } } diff --git a/src/sqlite-api.js b/src/sqlite-api.js index d1ff06cd..befcca21 100644 --- a/src/sqlite-api.js +++ b/src/sqlite-api.js @@ -28,6 +28,7 @@ export function Factory(Module) { /** @type {SQLiteAPI} */ const sqlite3 = {}; Module.retryOps = []; + Module.pendingOps = []; const sqliteFreeAddress = Module._getSqliteFree(); // Allocate some space for 32-bit returned values. @@ -873,7 +874,7 @@ export function Factory(Module) { // Wait for all pending retry operations to complete. This is // normally empty on the first loop iteration. if (Module.retryOps.length) { - try { + try { await Promise.all(Module.retryOps); } finally { Module.retryOps = []; @@ -882,6 +883,16 @@ export function Factory(Module) { rc = await f(); if (rc === SQLite.SQLITE_OK || Module.retryOps.length === 0) { + if (Module.pendingOps.length) { + try { + await Promise.all(Module.pendingOps); + } catch (e) { + console.error('Error in pendingOps:', e); + return e.code || SQLite.SQLITE_ERROR; + } finally { + Module.pendingOps = []; + } + } return rc; } } From 12224ba5e1e5e82370e8cb043cf6f0c0b6082100 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Sun, 22 Feb 2026 22:31:31 -0800 Subject: [PATCH 56/84] Fix LazyLock close failure. --- src/examples/LazyLock.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/LazyLock.js b/src/examples/LazyLock.js index 54b662f7..6ba65588 100644 --- a/src/examples/LazyLock.js +++ b/src/examples/LazyLock.js @@ -22,7 +22,7 @@ export class LazyLock extends Lock { } close() { - super.close + super.close(); this.#channel.onmessage = null; this.#channel.close(); } From e74aded17481f7f5902f1edf29da96f3923c7986 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 07:44:48 -0800 Subject: [PATCH 57/84] Make write lock lazy. --- src/examples/OPFSWriteAheadVFS.js | 180 ++++++++++++++++++++++-------- 1 file changed, 134 insertions(+), 46 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 28edb321..af4e7481 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -25,7 +25,7 @@ const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ * @property {'normal'|'exclusive'|null} [lockingMode] * @property {number} [lockState] SQLITE_LOCK_* * @property {LazyLock} [readLock] - * @property {Lock} [writeLock] + * @property {LazyLock} [writeLock] * @property {number} [timeout] * * @property {WriteAhead} [writeAhead] @@ -157,7 +157,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.lockState = VFS.SQLITE_LOCK_NONE; file.lockingMode = null; file.readLock = new LazyLock(`${zName}#read`); - file.writeLock = new Lock(`${zName}#write`); + file.writeLock = new LazyLock(`${zName}#write`); file.timeout = -1; file.useWriteAhead = true; file.writeHint = null; @@ -474,18 +474,48 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.useWriteAhead = false; } - if (file.writeHint || file.readLock.mode !== 'shared') { - // Asynchronous lock acquisition is needed. Set retryResult to - // non-null so when SQLite calls jUnlock() it knows not to reset - // any locks we have in progress. - file.retryResult = {}; - this._module.retryOps.push(this.#retryLock(pFile, lockType)); - return VFS.SQLITE_BUSY; + // There are three distinct cases. In each case if the required + // lock is already held then we can proceed synchronously. + // Otherwise we need to acquire state asynchronously and retry. + if (!file.writeHint) { + // Case 1: Read transaction with write-ahead logging. + if (!file.readLock.acquireIfHeld('shared')) { + file.retryResult = {}; + this._module.retryOps.push(this.#retryLockRead(file)); + return VFS.SQLITE_BUSY; + } else { + file.writeAhead.isolateForRead(); + } + } else { + if (file.useWriteAhead) { + // Case 2: Write transaction with write-ahead logging. + if (!file.writeLock.acquireIfHeld('exclusive')) { + file.retryResult = {}; + this._module.retryOps.push(this.#retryLockWrite(file)); + return VFS.SQLITE_BUSY; + } else { + file.writeAhead.isolateForWrite(); + } + } else { + // Case 3: Transaction without write-ahead logging. + file.retryResult = {}; + this._module.retryOps.push(this.#retryLockExclusive(file)); + return VFS.SQLITE_BUSY; + } } - // This is a read transaction and we can get the shared - // lock synchronously. - file.readLock.acquireIfHeld('shared'); + // if (file.writeHint || file.readLock.mode !== 'shared') { + // // Asynchronous lock acquisition is needed. Set retryResult to + // // non-null so when SQLite calls jUnlock() it knows not to reset + // // any locks we have in progress. + // file.retryResult = {}; + // this._module.retryOps.push(this.#retryLock(pFile, lockType)); + // return VFS.SQLITE_BUSY; + // } + + // // This is a read transaction and we can get the shared + // // lock synchronously. + // file.readLock.acquireIfHeld('shared'); } else if (file.retryResult instanceof Error) { throw file.retryResult; } @@ -493,13 +523,13 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // We have acquired the needed locks, either synchronously or // via retry. file.retryResult = null; - if (file.writeHint === null) { - // Ensure that our read-only view of the database does not change - // while in the SHARED lock state. The corresponding method - // isolateForWrite() is not called in this method, but instead - // in retryLock() because it is asynchronous. - file.writeAhead.isolateForRead(); - } + // if (file.writeHint === null) { + // // Ensure that our read-only view of the database does not change + // // while in the SHARED lock state. The corresponding method + // // isolateForWrite() is not called in this method, but instead + // // in retryLock() because it is asynchronous. + // file.writeAhead.isolateForRead(); + // } } else if (lockType >= VFS.SQLITE_LOCK_RESERVED && !file.writeLock.mode) { // This is a write transaction but we don't already have the write // lock. This happens when the write hint was not used, which this @@ -538,7 +568,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.writeAhead.rejoin(); } - file.writeLock.release(); + // TODO: use option for lazy write lock release + file.writeLock.releaseLazy(); if (file.readLock.mode === 'exclusive') { // TODO: Consider lazy release here as well. file.readLock.release(); @@ -825,42 +856,99 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } /** - * Handle asynchronous jLock() tasks. - * @param {number} pFile - * @param {number} lockType + * @param {FileEntry} file */ - async #retryLock(pFile, lockType) { - const file = this.mapIdToFile.get(pFile); + async #retryLockRead(file) { try { - switch (file.writeHint) { - case 'reserved': - case 'exclusive': - if (file.useWriteAhead) { - // Write-ahead transactions only need writeLock, not readLock. - await file.writeLock.acquire('exclusive', file.timeout); - file.writeAhead.isolateForWrite(); - } else { - // This transaction will write directly to the database, - // i.e. not using write-ahead. Get exclusive access. - await file.readLock.acquire('exclusive', file.timeout); - await file.writeLock.acquire('exclusive'); + await file.readLock.acquire('shared', file.timeout); + file.writeAhead.isolateForRead(); + file.retryResult = {}; + } catch (e) { + if (file.readLock.mode) { + file.readLock.release(); + } + file.retryResult = e; + } + } - // Transfer everything in write-ahead to the OPFS file. - await file.writeAhead.checkpoint('restart'); - } - break; - default: - // This transaction will only read. - await file.readLock.acquire('shared', file.timeout); - break; + /** + * @param {FileEntry} file + */ + async #retryLockWrite(file) { + try { + // Write-ahead transactions only need writeLock, not readLock. + await file.writeLock.acquire('exclusive', file.timeout); + file.writeAhead.isolateForWrite(); + file.retryResult = {}; + } catch (e) { + if (file.writeLock.mode) { + file.writeLock.release(); } + file.retryResult = e; + } + } + + /** + * @param {FileEntry} file + */ + async #retryLockExclusive(file) { + try { + // This transaction will write directly to the database, + // i.e. not using write-ahead. Get exclusive access. + await file.readLock.acquire('exclusive', file.timeout); + await file.writeLock.acquire('exclusive', file.timeout); + + // Transfer everything in write-ahead to the OPFS file. + await file.writeAhead.checkpoint('restart'); file.retryResult = {}; } catch (e) { + if (file.writeLock.mode) { + file.writeLock.release(); + } + if (file.readLock.mode) { + file.readLock.release(); + } file.retryResult = e; - return; } } + // /** + // * Handle asynchronous jLock() tasks. + // * @param {number} pFile + // * @param {number} lockType + // */ + // async #retryLock(pFile, lockType) { + // const file = this.mapIdToFile.get(pFile); + // try { + // switch (file.writeHint) { + // case 'reserved': + // case 'exclusive': + // if (file.useWriteAhead) { + // // Write-ahead transactions only need writeLock, not readLock. + // await file.writeLock.acquire('exclusive', file.timeout); + // file.writeAhead.isolateForWrite(); + // } else { + // // This transaction will write directly to the database, + // // i.e. not using write-ahead. Get exclusive access. + // await file.readLock.acquire('exclusive', file.timeout); + // await file.writeLock.acquire('exclusive'); + + // // Transfer everything in write-ahead to the OPFS file. + // await file.writeAhead.checkpoint('restart'); + // } + // break; + // default: + // // This transaction will only read. + // await file.readLock.acquire('shared', file.timeout); + // break; + // } + // file.retryResult = {}; + // } catch (e) { + // file.retryResult = e; + // return; + // } + // } + /** * Handle asynchronous jOpen() tasks. * @param {string} zName From a566f05038dfbb88ed3eb0aa8fe18a517040eb88 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 09:22:08 -0800 Subject: [PATCH 58/84] Add PRAGMA lazy_lock. --- src/examples/OPFSWriteAheadVFS.js | 51 ++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index af4e7481..33f6dcf3 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -26,6 +26,7 @@ const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ * @property {number} [lockState] SQLITE_LOCK_* * @property {LazyLock} [readLock] * @property {LazyLock} [writeLock] + * @property {'none'|'read'|'write'|'readwrite'} [useLazyLock] * @property {number} [timeout] * * @property {WriteAhead} [writeAhead] @@ -158,6 +159,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.lockingMode = null; file.readLock = new LazyLock(`${zName}#read`); file.writeLock = new LazyLock(`${zName}#write`); + file.useLazyLock = 'readwrite'; file.timeout = -1; file.useWriteAhead = true; file.writeHint = null; @@ -568,16 +570,28 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.writeAhead.rejoin(); } - // TODO: use option for lazy write lock release - file.writeLock.releaseLazy(); - if (file.readLock.mode === 'exclusive') { - // TODO: Consider lazy release here as well. - file.readLock.release(); - } else { - file.readLock.releaseLazy(); + // Release any locks. + switch (file.useLazyLock) { + case 'none': + file.writeLock.release(); + file.readLock.release(); + break; + case 'read': + file.writeLock.release(); + file.readLock.releaseLazy(); + break; + case 'write': + file.writeLock.releaseLazy(); + file.readLock.release(); + break; + case 'readwrite': + file.writeLock.releaseLazy(); + file.readLock.releaseLazy(); + break; } - file.writeHint = null; + // Reset state for the next transaction. + file.writeHint = null; if (file.lockingMode === 'normal') { file.useWriteAhead = true; } @@ -705,6 +719,27 @@ export class OPFSWriteAheadVFS extends FacadeVFS { pArg.setUint32(0, ptr, true); } return VFS.SQLITE_OK; + case 'lazy_lock': + if (value !== null) { + const useLazyLock = value.toLowerCase(); + switch (useLazyLock) { + case 'read': + case 'write': + case 'readwrite': + case 'none': + file.useLazyLock = useLazyLock; + break; + default: + throw new Error(`unexpected value for lazy_lock: ${value}`); + } + } + { + const s = file.useLazyLock; + const ptr = this._module._sqlite3_malloc64(s.length + 1); + this._module.stringToUTF8(s, ptr, s.length + 1); + pArg.setUint32(0, ptr, true); + } + return VFS.SQLITE_OK; case 'write_ahead': // For testing purposes only: enable or disable write-ahead mode. if (value !== null) { From 92171b751d6985f5b891c8be36002542d1403e5c Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 09:25:31 -0800 Subject: [PATCH 59/84] Remove obsolete code. --- src/examples/OPFSWriteAheadVFS.js | 58 ------------------------------- 1 file changed, 58 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 33f6dcf3..4a8ff44e 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -1,6 +1,5 @@ import { FacadeVFS } from "../FacadeVFS.js"; import * as VFS from '../VFS.js'; -import { Lock } from "./Lock.js"; import { LazyLock } from "./LazyLock.js"; import { WriteAhead } from "./WriteAhead.js"; @@ -505,19 +504,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_BUSY; } } - - // if (file.writeHint || file.readLock.mode !== 'shared') { - // // Asynchronous lock acquisition is needed. Set retryResult to - // // non-null so when SQLite calls jUnlock() it knows not to reset - // // any locks we have in progress. - // file.retryResult = {}; - // this._module.retryOps.push(this.#retryLock(pFile, lockType)); - // return VFS.SQLITE_BUSY; - // } - - // // This is a read transaction and we can get the shared - // // lock synchronously. - // file.readLock.acquireIfHeld('shared'); } else if (file.retryResult instanceof Error) { throw file.retryResult; } @@ -525,13 +511,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { // We have acquired the needed locks, either synchronously or // via retry. file.retryResult = null; - // if (file.writeHint === null) { - // // Ensure that our read-only view of the database does not change - // // while in the SHARED lock state. The corresponding method - // // isolateForWrite() is not called in this method, but instead - // // in retryLock() because it is asynchronous. - // file.writeAhead.isolateForRead(); - // } } else if (lockType >= VFS.SQLITE_LOCK_RESERVED && !file.writeLock.mode) { // This is a write transaction but we don't already have the write // lock. This happens when the write hint was not used, which this @@ -947,43 +926,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } } - // /** - // * Handle asynchronous jLock() tasks. - // * @param {number} pFile - // * @param {number} lockType - // */ - // async #retryLock(pFile, lockType) { - // const file = this.mapIdToFile.get(pFile); - // try { - // switch (file.writeHint) { - // case 'reserved': - // case 'exclusive': - // if (file.useWriteAhead) { - // // Write-ahead transactions only need writeLock, not readLock. - // await file.writeLock.acquire('exclusive', file.timeout); - // file.writeAhead.isolateForWrite(); - // } else { - // // This transaction will write directly to the database, - // // i.e. not using write-ahead. Get exclusive access. - // await file.readLock.acquire('exclusive', file.timeout); - // await file.writeLock.acquire('exclusive'); - - // // Transfer everything in write-ahead to the OPFS file. - // await file.writeAhead.checkpoint('restart'); - // } - // break; - // default: - // // This transaction will only read. - // await file.readLock.acquire('shared', file.timeout); - // break; - // } - // file.retryResult = {}; - // } catch (e) { - // file.retryResult = e; - // return; - // } - // } - /** * Handle asynchronous jOpen() tasks. * @param {string} zName From db92ce12ef5bbffa1869738cde276023627f999e Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 13:34:29 -0800 Subject: [PATCH 60/84] Implement WAL auto-checkpoint. --- src/examples/OPFSWriteAheadVFS.js | 6 ++---- src/examples/WriteAhead.js | 31 +++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 4a8ff44e..57129072 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -663,10 +663,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { return VFS.SQLITE_OK; case 'wal_autocheckpoint': if (value !== null) { - const pageCount = parseInt(value); - if (pageCount > 0) { - file.writeAhead.options.autoCheckpointPages = pageCount; - } + const nPages = parseInt(value); + file.writeAhead.options.autoCheckpointPages = Math.max(nPages, 0); } break; case 'wal_checkpoint': diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 2b689e68..8fa8d60b 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -1,6 +1,6 @@ import { Lock } from './Lock.js'; -const DEFAULT_AUTOCHECKPOINT_PAGES = 1_000; +const DEFAULT_AUTOCHECKPOINT_PAGES = 1000; const DEFAULT_BACKSTOP_INTERVAL = 30_000; const SECTOR_SIZE = 4096; @@ -53,6 +53,7 @@ export class WriteAhead { /** @type {Map} */ #waOverlay = new Map(); /** @type {Map} */ #mapIdToTx = new Map(); /** @type {Map} */ #pendingTx = new Map(); + #mapIdToTxPageCount = 0; #broadcastChannel; /** @type {number} */ #backstopTimer; @@ -170,9 +171,14 @@ export class WriteAhead { if (this.#isolationState === 'write') { // Resume backstop after write isolation. this.#backstop(); + + // We need a place for a connection that only does write transactions + // to auto-checkpoint. This the best place because writing is + // complete. + this.#autoCheckpoint(); } else { // Catch up on new transactions that arrived while isolated. - this.#advanceTxId(); + this.#advanceTxId({ autoCheckpoint: true }); } this.#isolationState = null; } @@ -311,6 +317,7 @@ export class WriteAhead { #activateTx(tx) { // Transfer to the active collection of transactions. this.#mapIdToTx.set(tx.id, tx); + this.#mapIdToTxPageCount += tx.pages.size; // Add transaction pages to the write-ahead overlay. for (const [offset, pageEntry] of tx.pages) { @@ -324,7 +331,7 @@ export class WriteAhead { * last broadcast transaction. Optionally, also advance through any * additional transactions in the WAL file to be fully current. * - * @param {{readToCurrent?: boolean}} options + * @param {{readToCurrent?: boolean, autoCheckpoint?: boolean}} options */ #advanceTxId(options = {}) { let didAdvance = false; @@ -356,6 +363,21 @@ export class WriteAhead { if (didAdvance) { // Publish our new view txId. this.#updateTxIdLock(); + + if (options.autoCheckpoint) { + this.#autoCheckpoint(); + } + } + } + + #autoCheckpoint() { + // Perform an automatic checkpoint if enabled and needed. Automatic + // checkpoints are passive, so this will not change the WAL file + // usage or size. + if (this.options.autoCheckpointPages > 0 && + this.#mapIdToTxPageCount >= this.options.autoCheckpointPages) { + this.log?.(`%cauto-checkpoint`, 'background-color: lightgreen;'); + this.checkpoint('passive'); } } @@ -494,6 +516,7 @@ export class WriteAhead { // Remove transaction. this.#mapIdToTx.delete(tx.id); + this.#mapIdToTxPageCount -= tx.pages.size; } this.#updateTxIdLock(); } @@ -510,7 +533,7 @@ export class WriteAhead { this.#pendingTx.set(tx.id, tx); if (this.#isolationState === null) { // Not in an isolated state, so advance our view of the database. - this.#advanceTxId(); + this.#advanceTxId({ autoCheckpoint: true }); } } } else if (event.data.type === 'ckpt') { From db11d0d24295b4a622ca0f754f302ce7bf68c031 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 14:28:13 -0800 Subject: [PATCH 61/84] Remove read lock from checkpoint. --- src/examples/OPFSWriteAheadVFS.js | 2 -- src/examples/WriteAhead.js | 42 ++++++++++++++++++------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index 57129072..d5fd3bd7 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -851,7 +851,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { async #pendingCheckpoint(file, mode) { try { if (mode !== 'passive') { - await file.readLock.acquire('exclusive', file.timeout); await file.writeLock.acquire('exclusive'); } @@ -862,7 +861,6 @@ export class OPFSWriteAheadVFS extends FacadeVFS { } throw e; } finally { - file.readLock.release(); file.writeLock.release(); } } diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index 8fa8d60b..d173689a 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -403,24 +403,8 @@ export class WriteAhead { // Full checkpoint, use the current WAL file txId. ckptId = this.#waFile.txId; - // Wait for all connections to reach this txId. Each connection - // acquires a shared lock whose name contains the database name, - // the minimum and maximum txId it has in mapIdToTx. We want all - // maximum txId values to be ckptId. - let pendingLockNames = []; - do { - // Wait for connections with lower maximum txIds. When a - // connection advances its txId, it will release its previous - // lock and acquire a new one. - await Promise.all( - pendingLockNames.map(name => navigator.locks.request(name, async () => {})) - ); - - // Refresh the list of locks with lower txIds. - pendingLockNames = (await this.#getTxIdLocks()) - .filter(value => value.maxTxId < ckptId) - .map(value => value.name); - } while (pendingLockNames.length > 0); + // Wait for all connections to reach this txId. + await this.#waitForTxIdLocks(value => value.maxTxId >= ckptId); this.log?.(`%c#checkpoint full txId ${ckptId}`, 'background-color: lightgreen;'); } else { // Not a full checkpoint, so find the lowest txId in use by any @@ -488,6 +472,9 @@ export class WriteAhead { } if (options.isRestart) { + // Wait for all connections to clear their overlay. + await this.#waitForTxIdLocks(value => value.minTxId > ckptId); + this.#waFile.reset(); } }); @@ -635,6 +622,25 @@ export class WriteAhead { } return null; } + + /** + * Wait for all txId locks that fail the provided predicate. + * @param {(lock: {name: string, minTxId: number, maxTxId: number}) => boolean} predicate + */ + async #waitForTxIdLocks(predicate) { + /** @type {string[]} */ let failingLockNames = []; + do { + // Wait for all connections that fail the predicate. + await Promise.all( + failingLockNames.map(name => navigator.locks.request(name, async () => {})) + ); + + // Refresh the list of failing locks. + failingLockNames = (await this.#getTxIdLocks()) + .filter(value => !predicate(value)) + .map(value => value.name); + } while (failingLockNames.length > 0); + } } class WriteAheadFile { From 0362b03fc3ba8183797bdc03fb8ef5467aa95151 Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Mon, 23 Feb 2026 14:46:16 -0800 Subject: [PATCH 62/84] Adjust durability with PRAGMA synchronous. --- src/examples/OPFSWriteAheadVFS.js | 30 ++++++++++++++++++++++++++++-- src/examples/WriteAhead.js | 8 ++++---- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/examples/OPFSWriteAheadVFS.js b/src/examples/OPFSWriteAheadVFS.js index d5fd3bd7..3c719c63 100644 --- a/src/examples/OPFSWriteAheadVFS.js +++ b/src/examples/OPFSWriteAheadVFS.js @@ -27,6 +27,7 @@ const finalizationRegistry = new FinalizationRegistry((/** @type {() => void} */ * @property {LazyLock} [writeLock] * @property {'none'|'read'|'write'|'readwrite'} [useLazyLock] * @property {number} [timeout] + * @property {0|1|2|3} [synchronous] * * @property {WriteAhead} [writeAhead] */ @@ -160,6 +161,7 @@ export class OPFSWriteAheadVFS extends FacadeVFS { file.writeLock = new LazyLock(`${zName}#write`); file.useLazyLock = 'readwrite'; file.timeout = -1; + file.synchronous = 1; // NORMAL file.useWriteAhead = true; file.writeHint = null; } else if (flags & VFS.SQLITE_OPEN_MAIN_JOURNAL) { @@ -409,8 +411,8 @@ export class OPFSWriteAheadVFS extends FacadeVFS { const file = this.mapIdToFile.get(fileId); if (file.flags & VFS.SQLITE_OPEN_MAIN_DB) { if (file.useWriteAhead) { - // TODO: Track PRAGMA synchronous setting. - file.writeAhead.sync('normal'); + const durability = file.synchronous > 1 ? 'strict' : 'relaxed'; + file.writeAhead.sync({ durability }); } else { file.accessHandle.flush(); } @@ -654,6 +656,30 @@ export class OPFSWriteAheadVFS extends FacadeVFS { break; } break; + case 'synchronous': + if (value !== null) { + switch (value.toLowerCase()) { + case 'off': + case '0': + file.synchronous = 0; + break; + case 'normal': + case '1': + file.synchronous = 1; + break; + case 'full': + case '2': + file.synchronous = 2; + break; + case 'extra': + case '3': + file.synchronous = 3; + break; + default: + throw new Error(`unexpected synchronous value: ${value}`); + } + } + break; case 'vfs_trace': // This is a trace feature for debugging only. if (value !== null) { diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index d173689a..a605cf9d 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -265,10 +265,10 @@ export class WriteAhead { } /** - * @param {'normal'|'full'} mode + * @param {{durability: 'strict'|'relaxed'}} options */ - sync(mode) { - if (mode === 'full') { + sync(options) { + if (options.durability === 'strict') { this.#waFile.accessHandle.flush(); } } @@ -474,7 +474,7 @@ export class WriteAhead { if (options.isRestart) { // Wait for all connections to clear their overlay. await this.#waitForTxIdLocks(value => value.minTxId > ckptId); - + this.#waFile.reset(); } }); From 32ac0449fa82d48207a958b8ffd3527a3a5cba1e Mon Sep 17 00:00:00 2001 From: Roy Hashimoto Date: Tue, 24 Feb 2026 09:00:25 -0800 Subject: [PATCH 63/84] Flush database file only on full checkpoint. --- src/examples/WriteAhead.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/examples/WriteAhead.js b/src/examples/WriteAhead.js index a605cf9d..d05d0a81 100644 --- a/src/examples/WriteAhead.js +++ b/src/examples/WriteAhead.js @@ -460,8 +460,11 @@ export class WriteAhead { } if (writtenOffsets.size > 0) { - // Ensure data is safely in the file. - this.#dbHandle.flush(); + if (ckptId == this.#waFile.txId) { + // Ensure data is safely in the file. + this.log?.(`%c#checkpoint flush database file`, 'background-color: lightgreen;'); + this.#dbHandle.flush(); + } // Notify other connections and ourselves of the checkpoint. this.#broadcastChannel.postMessage({ From 53616a88a617dd79e2427ea453ef9ff17badbede Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Thu, 26 Feb 2026 15:49:37 +0100 Subject: [PATCH 64/84] Changeset entry --- .changeset/ninety-dogs-whisper.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/ninety-dogs-whisper.md diff --git a/.changeset/ninety-dogs-whisper.md b/.changeset/ninety-dogs-whisper.md new file mode 100644 index 00000000..aa38e466 --- /dev/null +++ b/.changeset/ninety-dogs-whisper.md @@ -0,0 +1,5 @@ +--- +"@journeyapps/wa-sqlite": minor +--- + +Add `OPFSWriteAheadVFS`. From c5321622621cd20b8525de4f6c1e37f0056810ca Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Thu, 26 Feb 2026 16:53:43 +0100 Subject: [PATCH 65/84] Rebuild --- dist/mc-wa-sqlite-async.mjs | 2 +- dist/mc-wa-sqlite-async.wasm | Bin 2499890 -> 2486778 bytes dist/mc-wa-sqlite-jspi.mjs | 2 +- dist/mc-wa-sqlite-jspi.wasm | Bin 1308667 -> 1303089 bytes dist/mc-wa-sqlite.mjs | 2 +- dist/mc-wa-sqlite.wasm | Bin 1302582 -> 1297004 bytes dist/wa-sqlite-async-dynamic-main.mjs | 2 +- dist/wa-sqlite-async-dynamic-main.wasm | Bin 3345726 -> 3359064 bytes dist/wa-sqlite-async.wasm | Bin 2278923 -> 2291477 bytes dist/wa-sqlite-dynamic-main.mjs | 2 +- dist/wa-sqlite-dynamic-main.wasm | Bin 2007442 -> 2013326 bytes dist/wa-sqlite-jspi.wasm | Bin 1122824 -> 1128650 bytes dist/wa-sqlite.wasm | Bin 1116880 -> 1122706 bytes 13 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/mc-wa-sqlite-async.mjs b/dist/mc-wa-sqlite-async.mjs index e8ef95cc..f222b9dc 100644 --- a/dist/mc-wa-sqlite-async.mjs +++ b/dist/mc-wa-sqlite-async.mjs @@ -1,2 +1,2 @@ -async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-async.wasm")}return new URL("mc-wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCalls={};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{if(!ptr)return"";var end=findStringEnd(HEAPU8,ptr,maxBytesToRead,ignoreNul);return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{abort("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>2]=stat.dev;HEAPU32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAPU32[buf+12>>2]=stat.uid;HEAPU32[buf+16>>2]=stat.gid;HEAPU32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>2]=stats.bsize;HEAPU32[buf+60>>2]=stats.bsize;tempI64=[stats.blocks>>>0,(tempDouble=stats.blocks,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+8>>2]=tempI64[0],HEAP32[buf+12>>2]=tempI64[1];tempI64=[stats.bfree>>>0,(tempDouble=stats.bfree,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+16>>2]=tempI64[0],HEAP32[buf+20>>2]=tempI64[1];tempI64=[stats.bavail>>>0,(tempDouble=stats.bavail,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];tempI64=[stats.files>>>0,(tempDouble=stats.files,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+32>>2]=tempI64[0],HEAP32[buf+36>>2]=tempI64[1];tempI64=[stats.ffree>>>0,(tempDouble=stats.ffree,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=stats.fsid;HEAPU32[buf+64>>2]=stats.flags;HEAPU32[buf+56>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){let innerFunc=()=>{try{var stream=SYSCALLS.getStreamFromFD(fd);var rtn=stream.stream_ops?.fsync?.(stream);return new Promise(resolve=>{var mount=stream.node.mount;if(mount?.type.syncfs){mount.type.syncfs(mount,false,err=>resolve(err?29:0))}else{resolve(rtn)}})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};return Asyncify.handleAsync(innerFunc)};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>2];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}return wasmTable["grow"](1)};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var uleb128EncodeWithLen=arr=>{const n=arr.length;return[n%128|128,n>>7,...arr]};var wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111};var generateTypePack=types=>uleb128EncodeWithLen(Array.from(types,type=>{var code=wasmTypeCodes[type];return code}));var convertJsFunctionToWasm=(func,sig)=>{var bytes=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(sig.slice(1)),...generateTypePack(sig[0]==="v"?"":sig[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str="";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_msize,_sqlite3_db_status,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_sqlite3mc_config,_sqlite3mc_cipher_count,_sqlite3mc_cipher_index,_sqlite3mc_cipher_name,_sqlite3mc_config_cipher,_sqlite3mc_vfs_create,_memcmp,_malloc,_free,_memset,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_iii,dynCall_viiiij,dynCall_ii,dynCall_vi,dynCall_iiii,dynCall_viii,dynCall_iiiiiii,dynCall_iiiiii,dynCall_iiiii,dynCall_vii,dynCall_viiii,dynCall_iiiiiiiii,dynCall_vijii,dynCall_viiiii,dynCall_iiiij,dynCall_viji,dynCall_iij,dynCall_iidiiii,dynCall_iijii,dynCall_iiji,dynCall_i,dynCall_iiiiiij,dynCall_iiid,dynCall_iiij,dynCall_dii,dynCall_jii,dynCall_ji,dynCall_vid,dynCall_vij,dynCall_iiiiiiiiii,dynCall_di,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_v,dynCall_viiji,dynCall_viijii,dynCall_iiiiiiiiiii,dynCall_iiiijji,dynCall_iiiiiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,memory,_sqlite3_version,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_powersync_init_static=Module["_powersync_init_static"]=wasmExports["sa"];_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["ta"];_sqlite3_status=Module["_sqlite3_status"]=wasmExports["ua"];_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["va"];_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["wa"];_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["xa"];_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["ya"];_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["za"];_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["Aa"];_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Ba"];_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ca"];_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Da"];_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Ea"];_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Fa"];_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Ga"];_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ha"];_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ia"];_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ja"];_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ka"];_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["La"];_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ma"];_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Na"];_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Oa"];_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Pa"];_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Qa"];_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Ra"];_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Sa"];_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Ta"];_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ua"];_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Va"];_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Wa"];_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Xa"];_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Ya"];_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Za"];_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["_a"];_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["$a"];_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["ab"];_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["bb"];_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["cb"];_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["db"];_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["eb"];_sqlite3_step=Module["_sqlite3_step"]=wasmExports["fb"];_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["gb"];_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["hb"];_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["ib"];_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["jb"];_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["kb"];_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["lb"];_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["mb"];_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["nb"];_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ob"];_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["pb"];_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["qb"];_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["rb"];_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sb"];_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["tb"];_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ub"];_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["vb"];_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["wb"];_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["xb"];_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["yb"];_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["zb"];_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["Ab"];_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Bb"];_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Cb"];_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Db"];_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Eb"];_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Fb"];_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Gb"];_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Hb"];_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Ib"];_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Jb"];_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Kb"];_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Lb"];_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Mb"];_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Nb"];_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ob"];_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Pb"];_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Qb"];_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Rb"];_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Sb"];_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Tb"];_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ub"];_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Vb"];_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Wb"];_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Xb"];_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Yb"];_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Zb"];_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["_b"];_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["$b"];_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["ac"];_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["bc"];_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["cc"];_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["dc"];_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["ec"];_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["fc"];_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["gc"];_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["hc"];_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["ic"];_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["jc"];_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["kc"];_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["lc"];_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["mc"];_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["nc"];_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["oc"];_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["pc"];_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["qc"];_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["rc"];_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sc"];_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["tc"];_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["uc"];_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["vc"];_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["wc"];_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["xc"];_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["yc"];_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["zc"];_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["Ac"];_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Bc"];_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Cc"];_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Dc"];_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Ec"];_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Fc"];_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Gc"];_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Hc"];_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Ic"];_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Jc"];_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Kc"];_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Lc"];_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Mc"];_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Nc"];_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Oc"];_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Pc"];_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Qc"];_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Rc"];_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Sc"];_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Tc"];_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Uc"];_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Vc"];_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Wc"];_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Xc"];_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Yc"];_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Zc"];_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["_c"];_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["$c"];_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["ad"];_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["bd"];_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["cd"];_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["dd"];_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["ed"];_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["fd"];_sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["gd"];_sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["hd"];_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["id"];_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["jd"];_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["kd"];_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["ld"];_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["md"];_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["nd"];_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["od"];_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["pd"];_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["qd"];_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["rd"];_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sd"];_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["td"];_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["ud"];_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["vd"];_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["wd"];_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["xd"];_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["yd"];_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["zd"];_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["Ad"];_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Bd"];_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Cd"];_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Dd"];_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Ed"];_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Fd"];_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Gd"];_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Hd"];_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Id"];_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Jd"];_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Kd"];_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Ld"];_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Md"];_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Nd"];_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Od"];_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Pd"];_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Qd"];_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Rd"];_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Sd"];_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Td"];_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Ud"];_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Vd"];_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Wd"];_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Xd"];_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Yd"];_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Zd"];_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["_d"];_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["$d"];_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["ae"];_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["be"];_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["ce"];_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["de"];_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["ee"];_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["fe"];_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["ge"];_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["he"];_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ie"];_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["je"];_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ke"];_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["le"];_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["me"];_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["ne"];_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["oe"];_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["pe"];_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["qe"];_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["re"];_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["se"];_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["te"];_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["ue"];_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ve"];_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["we"];_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["xe"];_sqlite3_open=Module["_sqlite3_open"]=wasmExports["ye"];_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ze"];_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["Ae"];_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Be"];_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Ce"];_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["De"];_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["Ee"];_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Fe"];_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Ge"];_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["He"];_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ie"];_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Je"];_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ke"];_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Le"];_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Me"];_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Ne"];_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Oe"];_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Pe"];_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Qe"];_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Re"];_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Se"];_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Te"];_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Ue"];_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ve"];_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["We"];_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Xe"];_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Ye"];_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ze"];_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["_e"];_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["$e"];_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["af"];_sqlite3mc_config=Module["_sqlite3mc_config"]=wasmExports["bf"];_sqlite3mc_cipher_count=Module["_sqlite3mc_cipher_count"]=wasmExports["cf"];_sqlite3mc_cipher_index=Module["_sqlite3mc_cipher_index"]=wasmExports["df"];_sqlite3mc_cipher_name=Module["_sqlite3mc_cipher_name"]=wasmExports["ef"];_sqlite3mc_config_cipher=Module["_sqlite3mc_config_cipher"]=wasmExports["ff"];_sqlite3mc_vfs_create=Module["_sqlite3mc_vfs_create"]=wasmExports["gf"];_memcmp=Module["_memcmp"]=wasmExports["hf"];_malloc=Module["_malloc"]=wasmExports["jf"];_free=Module["_free"]=wasmExports["kf"];_memset=Module["_memset"]=wasmExports["lf"];_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["nf"];_getSqliteFree=Module["_getSqliteFree"]=wasmExports["of"];_main=Module["_main"]=wasmExports["pf"];_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["qf"];_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["rf"];_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["sf"];_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["tf"];_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["uf"];_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["vf"];_memcpy=Module["_memcpy"]=wasmExports["wf"];_emscripten_builtin_memalign=wasmExports["yf"];__emscripten_timeout=wasmExports["zf"];__emscripten_tempret_get=wasmExports["Af"];__emscripten_stack_restore=wasmExports["Bf"];__emscripten_stack_alloc=wasmExports["Cf"];_emscripten_stack_get_current=wasmExports["Df"];dynCall_iii=dynCalls["iii"]=wasmExports["Ef"];dynCall_viiiij=dynCalls["viiiij"]=wasmExports["Ff"];dynCall_ii=dynCalls["ii"]=wasmExports["Gf"];dynCall_vi=dynCalls["vi"]=wasmExports["Hf"];dynCall_iiii=dynCalls["iiii"]=wasmExports["If"];dynCall_viii=dynCalls["viii"]=wasmExports["Jf"];dynCall_iiiiiii=dynCalls["iiiiiii"]=wasmExports["Kf"];dynCall_iiiiii=dynCalls["iiiiii"]=wasmExports["Lf"];dynCall_iiiii=dynCalls["iiiii"]=wasmExports["Mf"];dynCall_vii=dynCalls["vii"]=wasmExports["Nf"];dynCall_viiii=dynCalls["viiii"]=wasmExports["Of"];dynCall_iiiiiiiii=dynCalls["iiiiiiiii"]=wasmExports["Pf"];dynCall_vijii=dynCalls["vijii"]=wasmExports["Qf"];dynCall_viiiii=dynCalls["viiiii"]=wasmExports["Rf"];dynCall_iiiij=dynCalls["iiiij"]=wasmExports["Sf"];dynCall_viji=dynCalls["viji"]=wasmExports["Tf"];dynCall_iij=dynCalls["iij"]=wasmExports["Uf"];dynCall_iidiiii=dynCalls["iidiiii"]=wasmExports["Vf"];dynCall_iijii=dynCalls["iijii"]=wasmExports["Wf"];dynCall_iiji=dynCalls["iiji"]=wasmExports["Xf"];dynCall_i=dynCalls["i"]=wasmExports["Yf"];dynCall_iiiiiij=dynCalls["iiiiiij"]=wasmExports["Zf"];dynCall_iiid=dynCalls["iiid"]=wasmExports["_f"];dynCall_iiij=dynCalls["iiij"]=wasmExports["$f"];dynCall_dii=dynCalls["dii"]=wasmExports["ag"];dynCall_jii=dynCalls["jii"]=wasmExports["bg"];dynCall_ji=dynCalls["ji"]=wasmExports["cg"];dynCall_vid=dynCalls["vid"]=wasmExports["dg"];dynCall_vij=dynCalls["vij"]=wasmExports["eg"];dynCall_iiiiiiiiii=dynCalls["iiiiiiiiii"]=wasmExports["fg"];dynCall_di=dynCalls["di"]=wasmExports["gg"];dynCall_iiiiijii=dynCalls["iiiiijii"]=wasmExports["hg"];dynCall_j=dynCalls["j"]=wasmExports["ig"];dynCall_jj=dynCalls["jj"]=wasmExports["jg"];dynCall_jiij=dynCalls["jiij"]=wasmExports["kg"];dynCall_iiiiji=dynCalls["iiiiji"]=wasmExports["lg"];dynCall_iiiijii=dynCalls["iiiijii"]=wasmExports["mg"];dynCall_ij=dynCalls["ij"]=wasmExports["ng"];dynCall_v=dynCalls["v"]=wasmExports["og"];dynCall_viiji=dynCalls["viiji"]=wasmExports["pg"];dynCall_viijii=dynCalls["viijii"]=wasmExports["qg"];dynCall_iiiiiiiiiii=dynCalls["iiiiiiiiiii"]=wasmExports["rg"];dynCall_iiiijji=dynCalls["iiiijji"]=wasmExports["sg"];dynCall_iiiiiiii=dynCalls["iiiiiiii"]=wasmExports["tg"];_asyncify_start_unwind=wasmExports["ug"];_asyncify_stop_unwind=wasmExports["vg"];_asyncify_start_rewind=wasmExports["wg"];_asyncify_stop_rewind=wasmExports["xg"];memory=wasmMemory=wasmExports["qa"];_sqlite3_version=Module["_sqlite3_version"]=wasmExports["mf"].value;__indirect_function_table=wasmTable=wasmExports["xf"]}var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} +async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-async.wasm")}return new URL("mc-wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCalls={};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{if(!ptr)return"";var end=findStringEnd(HEAPU8,ptr,maxBytesToRead,ignoreNul);return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{abort("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>2]=stat.dev;HEAPU32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAPU32[buf+12>>2]=stat.uid;HEAPU32[buf+16>>2]=stat.gid;HEAPU32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>2]=stats.bsize;HEAPU32[buf+60>>2]=stats.bsize;tempI64=[stats.blocks>>>0,(tempDouble=stats.blocks,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+8>>2]=tempI64[0],HEAP32[buf+12>>2]=tempI64[1];tempI64=[stats.bfree>>>0,(tempDouble=stats.bfree,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+16>>2]=tempI64[0],HEAP32[buf+20>>2]=tempI64[1];tempI64=[stats.bavail>>>0,(tempDouble=stats.bavail,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];tempI64=[stats.files>>>0,(tempDouble=stats.files,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+32>>2]=tempI64[0],HEAP32[buf+36>>2]=tempI64[1];tempI64=[stats.ffree>>>0,(tempDouble=stats.ffree,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=stats.fsid;HEAPU32[buf+64>>2]=stats.flags;HEAPU32[buf+56>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){let innerFunc=()=>{try{var stream=SYSCALLS.getStreamFromFD(fd);var rtn=stream.stream_ops?.fsync?.(stream);return new Promise(resolve=>{var mount=stream.node.mount;if(mount?.type.syncfs){mount.type.syncfs(mount,false,err=>resolve(err?29:0))}else{resolve(rtn)}})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};return Asyncify.handleAsync(innerFunc)};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>2];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}return wasmTable["grow"](1)};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var uleb128EncodeWithLen=arr=>{const n=arr.length;return[n%128|128,n>>7,...arr]};var wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111};var generateTypePack=types=>uleb128EncodeWithLen(Array.from(types,type=>{var code=wasmTypeCodes[type];return code}));var convertJsFunctionToWasm=(func,sig)=>{var bytes=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(sig.slice(1)),...generateTypePack(sig[0]==="v"?"":sig[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str="";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_sqlite3mc_config,_sqlite3mc_cipher_count,_sqlite3mc_cipher_index,_sqlite3mc_cipher_name,_sqlite3mc_config_cipher,_sqlite3mc_vfs_create,_memcmp,_malloc,_free,_memset,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_iii,dynCall_viiiij,dynCall_ii,dynCall_vi,dynCall_iiii,dynCall_viii,dynCall_iiiiiii,dynCall_iiiiii,dynCall_iiiii,dynCall_vii,dynCall_viiii,dynCall_iiiiiiiii,dynCall_vijii,dynCall_viiiii,dynCall_iiiij,dynCall_viji,dynCall_iij,dynCall_iidiiii,dynCall_iijii,dynCall_iiji,dynCall_i,dynCall_iiiiiij,dynCall_iiid,dynCall_iiij,dynCall_dii,dynCall_jii,dynCall_ji,dynCall_vid,dynCall_vij,dynCall_iiiiiiiiii,dynCall_di,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_v,dynCall_viiji,dynCall_viijii,dynCall_iiiiiiiiiii,dynCall_iiiijji,dynCall_iiiiiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,memory,_sqlite3_version,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_powersync_init_static=Module["_powersync_init_static"]=wasmExports["sa"];_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["ta"];_sqlite3_status=Module["_sqlite3_status"]=wasmExports["ua"];_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["va"];_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["wa"];_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["xa"];_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["ya"];_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["za"];_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["Aa"];_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Ba"];_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ca"];_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Da"];_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Ea"];_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Fa"];_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Ga"];_sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ha"];_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ia"];_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ja"];_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ka"];_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["La"];_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ma"];_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Na"];_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Oa"];_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Pa"];_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Qa"];_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Ra"];_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Sa"];_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Ta"];_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ua"];_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Va"];_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Wa"];_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Xa"];_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Ya"];_sqlite3_log=Module["_sqlite3_log"]=wasmExports["Za"];_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["_a"];_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["$a"];_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["ab"];_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["bb"];_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["cb"];_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["db"];_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["eb"];_sqlite3_step=Module["_sqlite3_step"]=wasmExports["fb"];_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["gb"];_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["hb"];_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["ib"];_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["jb"];_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["kb"];_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["lb"];_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["mb"];_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["nb"];_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ob"];_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["pb"];_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["qb"];_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["rb"];_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sb"];_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["tb"];_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ub"];_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["vb"];_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["wb"];_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["xb"];_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["yb"];_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["zb"];_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["Ab"];_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Bb"];_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Cb"];_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Db"];_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Eb"];_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Fb"];_sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Gb"];_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Hb"];_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Ib"];_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Jb"];_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Kb"];_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Lb"];_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Mb"];_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Nb"];_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ob"];_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Pb"];_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Qb"];_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Rb"];_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Sb"];_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Tb"];_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ub"];_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Vb"];_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Wb"];_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Xb"];_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Yb"];_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Zb"];_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["_b"];_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["$b"];_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["ac"];_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["bc"];_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["cc"];_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["dc"];_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["ec"];_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["fc"];_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["gc"];_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["hc"];_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["ic"];_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["jc"];_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["kc"];_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["lc"];_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["mc"];_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["nc"];_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["oc"];_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["pc"];_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["qc"];_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["rc"];_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sc"];_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["tc"];_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["uc"];_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["vc"];_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["wc"];_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["xc"];_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["yc"];_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["zc"];_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["Ac"];_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Bc"];_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Cc"];_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Dc"];_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Ec"];_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Fc"];_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Gc"];_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Hc"];_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Ic"];_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Jc"];_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Kc"];_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Lc"];_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Mc"];_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Nc"];_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Oc"];_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Pc"];_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Qc"];_sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Rc"];_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Sc"];_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Tc"];_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Uc"];_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Vc"];_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Wc"];_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Xc"];_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Yc"];_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Zc"];_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["_c"];_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["$c"];_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["ad"];_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["bd"];_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["cd"];_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["dd"];_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["ed"];_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["fd"];_sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["gd"];_sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["hd"];_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["id"];_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["jd"];_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["kd"];_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["ld"];_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["md"];_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["nd"];_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["od"];_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["pd"];_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["qd"];_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["rd"];_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sd"];_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["td"];_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["ud"];_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["vd"];_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["wd"];_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["xd"];_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["yd"];_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["zd"];_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["Ad"];_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Bd"];_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Cd"];_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Dd"];_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Ed"];_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Fd"];_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Gd"];_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Hd"];_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Id"];_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Jd"];_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Kd"];_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Ld"];_sqlite3_config=Module["_sqlite3_config"]=wasmExports["Md"];_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Nd"];_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Od"];_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Pd"];_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Qd"];_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Rd"];_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Sd"];_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Td"];_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Ud"];_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Vd"];_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Wd"];_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Xd"];_sqlite3_close=Module["_sqlite3_close"]=wasmExports["Yd"];_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Zd"];_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["_d"];_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["$d"];_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["ae"];_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["be"];_sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["ce"];_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["de"];_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["ee"];_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["fe"];_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["ge"];_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["he"];_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ie"];_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["je"];_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ke"];_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["le"];_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["me"];_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["ne"];_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["oe"];_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["pe"];_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["qe"];_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["re"];_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["se"];_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["te"];_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["ue"];_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ve"];_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["we"];_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["xe"];_sqlite3_open=Module["_sqlite3_open"]=wasmExports["ye"];_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ze"];_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["Ae"];_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Be"];_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Ce"];_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["De"];_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["Ee"];_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Fe"];_sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Ge"];_sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["He"];_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ie"];_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Je"];_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ke"];_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Le"];_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Me"];_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Ne"];_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Oe"];_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Pe"];_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Qe"];_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Re"];_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Se"];_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Te"];_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Ue"];_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ve"];_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["We"];_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Xe"];_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Ye"];_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ze"];_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["_e"];_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["$e"];_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["af"];_sqlite3mc_config=Module["_sqlite3mc_config"]=wasmExports["bf"];_sqlite3mc_cipher_count=Module["_sqlite3mc_cipher_count"]=wasmExports["cf"];_sqlite3mc_cipher_index=Module["_sqlite3mc_cipher_index"]=wasmExports["df"];_sqlite3mc_cipher_name=Module["_sqlite3mc_cipher_name"]=wasmExports["ef"];_sqlite3mc_config_cipher=Module["_sqlite3mc_config_cipher"]=wasmExports["ff"];_sqlite3mc_vfs_create=Module["_sqlite3mc_vfs_create"]=wasmExports["gf"];_memcmp=Module["_memcmp"]=wasmExports["hf"];_malloc=Module["_malloc"]=wasmExports["jf"];_free=Module["_free"]=wasmExports["kf"];_memset=Module["_memset"]=wasmExports["lf"];_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["nf"];_getSqliteFree=Module["_getSqliteFree"]=wasmExports["of"];_main=Module["_main"]=wasmExports["pf"];_libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["qf"];_libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["rf"];_libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["sf"];_libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["tf"];_libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["uf"];_libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["vf"];_memcpy=Module["_memcpy"]=wasmExports["wf"];_emscripten_builtin_memalign=wasmExports["yf"];__emscripten_timeout=wasmExports["zf"];__emscripten_tempret_get=wasmExports["Af"];__emscripten_stack_restore=wasmExports["Bf"];__emscripten_stack_alloc=wasmExports["Cf"];_emscripten_stack_get_current=wasmExports["Df"];dynCall_iii=dynCalls["iii"]=wasmExports["Ef"];dynCall_viiiij=dynCalls["viiiij"]=wasmExports["Ff"];dynCall_ii=dynCalls["ii"]=wasmExports["Gf"];dynCall_vi=dynCalls["vi"]=wasmExports["Hf"];dynCall_iiii=dynCalls["iiii"]=wasmExports["If"];dynCall_viii=dynCalls["viii"]=wasmExports["Jf"];dynCall_iiiiiii=dynCalls["iiiiiii"]=wasmExports["Kf"];dynCall_iiiiii=dynCalls["iiiiii"]=wasmExports["Lf"];dynCall_iiiii=dynCalls["iiiii"]=wasmExports["Mf"];dynCall_vii=dynCalls["vii"]=wasmExports["Nf"];dynCall_viiii=dynCalls["viiii"]=wasmExports["Of"];dynCall_iiiiiiiii=dynCalls["iiiiiiiii"]=wasmExports["Pf"];dynCall_vijii=dynCalls["vijii"]=wasmExports["Qf"];dynCall_viiiii=dynCalls["viiiii"]=wasmExports["Rf"];dynCall_iiiij=dynCalls["iiiij"]=wasmExports["Sf"];dynCall_viji=dynCalls["viji"]=wasmExports["Tf"];dynCall_iij=dynCalls["iij"]=wasmExports["Uf"];dynCall_iidiiii=dynCalls["iidiiii"]=wasmExports["Vf"];dynCall_iijii=dynCalls["iijii"]=wasmExports["Wf"];dynCall_iiji=dynCalls["iiji"]=wasmExports["Xf"];dynCall_i=dynCalls["i"]=wasmExports["Yf"];dynCall_iiiiiij=dynCalls["iiiiiij"]=wasmExports["Zf"];dynCall_iiid=dynCalls["iiid"]=wasmExports["_f"];dynCall_iiij=dynCalls["iiij"]=wasmExports["$f"];dynCall_dii=dynCalls["dii"]=wasmExports["ag"];dynCall_jii=dynCalls["jii"]=wasmExports["bg"];dynCall_ji=dynCalls["ji"]=wasmExports["cg"];dynCall_vid=dynCalls["vid"]=wasmExports["dg"];dynCall_vij=dynCalls["vij"]=wasmExports["eg"];dynCall_iiiiiiiiii=dynCalls["iiiiiiiiii"]=wasmExports["fg"];dynCall_di=dynCalls["di"]=wasmExports["gg"];dynCall_iiiiijii=dynCalls["iiiiijii"]=wasmExports["hg"];dynCall_j=dynCalls["j"]=wasmExports["ig"];dynCall_jj=dynCalls["jj"]=wasmExports["jg"];dynCall_jiij=dynCalls["jiij"]=wasmExports["kg"];dynCall_iiiiji=dynCalls["iiiiji"]=wasmExports["lg"];dynCall_iiiijii=dynCalls["iiiijii"]=wasmExports["mg"];dynCall_ij=dynCalls["ij"]=wasmExports["ng"];dynCall_v=dynCalls["v"]=wasmExports["og"];dynCall_viiji=dynCalls["viiji"]=wasmExports["pg"];dynCall_viijii=dynCalls["viijii"]=wasmExports["qg"];dynCall_iiiiiiiiiii=dynCalls["iiiiiiiiiii"]=wasmExports["rg"];dynCall_iiiijji=dynCalls["iiiijji"]=wasmExports["sg"];dynCall_iiiiiiii=dynCalls["iiiiiiii"]=wasmExports["tg"];_asyncify_start_unwind=wasmExports["ug"];_asyncify_stop_unwind=wasmExports["vg"];_asyncify_start_rewind=wasmExports["wg"];_asyncify_stop_rewind=wasmExports["xg"];memory=wasmMemory=wasmExports["qa"];_sqlite3_version=Module["_sqlite3_version"]=wasmExports["mf"].value;__indirect_function_table=wasmTable=wasmExports["xf"]}var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} ;return moduleRtn}export default Module; diff --git a/dist/mc-wa-sqlite-async.wasm b/dist/mc-wa-sqlite-async.wasm index 7906e1d9a70428bffe5b23495f88482b1c8e3f1d..24c301ab6068c66363b22f562df02db24d354dfc 100755 GIT binary patch delta 400047 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

pT>kwTx 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

;O`_G{wS`c8O>`E5QBUTfwQ&B4L2 z$s8OTiehY_)D8m^E`|pWw|z03XysFu;ec(;loMq7m}znWoSo4#&bGQnee|V5-)Ws6 zaA~tX!-xewA1NG>MdC3>HHf3hSv8!X{h|<8I|2*b;Uq{t%tnP<`;9tAJ*!Wim5m4% zI|GM*^varft5>|_@#A3PUIBV9!Y`QpQkPCzg#i1egpleq3GSfuawjco@=Gbn2}&tH zlYsoM0os&-^Hi}li~@%kw{ z5d_`vTM084Xx%XJmQhW7LK#Sp?McNGfn!A(Tc7{~H9y)~t7-2VW?k(~16pownkwD2 zxMGV95C|W^7vyRg7XZG~k}MP_q=ljC6H5J@@YX0ST} zmdg9KlBn8F41Cbk52_ci05@9Pxq1L6!r7qwxOtP%#sTI3O-Bo&|k; z!*bx^J5taanCn|4qV#o^4Ky%eUfy#6f0k1TiTPOVY%MvQyLiai_K@p=ah33K&D?a^ z+(c*EQ@ZL9f9P0uEeg2UocOuAh=wjq@5~3qB4ajGc!*`9jo2IW-(&=Sm4cQ}q{V)g4-nySouZ z)Q9wpIK`-FPJ&ZKcPIT$Z4?a};|H5HHLhL&tdnznwuAQGsf|axyZ(1+Ip7h--KABo z@IEf(tg+zqEBziTV%8usFm1U@+eBZvm2muS5s_r98jC!;1^ww(o`$Vz;bZal(#!X1 zQ{{i5+`dnX$V=R`F&gSj{h!k^^^zdi%iS)vN(HNp02Wi9(;kt(^U#cEwGER8Y6BH` z{etbuqgMxNb=61lgAJP=r3C}Ew#oK82MAzP`PG1uU@N-sd98or-F0z{hX=$V1M_>; z@h8-9`13?PV@E^$5(6^*Y@P&E1iNfvsO84)GWM(_&kI^L`HF`IREw`o`qIoKdQ4X1 zV?$ohUXcKz>o02IR5;w*u(7Ux7-`uouI@`(L);`h^^!J)Gpvc1wf6XV$IDs+sCwUe zS?elapFw+G*19FGmZCnK)Hu+XW0znW(fk#y6WgSYeHEwAe){%RZNEIxO%v|Jogx&( z8T9vHaHqBz|Kmfn5PE)nh*l(xomj9YM4N|bLHWG^1EB%+I+z@#v9D>%>zf1+>>LPS z7!PbM+|K}(_`4xrO1Z4VBkZ>rWemux{}iNdE%l%Pi@|_xNFTlqmUScj`MNd}nNVJR zLu;M79jYdaX2H_LL^2Ix|9RT+hE`uX5KAb=B_o1Q!NR*Q6=qAJ$&KS%)2Vc?P;k;= zz89%zu$HNEs#@%)HW?Jrq_*__Agu|l8KFfPKfES>K+$dD$90r?j=Lp=jIDu8I(-4D zjJiCX;iUqFaQ=veAM99IwfZlfu~wH|<2$#88~EN7%v$lBL#qqKpI z-wU>4@SFT)1yC0mT4W5%m&sgOJb)0?4{}CqrUY?-42}~}SuWl&c{J8^DRmgFeUBV` zH%4ohrEPTSEvHOXkJ0k{{h%3U#YdhzkS2}M9?YSjqrkzPo%IFV zWg#BgBFOwF=0DwqvYT8)NXltqt?nfHoZ8 z#RXUmdjD;hTTG_CZvz;Usp&Y}@b;tE#z9YutZU=6Y6#S{ZJc(8B=w;=H{;T&#RP3_ z@;+doC3ISs^iV+RZ^bIUqrs~Faq2b}1`vZzr+9Gi1I3Yp37|MiohIT!_zWGHh~sbv zk|=t}Ftp@Y_+4$1q?$Mfk+TW?Gzs@6|5Ey7t$Jh#WMYe+z*obHYXNH_n?6bUjUWwZ zuZ57sniHFacuq-S35jfxvowN2h9w|9`|$9E{XjS}f6d@PEHJ9`zE+TgYS>?B1-%c(Umwk% ze_#6`afOQP_9%zoaJQ$}_+bS_KfrKT(^DU4Rgl(Z(g#}I)YVeNgF_B!>SeizX(BVo z`bOISf!0nQf`~YY@dZ>eEWI*4Qwf>E+S2Ehl>b2J(km;+vP_|kZ9TwBLzTjG4L2DW zFQjEkuA($S#=}?Pbr5-4pCUcYdsmr2{jy>7W~fKGL4210QPzkh*dDnNoMgCm_d{sqrV;^AMZo zd;-dj%ut2fGtyL-abXweg5Hrf{TU2;0NpGa`l;3%mf%M|)hbF~koK9@MEP|;6k7VB zSf|glajbOMGYh*^{%tNrz5pu*vH1%v>ib}$@ET*N_ZM1*ym%NEi1$HLuxw|R}lY@Tk~us1%ZwWwYdIL$|>dDj5k zFmq2!3~<(dCBV1*1kMx``^j>z>oovT$u@qg^;6^l@OxW+iEjT+yO-I3>ECI!6J~uY z8H)ZNR^#EUSx@`E0~9`@i+Cr^ja8eic_eWixxtZO5*bULh|8o}QhXKm5K5#`bD$oX zP2bMJK{SiHehiUKJWi|PbM>a=gzI?p87q9R{7tk^MQhRXv>IW zDS7x%RE-AKc4XgEprwt0galV6_KpH%g|QY~wgV=w)&BH)NCS*v1w^8;;tzLjRmEX6 zfaJ!;7mK^V`>X;By2NcApD~my95kpNyPXPpc$-;Akma(z;&-3`LE-9Rl%`y`s-gnh zAL#rl2;1ObFy#0&AL42>3mBj$K&vnwW#4xd1}qDtMFkNFzX_-g5Gn|dydkVg+1kss ztc%owzl(6hBfQc8@nR2E`tBQlr&b6m1%OqSQ*DguEI1iNKcimT!Cpo5ueHmpUogDr zC7SHCYPbLV_bUi}S>umK{RX|e#{WwN%S9jcE9e0xg>@aMm#L9edC<*_h4p~OnEv)1 zz$POf1@{{5bA+5mc8Ci_dT(Uo+d}Zg>ID1$gAM}h28N}q{~8f1!EDvF z{#5=VwOZ>>msW$^XomIZ?X~_)1O%WrXqHN|*ZNBU`-j0y9vWCSaji05vjJWm`Ph3)xeyBU-3@;TOc@_J(%p3|t; zn!`!a7_Pt?BcmQaLC>(P`J0hxUC+aW!%2dzG^`t5Db`rQtL%697POQu+FQq&l4svL zoAavrw-YQB8x5?n#yOw_F2{#oH_GxCf%eZ|02C09scLnJ{e8pB!W9{Jt5PgkUVdep z^#hzqxH;BPa2J9Oc$wfSqWF1n^4LU{51u-5a_Ncn{$QTrWIAJag=tOXZ_UjDp=uFn zs{t+^*W$Ubw~Eyd7Y2uOp&M6und48)B@S2>VIw?!M!jC_w{BdwG8|i>7O3 zuSyQW+Gk*|VqRwA@K+57&k5k%t#L3FRu+Y4#+q8Y6NVzPoM@o!lW8mEUC?!5^J8^b zgJ4ajy&4{BL`$?Bb>n+hQ}VbambTAnq5tA3mOQujXUo!yFGDI~D)3MpNY!lhtYRlHF&|TZlfv#-z>+pB} zXRE)NYl#LFw5^+B66v{Z@DCgxWq2mxiu-uN| z55|R=U;)43*{#v_Vc+}Pao3Oh;4kG~6=kemMfZPzIbjuj`lG*X#y7B8^3=JEi{C^c zaFTZ`d=8DZD7tnP`S$pS=B;910E@O7KdwS~-n9An9sgNuERa(8H3xdHSa|pj<2&o8 z93VSvL_zBfJhJ}4G}^yHlwo?!cXpjz6#xC-I?2D+UpL(JoW1_z+-8f=|9{%taG!s4 zJ=DpKvNrhxYdb2&EiCoZtDwVHRq)N$hnVP~+0M5Igg{`>nANMM?e`A|Vl1qU-Ixag z4Px35bPfo4twL*8nN#-rKU2V_RzK)3udcX7&mV*{>(%|{po4zDf?Ncn58;0F0a|p( z-xSNG@Q}YbQsdS;>^}`@Jn0C0XSbPMkN5|vG_`khEBdoiMn}p%4(HyT3kDoV4Oi){ z6aLj~ya6+4HarQxVP%>5`zik;D)4eko%PSdIyQHog^QLtGYYO{apu$K{Z0jrdCwOh z@MYs|$}8}n1Vi)81+17o^w9lwjZ~iIZGq?Zduf@;cogYv7@BTCxy(;|fFYmhK z#24~g!^8UZ-(lanVs8H(Ep`2z0IUFIB_Jm<|A0H;d>a3Uf4Xa46hH!A=$V>K$$zJH zq3KurlT~s~YZ6MN$FBO6v~a6YAsYwUk9u2lG^f2jJK{i!j3K_Xm3bFafL z6_6!bvu}1|%yQ;+EQZ?&)Z#iO@;r^d?(eGJ!k}J=s7v!NpGm6~_>=uQ!@Yw7CI_!VfUj;?y-u0J;{J!fhYP&>*cVW@&Kx6)a z;ZgYJJLXCUi>sFg})2>Lo+dd(ZzoAQ2`Yh?O3@?~hMi zkKWmxD9*8_7>(d(w~G4R_cx^@5B#0uwnde9g6cGJJdJ%jYFm^sVcXP(qNH~l$cZuE z{N`2hD1%9VsR*cQmeFxl{E0^X;1n0ptQ9VSo|`9JqB07R*CU$XwuMIsCF5@>!R@cx zekwR9!($EFzJT8JifW8jp;AUxbP{dxiewPx<6cn;0lfFTqCRK#cEgYyol0GNqGCpe zh>9kRZG!r2H(Wj|7SL>;sIIPdO$$Y*aAh9YNJTTW>5(XrhRfD6nT8!1KR-&W5bF~o zje~3FK{eid(=R|T=FuP_fT3-#TCR(`>ZJp;BwA#8j{z&+8Q4w*uRG&t zLcjPZx*9E}xaT6kyI}Hx)}85eKrB#iC(`g3(Op?fzr={=5J8YuTclA}_?sY6d9PS8 z6kr)t7%MKTb7w$EOK*ql$YQ=a{T3aH7w=N}7u<64^H0PRLZyA?fCSNxaUd=wiZ@*M zaq3d^dAPo|IWGJ(BuQi__i0X&_*2~mNRd1>j@k`QchTZx@jDlG(!TNW<;<-qVxIzw z_QW(Xok1-sri;@4+cVtt9ek2`XwI96g2(f|>B0iN7@saWCWn8AjKW8zqjxXJYE>O5 zbvs?uB@(g#w0w!56dbnsu050()}tTq?|Xis*0Y9`aQsGvFXh@*ExycL-!khBjV^d6)kx08Kjm^^c$ifeyYM60Q&+S_ z08xoYuuXR9?A#qsRqBaYY)GS?DC@d~p|K!rR@M_^0o(CteG#Rq4_tI$Li(dLvY~iI z-FTR;H5BXBnbx%vJ$O`%SIPYTmT6(ayHn`rf8HCPPNq= zi>k_pCVXuwDDa9MXNcOa&0fPx*`+cQ=(Hg+_!daWm?Qea5brFjz+-(1tXpg0<(2$J8I5Hm>t)Yo@Hx&b14=^#)N&$4?i>8>Z2aG-R zv-gifpeunwnmZ)Wmi#%Qt9pDN^~w>YGtTV8ITdILX;r~k&K=LFEiG9}#9hHYT9yO1 zqF=2tTg{_6>`JrJjA<@PsLBs!)s|uo2P*DwB|54<9;VW*#X!E!Yc2ZXaeN!`F5ixC zBl_Yxt*z(}xAiyMig$7OqpcXmKlX1Y-T*PU&<>|Y56WsU*x4nwy><6hd(7r(y4_wh zRfip+#vQPPKQv$JAYN81Fq;;zLnU_-ZzI&t>e$&%VgbHel& zokafK$Ny+{A#=#H05HJPJNBFy0icr?o)`Um2N0HwU3Y+vJuhk?8b!PydZrxF!KyXlZ0Fhtb9UEsXU9&G$ zU&L-2Yxa9lBrw7}e$1dRUIJk_j8sdaq;iP9=z;xmozC{aPP}ej?;%zpO2_=_74dB` zT#DIKy!YRfZ`^C*7a;w-mCK8^i01UdSJu*ycOjqM>?NL22AUmui(2Y`WAvcIEA9gf z>Nkpc0~_#RT%NxJBVdbVe`dgEu~l)j`Bq=iOM%L-pr5FT)F})Nqb`W1!Rb+@>GS>o z^!bti5YyO_=I$IzL@?}HqSq|NV(GOj5MrL^)M z1c90#h>z3>Qz-uf@tyN7bjvZ_W8=(O1I23!M~PVcY>7c4-nD{bJ62YWkEiB?L<&U0 zmj*uL4-&Di<2Z3>ZYVyEei$Umf%}33i;~%z9?KKofF*;CtoF24?iBNh z!PuacHttaa??reE?O&$}oAqIzx=s-?qfyps#6h(CH9E@NHU!;3Z1a&1#dbKoeKJ&Z z@+|yLHEs=~zlI7E#C!2DP_d&s=+)sOOFg}VJ{m5%pk%>t5IH<IZD8{U3=~dU7=Qjn`@2Xi-u5ntmQFCZXWFABjV*uiZu(8NIbqf(`i~;epqUbn4q% zt1WCxJ-m+soy;v`P&c3I55|gQ_09}R87JB#;dJL%DZqgD3Od_@MgdpUz>kB*iSqW3 z3{{~N|LEf%H;)7HxHH3aj~7!FEU-^M7SG~jx%shZ3B0ApCSVGd)9VvJO&8FX3F2VJ zPe2vZjD4WsFN#Zqi?2lA!GSqaP0BUnB6DU2olR@j$S+2<$of271ci!APMP#TjiCmcm zuJ}XBCc!R$aynSsu@Y`_!KYGEsqy8QDio-mk!&uRE>uNXLd!qFc3MRjKM@0P_w)=f zm8%vkoq>~L0xkO#n`MGo@TvGlRVSS@r_U16NK10g{AxCs6y>7%_Z;C<)O$MJpNr+Z z-c0_SY5ZpDI8U@t$6Tb@^FT|E(D8ZVl6w6d<KjQ zPtnJVaB?0ow=4pGrmjClzbyt;IAW$Q0f&qcnX^=+wyHy-X~;R8tLIjUvXs99-Ca-nSKyGr0kRVO-a4AIQq;l2<158T+;#gJYi%#h z{#t}G?&`+wun3ZBMVVqfeebYl-v=J*+}ENF0MDwd5;GqDOl?$_xZ3){h}HPQ8oIRF z`a;GxX!aVK|Bdy9pT4oba4`IZl*ktj*7F0(=%=gH!4!kgy#uD$!oxCYt;hrO8oLh1yyq^0j7LtScQ#mW z&D?;ue!^RYS84MG>#c?x?YHi4wB8!DNgP%n6n5Mq3dLT`QpvzE)wt=P?mJ@Q=-zsv z(d+qGp5M}nd`!k1+LJFD!w{%%1#Le`F69Qj zupI*7Tx!2VGyqdLeg}Ak!}MSWNX8}V{w+wx4I1|?j;zDb;)%CnZpA@QjGgs25U0!F zP(4GtcJlNi{(Ywy3JGw)F1+&<&DjM(;8q+R-6fg>2`Km-HpL0*{2gfS84|liSv;(< zTMS0g)w``X&hN(2@grq?FKT9;h-b49pu!QdQx2E`fIk(%GHJoma20dGv+75B^LtSb zUp1G1&xZ+o2YwWrAxil7h^Le-=1Y5U{6YUTX|H$%3WeKyvGLbY<9%WUGLIDPV^MfD zl{|ndMio-m17eAa8IT99ZPM%@PO=Ya@a7=iH5yWDi`blmOB=GAGdctZ1T+ z8$v72ib?A1A@uk;F+tro#5{TqgMp)ZY5|t|8+5oplvMBQbh|(lK)G}3g2?6=OACh~ z>nD+>E_d5N3>|O-9YLR;Frz?dqn|`+zHa^rD~CMP?{IWHMO_5NZbmO(#CBasS1y9Q zEi#RtacY4J_|GL!id*#MCCCd4$@`0_jYPPQ{vuw&u^S*c*_Uc={sojUYAZyM3^=Lm zr0;$e-PNr#sp4*6KP>I3}Cnj4~z3crLmZi&X~eha&8GG8Nz zZMpbu_idEHGk~<2$_%sU4tQy}y!8ABpCLN`58fPmh(hdy1|l3A*`@$kc4lJ*Xs%e-2LFs?AjYIY?aYYpYUKT7KmLwM#3>`;vA_L*Lm6c6x3Mnu8Gc@iy* z(pq`PLnuTMx*LVp)>3o7_MCS%UUTEw5G^scL;3$7r`u`x~)ZJ@j``tTslyxS#68X=QOWyTxgVY-D&RURw@I zRyIMaj?X=lpgj&Dcy@x;33q=dXwOCOx6t%XhEJ7%%}0KasEtQCf0DMyXBRl@V7$GO zl)oboMZYF#1HnPOoUBa-2XQ-Do1|hJj!n}lsvBVrKH`cu_oQh*DC!?x8$fVf3GH)5 zd0;-5i5dGB0JQtGP#m2LYU%2dJ#-I-6YxzdV?~NtCrhiMf+c&Uq&5PO+_sC?J28W#euQ0oJKVHW?XqfxK33n zycP#6;TG{3RJN9urT%3XHanKrPPo)5XQ)aQt(7|G3=OQJ?dEGvRc(y2)I3yG8=xpl z>4|FS@>2S?n${1OI@PsdYT=*ers~=ifSJ7R{D#IqqBZ7P0gISOmmbl^(ezr{Mo_%Y zwYBB0qly?qMkphLx}_&IqTz?51MGJO!V0y(KQ3s?l<9%GLXD_3VJoUeqOIwzqa9TK zXD@0rz&ag5g)QRSB78?H6FuQ5I82yX9WX(H#Wd$N(Do@Y6Hc>x8ie*ap9ftPohwe$ z&_}hyp0zAJETZQdX{k{+VZJS=)(rq#wUO2weB#{40Q-8ek(Pp3^KPB+cXDGbLmjU$ z?9Jmeu(7rdl(e>?&7(%Y$@^X;P76B3_cZY?l#Tme@>imEo)Xn5|5V&4?VGZ=+426NYx#^T{;TfJe#qO|(={ zxu2V8ZQ=InqU@rWx6CDvX_XcA@>KKGY_HkJX(HcMk4zDN|7eY(ZMiFZam3c`ygHAnL+u*Z~sLVH;OqdulNCVmY0T4+1f zF$x)vC&bZDEwm(MjCr?(Rzjg3ZM9smH~ZRZ75q0RvT`Jt3)QQ$omSdEW)j~A_`Z5O z?V2a#G43nMP*-W&<)Fg!55Lo>#10FErI1zseU zABF9gz{YeaJ9609pmDEKv_CiaG^JLF)2Z8uR1XD~x!pA91uaSaL8YR@z9*>vMmRb+teA%h%4RSi60M@c9kq(yN_ZCYG?v~Ps{Sw||2p93ixY2JPg zgxplRYCgqPi2X}_`zFUzRyVD(3fvb9zG{g#vlM;Q&FbyKZd#_g%xNQWpXsK(Yd-oC zj)zKrJS^)YOGhL?;(y5cVH&N?iix6aJ+ze|?*m@e-oUwb@n!8A#QVdqXkV&xhtt4U z@vT$Ckxd$3_=FC;sx^fipVU)p!oNP-Q)>XmXnIfWIf&xdduq>c+4iq#Wjup-TiSyE zyrz}(&K=G$nu}<`YdB}VrVFoW??7aKCRZB?S@%M&R#7=@>b$|xvA&XTJ-DdTKS|QzHonS>l#KeuojU^)c7@E zWmSJRI*vN^(GqaP;Gi&jrr~vZHgN#rksckrB2^XwWn)k5@zm30^w+W#s7PhCKLJoE^hzmBLZJe{zc{+g~ml05d|UlEZC z;)`EL?WV^+(VD3nchlHUv@(gSA1=ia9w@V7H+}bs_GIFchkrv%9RId(H`SV@o+>*RDA6d!L2c2nE;c zUx7t|+AnK~=5=9M%CFE072jl5&oJrR`m5(XbvNu)jQlduWg)*%$*;AwV98E@t(C4k zL^T{wFm3|+4<&KHzE|OY$e!fB@afH=drDv`v;kncrcw7*TIp!3Bz$SY@6ps%IKHQn zxk?)al}h8)*qWPZ#AgW9PjK6fpmq*$UtiR$`7n8h7RMr{WsDWI*jA?-^dl>&|(E{X_l#FV9#zc zwen?94VFS3=)bKRtiJ){%QaYkqfUNBTMO0p+FMj*trn61dAB|d#hV6A?K&;7v{885 zeuh)m_}l*5idcpZ8Qd)4v~1kEP1Dx`u5RXSI=5C!_RYTyGVW+9Xk{ZUP6iGIBIk)j z%G`BYn$tkZhU>Io@{i%~@rlm$`K;EjZ#cNbIDgy6$tuwC+my0itF8{aL#@|qA$G#(w;q@hEAE(|uE%Or|4?b} z(+HB=UL*ty*jHYbVW_gcahCLK^ z5z_s?;qusto|}VEw5ch^70RwB>m0pn|TzJj~pVr1pC^gBfWC$vwJ@ zS#^uH86eyqx|Xj!3d=#2t)MF>XwFt`xa+3?zm}sXQ`x!EG1htB#1RkV8?!z+vp1$0tJ%U5|{66hdFsB3e$MfK}0m$W*JCKq1xP8yGtE9W%bJai79qU-082-FoAN~r}}S&s_(#kiYc zjuJSh_NFo`{-Ui=+2Q=mZ`wpPe+l*dU8|&RU*cuHpBLW}TKGHU;QcG}UHn`Iumtih;$e zSET(%Rj&-DoWHeKP}1Tscl@or37CVr*R@*epTE)@*TIv{qXpNsDgJRoU{DNv2U7)o zyxyH|cE6!L1^I^7-^5NCM_q1d?Iv&T^bPx z3QMV!6<{AhqkdEpc}!Iz+%e1 zujSxj1d+xIlDwGm?`t7Ew1cxz(t22QU#o_PHf9XJo{W;!9%$(`ql&$|bd2Pu76xu{ zl(ijR7FC?^QZ?Xv6&OoH9%vO&o$WEgO;jO^ZFrzfEALwhlwKgWfmO-nKLH4qm0~e3 zNFW&=nq)M-aO(TAd_~|Q4t81PLI8V%{Ve2NGO)P39q#N1+U57k##N*2@MdGfw@mDw zj93Q|b8qALL|H(79J|f=u)d;(imZ=z+7KhCAAm$-Xrv-Du_P8Kvb=~gtfY!4yxKga z$fn4CV%W(N@mUo9~IGawd1Bf*L)EfMC*iJcx= z8-wlG-SFbz%!zqe;&6ivOn?sw{pgfwdAx>DE*waSd{5!!2&e}%7+AOAXz1c}TL@Qa zm1Uc7qQa5U@W>9P1{N!k!03O=GP+qbLn*dG>zIp-3I{s#D;yYa;0xhs=i;}}D=gq% zKwZLLj!-m^W$j2VyltCL?YH3(sKAQ4z$HU9(T#HIU7N8 z(KyDNxVW(;=$=bv#51s(J;;n}g{IaF`KYQ}R#bfStXrmIyW80l`TVzfnL(r7GFaw+ zHP23+_)zmQX`fp%$*?1*9RSWs4ix&0ASHNY$vRQt?1;S1SkOPE8d>(1jf7W586j&% zG#n72$Zn?nJ(A-ya0c?6*#QRTFPS6A1&u8 zu&FHz$ldDYLV7PomV&)%R*dYfj9C*at1CEEYsASWAfs=`$!ukzxgbtLgSCZZf-F&W zxQI|X3ts`t+=Yb@7zS4kA+i8v!tN}PBr1h?7v7|&@e=Y~y^|o3I*E29$Q^JfS-D+# z9wG@$Nr^JxL4>51yM%m6a-!$QM4-PQd)`@OmaJ4SwL109aY0+xf>XC?$uSg_EcZdL zb0S%mMynqr%XVOu+NH>$hzvWNBFm@30|sNjqYaRVrm)`Igc=*4l2WnKzNg1hrGb}* zr^=d@0+>nc?_`Lez_as(kYxz;D>u*wM!FdGDG7u`+i+573LFk4)4f!w)dpr?mKT~Z zxYGoYZqNl@Af$1;1pw3-XQ53$k!NRyoU^KaCa7afdg z9^&-S(Wn$3gm$7&mdg^J(TQXrnzXjw)5C-fN$Xs}Xa>3A+;x#INV^NkpnsqPXaVQ~ z@LJlS4crT^G$`9QX1RIC9_=hh&G9eOsP zj=0(eT}yBdh^3*F&LKuV<{m{_=HYo7+$AGGv21YrrDk1qoxY4Pcl-^s9uw5%cZ~0p6?} z{&p=5K`2g!ZiTb$Ms&XR(W~>+fMWqWfi^G;0Ixbw7@l5UhA^A*GPI9mE(|RYQ&Y_f zCI2@?yqbr}i)o7%n@tv?xnf6gHg8Fw21U zjqw-cMzZLZRt9KrDa|4*LnKuqMh96RaUQckuLa$VtiyUC2dCwR4qyQ1_fU|)o{uyR z;ci7MLoziFMUYs4OCq896TA_4Qm|Me>xQGeP#oW!@55THX|q!PVx(brV5u(xxDs}^ z#1!*3+2euS@IYx94hZ-cAU+mrSuwb`N%J&w=)YX@=5nG-LE9es9%SDq+mB1s8NW2ircrIIS8GL!sB&<<={Y_~Vefy036Kqu>h|2qN)Nz{-f>fn*H_z^%8BFzjl%M99YIrAC&QBo}~NnLBmbbbF; z^c~M`*cFcEXBW2E&u-e!R@IQL-NTl%zSCV3C&!U})UYPxgO&7rP5G<}O!)ORWr_4% z$W&^7+9sAb!|h{(wIbOq5#QvkB_D;j+pLys=qdsgr>tL~%9&kDCb^CRDWCe4fsf|i zTC#TL9T9Q85AS!g50(0*w`N{lzm@T(R$ zfCH9_)OxZ8;;q`$lVhlVdpTB}WU0?<(TXpUW2wXANZKCUs&;`76$bHu3re9E%>(u2 zv+Ph@xuI-{mcQ3frn`PZoX6yXK}qI{hO(`qY@gOhHiKrvIOd9@@qcA_s9Pg>8SX5t z8p{mzC&kW?+E->gZ=P-}pJrol?IuWkzlxr0BA=^$^#RPEfmadq=z{+=;Qk%Pgwq@^ z^D5$gJ?v7=k1&}qyu2!1Y+!X5H|aN2kuZNU^gDQpa0C>zemQWNG9Htyp&{-47p)Ers4A?S$8vF30x%Vmi1^D8XRR+Xs<^E!NWTZ|l+06M_=QdJ#} z`VR0X#%X$xBYUD1J)e-hy;GO7xO98JOsa#!dCJV_mpKG?8@=2 zWmkk5UTrN)2kj&P;GJv;KCEGD^8-Q!Yukk-I;*NXiSd4%fWc|kMy8|2*W1Y7+Lxf5xRc}Pmku)MI)me$4g{j=)6!~5u;$(Yzw~lPc|^Hm*6$=ss@O_hyGXd0|6%Uz zBB4uMw1wV%TK06W+2TSNME4N%`u{vF>v-4kJv8+bKa&a6_8Iw+_eblA6A0u8jl2Gg zd|N%ag$h2C@igRFfG?l2es~E$WE zLaL<3zqwuUR{nU9GEjZs?Bn7C{$ErNS-u8RTv>U8ARU6g)c{!O#IL9g?vSpq)M|rw zGDi)bA4Kxi9`kSyK%Rd=enhR>Z!-Zk%-) z6vGX1B~mBOa6UXdSUX4PpB^%;l)sLXQ-9<8*>#*jaO-eD1gjqOqcy048||n1FU$H) zKSG7xdszmPAJYCsP9qr9;kL2>p`J}~VnpxGT2`~6>Xz#mn5ELk_--Bjm zmO1D>*)`U&2-#QJYW5f@8z>ws|M@61tbh)Ul2z0KH{~xvzmi7F6s5qdHd_9} z{>xRyfFw5Y za2AWH!DKlQmvxinTk5qdls!dm;nAKVKgIBloeHhk=)cS-r^y=%#<|UO`6BD9rpsp# zfTVpQYvRuMMD~Cy%9o$WeX94)MjmGPuGe-Z(8QS__4lkN;3)XX#hJ3XI(!pV{R~{@ zs7*BXGucu7XcH6q?%wg6_+3O}p``i3ENG{^%dJNq`&9U1w(RQt#(Ltjp9JT~_tov2 z%$aj!Tc`#%(Us5TAa%@UdVQXJM4hzRTsRNQ#XIAY-6$*iPyGT#7GI(dzmQLXg*f#E zbbR|s|5E0tTQ1R)U&_i5{f2)jZ!1(`0z$UOER=t%s~#}wMk3Kyvb5_wLSAU=P?%Sb zd?g=uu17Fq`XY!Q8wEXR=SrmWi*R}w9}qSnKzD`g@UVzZU9zV9Oi zq#+8>ZlhPqw>%%>4w!DPukjhA+O;p8zLu^2typ6q^CS0xW*XYSv z3a!F2+D=_oS$7|-l7r#2_s=T1RoQNCUM=q;TG3p;Mn);_e{@C5BV$EM8r|(At5V-l zelKUgneELEvC}~|O-llVn1zDJ0Lip33BmSf>3WjCvF|?j2f*^wFc~NxcW8XF|M3dv zWB)|}c!&mC+6nmnFd!a67@&s8rhk%wCE0~)rueIPZn1pVg?gs=%V(Yh3MmI10M#^X zu>xwRMRBopfH=1z#XlDtp+l;_OH-?5IAs{Q3Kxhe);GX9vXU$tPjRslZ$L3;%Sk?i zgBcjY*KhApKr*z@5@4_kqX--DWOSl2v1$Igz(s7C1_Z?I^i~?sAn(wUG{AOkhi22? z%-aCkOBec|k?zkz!N%$SszBB3o9-{oGssnZnvN>Y)8TY~1=kqG_=waJz+%}>&zJCT zpzWqiuT-3x=-<3V+5i4o%F0g!8xpt}nBK%%@JQPTi7vC!Rv=*~@)iZ1RUJ|QAj(qN z;3N+s>Cspez?2V8PRf`Z-4*S5-LdDpJRsl5)$|Ykz9a#^o=FM(;uwK6HIg_fU zL#h3u65D~gW(1*OOVGWD9gj<1?ZHZx-X42l-%s3b|l#c`hr7FWq2dgE_TF zRu*MW2&M&6_~AgLwZLUC@*`2v9R)#1ZFGO$d54ur@BsIL>uWIG_gh zJ(Tm(E`)ZvIMYWg^OwGmr;6eTWdwfog_4Y@7U+2_%PuMCS443LLub?ep*+S(^;T6h z0O1c-bHMzmjl+Fc!Th0CB>MHkj03nYg|*CJV__MY5@#WNTK5?O-fKhZ%G2T`CS%rg8jA_Pk3(SjCmw?^cC6M^Vh6;ry7s|xi*iWdR8f=Cd5!p8C zE0wS_(&{UmnlimU{A>~QQ(plG6ij4>EH(uGw5pQb_P>ma%mhY<`B&@*SX94(=w@#% zm_ymrgX7NwksrZ|+{kP$bw6wTY<)4t4kKvgXn}4BN?G0yQO1J@m}MLdt+S#G=Afg}VA;*mF_Ipm zN>&tf5peDUs!1>zE#xoqqI6rYS{y9UPIDMmA3tJ3Jr;5mUIxp@+&=PMI@r?a2>-Pt z6bx(zjvPLUchDY;aUE+mgC&qI1l96tf%QchkPCD@$PY=my@F9&L%zU|dA^XIYxr}a z%mV5oCe>*uEihZ|U`%C42MEg6-!9ITUJhmQ9l$y&2OT?4h5Z!$boFP-T8=kQ!1z$H zgllXE`-@nk*cail7!JFvF(jDf!z#?fP#Ag5LOOQ|UL!$ge>4KtoT^H79>HEY_zBi^ z?hz7Q@C2ZpJT5tQ&#;_$%?=stvYQ0)$o_(DEs3k_NHNsry#CMzfi4UVx4>>~9=dHU z1@0g|=nFRwmKH8xZRcb|K@WJ6K_ifo1~MO{zN$*ipoWwyPheX7ES04pm%0KIGiDt3 zK)!!yA9{j*PS=B7$kPS_2-F4^f_yyxt^pw{OCm(Sc&r2;aJi%G#l#5{*`5(^q@yef zRdzUxg~-mr(`>K6D2z@r!`~<8Aj27qDjJ9bBWO+yextXA+xf-qXZ$0eMeE6|ba z;%VpY!07N8W1P}F%J%C4qf|d8yqHF6ue;+wSb%WKq{L%{{+(2q4B_^S5eCJBEe|F( zYh{2gaMf02penXXm8puKsY)1I$oDT`xgRip_#dYn!=&dH6A;X^O+bviY|9P@GGZt; zWwW+Wz-|gRgS%n3-D)ZmKaUanUrhyGJ12U9C7BzDyd2m_pi{Yq5BU2aHx35Qw=2Ok zxjlqF(4WSJ&YV!7SI`5@YcMfhUh0s1IjaW$&4xH@EU-^d0)!i%^5&sN)Z=J@ zk1*xIs^V3d3vysDBy=ee@B4aLmOQJ1L@vU)G*c$j-#Wog3{)foj##9l_heg|d&RuY_ zAsNvv)`^hF(}4$8S}io(J~gm5BEAEzU`F8E|D)T$&$cHOraf@cV^IHZWh_==0y=6D z7<2{4e;SVxI*;SxVJ-v<9D|Y^V&*`p*%m944TVez@i*GbECXf$eN>xa^fCU%U>{O1 zT4$>l)?;h-Z~|JJ4ND8nfs&*bUX2f&_eHo`;H|U&lW!|;A4J=8v50yElop;qJ47T3 z-|{OeUZn|WwQa?V4m)SX1=c_-V;{Q6Vc@0iJ7qFDoLXP0f&u)WXL=T&qv4~y`1I$h zLH1J-W`j#?4zC%^x7~X_5-ffRnJaOwaT%OW?co87)JGUbtS;!^uym}|RUr@7NNzLw zWqXSivj<@d2GFx3TMv*uXbTTJzGw3sxT#{@a1U@(yv0E`uuQQ3>`iU~`*9KbXjJ)R zwBE==SGYCM$rYcuAPju=LS@v8dkXl3T*IBa)kdyCL<d2oCJZyF;W#qy*c@fhn|j zB5qQcHL^y`9>z##;uzATlmlvOns~@Pn3k7`izfMIG89al*ko5$9kmCYofAw> zM^?#qp+PE9TOEiCGD;3sB1*4eX3}o?A?r_Od@u8r6Xvr&$a?Vhr)fVz;QNk#{81i& zz&vXYRPU#0{~iecBgwrNCdms^%*uOZ3|=)G?USjBI!+1pQA z$6&)yI+EuE6h$-Xy%X{l0+0Hil&#bvD`|Zq9X%-n>hdT%So)unG7jqdz$uyPS{?=M z*UEh8us-=LwH9TcPfRl>pOSqPgd(VC(1yRL*BRMOod)E;czCm)KO;A?3TW0@IZL@< zHarIz7_cch=Ve>hNnngo%nnX>dmdJ|>9p@WtF=fkfEEJpJXwGi;rc~^ya^fXvkNi> zx8~Xla)ScjX(NuVUe%Lm{6&af+i1l_D4B=~E<)ipnX3MbF(>ocpXFDId+!1^@kRY2 zU-h0r;vyf61rzHBlIi1LFj|vo8DENM&o8nBTZmkgKhPCV>aX$_L@@OG$&)&{-G%z} z*zfX+@}*hrGBi=ZDd_nJ27Uvr`vXeC4OHuj?10OtE6|5+pzBxU)VOs~Rq*6#kpj0HsEkk1^7DS`k$;R z`Pu~qu42q7#G%ADZe$uVegPyow@<|}$9%RcFdOlgEyyfvq^#ZHfwY zu7~y&%Cxw9wZQ?oI0FZU&A504LqhioW$CIjI1mY(Te@`$2mXo^@IFKZt&qMDk`71~ z)V@g8EB8?%u*OlHimVMmEpilctsOBymXD6NNgh_qsv@k#1@vbT6hd1m z^-m}sn^B!VWoaFa3>(am#svsoH?_nD$n$`9XN4u$b!Hlx;kKbPu4mF*oHpY=)+{tgSKK zzFf91kKUH=WS(+G&Sjjnksv4gI0kYYnzIaO}zpLUgukwt8j|Lv~Kiovc4Fe)}XyGO)(2{PT z=Kn|&ZimV}P@E0$>6Q%BZ@N4T=4+>sj_YAIla1iR#2u;(izeID`&Z;f@1!R1r1d61a;1rRM0Z{ z8FdKoP=Abxr+lHmgzR}#TGMN)^Hr+$Yl(PzL(_vHN6qTx_sBEn3ZGiLjv95bm^#YP* zx6g=kBitKq*2@EW4;5LD&rM8CFe}99=N0wWsiei}?bXRYQ`b2BdSNhq8>jbHce|T_zwO(<0YVmM4d@=g z>Y0_K3*SV`1Q^IMS0?FSD%k%|rRbY*$sUb8)NTnJQG1lr_p582l$C^?)26(h1k8k2 z%Im*-fBk~(kI*?gsXQK%} zkeRKw#GSL6o{JazRMXSrhd>@s`ZWV(hWO_OH8M_Zp;^`Rs!*=)t)?eC*%9ZrYN&Jr za%1cBl-1_;>Us_XW?~Jdnx$*%4HbO%rCPd=jpV&+>lsj`kEyMH0pOf!b@UI^4e_*P zjXOm9>*)UIQ5-hTR2_#;ZFLm=R!1KL&#wdL6Op%L51_mAv%DFTKkMkF=(A~ARJc?X zdF3FaK+#~Oi9xVA;?^ClxTWBk@gGp2!M2B(kp-c}pEyKaH|ki|(}o%ux@I=3uXk18 z&i!QrME3a(!DJfps9sV92*iY)$ceuGQN133 zzpg*355k-dXr$+;H^kHl-W2m_BfXcZ)TJg(Q2eTg0hn<&sEJUSe3|~7-O&`+-dEuP}y5h7!HrfqKaQQ%JFc_B+K|cxjm*pPUXRANnrrnS0 zGoE`+ak3jGMxiqkZS*o8+%YbJEX4^)kcD?JN7y1EW&qfdj)4d&)f}i4I@%_6hYnj1 zI0)YxG^`gh){u0uuN(lDH@|A8dlfjz(APP7MJ7EH*GD6_>K}@W?&j!O*u5p5&@1r| zfh#HTX4fZl7w0?b(OmED-4FT!^f#(@MTs-dHP;>?r4QT7A}95~R~c4} zy{dSaexgntp+fk~WoJO!(NUitm(Mf;{f0=!=^$|JO&@g9>!|z3(dth6D=?O(b=K3t z7uW5Kjk<`Q?5r<>oKVykNP2y1CDovh2Ln=ToG+;?T{Dur?xrEYz!P=RGt`qnX}u2s z(;vF%@i-UHchSr9vx4OSMap~<&rVRyCqZsb(5p|vMRYh7J&CNaC#lg>df8ZB&~UMI zf*r*i)daLP^}FF|L4#XKkn!0*Nq;`2pHL4jpgm9PPb>4xvd`#l6@;wvb9z1X(qMY+ zIeoh8G89y{tu*y{B&9uSHhNy)uK0ccuZlgHL;kLMB^a{mbOrr7ORsjt;k2Emb=6<; zf$p*kP!1{G^k;qG_8HhUhkA6=%lRX(L+ltl6j07fyXgstpxE9`e@5}`;<|k(TKYx( zF%JLBeNiW84#a`JAfJ@{5;}g2D!+tA_ok6A=_UL-F*$I$W0PY+cTc>Uf6UzRlHOh^ zQH~W83QvkJ>^&Mz8iR&ir|K{3WfD0nAAau%GS8d4vcrMQIf%EbAD58jz&Ugsi`OPQ z#m;qD$V^k&9ykAGy|ViU2ZE!4d>&;`yGP-uQ}q@7t<-JcPy$%_+bxe~)i{MKTyh|= zQ|3%Hfg!cVD5<2(L)`8kuORU*XtJ-T-VQ9w(>?Xdz#SRcQ?H;z9mRX;XxuS#{cHN; z3?}d(SASn!sZp@2OfV<((i`*9aGaN^ zm`U(kHre`bqFfQZ@}}N{3B#NEs{lN!F#v4HMS6aKUMj?Mjy)Thb2hcGragQLSX+4B z05oSf?HZsr@Q!Bbpi3$Nk|f#hGGMQUEP-!VdP{HSEse%u>Ct;{aYJas765&)GtV68K!vDaE>AVka{TaK&y*`NZ?9$W6QHvk850_J9JNl(06 zt>@T}(C^of(K){$#!Ca=)$^kEg{#|7uJ`nESdEq6(^Hg;8(6@Rxs4o}LAYxLc@LGN z9`Ea;)C)e!i%Cz4;$xe+$U;;9K!4T=XU*I}7^79@$Ak1+O3HB$8}9skWO$4f$62w< zn{O}zga_+=sxy|)jA`hnZM0=&41A3&h#!8e;;}8chC^13sb=FL`f4S!92g2VOc-E# z(r|F`2C)6s(4fFRiW>@wd5fA2)vILw3F|5p%XUs#?hn|MFuBJJoTJG@v66<-=AnAW zN?6umX%niu=y2!R_{Ri>yI(1!V`bYZ{2C6!iIi)TE@ejQ zb$Izh&#F~uyKHS)zi8o?w`W>zX_5!?s6BgJ3j;bnD%J=Git3Iz^`#!i|w285@8HjKe) z|A;P*(Fb=eau`0e#sgOeci^Tcl4n-`*TD_8o5t$%{bZb8!8by|So4tlfIFoM-594Y zsg$o44_!E55mQ*`GfLaLvskb~e|yv3@p_dKAS##^ql{eug1(jS9R0V7qN?N2Vaf{VmFviXYEW z_o>#d8#`4mfxMV;yjp^Mx~!fGuDB9ivo953Wu02+y_YdYU)WLfXni=16^9G6W85J42mdtLmfC@vOiV zn)?aZ?>{LxL;nEEjhQp_vf0)`@&#jH8-Zm28wDQY+)E5&axhd|E%nfPwa(8!*jsV9}M6k<0D{z4@XJ>+ys zw8k zqvqqBzD`T#>!}_*j055MaXva%NWah5do}$x3#fs-jtSvGv=?N0U?Vc%+1o+0g755A z&0B&ug+)~|+4F107kXNgz5oOQrLXLW4Z8bB{!X|5u&FkTK)InBnDy{yvaNNm85Y&9 zfyUnaLhlTvK%&|G=3`p?-D!53g=!112qDD2KFBd_! zd`3x&lrO|YzgUFb+LszH20A%MqZcbfki1>2G(};PCCU!q;=rX!F)_6YPUc|2wNxn@ z1IstjDPf|9Q*tDh%at!KLll@Y0JAoEDHzVDl(iJo^_2XUVbU|H#4>;!@iLZS<4&R< zmnpwsVxKHi_6qcdS#cKymlO!}wtqR+%0s%dTv9rAAD3(FI&e zk8%%O_E^!81M~tIYCd%Ja;g%KrP6PO@|Ea+UbFvaS164Hs?2Ndief9l{x_gsRw}vk zSH}_Xf3}$IZSnov8&)b^u-d~{VK^75+A5_OmSoRWN>dpZ+OAuLVU428tCUp$TVk40 z#t-65usaVH_$eqym2ma6w?&h(2BDKr)3D=5QJK}sFiTnz-0Hg3&=FmvI%}XgGHCo7 zr8OEnyGAMcp^E=ntdVEbeJ%FEW%_k3M1c%r&srr^xDQ@j2l?(96<@D(l-~r=#Pv!l z{4^>VN@3uSu7*;`OME9AN~{kI@nG(Q&mJ?t^4uY3x>8e$qk8E|A#q)9zjX8>j?&VV z!h%khGwJl@bP%2lirAoZ#1#IxL5aow%j+(PR<>+VnuHC26Q&3G`{LF{b6E)NpKqg5 z-0`c4{abE?oQu0{HiAXDM-MhC6{%FbAG~rtU`?vH32L`B^k|dPI$vx3^?&e`z{78> zh6@XlVSKq+36){=sOD%LXu%M>lM+75>!5kt!FilDa<(gxGAK#FE~v_~Y1J;Jv%Ci9 zYo0SNI~B@+l>eNXWnfM((a#ymC-yPoin(DKN+j*fP)5U}zW#3I4A!qZQ+ZYhenCHj9=iNR8V54ETgWiHC0hm^JgKt~S&p}@;R#;ywc0`FTY7I{>ZnfZR8R?0T5f&%I^pO}p!do<;ACAD~bsQ}@q7)Q1%26h< zJ9$KDj2#gH%>XFhQS&Q+uSt>2q0`W#N~EAq);E7Us+5*7qlb?w`4kUhA8Fm#OmB`t zM_k$nIfiW+ePc3&8gMWbtd99x1j%FiizmBj&~c?kp)-521W~Qx#}Ke6R*77Kt%-p+ zmyb>zR}9y!bfHLJO-Uz|X4Xx^SaGH4&It$&IW+7flnzB`_DP`b{j~n1DZZXNsq_O6 z(&!Y>&Mx}tlv2n)Rca6ugfAdMDJ?z)%8^LDPb&>Uk=%k-h(%0WPGig6s@|TT$B=x zX&0drfua4~OUg?mH!edQyiG-~C?j0Y5U>))IJEK#5OFqLy#kd)J8FCtM5-OlyQ z`Y|Us*amdvsxrZug&g)^|G$+4?{CL7rC@I0CU5kZlOEg)T?CX=ROgz~{Nu-`{`2wD zYf8x?KD;LbBaAW3S8gLyO23*ky!6VXd z*Fowo(#h*4QH;0&rl%cMzoF#$P^J3~z#Gby+pscNa0B|kcC_|}QXR_5hc}dZpoo=j zVkRzAznd6G2CclQd|{!_NVK2(7KDq7^u;Y@fc!2O9lr&+!65r>rH0Z@zvCGk5J4yn zyrYEp-}SB~)a`%U)Mw(mu^8Z`+u#n`k$gvKW3?{ktIHjwjA%CTj#5tG*UURW&(A3E zE@pZ=#omQtGl$yURR)9c%D$`g7j!%J9@@KuNO$O19PPhn5#S;w0e*20Cq@}m@4nIu zc*gBk@r_^ao5SCJUnwYLg?jjW7p410Qo?x#?=BvN;Og*Ubln0Q>Qf3R8 zY{LT#-Nx8_Dd4FRCa?FU#PfNpQe0AA zh59{(O0GX0eTwm4rJ!d}lb^-KazE#8NTpZ7AZFz=WuFA3^z(C^m;FW8p5xr}IP`}& z&!or~ik}Qc)wEi;v9iVsu)s5o_AitIGH}eWS0L_JXz?p(W9Qt!uBVpk9l^%^S3p;g zepbB!hFwSx-YBDeA3?7Kb($_E9l?RajJHa<14TI8YxzzoDH~HM?wu0rdu_W=7BxlW zH`4+1;yY!we7#!IVAfK8vL|Uj!?kQ=m)MseQLv~h0WPKfMs(pDd;-;)R0sZ(&2jWDnpu-MUIcksTe<##Z z(TX_TMCvrXiv19BsDP98k>5Ef(aA#b>BUaAIS&wwpauz10@I|fpF9u>B7Lz z(-!3o7h7i;J`dP@-8rd0YJ4!d<9RzGs9Tumy1VIs1d(*{&ws=WXKai7paANCnm zFy3f4%a@fJaaa-}I~Krtm0R;h(tm#~xx;Fg{WQiI86Bk4Ka&1339Krdw4wg9fxS68Q!Xk@ zQJ^E#56+}-16iKji-Uz$a;5|$LEqkb5u9Qm7`v>$N}@jkS=$irV;lziiIY}Df|_@n z6oq{eoB_vDp_`4tsUNhO0vyRSMq$OBTh~hZ+a0uCVR_|CHR+_n%KBqkgqJ8Pt)(Ew z3OQy)=;!09CSwI$R~CxH-7NZsu_&OTag3FRwa+HTiUYgfWURXD@GYxGG0w`$^Wvy0 zXNBMsIF7R}^34f!onyVvB$vwOhuuZwKsSROx_KY6dCglc{YnCDQdtEY!#-5m6?>{G zxk!Ho|LKJOVScpT<`+PRL;Z3i04a-eygHLhpGtoQu{Q9{-LWiB2(e&R$2IadO9}ts zPRjwoEKEKN75YGMN7%`SDLI%$q9dDwS)PW;K#Ic7%N(dsL|fW6Yzwb#EQSoEUM!)Cj?N1bkn>s{Q3@uFn_@4d3~WJ#7wUSzZ!%mB{N(j*)=nwtzGwqh&g;zK^% zXd5ljD+b`-713{#!dN(teOH9Bh_9APJW=un=72HpheH{$dSLG&SRRu8HwJ*3GWI{SAZ@1-;jFA*J8uXNJAD(*iqyR(Mk-v68b;`< zr=~X~6Nc2rGS|g;tSCmXfD0GAElhcluR;Q;zBdKS*gj4;(c!q?6d0>q0wJOtFo zqw|*Z8RFmy=M`wkW2JYcK$0alyoyc(=Hvr1kN{TaON4M1Fl70};HpEG$o_<`& z!e8s*-Y>kbir|Ui_=E&YX*35!gt2*Il-MaYg4J}r%q3DmHl%d`&-?G$*bp~>hJaAm-ri+f@*?oN%ry2O_!rtUg){rq0Ih9 zM&z{a$6#O-5yOIvuVdH=S-$HqY7}HY!TH)w>kF~k@&U~>gfapPGrL(DRD{LaH;Hp} z82v`k_eIzRmTt!Bi3V^0GC7vg{33$ryQ1(>NtR7^$Jkqx)t186UB{m41{LtB)A-Q| zKRjrm7_bjeXw_oiNXFw@@a9g4_Qlu)SpOC&&YIy`qaTa2csOm^O0YVPlcObs25nM; zMd!Y1^GNM5);B4<2-oc7YjA1!C$3=nwFGMco%gL0td}ybD2lzO#W2L^85)9sMyx%q zAjm4o8sM&h;8ILnHQlfjs{t*_xKhAXvnjI_n+Ppn%hIf~6mP63%_3yjT%A(ocF1k3%&MV7nYB^DR^t|2QZEG*tOWDC(^N+WgzOJ-o@pde#hW7fwGmE)u4Yz6jC zN(;73YDvvnvWC8k}&8$&NjfFzfs{f?32(d z?|nMndms2AEN{;?tORN%wP928Z3+kK2N!j;BfOSQ~lPAsExJUiQll*sdqs0PEVVJ-aI}IYiArW7Fl;hv@2OEJfaW zh{kqcU*WAg9l($5Fv34)JtSrEE;C$yF2oholXuaij%evT$}Wu@#3d}H9oJ>MNdN4v6~(Ark*hUI&j61%afm=kw* zmfyZL0PAd^Kg5HM-Ps&W>$C1`9VD#fUw}KfL)l-jI3z8<1ebA#CVq)!n@M}VWXE8G zIJXD(!~)vVgZ&_FHp+d4nuv_F_G^}oPxb4`O5s!Ud$Lxr$$8Kd=-`BrzZV-QBBm#O z!`4!}zN{8q>C1Y_j}d)d*f31&$HXlrW#arIW?juw#Tsv?Z`oiu1-?7&eQQxje|$NW zZuQ5KowLX>fJxGPat_3o57GF6>?irxsq4RE$3^Lh@7ZPf+ycWG#3WgoZ*2IH6%Jos8dk{$a|;oK#%*TYZkzuBiXOy2p~DZ=QWQI!`O@oQY?So3 zG2$1tMYi7nX}4CvyEx{g&*NAf`G$>hUgZuqj5s#eE@c~^j%BcGJxMReu}qj%?-ik4vSuB|zXkFr)i+TrEJXP82-{ff#Bqw|Se%jjT{w1I;>65*VWXPu(mBG*F*O)&F;k3I_fMn{X> zpy=Ep84MqKB*UU3MPi2qsf>u9GhU@f()LXeaES&>U$R~_e9Ryay9MWH*@ZASwlEk8 zak8zL-tu6hz`Cule*h6UMPYy<_Ns90LWQciO1K$XL%H_}gPn1%Xa=(*k(ftakkdUt zwZYp`@Nj%C)~W@0u!P=|W`76~2w^MUw+X9de|$(rQ)cioe5<&~!M_fN7!VmncRkI2 zFl{**;zdQ^@8HS$p|?(0+~+DaLaGf#9v_4W0II1Q6I?GQKxqBG)8k&d5HP@vcoFr$ zNC^K|3o<4^ET>id_MalaiN|Br8{<>=H$xj(pF-CWhi{Ivh|BfNnUK_y_;rJZ8u8 zG(aQaRu$oI2%9>*A01#SK;UbRuxC_vdqjcuDypk)vwENqNaNvvju%zYHVobckBzvu zs1ooaoUPF)tOTKiLvuDvMihGI#vcS;(I-Hw5va%GZ*GJl+qNBeAWFEkPe7}vBz}VR zK~=QfJ6aVz5nUC-3eW?Z#i(c;t5bYNgfaM!?_jke;`9IUoe*vNU>@xEsF_^dj z%uZ#1OWXwIC#>IaJB~1V^Xlz9JXGAlE{7v2& z5sqZT&WIjzW)d#4i71(0pgRFuY;NfN;6>nBJXT;$n5Duibigj`;V?b?yBJ4mv>TJd z0YooW3_vJiSfGd%qlqLJJmp73I{;;vdo%`kBg7u+12v!kmN2Qq%E3ihA|QaXF|fb6 zpd+J0#k^o0!uZ+Gzvk8w6at6&Y29}Bl++wa|hdZ(f;tz0lcr*M7Zt|V!9xV<( z`lPzu!)sR_79A~6AA+Z#2f{YloEjX~TfvouOM93*+U+l*s(Ip!e!S5Dp?sJ!v^Lyo z$SxYHh?W98va#X`N9t|KAzJb%H9l^sUW|i^?T+Y-d7QXAqJ7|pB_g}A7ItH%VEd-# z%H>r|cwW|_<$-Ob>81hjnaijf#%@s(48*c@h54z4BR#qbPbh!90YKrOqd^Sf`h6fj zppoA}abzt|lkha6X_*mP9>~Sb@c=?Th=^xRS=tV<)VF3vw2a15_oyL0rj$^@2}&cP zDbT>eG8ANcBEq0Z`+QG?-U1Qvy^UE{*CIYBB7_2`doE%?41LeXEUhg*<~0KJQZ+G( z`evW~>Gqz8uFx7b-WyR4>ha-wBl6@IGy#h!5-Jd=#szUO)$4#jAnrtmpEN?y^j#9# z3(6W{Zc_va0$~?Nf+)D+Y!Z>D;OZ^#cx5E8#H@}4mZ1WRK@DCPNxn*QLnPSAEs=y& zl-nRd(3;PXz~{OXlCX+$4IGCZiFK40xF{tI`o>?AAc~%$LwF=7L#-McP?_R>v?)fZS!|ai zwKg6TTOi4Qgix!4QEh1bTfbIdw0+(op41(x_0BKSc5N==B7f-)$9+X!_J{w8t4;jc z(9K`j82JxG42$5QG-eLM9^Axcqr zC7n7gU^PQw3hxoQtcbzbud{dglGG}95bat3eZykXlG#1SnjJD?N7++Y1#rp|t(cN8 zoZ6(Y^O5__*wAq5mGs%xZ^@mjezYAqYO;{U)Jc(rPcg6pWCCnJ;Awr{0qZ4w1lBjE zIu}m?mxiZ4(H>QrU>w2U32K^)Kb>);8G5r2%7Lfk|2r$H9PqWGP|rT#tIs}Q)czfZ zLbmibJ~Z-AjCu`i{*#3l+IvmrufT_cWSe0s&6Vo8kw;hbQ$>Ix_Fkixf3i-_LuOs! zP#0>~m!qK{|6+{`AG2EUsKd+)BZMJ@sS863>%`HCe(W0E_=|Ou?idXhF^424z<>9h zy%LRE%yvLFxe^=|L>-r~A4~4^MSv=-OWaKZpJzQ`CkBBi3;G1}0iv|$YVVd2wn>Dm zp0JbNEn#7Sh6yN1pwTA=ipG&C}4Z zt%R}xrj4xH zIrAxPJqxWr`!}mu$b-eZ}0?2PEL*n4^Y&0 z`ZpucV1LMdyUd6ZV33;8$bYmD1W|)jolVa+u<}Kd6QFG^kqawtP)R9yrkR1LGN_a{ zBUzaQ`g9|!j<*svvJG(CXuOGSkzSC`W;VxfiC{SZL!NFd-^>n5xJGoyR+i*?{jVLK zr0Xbj8*AZu=gIWl#@f3^Jr}5X9qr%7xfi&DDiUNvEf zCn@DPHs=Whv!WwU5ulkXE{!5ju-@`UOATb~J^`gcaH1D?hJ6A|uf6oXINbcPCj+c z0b3k?PRq_gJ9UE2ox@b^CVn2U9ZO}-(mJPx0>(Dn1IA=F`|F0db5 zTM(lF+6IyuxMg@3V`nr#$O9b-l#; zz`*aoC3HH4KEI5k@*6bsGM4M_^z1Tg=}fU+YkGx^hgSLc6+nI*y}iN;qf>>h;>_W- zow{9R-J`F&ycZN{5%2ANEGvKEYlLc7ud0M3Zx`nN9A#W;S{6 z8tX2PdqFM#F@X^G4=W$M8)}YNn@2Zc!X5YP0wAGu@gFESUz7iJwDiV!a~(M;i9Wf> zreLk7-(+d>`k6+bTWp0BTD6EAY@wZ$kpl(O8}fgM`58;s9;-&#D86JEf-|ps;69Vcn+c&sdj6qXMIS zg)+n0Qm9bis#RMa1LLt#fvLZk0Ug{vsR)MWwhuE4ap4W9D;Uz=z>5jb?4?AUbbl2ORQ}wNW#D!PWzri}w)^hi4jzFU8n5)7DqO z47cd%E9gXTQOVb=Lf~)3TC57?N<=2j+?|FsjI7Fbg_PK`=!-T>_ z6S5vR1N_E}q<#FZ-)#IW#!tyQqgC^@7`lS^A!u)=%)fK)!n4yeD8R;lg%C`bA=G?Gcoj-c3=i|E3RsJiY^v_!*RW=yeRw9eigC+_BlOOy3H0zu zP*E!B$2YlFO~6SGpGP@<2uy_xpC(!S+dY3iQUYVxKaiI~vcO8Rt>m3Z)=(+MOuAah zG%MMr@Y48Zj>sh$aQKiV`(6mW^ll|+do_+Lj*!L0U48t5=^xHRXaeT}qAY;a2sMOK zQ3Z$ghd8f{#HI3j_8EZyt{EQqE0q@%BZyad0(8xJH2xNheN+%{1U~rdAYR-47+2Sc zJ0?PDXAm#oV~t4dQ;=Cn@{6hFnIbi|~Y^}C2VnTT#8xGML z<>saA^I)7q(-^|}6uFnXI<1O`2&OB!`M2_`K*9fh0{&}Q1TQH`ImWU`9xBQ6aBeh* z=LYRKk^s-`$UJ-c9 z=B0Q~d0!x8bC4mjNz3y&M6Mj)XKb({6?WOl`*Xw197VW?l%vmSv_;t!X>~8^{>Le!(plP zJTk=iw+gl@WEBKK>WJiCHC_zIV!5mHi_&r9d39b$a!#La*MFN%?uI;qYS!dKou?ka zB=Z4ntI1mcgAlL9H#pCs?8XDiuEocRvi7mOA#4bfV|jUW=tL~<=e&U$6LP4b&f5Sf z%-8uQROnEf56!yezs9bG}Nj>*Esz1mc{3-?!;G_vx>O*slBOQbXPZn4wrB z9wj|D8j3_tK-lTk*z7|Z^GK2Tz|vfA%u7J@4{pMX1G;(>-e1DicWF)eZF%!?df1Am zIW`}+!4*({&KuH$*1U(^B@CYMWTi{|djCvn$;*VEgnZ+M&50m2!v^-oU)w-_(rDO{ zSCL#NeQ{vtwv*lg>oWeR)q4EV_bs6HuSNNT8vbo4XC&|Fczwji#}JQ?TJAc39H;IO zf{%QUODZn+=RM34hqq);TfX1@Vva*lIp~Q+=tLi=$@}*4hAb?V>%|;OYsag~Nbj}d zF(Osl^A4Z`ecJOquB`v{0a5b)17_!zA2&N^yzRi-Nv`D>d}Cm!?ip$jecO=_l=1vZ zM}&Mun$n5?B2sr}{dU^B+Z(pSobj^qAF^H@5Y_ zEn(7AUYvgJ$_p#j2Q+IT2FyAe7H(vA<^Hk_56rD@-098_2|;1wmwe`XL7{CA{y|V! zCNf?@LHY{wa0s_V@S33YL%!lA<+mCw{fh4v{TTQ)PZFt5Pb`K^s?d{{MXiSi@(0n- zp1i!Mn%0w77gZkgP5*zmWqo=S zC`KP1B4@a0;Bhc$|2M-N;tCI*H8E_NGx>x~e?Ep9_T#sl^RSG@fF(cg(}0G5%R4%k zqhPilsqs+{w|v=Di2wu>#o_nxiqgikl~Fj)02aP_(sQh<{Kl?pV=ey6CfD%sb`T~1+4_00dp?HA zT@-j>g5MutA~Nq`vhf#=&6EoBus(`S&Lsu4O$5IRW=Ox9KwC%fa)L5F9>EKgK77cgGkp{)G5zr& zTo%Io>*bQIx|i`R;KQqTk#*6I5xgi3h~xg+t;fjgv!2^@uA>>eN|*cMp6b{icmu~> z0aOcV;3vkFLn$M{&z%?LM$1wBfv`o09fNc06Eu1ZcJgI9JBCL%Fa3#5{z)&#fPK16 z#m4e-c+zz&FYJ91KbB8*-9(4&dTX`JQLT&@yYyWXF|3t7V@;oxOg_3s>MS! zmU)OS#`A&&1&}yz0>1)y!ayn%V|JN&gnLKcgajq`#I@=*rU3Czqlr^^GlW$-HHB9a zt?;P;Ic_V$2@WxZ{o_tC;ecTd~6y| z@Uyo9}EoAZaQBGx%B_mHUG?Kxz#8gCCXH_UAT!%H>sIa+h_w{A`E4w4Jd^wn$dE}SM7dnzr zGMCa)x!aX6O+*+(u}md>ISTx(0=rpYpaAPw)IfL% zvuF>B@|ZC!4xA5Zzx0H4Q3yEHfx*p_D@vRqwk`=OX<7@l*$(aC}=lA+dz8OIKeh*(NCuUQ=y*!@` z+7P=JXmcqo*vp5T#ruG#{-RF%_;0SOV0OhorTxHg_o>-_-cP)-c|Wi0vWU!5dbJjUjPAxVW?X85U-7q z<)JIB-Jx`9vVUG9`4A73cEjedA^*PFCAf0s# zY|vzye2n+C<%|bv=?u}D9p}l?0b|v1-d4h4jPoS_8A;qp$b(>Ycb)|3cT?;sFo_wE zIcOVG!|0!D9HAvo@%E@<#GVF_G3w%HL0VrQp^j(yJdwUQ%SWU5mvf-Q$lf}~r;7CF z^L(T|lLe^cKF9M?)CFEsWVw|cb^(o|)`<%+G|r@+7lFuoQ1V6oEfRJKL?DxzT;h%8 zyN8G_@mBKXL&oh(pj$4BB4^N$D*(Dlk9h`dxPl3}M~L*Lg4vzrl;h zd$Vcr4GeE@wh?@j+av@y4!;Ey+JlfYu%Q0lzH7mMtw zJA9*kN|>HKBXJSV%I@+}B6oy%1YjI}5AyJgF#RZvya0Ex)O&oMeZNaTHX~(75Ouo` z)UeMOaUZ%3DS?LP@OpAG#M3AC+;lMqXabp*4>6MowErPGh-}42e1u4iM<|{~WgbIP znihs|pDp(SouoeIv+PsDz};{E*B%{cS<8zn&w7A|zW=YiDy@9N{lxp5o&e+Ypm$Gr ztTfe#eai1k&etEYi9`S8{`suU{+_dX^GHzaCO9J&eAa}+^yj~v9PwV+Y_%M3$t_?b zd-#mRO$&o{ln7?hWGu15P2J1Bmsr+vyh6o}@+j*1n#Z`rqHhdoJ@JV>h`PM+=d|oK z{|0*kYdw^TzX5KDCwjyC*-%p~_%KSY%r&jUb=kmtQ zC`~0V0uW>T)M>!;Mu@+9RPx~G47wknwt%5$%|Nx2%bK?gN(n^SIC>bU)^JTYESTmD zs-UQip+JsP)OYxP9K-h~(q^WLz4U~sjl`VR;_5h&?%}F1E^no(yPy&a(bO;r&6NmJ zGwov)eJ||@f`IB5thSJE0)GUnr9>JZtk&f>kH~zYjL=7xjG3Df+XO|E5vW2(7ozsT zVZyKw^#Jx=!%$W1yP=_K9ca?Fg{orT1%;`f3;ftWOkI!CLgDIPB6}!YU1lGx=x5A* zH#|Hbl$PXHzl2^PFhZSdKj+lXTbph{?tr|;;Rto5EVk>&JcuuD(rQGP$fGs^)|B$9 zGFIeKa^zFpz|Jm;-hjPZE1$Xu6y!!eKqHItxz!HNy%q~S+^v@M{$A}?<58(w@ zFRXro*M2T+zLs1Vt7|{`76EYg8P$uZlVt(GeV=$CVR0>=6jSp78jXvoDxh(kIu|#e z4==6`0J(ioTp3yELaHcNQk{!_XO~o`3a+DTDK$FCgD_y- zBiJ<;P=<|u>j~B2(o$-eSlGKtspSCxuqt81N~^^@{E7~WJiN4uI2(`XTxl45LH}C@ z@R&+zWz;^N^}LkwmsQJo7V=W+Tvn}*G5%3jtpZ`;Vp(;Ew`YHrQww^3A12JPquNze!NQcWSeSWLR7H{xduaUO4>W#7H5CzM zC(zyMYF{KBYN)m3xCu0;24Fsk{A;S;Vm}V4sSXyUPim?IMEZ3tbv{^Bd#t)m90kRy z1zi~st;2Z&<;1EJ;0N-vt`>_Lk1_~xFn9NwcpJi$ms}Zi5s3AkhyrQd> zojGIdVj}a^R?~4Rce=J(R~~-^xA9^_pnXdSf(&Yk|Kqc+45 z;JrF3j%T-0iFz0W)Oz36Q-6W`^4)ss_tG}%R$q-1rB~}?Fi1N!u+ozafTPb+>xS0j z;|+m=dJu1$AaXYoNe27u2 zW#Eviw8tVpL@V2?tEIQ}#b?+SiInykP~uy<^_f~mfHSIti70AxP}d1?KIxzi73sjw z)uPx5b3Zqc(9X}*2Dnw)uOqg{R4Uw2y$@{C{hqxRwe6%P;2`OGC(PU{x-t(zc(>mU z3Z!#e@>ihb1fNLw=|%)o%OSiad<#^kyxp^pw!hy;^sI~eH57SeepFk~@~&!FPjP>+tBWRWvs+f<~S?m(~asL2;#7cLvS zzEGb@P|a-Yq1KSkAEOsN)EOe3`jt8f#ks#$zZ2OhU#sIq8rl=Zk13@m;Psfoda1)j zDfLpPz~QLiH)=(!!%p9*-#QnA^kSbK{zgqf(RaPEP#@8<-f9{g3_ABw>nV3lo+F>N z7z@uxc^FQ6`=~wTyT_3#l-gJAEwZ`$sUt)>ryq(hQRue-!X^6UTlGg#`t)0@ z@*L{bUoD9bQGd0*D81Alw6zE2AE1`O!?pv|lKvNc_43x&qA2Al&dO2-s1ayr^8oCu zcgEWR>U0@t;`eHP$+;Q5^X>rY2Q|38XUTi@Z)u)YZgGk0k(1x=fOO;_w0d^H4&;RN z4vd8TkcAx7crgAJImlgoe^4`|lLn@Att6)0WFD&xR&kHypHyiG7(5jIJOq=1R2d2+ z{wF04#g0Z+8m1x~y|H1KdRCINj#1KZb-MJsQDlUAUVilt)3S|U#;XhAN)3?tfQc(KQ7!MX;GRL%4#iCYH}E^Xn1U$*tgB5`TVsJuoeIu!0iBtOJ=KHCPXiB!hY8cvOq8}y zP}hiTK%%^ztAYKQ3Oq3UEeVJ_b;&87M3(#E>gdg#mB+G1_$C& zGRr^#!re!Tr|nDCyz&x-)c#tK@p!2kX|8_0+{DjimV>E?qlL@C)aG0zndwLX5{N0Uvv|qzBW8 zmDmck($rZpWz(rNwPH59H;KV1IP;IzZ1$c_wRNl(rU7SwKhEsxuLjrsq1a507Z?I#u^ECVmF%O)bhV}YFGD;xwT>51>(jw+dVqE%9m{?|46NJm)M)e5nb02L~OZoNlqGh;@_ToWC%}qdZpr|`GgDJg3_cxnN zX*EjuA~-j-+5!%85pCT9`g4lPZ&efRr=0qB(vy8c>C#q=wco65Y7u)Iq5LrQYMr-% z<8`d^64B)*akU{&IW_!0HCc{T9<;lCC)U55s?dlWUVy4*sBRgL(w_Slp)nciS0V#N zMYtuq2klnd!iDgg-5^qUP~|0Rz1gjfhu7}dOfdX+Xk#XTJ)I)=s9E;qidb#WaNPB7 zkJ=1IUCs8YKe|M(8pA=fMg6Ekl(ScDVqXT!cA?e?MjSUto;|3~KDEAL)${nv2T=4{ zs1(lagB;U?UhPw3#aoCjAuLc1KeyZI=lyD^(Qm&RBYU@1c9t3kQ7TH2)AO-g@CY@0u zY&cn6&>y$yZaJ@(&yVi#pS>!7xD!~nv3SESgGmJ{3BCZn;3mZmz)M{&Kw9$Jg>Jl{ z&UK0wU^uj6dI*l9FXALo6ilJx7cr>>ET6E@L;|GfG}jhe%+! zmt0kQ`FI+H>G?h_*eLP0>hu1cCfC4lTr;LzQ(H;$F<*LE9>>1V{!yP|>D;{z)^jse zyMbrmx^Ae&?OWhSPrQ|1C>^_@R+`QR>tdVp_-3e26MV##vkslyt0c=v}$UVUG59)Yd{R+vB`)V=p4)^X0 zvG{7jtQ@td>lgyO2+CVJM;#=;4W++wu>ar1+x0P1=s^w^(q)4`1m%WqO@9Qz6hSj6 z-;Lbi^u=S?tZjS@X)xW`_ZUpT|5oEAnQis7g$-2gflj%-+wFW zA8N$EgceCoNubQvpmUq(pVz85*=X=aUEn(PH<&Hl!gKEp7{1Bm^HyE%nt#PA+w@kH z87JR@hQ&-9FU-+kRN_(Lc;cqpJbnX+Xuj@}c2c(8Jz$=O1knMT7GSAagmNK<5_)h4 zDSNn+BJ5gc%*kN8cB8CE!wAnKT=fSH!9*O^*f>0ROvLZfZ5U+W0g2Bqe1@KE|Ad50a|mM-Hs2?zK6Q*Re<&>k`{qlTVR7f1GNmGO$5s@h-tAnPg=*ct60plxmF&92f6kRl<1(U4Tp_eQ%&pUNEV+n z(lpIq0++reNIQTpObpf<;j_nrwSHJOdWaT*q*I7i4UtwbN`)xZtraOSMutPN9XHzc_TVCi*J5x*dhJ`qD6JTG(uSQekbAYxN%MQPU!r-J3MGh*lg23ww)b zEkmyD$958e3BT#9M_5!mh^Bp=C!FdP)wTq|xYujiYuE20(B5Ok@_8!q3E(x2+I^zc zgOS<1PqeXUIi{G|a*JYGtC0VGGe#2cN(&t@GuUsl)1hKoUNms8nAre4TL+`p%ZqCj z0FtZ4wJ+cSRIh|q7!%j8g!YR(@c`W|p&iGdca+qU@yRbrX|-V}{AVfcku=4aU0Ms0 zoEreyOqk)9(Iz@G@q7P4iY=@C4db)|`j!2j()Wf;L8y_a2~y6}7Th11BnKO^`%a(nf*;{9Xx5d9)EzS^G_bJ?xGuX!fSz zS5?a|VbV%g(}t@zeT1E{39Xo5#IwIZTdH9k%jlnK+GybWZ>np>aHCjKb*&OWcCb2H z7)_xyw9@EigBsdV7!pR*#0#UTc1?V96=l@a3gLx2HL;p6lDn1`jcX6_fy!_V%Mj8dXwARn;G8TTtdai ziPWQsR!MwreiJQRM&4+m<-=!BH37n%Kuwxztuff&nqshVV8wn>+fM|^enrWlGrk`z^Yn1_sDM(y9 zarK2SXnt06Ex(*RogOyV+<8|`hiNJTZ`pM?4I&Ue$c>(7ke=@cjKV&U+-9NiMgasoAN2~0JL9=607)|+Dx=X8^(K`Rq#y<2Ieox4$fZ8{~l(uxF4MYIB{y8@KQPMhUrI6I_ zsQrM=mfq3aY*#yKXY*K>7owX6bSVg*Mqd@1Db8W`RuLM`+5mL(bLU&-p&`ZkzQHcIV>nN{u zP_5}fp)~UwO_Np_i@wo1N%mBK2q&EntKpQdk0#D2s`mlLY(r&c1~oL6_0i7Dw)6jo zF-z000{o#%1hes%0gIMLf}yqz)c$?Xgt<)S&8}bZn50-zyIo&`yf7lOqFo1^8aY8RqxC znxTzHU+>KTBRht^nW+tu?`F}ZnOY23*xRH`&~j6rByAD+i`_{kC>|vN6q{(uEE5!a zXPKaQI18ZIM6F0`E}uU@DLD5XP2~Dj+lnLI%wM%gDeoo- zY#vbx(MyEW4=!`J5JDL6_`5mSplK8}7hmp2jpk}XZ!=n=l^w8qr_9w(+JO{d$5jk& zazo~6Az*(J=4l)3nLhdiI+EcCr7!1WHv7?-`J$Uf>U^!fE$j&HKG93V0}+2XGBU!; z!qL|7O99T7a%Sup8BR|Z;>-J~+b{4sDt+6j<5m!Dk-Xcoel!aFq3x9I4}_qN+YWV# z?Pqh*yVZUg)m@~mgM|Nbkya75i)9vL$Xh9HF#wQgWGx1)^MlzJpG*g{Z`~ecGaU}? z5YG~viaO^St$;i&orIQgoz~aq%wt(!EaTfg>$Mv8gAz>F61GFf*loR5$7kd-SwCsV!)2a_rQbh< zrq;lRZ&DpYTZ%)>`-WE3=hRDCA6)?T^QCLmq=QDsbYM6T%F!E;Jxbd)AbXZ>Y=F24 zL#K_}7xIxzO4$fRb%Ks=)DD4erEEe^|DoW`SgSZa*sL{nojL$NJ2?F&Z`Pc$&)MH> z;0f`K6y1Pd!EALM?+J}oyS zgogXHGGV9e^+ebU&)&4QrUOz+!ai-U^wj9EU*qDH-Uq9>D>#iK&3f0sc`E;p0fy0bqN44K&>7|i<9Jn82^vK=T&2&P(J&$Wks8uTTdwou65fpzCqdjl5 zJq7VXetwu>L zCtUUsx`c2Lh=}Zqh{$4P&Bha7MEY5J9xeS#SI%qMpgL(6K&pq)(+lSGl)k97LT=PW zt(@3Xc1pd3HFV@6AU=#xovXX70SA5B9M`TgF+1TZ*71x z?+wK(xW8x6JdsBLA6y!I3oOzFn#1eQhMd)eDc*ygs_uoOwrYM9EMdXzLuw zUcGxm;yIx1TSJ;S~_lZW{PX z3w0%f6-Sf}l2&V>^v5eL4+!7RSCE`{5PPjvv~Ne;DspGQ$+F99jmzui(16!k1Mg?H zyw>`PDt?x(UVj6E_tF7&6^^2zH2MvquHdtq-hhqWM&WO@y5XkY#B0|g>%y;Iuil#{ z)1bGY?|bR@w^|R>^?3(miSX_3v?^j~ecpl1-b2gYVf(G1Q}3{L>L=w1f;s-W%0Y9% z%+QsA{^fBHmOIM#E9CmiL2Z#c8RZ*mIBY@nz@ob>zr{KBpyIONrJO;7J-Q5sejJz5 zL-GceXz2=yhLYhsR}i9jQJ_gd~QWs}{ROV8fX0t5&xbjeZzA|g$ZqJW*y5v*uJ2SEe^ zJc@u61yK-CaYb4v3R0tpqS6ILDFPy0dB3xJ7x?{t|M&C0`U!KpGduN}XP$ZL%kgR& z>ZEwoGKMzBtM5Tk?}-GpIr833P{+WiI$KeNA@+lc`UgtpC!*x<^mL*+4<+46Y8T{n zPf{Df!DLC2`jC21jd-JiPbSN*K^bG-N>abU6qtLNT3^aos#*LT;Rw(VqWu`AB2Gm5 z>=l+VA9@hOn?kLE>UM1N*kl!v=;(oD^*3;v8l<@V@SQyq;>qsMi14ekIbAPBC1Cj28zLu*H zF=(=?t1N8+IPSopVylJW83z|AIKC0LBtZTH)zz9r=-tFErVQ@}cL5li=)7PyS4sUlju`A$t0X1+`Ranib4sPF&**)zIbOZ^=@>fdwK zcjbdu%r|PQ4+xq1(K=W(sAJSs1ugzUU3Dt-alQ5M-6G1Xr)Gj`da$0_O8SQ8)Kk}H z9`;5JUTvR1FfFouN%=vD9)kN|HC=kgoLXN!Aps(WHc%_NzK#?2G?!eQRyI)AxzAmK z5;7SBJ*hOQp;{=HI!lIp!N}i8jmJefrIGrO;4ltptRD5jSA_8{96vlpZ`6jZm1TcC z+6*)WwD~{y%V{J*+kZ3El=ee&x>GZ?r++kgw{Pf-CuI10*#KbvRTk z78`11`N&_i%TQm(+wLu}@xG)tT42Ghn#)?KTv*kXwghT8OvhRRU`LU+l{yZXng z@)k5+TdB2C=C@XAFKnJxt<}1~A}_R7_u`8-1^D754JrVFSVoudB)&*(gQbN&ZyT%V z8*S7Oo>sR}AN5_p%xH#~ndG+WXTs{MtgSi(c-6R9MNl5n+o^{@F8|XGo9lJ@dTmkKu1(lN{u?IJw2aboj;vJb2-|KU&`GW0yNVSMY@oNu6pxn1s`dDrc$|O{rdW@`&T7rT0t*xbKc|d3;zbpE z{j3*0qpl4D<=44-7K!FG#$TlOI;&6nu3r>(ghJhtby0`-CZT0FoE;X^)Glge-&8!p zAs8MvbipZ6N|(B*J#lyH&{eH2`?erAUVtl&en=ez1a$EswT8b8Z@u8s6~pd&x~5W- zZfc7E2dg6MW$pU#x;7LqV~^t{-1DI%Zf+NIlT}*QO$|w<=B{o)a*&v0Nm&n=ZMtLo zq4Fnspa&c1tsdA+E9gQGoCX`rRy}bVKzrrYUTPjrg*Cm@r}32W2r>_vLm$DmkZ=0v zz20iRe8WeZ*SIyh*;|d1k9eu5UyzgDM{VRP@nAD=3}>bLqQ-F(XmlU-g#3?fb#A`f zS8XrF@7^OTFGfX;h@F02)o`m;A6NHdXZ-fK`ZZ|I)lUHTenrkF0ha@*!INseJCfyT z4Pb^d@k#Yvr;x|5-cccF7CfbXCqv|x)=wQQoiZo)!w^9}mKLgWaN6|j4;XoeruGL` z`-+bASEr-SAp)1O zV7G+u?d8&mbZ#)VbytcXf^BF?*$0-_`RNdKp(xUAs5--4YRT2l4+Z(q)f_Mkz%C5Q z-+orDAm5lnrO&Eu#ItX>nl92R!_~Lo8)oxx994_V%_D#d#p`dL!xp|V$GrX=PAhrT zP3ri9ic6visu)VgTWHgZ7J@$VqS{NoxRIK^1k7`bw!Wl3Cm-2FOQy97C#jo3@%%eU{Q(+%=J%7;wJv$?ZWxVP6a1fQ9G9j6zgQenotjKn zmw+=3HYua4(^V1A@17Yr_|DNYGt{S~vF5%RDm}rBz z8kAye?cTdd=(lH~|MG%slmT%kmia$>0c8>$5cm#Z1MN1yCv}qGfBlcz$Oy`rqmGct za;CuO^Euds1(fi%y4bnQooYL0`0H(Tnmh;57>`R@$&o%jS~ORE2ADiB51VWYWav~h z+Rx~bdFp3@(#dXw5P{pU(#dA#d@-|&O#K~oodkmK&;o3OgOs>XeHBmB76N@AG^ItD z2kSEkMXb+;Emq+fVxg11`4PTN=v_6(^_v6}Snz-v&u){VQ|LVvW?>)F>i5(Za`AHd z`#qq6;^k(8B`TAJJFpJ#s~-cYNy|XzyiS#usV%)@r@4$oSa=S>JJ;$2DAkPm7vr0~ zE2A~l`VjiRt`F3o;m7IN2kLQv&aZjChbXpcY#ZvmT={a8KWE&Cq>dhsS| zKyOa{6vw-?mcCk}b`oV3VFfknVt~`qFE9g*FGJnw!Ozrtoc`bT07fRpL3!l zz0m=s-Z0f})|2!Ao^G3J4;;8XKF3M>Ieq)NI$C`9&{}o6NPk}oO!)+5e4+LhkFS1# zbNvb0WIvkvI-H)CRcypD0Idhfv5{gos1Lw!*L-Ay`nkZLycFlpIvQ814j1;kH%rw4 zBJH=?PJh@8^tztfY_YR9Yyn<{Ro)i0l_-_B)q3o=Rc(km7Hw6Bh_~7{+=p(PJ+^^@ zhHm@QU#TuxDlrG_Q0K=9=Q9GxN&gO}1Nx%bERvF7Xc{jtJgH>*Qz9&)D~#?*|a(!=OT zS1RieJJXzVL|rP0-U)R}$`}S$!S;TpX{`f6ns!WWBF(1V$JAapW8jx@FSP8|w+h72 zh1U4znTNBQqu(HW_L&7I)G4xiw{X}1U{&dllR&pHnQwbaeGuYt zoE7st*8LKf5+lvshZfZGx@cp?OrM$dE7nWs%uXNR4w}P%Q)|co#@fYDZ7aPN6GsEo zFwAI6y=mnB0~juv^@n;A`|kfJX2zUV;kN%1@}CF2I2AfwnW=#>KS;*14~3D4lk)q* zA)Qjq9Zx0aL4g4~hch1{rPS-AYky(^*HY~ZY8Clc$vWT7As1AqAlj{_CSFtzf<4st zl6qZUFo$~mg)MU{c6QyMX0H58jAPYA6TYePo$>;Eyfo?>sDK3%>B;M=Fu{V?{>6!5 z`rx`cq};7Y=!V+rj%UIf>XnpTzQPv5(WUN)x^HwSS*gOO*~>T8TJGIGJ7sp4CgQLGF_%Tg%GSd2WpGnOP93u&3Gjj3KNM|Jzk9j>l9>o7KM5`O;l zp<#G8cN-V4IgD$i)Xk}d!0M%!oZ6GpdGnZ4yUzobVUAy0DqbJ(Yh&@)BcSyWkLv?k z!#1wD*vtrHY0R z(ch_Bbv%aBv@tbjCyPlAluvSkLE??^X0kCm8SkZ`;e@mRmLyG2RNkO()3nF*C4We| zlm;K<4!8iiecKEEjL-h{0H#}+NL|yl{U9!~GqjmVHe_gFG0x)|+5#wcjn32x(Y14# z+F9}T=PYfgNIU4-0O=ERov!(?yQ*kgA#`q;t-S=zv5nbU325`qRkeE3WphGRZHC2@ zvZ8zR&C&MB|0IyVp*A%pEWsbVLm5nct82+}v75^N@w1Y$HMM9{b!`!q*3cNWsN$?j zeQIeVqHHZXP($krhF61{S`{R{YihYjrq$F!;Qmd&=|nKy$Nf3f(UVb!N`D4QwK1#w zdlJpNKeo4g=sWuN{#Zf!+=W?1?&iZ_0@$dPR@c;8;KR!`H9fSzFJhX((W>|-1{@D* zsB$_1zIw6G6yc+pD&%TS-#6ASNMP}AZ>r^hh`iiX)A7WbX|;=X`p^sEaUOee_fDTt zhQDL@E8gW(su~CFUvOV;d}n8fpNH@hfg&(M#4&M%155Ql3w`2JW5G_J!i^os72k;u zN-d|yY4B4nzH@|xx378-o*C=y2v(jL81~8e_>%TC!y1>~px>Hl=j9Vq=!bi>x2fbR zod3ateJ#51r|P9u?KHvvyUjcY?{b$AAC3;Y%_uEVoX8UW)5wlQ(G$C_R}HC2YW-O!#| z10d^VJ+&5AwLQVSfZx$xT6e(}f2|k1c*AMX7LmTQk8bqRrl7YI9??YD_XCe;je$~> zN3|zFzm9lR>s;;n$t-0)4cv@ZGn4v}avkNk$D?U0qVC zS6}Td4D?E0d!Q8`!=CO+?>wdraP9WOvBBmI;N9Q%n3iZZd0a~rb8`O^TDekXZFA`p z+9(OtR((pFMYjxXhFt8T)$7u@2-qPhOU&ghv@c|U=hLmV%UFzF1sb@P=9mJl0x;y= zMc+5KwbfpisLw#>6{=ky-fIR7a!!>#EBWSil~!@N66JOfwq5sW_qjfT4Hs=%2gBVy zUwT~Bs6EiZ>(sNo*3fkpE;DFaC?VNg*Ex7@UxegS1|PBRm+0pp4oM)(WuhZw%H_U87|qounZe z^JSEOy9>o){@N%ZOy4MpjxS8n1c8uc<-_;9@_`u|f)gK9#yvx|=J4(*!@Fk+?L8K# zWBGBXABSplkSjJUtP&Hy3H}%M_0en3YLhTY+HkG5_Ak(bh(ZA1xBQ($k#rq(9}eJN zaDYA?t~G+8?)l+b$0)zSY&}BzT(pkGXQV!_y-r()Y3=F4OK5ez)hhk;vbI4W#LPFVAaLDXEEGi|&0v>)8asM@EKX zF?0z2g}>NnpabV}2naw@^bbqRUqu;+CnEuH{SmG5SUUQG2H}|_PDy#(OEs_u1rWL?97H#ky`t3wHLks?RdU@xm}uMUb7>aTwu)a*jjI!=>%b{-d5duP z-Wnd@FIc}sjE7h&6h>iNyqvaGWG8^wK`!k*2Wz}z^|g*v_I$jThL6`?lRvW#NR6}! zz+snY+IdelU1*?GqO1ccUOL0wp&4I!X;-nfijRtcKgvMFqopldmKBqxkJ47tiUN36 zT@kSP7%fI?FN4#&aWu|}wWN#z)lonV$6%KiQ13BX3U-C7MC#O4VrKhEwRuAYkKwMW*2$~V2U7|Q%(-$+eELMtaaLZ-;z0)X`3*lw-{0yz6 zqm_j>QX&4Ve7hc{JVU%h0Vk-qK$hLyI7qyNw!hV!u6zZh60|lhCNTd0Ycicv{%iGq zh1u(TEi?4zHrt5Uw%CtGMi;Ym3pp~D?*E#dnY6D&%S_%J9iP<`Yc%K$+`TlIrH$#R zSlLb^zrUCoQN-?h^u7HO*EkVOBs#=NVu*(z{1h{)DHH4=PKpVf#J()iAeo=3)sMAa z+wDz)VXL+Y+G3Yy;ryCFb!Kb1Pke$PI9O_@_#Or-fDP-1TlrWKKmdt_p)0GSh0ry- zko5yH4@H2nUFf4|A*_a7$ok>N#C$ayyXYgjFk9P}VlBMeSRY@AwjvL!;tEk}4{4iY zKD264*3;}awF2=Z0tl?9lW%G(a9Q3sDz*k~dJ91K2_1P$+md1p&uuJsiP|C$$DD=A z$Fz2iRunTa1~H-n%0|k6TdOIayw=lmZ)<|%bmndC9{ThrT$dKny+3QuBH8e>c9Uwq zqcxA2VX25B-0TbQXy2yGt9DTP^;&(T=9u-`vl-&WwI8h)RO=_LSpEjS8gkR0qT<%f zMf(>gHHoUS5mebW(Wnzzw;Y$l&;ykOphGa5Yeg2!#pFv^NQbf=5sWcf`)A;c2($;U zpeil+A=nmPSGkKi9oABCgY17;tC2QJHXLmuL56|%t%J$lQnSoY4r?8p&S~y6`r(B3 zoV3mC@Qb!ih90H=SDdoaPIJd;5M=UBCmEGkCOsTrIlfXaoZCWfvzHvaG?smU z$Nq8bUNj3kCRQ7dza_92#be(jmWRhTlh{-8|FX8q;3pO4bxZ%%m|L1@-cDgqYnv&W z37hEZ<1sNMa5#_cR*@D~Wb?rSL{?vCLUJJ_-r}@E;3;FlK3bK{HtU1KPDAf+^t~5n z*RgFr;P-r8+zD|YVjH6CKYEXd6kWck>J9(nOR}tbc9qg zrrn4U!O@*HuBYzId=>8o-uT^jYTH@?T^+5K;Tc9q3FRc6Bh3heq zll!vu%P4k<6Z@L|;AjVUGf>9jgawSt*Fha5}K48qn zFZ|&P5lIc|e-2}c{b-M5Se#S5uq&9j)(1AnAqN87!PFi~pvo5>W5HWKsCeN=@qFm- zh#%7y`i!vnQCjRXc6uG+=bJaESq+x#d)MkTR2S%?CMRbr`ymmv$BqD16`U@xEO2+T z3I*(lJ)*nUX?_jXKt?4$)L^ZO3ZjAkY;XNgwOGtk5yi%eXya~;8zO>8xDes_*6kQ8 zUYK$AHe#V;Cn1Eu{b2{fEjf(Sc;!$ox>Jpl7Cj`w1sPMe`pV~3%qivt#qD_k0VU#r zJB$h-pp3{;yf758R0Ly9WZV*Qcf^ltTWCW~7WAVw>v`f=V8;0M?s*g*bUEUV&JikOOEvAfVltaM2-n9%$+pJiTT; zg%KGTOsLH?qZTu2ti!kOLfs-q(4?rW{PSyA#Dj;u7@7F|0-nka&(39;O;1K%q5$UU z&|z;?+0j5ofxEu8v>~C@Z}s@XPhO+=BMed5MLlv^#rU~DdyP{2g$sHPkL0p6&5DX= z>_E=6m0)}*yP)=G=lHEkE+gj{a!?5@GwmD%xD=}nPpW0BBRP=8p|FE|K2HS=C=dC8g0y;;ibc##=dX;FpY;$VGz~oM%b@OgEPy9B_50hG?z5l{m=eL+zJvH{ zK^{}_#iw~d$^~>Nk5%>;7(ROnWV)~{gZZolv%aX-z-p>f112c+So^|Jyuyvhgx^<) zqtXWK04jlitr-oO;1AG|hU`T!bUJ?QXXe00>5)1A&$kOCTCC zFfU?Zkwcwo`BcAQExy%$(NmAu>7GR(H^4$Y z-hzc)%VlLed0R3aL(6W-+CkCj*_Nz6;s7mc$?D3xoYcvSAPd)8vL2$zE(Pp0Njhd8 zX~UR=HZQlu30go^?q#*`w%ff7tm-S~v39IbmiM`Az0-^I)cvfP@NE6w{Ve3#Ewm*T zhN0Q9=~S%OJb6FsBteNT?*Z0Dp5mg?OP*v}`~a&Zn~B0x@jWFSKaZoVj_e08fUb6A z-H~+a#9nY7^an~tz1NvCJBxSb3!MSG@)i$5f3s!aEZ^IeWl0CkeqC9*44uXC53znY z%P%~{j)Fs2){V_XnI|7+y zxIC269d6W5-CZsk!BtXDnoYYir;xei_hg?Vx!w~qwt>d>0>v?h*7jlpr4444N7xV< zI(BdNW-Ty%Klf%GKoC~z!-hZ$=T7b+T`nEr68AR>@EG%z^ z_lc=$8+xNS5TXGmk}8xe=;Jq!4Z&7(uD30&)VoED|79>gU>M5)qtfywyl@z6ErApE z+q3M+sK>U>!&y(f`e-;S0&}e92zEbM-6Kb^E)tn#Bk(O;b)A2XHAGV7dG-#B(YHU( zjzd3p*$b?y2qDGFeen9o^CEl1Rpy5;Tg#hW(Thx2ip_nI2`*%clIcv=F}bp>Qi=jsPGlG36oImRhAbs z>!2XVcX-TaUS)Niw6s!c-t0-NCY*BBnuN_a&qYI?4r#N~va+d0m#n(f=TMx7l13xc z#%~BB({MB^h4Rbw(X5??4NEU4akJML)>4*^(}HoVKUCpj$FoeZimQ*e#`WZQmMeWq zv&XZm@_TSGA(S8%OfrJr!HEq^uJIr{ZD(V|47D^Z+H) z0>9?|pJJ0}+a&fjl#Tkl#_o0f0$vxrQ{d+2*4F?qP_@1?8R>bdI)ycL!2;V2wN5FS zMoj@3yN6axVf$T+1tJ>zIsoBA+W9)0E8kY=nWso2lByjwC7`%CI38*&VS4r ziL~k`tebd0`V-a^z_#fVHp_KRf#cZ)A2W>xe9HQJf3_GYAJCCc+2a^Ni#6=gD6^54 zu3?XP4_eF=;a3L$QbzO{dsh020wx;?TsqN2#RJVRP3(TxE(I=3((k01HWKPgoQR+2mJdw-M5ZC4f)h3>sVn70xHQyF1$EbT93g`rh@gX0BGR# z^*Ae&->WWX6nS37!6Fy9@}qpVxo~K*$qyG5f5oa#SC!Kd-5grA6`?JRBs&D2OSYU7 z!acC6oEy@`Q$z4G@zgXF5>KrVI2}pbP`pUmBYrxPj)-H6B3(ma@ze`Jn342BWL+dr zgj72E1`9XL5Kki!3>ZnVgaFY<$4ZD7jdY?E$`mzBkwO*3^Gpfx(viL?h0>|hxj=1p z!O=hLgoq4RBQQgCryw=5De+{Ax8)Ksu-~YM6lm1i}vwa7FSuygV76zl!_3* zU>GYR26f0Cy|lPNH3@MwSPfPk&f#Ia(t*cyw-wzQZ!5xzOI%OvYmN(FNQn9FGUPU4 zS1%p+E6aKYq>KpKWw(ywTpaEWLrC`=%1?4sUJZt=WfF!=m!RHt1;M8AX?7vz)Z%K3 zu6PpUm+)aVp6csk_nSq+?u7*9j=M+S{y zfdM*X)mnalWq~z+O^L=TkD;OCof;L-_q*HR(^iN`E+WoGTDA|fc;%`Ry^(+nb%}#O zOmJFAigY?ME-{z7M4{~=FhQ~r*hne_k!nq?BnWhTg-M531gpz^?4+Zeih3Po!3xnDj$3 zfES|u@`9rMC|uxbju=y-g^qyu$kaKZ$^i`EG;08B(|z5QYslutK6?Q=~9= z0Bg;MhU6>*^rw>0(XlR(%Yn=jp%gMlhebx4)C@jyMvMD7zsRzXxTzN z2S6eQN{MAjyePXI9oV7CCFKYl&PBTutxrr^cC>bPND?a(%@bHTx&`g9-BukDOgy)X36EK_Qtz(sKH|hc9Q^|+~Ns4-ijqGa)D-tyo^crde z$vKpF+=gn8>kfi5+BiazQ{XwLm=;V}JAnY~ITn)_b_;}_Tqu+S5NaH#Q2f$6W3uhN zFIl7}0unFMgLHH@a~BCrA;8l564i@&LccZpDrGDV13z3*qH)BbseA|7I?*sHhAKiI zwC1SlRL~SKT=})s0i=$8HWbE?l6}VfcXLIN_Uyppl5z7ojtS9VB(~X|!3!+%|I%Rj z#>3!UR&;q0^S2ewK=e%yRj}8jq1}Th*060yngx`J&ZrRAnHowA=wd-Fv7n8p5)HjD zlmQK%oI;3StaAiQmk1cv5gq$Yre$X6Oq`UML=LD|%gb=|1~zq~Og6&PJHpA?@{o{2 z$NQKN=0gBVKAaUb93Uiwuqtweq5gR-PA!T79gtiVrLqKWvDhuxwf24xGKF#+Zb_Ss z1qV=@(k<$T6iD2bQNq`m~#VS9vQmp#oDgP~2vB+zr+K=FQ9QH&lB!RusB8zI$DuLVGYBFi>j)uU@e3X`{P`L5hp*rHf?~ z(c;~JY~aGlvbeIzf($?<4it}7-i?7gI<|uzr+aERz;v(Sa2PSehqaH$fjxShuxKlC z3Nyn&A%r8$mYd>3w=gS1qWjXqU`e&dafzq?Zq%a{LQ~AA^u}l6l^&M{BBcZRfaQtw zA#&C~)50O(L{M;IcLAs#wx2oz8a;rKKw563OnvqoZP`|DxGLfu0?iw>|SOGvx*jYIk>^V#P;bdPLJpUML;!HPqJuILA^%~SV0{KsvtTIp-8LP zs91GOL&$D5KH92)*HDsmAOT*i&Rb-61!s}K*J0~>w{lQ2!uFRi_qGb6l}JHRuEL#i z70Sy+wo64T&ky!lMLR1HZM+;_5z?vJdrbAy;&(cFw zYd+&ek!=Z>2!$h!MB^cc5w$cLU>n4mb?&$Ts-XTclMY=H`x9bF?ACU7%_!>DyF?2B zaIxDkr2w584u{yT`0~!=7gAh##O~?1$z`T;7~qHG^$`_B4i`BERI)e74Gat zYfdfIE1cv&VrUoBSblhjzG3fS{K;YW@^GjNwz43ij6u-SI|x`+mA zWZMHRQtlvncWVn#Lb%}w`vs1|KaQ|(SXiLFJ5y%WRn@A?jTx(IS7gIJP)`62>w4(! zhO6D(a5cMpytqc_{-S7iEu3LpAuNoUfLPDadW{(ld>iu|I$=e?w2^X52lP`=j44=7 zYkI^H9>R+RvH!7W!#-t+lxmY5VLjBvDxZRmg*y+mJ}F0#MHbbE$*FGjQ9yQeyMqW2 zAArlQtfgWGK|hKa%!v#{QZ^?VInjZL79(n^KhK%#Do0Bf2js3uB@_k8P?PBei`V z!|{yaGIsps5!ku5J;FPLd$wFJ1SBu+I`PhY9Z`${HaOdC;8B)40WavE4L>1Eeb!RG z9;%0y+RE2Mi;SX3$L(%A0`@AP2X(AII+VRGqmJEjRPKrmS)o%{(k+tLVK~|d@8s9Rj0A9PF33Bp?KYH%=WviP-lj^sRnm z{?K>}hXNlN_3a+oSChDMNCGXIgU^Ah!03rWcAoXIf-RC)fs)G7IBA;@(7N&a5X=WanUPvo60MiR8#I!R-nw|%yS2?rJy!ak_T=3}^JRW|S2LI~!o96p0 zAc1+ibs1|37j)ha*l;|J{D3`G5qGu-HvdyC+CT{+24u zE_Hc?1`1$7fKgsVGcU5OJQmwd?5E!p`sTaXWP0FLkGmK4uM4N8BzAbL&|Lu^QQ6{& zkeFh7D-bUV{DPs{FfR^!%&0TbkJI0VEX)f~Ui40ck78Qu&S6x$5)626Z)EPAXcg88 zirz^AH0>%PqI=xAtU_@TDVIIXD1Wynkv8p0Q|Qy}5Ju{o<%i6)QuczdIi0!LVsCHX z43_#~y0#hOoIx-bV;5nS-e@bkE{&tQ+t|as4t%^Vy-2U_gs|i&_1Oik zHqo|S?0y%;fG=~3$T(_T#tbAQ%P?Wz(aJK`1e0>6j1?kz z=o>c1`*mcL$G%~odY9uNfFZyAEqe+D?*Lityf4zSv; z{eF1EM{s3?bUMH)%B6qOtOG0@Ty@D4_B3`tJy-YUILa=8I)f&{McR9S4HVyG2}N}^ z5n?}^(ne(6WU(6b`1fo&ymSBkJ}D{1zJ^yM}XfIfn6b~?(}nvMsNO%x&D+c3`+rk{>(;L zLL4g?>uZNtj_X%HB!JfAo=7g-hgm*~1}Og*cnbOBFjMgI=3&U-u2Y30 z?6hlAB0L`*6V4zi9A))URHDRqh@)zx#%GiaxfM@CDrYLR{3u%trMZsBSUuN1^v!PS z?PKgaX|g%wIP*AN2y6=(@=3;N+DVoMamDhJ5H6iOM;A}Bis(5%1+nY*RC)>`iGB3r zDG1H>k?&W))%OY_KWv@?qt8LVvZqom!3U=|4XpiG1U&|RP78aL!J$~An9lvmewVl1 zq=Ub)$K+LKsp)ApL%w~H%1*P1+MAOkz%TB(I3yZ|olq6p`x6cL9rB!=lj!x|0eFk) z{ok?NH?Py)-=Xt$3sN!m2kY%UF;i%(@1>XjU@v%Atq1v{%%>ZFuzB8(A`kP=u-^We z3#}ZuqoJXTyo}P%GClF*QXmFpzB}rRDiQkp0!cdESHQ8+t3U)_c{+mlxNOE!z98V zF|GxT8@~(uhD8;`;7?Xf@}Bru^zbAVUtk>aNV>pY)aRmSamq=_ z$h5Jcc856@3$kZ0I#^&RUWh>EVt`|8Zhmy@W0vr0`#?mAvL3dPbxGnUDTrwdF4_ z(DA?6eb~V@E?X_Ny9~J()VnUT_RuWYa~ZPTW#suAg1ytTWDy{{%ilPEzg|a^|7QJM zKPZSzrrd(-rMN51pMLV3M|mXVjR*vAJOJx?@fT~Hm`Qc7KvCk_H}vooR^NSTmQbXd zaRo^9<{sL2g+1Zie#1f2|6yrDE27I));H$k2AI=sMqTQC1?X`9Rd!GEK4&;@KJgG9D~4qszoY4Pmq82AiobR8&l4Sjr_wQ#<5+v;B%y5|P-_};r^f83Dr zuQNEmy}_9L>nxh~4{MvyNSug9v_zxw68`ucLF8NWVvLA9U!#c}o6=wU>XnNl*O)oLE9{{KFoQ|GY)V{$YLOsgtS2zpR~nWC~6FmvsYP z+Cqu`IF)Yx%QQ@davPZQ53|{AwpEhOn3BXlcT%fY!!1eo^E7$8=Wdr~wARI|1h!1` zhM?bCOM-XmGcK?)FF=&)=6UfKE_=cdIX@@z@UFX?7s8JV+)186L!CZ`sqr=s7ivNq z4+Vlw2QYH;qp@wNv6sJ$ZSk3xzYTvaon!cv#OaB;PYAbkxc~%;TbV(B#_;nr%g+rM zH2mP_b@`W`u#6P|`J&50%T?|Vg6vDu5wZX+g#1$8?Dp;yvq~(7#>0mqhJ#AQalAWz z{}jh(;?Niz4|tL1BvNLDlpxJa;1$yMg4D5ha>UD)3SZ#$0b{^@{66|RmFwPpPV62$Tu9|_Vorws73AhSX}p$j z^Rq9V*Ny-6I`Aeouq*~RhLj9mJN}cY(%tVK$lwj)m;L9vnHfAce%^n+`!<6c+J?wG z-63ogBDGe@U-c{*P`f&*C+cXNs#dh{fq= zMV?T^v#T?adqI{KoAbiFlH|VZ4+O4K?R79+81hW8JyovAQ=#Z!ROH#N$??EjECkIXSJg;x8$PiYP^#Cxm>dPrdFbV)S(EJuP~kxWHjU>V(?L#SO)J@cRd*K z1!;RN6~wsco(*f!yLk&2?qs4O>nO8vh@j4Mz&v$WOy``aBA^a{#}!a_Ed}fw2OWVz za70$3jw6LDFCvVo{JKdSG zRwPr;Yq9BczXqGaTlIO%{CHt=)fD;=Nb;cw;i)ROf}jFV?ZK)>(h*T0@UkluAMn%* zymcgfLQEu2gg6!D@u~9oa|p(14X|DVz9t2X5g{{$Ojn9>I2}T~lSFbu{;)hRkrsUB zfv#3V-ZCAcSu`Rp+(EHAt}rC;LV}RcKdjNdhCHKs63+Tpq5^c>i1^)WC+Qjx2nTx` z>?@6ejd)fPv`ZyjsF(^7K_CpXZ))3!S5JoOtd00u3we+w-){}5^3i1EcC=6;IGo4> zbt^!i1F+*=Ux2}6z4sNOP>hibZoE}ikE`l@CggI06{Snd!>JFVLohTaPh-r;AgbP& z=SqI+)tKi%DX^w9lRgD z-8wIf%ruT7zZepf0iX&GHP5h;2DKj{=!g~UBbcfD$Fc)sXaq98DY!J+6l1 zQ%Ud|u{r`K9=(TG%JJjbaD<$C0R0vxZ-T{UwAMYk%u6J+B)(XA4^Mf-5AXmHf<*%0 zJ`8t-NM2|Ima13$8i`-1PsX1ge{N^KSWO+nf!y`Za3B%{l_7?MrEtPd0@pRbou6tq z=UGKIpkm~j4P#-amcV?bD=0{aVFHCA!5Fvlb3{#; zEyZqE3p?8il_KzHQC

5uRxA=Y~hc{zc)$!Z3qy8^SEKke~x<0P|RpKopX6NlckN zRd;tpU9K#~&JiJF?4GgZVOQjpAI&+%9L<%4#32fks1$9t#}p*utxxwCHrG{A>`iEE zCfZh;emzleQT6yp2^0fx#YZ#2>cruI9=WZhq4W8?U97EI0XYL0_O$t@6qULeTnpHG z4Kg4tfu1vXRcy@#1`o#Dx(dMgg1@iOmj*YQtGX9TPLZYbVuQ!)ej&@VH$Q;FT0xZY zBBBFUq%iDn2R5KCX3dNJ(Ygh%m1^nx0K{#T1~dRg48QWTj6m>HTX6jzTZ6#?zNTB5 zn|McyA-Xkem4yI09MM;R(lvGsM44{4oJ6LmN=h%RJ|q7;(m13t7~no zu9R;h>eG_f3Il|(H^6d32~4curv$`|Ka6Sg>j`auNLRPyIf|{MAi5@tu4#0xC2#bU ztx6yUg2fU8iKr6T{Sv#`7X5Q{ncMr_ruWblOjs;{GqUS#TW+sl_C}(_m7f<$G^G`P zEe0IUhLAofl-Zi6Wq^y>5l^Xt!|4&s%w9-vnd*atn-8_-nQ{Q8+IE|{?QVipo(V?Ape*Wr+MjJ6=*91opi&unl+P_E zDz-h!yOg`w$?VOaEO);1T5lXGr|EicURz!;k8=9(1<)zo(}zz0x%FUQz78Iz5+CC| zKNYZ{Zwhq#-7II-~v1;D|dtyB|lGoq2R$Ki(j&YgDlS zx_1)wEdd(z$1p{5%%y)CT*DGz4FP-b^t&$l5l46z#Y zQs~$zDTRi2=dE1h0^sZ9_w#VL^%_eDx&zc95<&263#L4g8wG4?$=`$LikpDtp)_bd z*aMR!f0$Tue56VTd-BORf1l{Zvnkx4AA`>k=K#JPQ?Y9RPVJ3!VE~RcxLzE{i{vG4 z3S}e|%+7;a%sw7>n65fFn>_9 zRYlwpPMKgz03X2zKc}oA-0RJ@j`#v9YsR$<@f(M>CDXF04=9js_mxH#u@i(H1Os;##O$5D1&&J`_g-*%1(dqB-bZqpzi z?3s-LVZ7XirVit~ zFnK+mSVqHHuZ-l zqZ1!c#VHt^Nl#5d)k}z`VDBHKU#9Rw)m}#owid60Qu45u{P>8K*=yZNBoP4aC4%Dy&o*FG& znl%F`rGOrr!Lu<7lV|X;7^zZ%Bk4V=Ucwu~jOB?E+_;4k+N9L3X+ohUSKPpq2sc@_ zL@AQ;A@t{l<9<+c7Eh97GG_5wadP>_763YZ0@Gq+bq4_X_U#0~amnh2&CDX=iLh;; z>2Gqw^JR`;P0_{Dc$Ln)$?GQ#hJ#mlx<~^7DFna?VDZ#>3unPz8uAuz&|nc*U4pVQ zt_yZ&>k#y*AvlrqL7(E>QosNZ1cq$rZ=#g!~uGQhRxxoZ;@MveV?K%qB?K$FJZ(J`UH+(;pVJF{@QOd(Ywz_mD6d& zeBMgF1y9fO0Z2#b&-uIn`vka1%DP`(3?GR-vT%nwCBc(Kdc2>Cz3>guZZ2;p4K`=Z z)05}GC0=4Ec^;b_5O_(l3|KK? zf(i^=E%~PL(~!U#Q;$EX906mAR`*F@w6#KVmyF4>vJ?p2KCx{(Gt73RDAlc)Y~aip zQ8D>X=K^%;=}O5@fv32)QZh$!s#0<>M2Xh?=_#r0=ongCWmCh74iyt7HW!Nml(59kg4G~_6Zf`B(uyP??I7>R|wo=1RFtIE2CvT z&PmR9p+$-A(K1p=sgc|PWxNLS3vI?y&5fZdULhC889==UhTFq7 zqpueistbo@g_ga;2g;wq%zbRAMu}NJ(R^qDj$rrk_x;L#I{aB|7A;u_JbH=_ECg;j zWqKB2hsbAK6rT}HG3zYmqhGkN z`#7y3C>Z*SCv~%pj;Z0;yn*x&_$1eM zcSxqvgo)3t^VcS6MV;^(|++$LQ1ad{Mu1Q%?gEuVwV zJVQ0t@>z26=k(=T@b$LPt+l+i>m$t>PYdq@&ndH3e1Lj99aoX`szFzRBEV4xyB-NF zWGL(T)S5JIkEaIh`GUV3+zRt)(`Ss8#I*@(HP+Mat<-xR?-1Ax3s<4-fS2_7I$kRi zZY02s!DhsL#det}jcwr6W0TQA(Btm)yaE&x1?wyZtA>wJ8h53l2rjp+S=`E5pjCT! z2k%I4+{;^dN4AJ55>f?4ceO58Nwp>6in2hC;sku<6Q~p&@j>}WcMK~pEEfspaf@OX zOlBf9KT1c`)<`7MDYN zHU)thSw9!3Ot8=2gEnY?0J#Id3N2kfAVy>Xg&K}_X#!88T*%?f*YT<#PVn{|qPIYv z_~9M;9L9k99kMcyp4!B7^AZK{ff}%=VHDA#0I6V35|v9ymInZkMAwqSisg}1SK#1e z_a@#h$HERm%O@BxP6~5+Y*_Kg#esFYJeLLVKrKr7+qKZkwsB}ucQGJv;)NTvUNGTN?8GBI-0uBlA zXlpTnwX}tEDqF{s=>0AHt&CN+FADTnkVB5vFwDm*3kk#`Oi-k7V$gU~xJ0mPG-l$r zRW;}WbfoX+c5C<^?cpeh@Zr4?F9dj%=)#)Wpbb?N>y{R|t3|DlgxX-l1SujH@*1|u zkq@M1d|7JH<5Et;13#2c_|r*B1Ir=^MszwDM?z-`F0vCV)5Ubyf`#K@16=l-uPx>G zRXy@$)2#m`Zt5^uw$7dt8I7o{z@yOqulRHFH@1W71t)mE?bLepc3cr6XUd(ovv%;K zpl?Qe%_{^?NMXM??V;RR9TX{eeNrgF_>5M5jr+ith;GlT#}s=*LT-JS;&+0)-%bzh z1f|`Xe%#6HK@u9ji`Ub4{QxGR9+MV9me9esDZt>{1wpFaOzt~5AEe6AY6`bvs2RXM3XqL!o=ItsCKAYl}r){BScn878o&&r_+6iZbf{uy^f#-lb;qphK)$nFZ zhi>|P0o?5|Z$&^#A5ydLd8#}My!?5o^+~^_x=L1^48j!}JTn=ac&&sGy6K zcaUdhbdH`GHp>Z2;^-R4$}cqZAn1ts)c;4^#l9u;M@*UZGLZ3r@Yg`W6{zW`d} zzZRv{&tRo|PE$_BrolB5_hy{}7O>$z(o$5#7-yVv(OFV^m!@M34rM{WZFmEb;|(WN zL^S#aHJeg?bx1^>KEz8w7i1siIqo&{%4v@Qhrw(5ky;($1DpSt7(GjD(HFLx zg?ixH+=em*Za^YpqjEuP6f50gbm0h3$-K=hqoT-%wgn=LSd72wh((|(N5MZSpihqS zny!^TY)wlWr}xY8_08O4m@N0I6&}zYBrn1(uI(wlN-is*8>e_T0hV2USxJ{Zk~4hlAS2PB}6a0fBK^H=6j z@85Z-5Dw9lC5YH5rra7XN`zt1;}s$ep?Zar2&!*FDi28{CNz5hjJ%BG{|86&NGW7qvB9h?lQ84`Ij!vEbB{~^1_&fsb6dZCv(gj5*agSO*RVcFzGA7h511L6OzySlTAqmeWJuBu^#7Ogo# zdl~Dm0a9qyA6%;{>XQGjx&k#EUExU_TIgaZdVd;X@2(clY0F9ds6LHXq&@mn$ zC{@Aoa2e@v^H~qSW3BBT6OkbcnO7_z)S;BfQBnnJ^wD0~I03>R1y_hOJg*Ao2Aay{ zb5pK(4tG`--fI)tU3E4KCiYz3j~0zFepHHckIpp7dTT`CM1B`5PlMnv0V#nD0jt| z+X3D_1Ap=75q)6HU%aOL3&a4gq~k~~4%HXR$R3g|^JVf1w{`n2trBWQ=N|Jbl=3%} zA6B^Oc&*R_bZnVBk+QBpg=r_Py8@k~&rInm*QMxZIF$2fTD5dPjl2eq$h$Bc-ILyx znqTL=5X)lkAD(piLl^b=UQPq=cJ)o(g{t0w4#ql~mJYeayEnjI_@ZRw@iwz>^5>!- zY>T<;gX8j=B)iVjxA@!cZ}z)!y7_*K%cLd$@cUffVaJg&O9@i!znG|%RQ+Gx&Gn~{ zJ-pE|h0)vpLM`S;TKzA&zKO1iGQSeP&6~I`h}%@+@ioeT@Y^hZ* zXYc^Ivy(N!xd4lza&jFoD>qe6zT*19i9(yZD($JZD=0|8q0O>#O3Fs4wAmGW0q6Ab zxzI|?ubdec?ow#HJGiHwZdp(Ox3|{a*4ZR@%jZ0Iol90$x`Por^a*6NC%SWj+N$E^~dV(q7$@{#)eDAq0Q3oiK zj^1EqlZp}Q(H%i$*nLXpC=LUg5g-iY7&QmMVC?$}h_GemGH_?;9=^KA=P^Iri+5k=olIiL*@!8`UTC8lZ;RG>q!BgmhY z>?J)um?p1+AHewF(_k`t=-&y@+ADq}-a}Ln%o7{XOHxActbEEvqcXW_%1ZDu#46_1 zL`)0Pnrg72Q~vS{J;Q@d_ha@iS^2ZKFj_y8J~63nI__hrV>(v)CD z_uoxXzr!ul)!GVpU zz=$aZkTDSBH1hWeWhO=GBJl17k)a%P+xVwXOW8w1;xivDX;=>)){X}6qpfMdMERUs zxERxD)w>}Volgt;<*#F@Z%et2X`~0^<^PAS?*NaYTL0de?Wvn&lXFh$?$SaDgd$)l zW{@VmiKvKRH-J?8#RNe*3L?CsD8U9OB1K%48nA%^0R;gmp(7$qno9Y8@62xC-v9H- zV`g`D$|-NJ`uL;NJzI>>%ERAgi;1kubPb3{^)HUn7XdL-x;O=o zB|1C(guwR_k9ugZDSO`Hmw?}sPdV5IZGMVFa11Y)8Lk1U?m$5d2uya!G+aRd;WNnJ zHZ25!5F)sE0j>OyfMv0R)P>7oLPQn{87_NDBM96;+9>0}OZX|aMriG9no`*8X91Tx zg7(p5055ohC2^2;&UqJo?^PN4S7uNjuoOXW>lVkv(f-S6Zu+;DXzH>=6RP{MN70j$ zQe(pp)D{Sa`tlzdR7VWcHiY-r5r64$%+0$9`**j~9)wZV6NB}sULI&FZFxW4O=I#! zk{6*h0k-K+qqp-#p?>KL+LteC!u{y3FZw!uc7o(W^=M0<))&|8zg}^mH)1G@HZ>59 zpu^v2ARcvm3xSqSFUb~E+)%u&ue?H;jl{#+x8agT;)1T91`@D`YEl!?8yy#oec}hb zVgkkP7qw}`C}DUixJ4Wj*rfe1`<9Oq4?E3M)bu6sCRH>MAJ`|og|;8JrR5fPuwOn6mL7_~r*^5(N-40}jE zeNljC9H&bKqMmjzT)mlqh5mgiX)YFXi;#H;Og>v*JW1X91>%dn(03pKO32KRWLSWK zEr}BvG=#QU_~s9>psyE3G$P2SSXmA_0!4;YhBz(=^w10>pYXtV9nkA(nE^*VEzbM` zu?0fsa+tNbiV8*!SOk=q5hpdE>j3&#yz{b6)Y5ojO%!HJAs02a`3@$t2TvCJ1F)pW zh1_g=L*9kq7|F?!rg=1%S&I2dh9JY>6UGoUPr*itUu?|~uT{u%MH+A$ZnkEPs_k$y zR137CQl3Ku5mo^z6>`{N*ABWcW#CZTVh+l~GpsA|0QiV_hEOmtd;a9)iQ5qHh$Ld3 zD3^1_M7gUF;_CyBW?DkPQHJy{SjYgIh~d_e9I6#H(@?sHhnNt>FtAjXbYt)e){k`K zW37M=-y!9DMLeOz950ab+w69CaG(n*@h+_tVKpW;+6T zU|*p~053mPC~|>0dCw<2N-r29DruhX=P7-8J~8*0vE3!YP;276ffl_|CTC z2~FQ`pP_ZUn@-&>^7YxyS@-$Un3$zfNr4y5;=d5z>4%f)g|Hant(*y+4~w>Zy5LLE zHRbbd(FsQF_GrZRq)*c4UyA-P7EDjb>Me8GM___9R0NoZdBXu4xzzkF;C>G)PT|wL z#58@oM#H+Gs&J1EqAjdDvpa}BFsYpHAgVjYfRj^MR{CAE|!@(6CP8rTCE{c;*}&X4qICNmo0Ghti;qSnC;8h@q?c{-lwe#RI`+4AJ#8 zUo#C}?>w7Cu$7C;`uqSfKA;!an$r2s;vxN?jnun~_)ZH@R#zb*aWw8K8hQd;$O03h zVO>RQR||$aRAL?ox6_ucB2_=Rla6*p0PUCL>L$AIFf0djRH5O3fFG!+8>Ecw^kz43 zo))yPo5;BRow#UuAFCJv>t}!0MM?ca+Oq-h@eUOb{7a?|Pq4g}HpK66EFFJ|&6zY&F46M z2jK;y`X7MzzWsxELPzPwq(KRtU@i^BQFh%lcX&~6F#)Yt!?*PjpK02f@X>q4V-Bqm zb?PSuy1%`~>Rl0)eeUsl+p|_$6J{1VSLhdXzMp6T2`2wR95&KZ4~mBRZ*S214~pAx zb~m40PNKiab1%Q9K?)mBzH>>E9_}xK{=Hg+_(!}3SRwRy>o4ASOm*5(#1Wp(SqG6J z^vW+{w*J#E6xbm;xyOR$#iK#xh#jJ_ekPed*&+H>p7iasPPX4EW`vs!5W6(TwPdK~ zrAeGJ_^^1+@drdf>fb2dPpcmmlE3Pd5I%a`Dty{SSQ8p0cPUN z&^=<5cC1pnUH6EX3eBm@qoM(7w2yvNG}EBwt$s}0rNd+VpvZw*_qeFXU(CdlhaML} z`=i){Zr+dxzwMNpx#f4SEz8G*vK6qAxaGLaMQ{Ek|Hu_@qS@A&GV)x z0j+xU;>>Q8SP+Z09-41j3f2F}A*frCaOm@4D@QBF@H<7KK-0&j(C&dEL+cT~IFRKk zY>#6wwrSTjx_z*?D@0}sxtpfDNN_fYDnu#Bk-m-e!C-N(zWf^9h}_rcDe*v^%KIW- zo@h`v7^ns3#w$OVTMp|NZJmnFG~1sN)%Y=gKZTuGkO;GcaVb87rVSAj0)tR2#)fh| zdA6-k1lyT4aR9>@1uU?}=NqW$P*I}_tX%hie?fQ3vo$jEVfaI#3(!163xZKI-)c`U z4;4MygEH@e35CO$9szIvW1VKKN6S48>FfP*+G(7%fqm^|Lu`f36qSu#VA~e)v{Jiu zlKYLNgZAKf}fAt{Fd|=|&2@K0@?! z&9pvW8UaNV>yn!?Xqud&w@U+Os;Qx7A)J5D(&1Xby7&vWEpznP~97a4si)Y3CN#o6Ma+k56wMDE) zIW2q^BfU;Xo)t40dR}}^bk@hD(5B}^PrN?+c~KvS`sLYesBo~|O*fXsB-7&O#fzvf zTI&U1#N_Y;F9=SNNue7ZVE=#VMG%v(01FnX{rjSLnaW=hse!kUD$kn<`)wVY&9~QK zl-XF!giy-gFO#!a{FK{1lvq!z3jsBeqa5M^CXiq9;cCZe$r0>GYG7G}{w{_B_8n!H zh$4tB6H7pYdehnxF)-E76{QA&m2#OBzz||q08)317R@0={AV<1-xhMdEIN3~Aq7H* zY)ALJEMC&~(9V}3L$sSUMhKA$3pg-BFUA!ft~-S+Y>b)ejuAQFJ6*#?GZr#<9DghJOL_bVcY@?H_`^(`Jss_ssqNw0_u+0Ll6 z-dl_di(y{B`W1)->u4wLfJT`!PBeCGLbe5!{tGo@@HmkSI#M!D_|v&2DwfA%MNhz+ zZ#j6-xQ-T&6Nu4|79wmvR}UYH<;yVhmufno=BwL3E@maF`h4^M2J$EiiY%GSs!V&p_l zk-a7|j6(damsPK;4|0ldvTv{o{WD3t(mo{=&mI|85rmFPKP)rV3B?*ZvL(_DWS77Y zz@JbN1ac8R0r3&Ez_}E-5^|~G8-~w?tB|P&GJ6;A{x$_CnlYM&6=gY@W?$-ig33z7tSk!>?6Q z7S?VX(~ZCKM-M7=RS8rZJEoPbhj|Wyn+GXL*i8?M_f-N_#|Eo#Y-b2p1*_4LDWXL& zF{KD6{?v-9n+1+Tu-Y*gQf}(d<@PqPFukvnrZ&Z7uh)5 zrfMr~T(Bw@3d9mEji!n^1CnErwvin0^Tvz}c_8u(Dnk5&fpp@b!v=<&*i7WX7|xN< z7(y)g!i-=Zpy}~9gr4w$-v_TwDlXMVLPUlJ%HuR_9jMN$LKb@hsrZ$ri*YBLwrBGz z@<}v2nl~`jz(dSZxS)4F%s#&hv`p+X9_`3zruhQNSXTtAV7Rdv1vbQbz}PkrBLXR9zFyzPx1_BZ@M$()#L$iayfX9p; z%>>xEDCRYho`}qi3|?>RIXcywnkd+xgg~mUuZfH&ss!RpP%)u|qq*Z)wpwQcL&02p zJPSx}?Xi>i4PKdgn!l(FbBe30B_lDcm?!4Dpkr5K`D#BtBg)5D$CeiILS^PF>uG6- zq)Qs?OSvuHT5gj(Ag-yNmJ4DL&kWSU?2L#VEg^tRl>nE9a-fSu`ZSSV93SvupxCUN z+N!$<8^LdZS1uWeYFOG-eAf^x1z57dGKDjEmk)+IAhXe|$jBbN$hQW1E;C%#Gm`_} zfyNQrpg^+q16mWUw+%FXj3Bc-Kof+uVTib5JAx4d34w36)zxYtTwZIB3E&Wj$zV*% z#wUQhJ`BaLGVnPkBeu-<6O?f9mu4EE7bV8ZutbL4%6$nWVs-U_&{%+kRmKKGWkEak zjzI=w5RjLFbS=ao!VIDp+A)GaLc355hJy0Z*u?JmgmTn*wzLuJpy1Ph=~yU)xpsgw z0OwFyC?=3r#zFdyKoS7jZ9)n7Rhsz$Pr_A+WjK*u)&*a%g+O%R2`4pS3_viR6i`1o z1oKH*dt8Gbtf#<77kLW53pP#$6-S3qb-o5t8|ppdyh%13c*+0Vn@EAzMOrZmNCq9) zL=)(A)cE2NB`^d=zre^EsH^2;CJELjAQUV*Y|B91AqHfIU&IF@%MKrcSeSqph=oHU zXa^4NW*W+C2keY}dLYE;uCQ)wJSqk`1aQC*6;M`2msx9D7ID!dYygs&Ot^PqZpcE# zAvuVE`Jj$HLfVx@9|HciAg|b>fTOO~08iv4Ph@bZt2M%1Zgd9LgJ!jZ$Oa@vH=vkT z2#g@TECj&7<)MW3A<)(&qh9{2}5z7UH6^lYBfId;*sa&h(mc!$Yd3T%z=8K?<+ zo11wVE~T_LL`#eTfr4-fo3O>qf*%5T+GZP-vFj4`z732UHnWk%$p7-~>M78A-6-M z0!Nv`KvEAY#i{zZ-|gXlK@(l>xKV5}M5gH9~)?93FwVuti4_VySOQ&1Og zXM|4}_F-*!IJga-_~FB?LQr_G18>BtL@$hG-Mqvx%&f$#|2@VjW;5kizAVBdEeYYphBjBT~a%82b;=mRazK z#M8ka;|I(rzvQOHzroh_>eGp;K4=ySmlfiG!ey;-K+0cx98lD(6AnoE>xBbS{!oH7 zfLdgI!=DngAIInvXcbHQr2E4M-V_&g#HjCh8|umHEhy30gn_{3td zP}9zYUtb~~(qdO2TO4!*W<7nzx;y-ovJCrigK95>jp=iGX_+u^Shq|}!=d|fn0b%V zSIfm{d~5c(d0729EEk_s<_b|qyAi%?1=LHr{~VkgUxQT@ld(i)(1|if3#xVy`u@1D z#C&&sShQ_Ws2Y6@$HrFr@N3Zyo|8Yn79s6X@~wo@w3U8a3Dey+N?v82yloZq%&jzW z6{NUr^yMmeXC9?LSBcj4N0B8CZ@Zt`uNFx-dEaV5RdQpwtSG~pw=&lj!IbboMgIAI zBmWvv)AOzd6merHZPwsDtLTX}qKS4cT)IZQp(QkDx`*Vd=8P$I5b-POVdyA|gX^DL z2i>+EU05d`_iSTn){c`8mx&-wzEUP;!4j0YUJOFizgaAfRm<1c!z5HrTh_x-eT+`5 z7qeNlgcRj#7oNC5bkefFb4JU(!(L~RpM*##N32mne|;myYlG;;Z$%Y-qm!l&L7kV+ zzZHI*+xV?$z>|TDfpOTs6HQ$IaJ+NxaN&2@PyJU91&dL&BWGbex~?WBq*A?e_NH*G zdTIGa0MkkOX`|@qc@>F)=1g)niH<3(PwT!ijdkq?p?FiD9<@o_;Sbv*s$|r%?KbvP z`6h9H@^|PNVdz-pZ^v+js>h&?uKSO}Uu6&&Iw%Mtx(jTmDaDF6nl)y<++z;uoQN%Kt~Rb+*4&LKbCZ;SX*(|)E} z2!}ReTQMq`Yp76*~u+nYIk}b)%O-yl)KWFppq0U`4wu_hag(-AyI5^|J?bw!;ba6X8=X2@g&w#!m6#t8; znpp~_R0I|Saf+ormX;AI2uW3s{fd@8;S5sX;TZJKjgeI%BXRf9u!6sQLx*<4tGtq8 zeiaA&6}!`n{9!oOE>Ol1_yEuy`3QW+*ZHb>M?}8k0`~~p z*4QVi>&7aa#Zs9HYosw3+?Y{M0A5|}yFkfDMKSM07xIN}F3R+y;;O#p3cYqrg!D^W zY56g+AD-gZkArT#Oq-62aTrMV6Ceu9!;hT+IcofB69^lqrwI85C>P`!rUt#Lp?U=V z;wPv16PQtnM9$8Q8;=K*jPl=T_3t9&zEKaCo&AlD{SMGQ^b0+95}_Lhc7!*a6ic=K zm)YANmC{TfqVYjKdQ5IG#kxFOqLIhuLmPacXmWlTVV|&;nGyinuvp#HyG6tb6$=PmbU3cJ| z_|o$|q#&k$Gm?tZ>8taiqiYHDdEes{+@K@H>M!BVo(a=97x~kTK`^HQm&Ine3TF&+B9ae}exE0*)3L{(-P( zqf&5q)CF-xgSYmXOJb;g-4i}>NgUI(rnL2nXo-x*gug+Q4$@tJi_SUeTtE<6tjLE6 zxj7@I4d=jv<#>a3{0*=88vyB^JfFiLmeH<%U;}MO3IB>*&v}+=HE@jj+>-juLGEN& zfFJo++z!*>yZ?$FHB5?$n2&t0NgV2!6OLN*J;o-mQp;N` z^c$-_0lKP7#F~ZE?6R@e`g>jj-Pexk1&dKgw}==;E8(Il*0{G3G2`CyyA_RW1M{5b zknQmNT@HC%tDtpG8FDY44d6vY9=mPWzyBmJY>8WTzy&|LWqnYuYi{`!Wo5`%>X&;H z0q*XbRFeW-{4LN-+3BKbUfBtr<9%NF0+r>;`%&mKtETKt{qp30C^=S^xMzV3_Oj>-5Fd($cL=g_hB7&@sj*|c4%rjHu8vWS1bG|w?tuik35VQ7StUNdLny_3844Na zQ=dev@G*KmQFdi)j1S}hfXWkP27mJgQt|DtM44-S%f`1VK3NxWQayY!ul-)g-oCRg z1F*w8VYyu)Yg&Q49-}HtMA0Z-v{x~+tnj-Pfa@{Lt>jmH?~{$Hnc^RGj^?nC!;0zt zG#D^}GA0tAn;Z!ErcxkDjs-e>m?ZB80sc2hX7bqF=16mrWd@uH&64F@J{f18Jd`Y3 zW2mMLVCF^_Qr z7zFvCUApmK{%b6h<*oLhuxZsa*%h-GnI=1U4zWC;Fs|>?WcFRXqn!pI!&<(x7^8aR z$v-l#Wbu=$TknqKoW!68B^Uqm7`Kd)@`TK(a&s_|Li?4sSe5g6FhhiFi#v}00Y~nQt_w6T3BOxcp3qQhVthW5#t+l!d^w+{DS6m&9MUQo9(x+C9hgv; zhGsbY;eFK-j%e8jE2V+R3!|a%P^x`@(SaHXuY_mTmy0z{-fh!Rj@Lkym)wY#bhMGY z?phC>w`2T_Gev3Iidl{2J>b!O8q2&|n>EO4V2LP-1yeyk4$p@L97F};1w>@jC5Oh& zgu0a0HkTj9GzUil^cfSrqSqSBpw^R?HkMBUwm3F4bf9L1}XJlGd&Ly(teMn_nT zn(;DM_rvOAYPE%IO<;t8t-qOuVmuLzmrtS=9G`>%pS!_D179r8h!;V;(0nIh%ZhYr zs9aQw24c?9DYRLPu ze}^)|yUQVa5dz3di*9ph#xt3^wUR@%@!_&o@+l3qZu48qk^0f~^igX$M*rbWs@+Dm z&_DCfYAcxF{bl+rHw5V_=!ciV>CmW%??3?W*S4OS zqIo0ad>lq!@Mh1*pBO`DKS0f%!Z=4YXmt(;wY*E-303svyW|M0ZrSE+KgD#A{psau z**Vm=BW8B}5*_R)@1s`FV%cWVz-Q$G$Mi1tOd8fZ$4>*V#8s!E7woA(xw6iBh|ZqT z)9G4g6mdvg6`x7@L*whvw|@un0;T%EkcV*=mdX%&qM@y6uo-KR0^#V$qZ{w&ib^IT zC2m@02q|_7ca}AZ(VYvn344OWD};k}LsVjh(8p#tlwrpwu3oYT8Cp7Wra4j(kc>wn z;F9yRIT|hmyz&|IksQR8OhEB7g76x;kuro67>H!w7jQomj~h@A3`r+&jjaYJ9V0jfoNj-FPW_S41wl^{zHtau{tL;!t$d z!VioHQ~*?B0W1hMI?_cp=@nxdx`9j`A$Xu*48&f%(qmL0eGGEQNVCETIw62PvBBN6 zAp@6TmNI7&MQiU(3opQVNLQKBwp?TCZI)m{5VdcQ9iL-@PJ5wQ&J7mxbU2jT#G~yS zQwK8}$J{Yp4kM6I}+W5mjGR#Ieym}Xos#vGx!Yf%lu zqI=jSx~&@osTjJqn+(u{uQ)vM@Xs5cbE91lx`Xs;H(9+HZWTO&{pmh{5-1ov4E!xF zHUv2H1d*MeXTu!zyG&;aGaR39E_@4E-(0xrKwjtGv|#hzCt2YE6}XTekcMs#yUVnG=ElG;!J|SqH;f5UyC`;uN5eebGn4={ z=J5qn0m=b)yO0gb6}v&9SZex3$*2f_jO(30*lyP+LrG5Il!I5Ea2 zT06)q&EWzW#-~v~!J^^bXm$oz>|WA(KtQuoRu9?uUIy+s-$gALqZh){$OwoYC>V!{ z1-x$fF%ZKj#pFg7@njGaS;Weh`BPiWKglw2dm}LxE@Sa*TGT`4H2lXA=eq@%B_e+7 zLQ&J>&DcoTimV(u-p$#pZSiJa?;)%C01{{qVWK1mLfv7MKQAFQIno*f3%R{{OkF_=jRN$kLQIGJJn2foBr1|Y*k=Vx3b zcP~hl$iVs)pLp=^c);mAKg_K|PBo*wYfh+eW@ zUBq6o2MW#AbhE)58%O)|#R#~H4&BP#a~b@xqL1o2PlD8`IeJ$w+uA}7vz$G9y3uhidU9q;4&_TH2{65sBWO5rD|ia zOmE*Ut3QD^I6?`KQQ(MY90pK0ID#8&1#k`Y1%LwNGk|ZV^N6t??ogl5bM+py_@?RwM@l6x=fbR!nVD2 zjqrBBiznKHv~u`7>R`f6Zxj!vE)b%?R*Bw;AhW?Z9rY~f``$A9HaqVNPqY+v1gvS) zzN0$|4GkEngO36tECQl+WaPpcrQai~Bzhx?5z`a5Zx404N9Giko0K;~Z@Pjr0l!gR z0t_k68QnezKYSHVq6Bf2GT})-UK?FhE8f{G&Z9u$4NhvqhG$qKG6%vfhF(*~ z5$HRJ+Zc}SCqTpq)3nNkx{NO_X^0udu()j|6x>L$5KjcBnJ~ri5;AeD++g77QuKM_ z9}|$(%LF!&=FPSH^UU`K@LqVSqYGeFAaxnrF9BBYrbr`Ibb+s!T*aRh#}D$LV0h$} zaWv&#nU!rm39eC=5iRlC8)>iVGQPP?-`^{1#d{;oA^;t}OLYBSDXjtIp1F$NJ zx{L$BNFG3>plE_MfC5w?*5h5#*PFx(8O&{9w|r?t$n3BvhlSV(WL^TY%JoN~aKTMI z{XUsPora~wrf|U?00an@KRR*Ravvn=SUQ7?`a(Fe_A&r;2Di6C8i4r}ab}Ff8Y89; z4+Sf151@_3GxWk+p#Ua4AA?wA`>e(nz*Nlq5Eb1ovy1KVu5?S9vWn_>4XfKHdj)O2 z?OHUZJ*5)D0TrNlSZHQ>h)1;c*b=I&)}WR5avMEB$N%1odLn>M^WI_;K&+ds#-Y~D zPewb3{_nk58_uo!pZ8kv^U+%)T}A)*)=Z2X%rvRMmSlZOF0kE+U@Ja}fUE+W&-(0V zcep=7tFUoaOHxE101OWMqqRdVkY{YBjeTWRKXyd&UgDT(`ux#Ng|r8x0?DvilDdqq zk3%{FC`DR_M6kwOc-#q*7n&WrDO-7x?L!a-84KRAVE`Wb*+}095K*8npI$R+l-945?!pU0$fPj9*`-6z*evt zm^?_u4m3VuHM9U~Jys*n=HaE{)x=pxWC;-FtDd6rD+{Lwra$s{b zC1psj06%{)N)IhFl#_ZrC=0w^gEJ#g0h#DQS*WZVqE}XnOv#QZoqbSBCt@w%)Ja>G zoI-*AGB)Uq*rwRwFkg$Br2rxk0_UMl{pB4{DPVAghLj zaop+9EZBwUJLpn$p+Dpfz=Nl9mvhbiU~UaA7BOg{*SSe4EQpAUUQ1mD$Ut`n$mkiv zYX8W0LtCz8y%TpwCu?-PKSw4KmGfxr0GZk+@-4*}4L$_c$$Tp!`$f63 z0rtz=k_!-s^G4SL0ugos5)1PulmM`xyiR0V@l@v_ne_li(xZ(tX2@-t7ifreiV4O8 zi|n!XLfnCwLVR?DGTLD5QNjt4A6Ia*U)U)Te+UgCh^m3OB6?2-U?hO5I|J>hxZQ(L zVc>28q*kg&S?R@KwrEofK|M1R%MajU-3tFRb&fs)%L(}IgdiLSEx;H+4AtySZA2jU z5YBxID1G}D4b9Wh_hK&+%}C#XAKfchJws3s!uS%IZ`ZQE<1++A zv+#;ZG5HxFb3M(AD718n|5TXM@ z@+~X};jtd@fA-ge5S<|eN;b1B&oDDv?SFv8YWA5#LmvD80!cyyNTS2Ax^uErV@G=t z07;}rC%PzOFd)cwP;IlhCqljJYJs+hwnkd42{ci}1?k}l!v=5$9d}XiiZ{NP>4OdH z!)*w#=$RZA7qW38ZVK-AKGO!kV-kkQq!F(OauGoIe^D@<;W2WaEdnM{vGZo)dC;U; z|4idgP*vG71am#-LB^$Kydm}eRmejKSL5Qw=hIuR7=*>I1K?6X}q*^>SfCFb8@B>X#jd>eJ2>fi% zn_X;t0~w3U9~+!f;)IfJh)fVPHv`&V?l3?#FD4eyK-WeFLu*B0*h?>hT{i_2=X@*( znY@8$yaKp^HV*lei=9U41h9h{n>qgwQeJGZCfPb*_Be3jzB_=r10c?otP@IiTa)RT z#t5X#Lq$QAyZ>TN7+VeSN6x=WMw353zC&Rh2Ca&@rfIvtYd}ecx1nM0P?fFk8! zi>CS>7S_Gxx9ZlmBpsaoIxR*zj5_p1O* zWcqfdpxLgS^`gp7>k;t03t}y-)EJ}2bl*z{S9?^t6|~JO92bfQj#aLG96dZpR!vD_ zwHmmUgqGQ%ocSz6(OZLL?P?wlS4A;U51``ae46llj7;OuM7FMOpp%1Se$sVdWxUk^ z!=zL3RC}<@%3?zZvkb;{kpBoZv$(pO4h~CBbwP?i*(oX+EE_`6X&T`OZr^FU0mXx7 ziE3+DEn~y)HskMcpbr_QOA6qL4&0S12sAK<3!p~LR)%vN5%Kr|A0Zu;@-#|snTFYn z4{P=1I-6-PyS<9N6TdA|*$ha+HL{``6n#AE6Q$i||gRl=Htrrf(%`B5f zq04Lph-vKKY)zy2%{8<5C=i{&;UDB&Fcr%|Ty%jg2bTM&^oxNYs1`P>e{4Z{(;foq z7iYZ%X(@);S}>4A6Nbnd&{JAk+eBXuk+o1>3~q|b0o`HEApqI~xdhDg4r@eK)kdaP z#;$3QxS{{Utz-EYJXCF{Ebt+X&t^Rsv+s|bzIj7ssxXy()Vz(LQ(5E^dV8pB3hxa7 zmnA z{dK)b*Ks`y&vBgeV2iC>v-Q@Rv4mrTe`E(`50~|8nIPaZ*$QVw#UpN-fr7m@He|y^ zk<}>GQQ9T_eyEH~Z*y0t!nfj|q(?@`Bx*lW?)LO-g9Ib)qFD23xk%r5gnoTm4xxKr zl2=ggWqSKqvtmaw8r`yQ$ZqV%)^lX|K3esR97hAbKs4IAwJ{yxS4?rybI-|oPIl*X zrB|n*gb6x$UZCJ&Y^{)U=CSN zn?}hhdRYpU)=g=S$XPgFC+>?)qHe`c6$h^i!pK8WWztW6xvNHm<4vv$lp7Vc!pZm_E zO~Ts<&`TOGpW!YLW}$|4&XfdN_jlknnm++CM3?Bm1evEF_0YL?h%XLKln;6lMQul5 z7aZ$zo>S?x=P%KLhCU*yQ{EIf)xUJ0DTw@qj!%-LZ$3&Tli|w#iWW|mwe&ab7`1EWjal79xkfq+CAi zpfA)=W$ya9K$-hw!$%c4VPm)hN zCm&;v)Mk>c-An5EmfO)utDIyO-S(!e<$ZQctI=bjeR$}JH|2Y-9ckG7BjlSct5!qc zBqzgo*;`@R3S5z5C@fq3ypgwh8QnWuJ_DpLpDiCoz2io2$w1*c>tm} zt#hVF&p}uZ`nFsCc~_)%3P19lwXheWmQ<4 zTV_X}bMG8k({CA0`IkK?HDdmfLv82CJN%ZVlz-WcdJg6<0h&EWHuYQ9PX6WKd1OiR z(}Hw#jx6w(?{Omo%Zu2>BHwXG0MhTaJ=E|W8S;fpvf{)5;pcZ6A$k;N6D$j3Ji=4w zq!?AqC5U4)Bb@iXNp7PmPrnf+aqb=YOdJ~-AxQZad5vl`;$2zQXT`g5oRIE2=RiaC z`R~dR$ySUTqPs!A5JRRLHK@*9d0U)i6x4lR*^OKpJXcnYvqIa4R*9C`} z1>6)g;*75j@)<*e=4i2Dz@cRzOf(n)uuBmWAqutLG%>*NfZFbqS}LFNTLwcko8-+2 zIFnp9bOfSO8ER}9^w3pAGwN6rFaD+{0vVtPC@>`pmtonfoW8|6f>q9x%GxoO!6^~z zM5h*`>00x7((AKKN{J@r{?v;;*LTm8fdtExfv6PUu2>_V#>|sFiY-$FG*LcR-+DP> zHKQgWT#RW)UT)bS+`iu&QR@S)G~HoX3`-FKQaX)>|NR*JXz3Sj-wuz_sPadiQyS;t zS!xALfmj-+?-vjBilX;q>tsu*uz|p#gp3b_pfRm`4^VDO_W_6^5YNnVjZNtCd-5-Y z=ng=CmKo(M>QV7qDe`st5#)~3t7U*ssF+H5MTz_9J#a54DpHEG5tVe7J-hI)0#!{ zb!~09`=>Hd16>=i7|~mMY1(4Mz&uKyFGkOyy>w_XX!E1w{0wo;2& z_GjiL-&-e7S|<~hV0|8?{3UWQu6%ci`OM8r%p1-v!Fw-Jou!Dn-Aluk%5HH79Z@GF zHpur6rgm&8nkn_5>r3Um&iChlOj6%ve0R8HnLMf?Vd=5Y@!HGu#^7l?sQskg7ex0aTFbhh&_o=%1_g( zm5B4+KnGW%c56HGuL32#L_<~~ie(T@UL{*`E;Xm3HS!Nsr0KmDa#7RpM{A`=M^N8qWwPPD=RIvgi8u98 z^TzxTh)q!_6C5=%UdvbQvtp?;5f&fuRUI~uwk z3v@F4(Rwg3{dz3LeuGI5qWo`U{VHcr0?fi!OXUnC8J2t1XY90brZq5Q>^BIY9z-j@ zfgm=Tj`LwQrF@HE$_@0-w{ktQ-By1GZw}(^zmqxEi>u?sv%UxDR8W=gW&5BRshoh} z2duY&hDMv<+5+{_iIS##FVoeU6eHqLv#O7Q4?s5MpVxjbpT+Vw`9aoFr(H%Qk{ZTQ zOTmm>^}-LbnP)p_FKo{3X!Q@WfU^manTl^W@C```1si1;TX23O`a=Cc#wOVlcrkO6 zY|7bsK{KR$$0qqHC*@gn&5|N)z-R2ISwG5|2urW?6F_PMRoN_W2iQEYS$@UqD!0hj z@PY+f08AD1+ZIGAAEAa@AqCE+zFQ#)52E+C%0{mF%w>DizOAxp5bIwMU6II+Tl%*T zejf9(#^pfyGxSWktmCQNl8?(}Pivu3jjK7iw#gb8NZoC+DTej6a5 zlkaj?>vl7Y{Xg4f8A7{T{w$~4G5zwLpigVVj$aYJiDg){ORhw6-xIs#795)Fkwx}L z4VRg682)k(QYDZeV&5yj5AWHF24?u;J0Mrl2ghYqj*JEM4LDobTGCx~R=z`C!aJ8~bo^zCG3743A{l zVTk+)0D%_*m+n7|ohTvq5%~gk>E$B`Nu5OB9g)3}u#$CD=DII@&D>@gbvi10Ky93R zRMx}$wjKra|3j{00Q=t5;F!G4^9yqtPPiR%Og4140O8>*(S^rk6W0cib?oi2V{*-{ zB&n)zt}A@`xE!eIE9^AymDF@}yQ7ld<>*-Ctg^}9=4+o$OS@*LA)T`_*v$(u!b}`+ zS(%#C?nHy}xhLg~TFsGjk5E^5cbh{nD@K$G|3&QsV2l^CQ#l6}nIGtfKV*()JhM6A zAJuPzN~QWK$o~f^^OS7vF)@>~Ao`z@MSL9$vwYocsA+xll>8cfRZ9Ofmn`EnkbDm{ zK8=9+cJ%dW(Butt;Cjnh;3SGYCj%A$ zcyMLIa~R@&I(<%7i}}UXE(Gt6aS16o=VkDgr?)#Vo5w_-4jH_@O7zpb^Po@r>6`Pi z8qXVxhv%I;FAH*hakWL7r-_g5NZ^E%=^^UqfP`hyfIpA~Ip8mujoVB90%H9_AN_^= z%l%aKf_xr}^X>&1b{|NLUFp>lX=#!>gC4x*txdk|89o|1H^x2d55zw$-WHQWJ1)xR znE@#M_QI$&8kOl`zvmvMU?sVfcL}*t<<##Im|t(2a|tO&`{~LhsDhwJmt{TA7a$ZS zGHkvq8)u?3mdW=~Xx7qeDkJxe_bBIz9E)v&CkRtDTBrJH%@vu1Z7jbcYkS~U=2yp& z{cjoadxb~;sgPL$n`eZ<_sGrY9~0N_MHd|1Em-kLXm>z=F-PhGHVyulF#=W z$`H&#Wn%kPSYpbl?^S@~etPz*?CiPD$xOf$`iXzrPt~r;k)9PA99*0*H}9J4kqL~j zb~L84a5*PeucZbj+tInBO4WU;UMQY6m&j}CIVRTlkvuT zGrOooTJFq$Rm*l}9F7(H6cf>m;|(8HvUfCY53)csgbQPUCzgXd+?Cs8p2(yUO$AV? zZl0#na>A9xM=LF&3~Of0j@$6jPEA#_pYz1R*rs=(il1Rdx=&YE@~Sd?Aix!U<^D?r zG9lFhSd>KrA27kF*sfA7tV6925an%iohc~qsaxP~!H@;)^qpOGgq0`Rp&BuTGz_4| z{SK9ioWfxa)zSU-X_nHL(FTW_2#VC%iMiy`Q%=4Fy*O`_Bo6+*2#ZA5x~S`tPx1E*W%(6FAVQVUQEe1@`mxQHwgQh2`!TMZOzaFKUP)VwqjzrPq zG_@M5RGy{^9IIglq{5AXG^#4pH`srHTX4g&s4b z{~ZNXaUsS*le5%C2sER!RU-#N`q0}UTcw4!W~;_10a{Is)yFx_Hs61CN~}%&k0v?7 zcL$V5gW}LH2(UtF;%#XvB|JZgILy`^mpC)Q9dJ*GNHfpPH~ zywp^$rb=_pKw;jV)S;%TrGMn0g|z@?rL?D(3emGThfMSLYO1)Bu!; z?N?jfrr-J+KV%7dJx{&t9)AR4FH%~!?M5}~x^-1k{jg)k=wGua&>Nk3TaE~3B7aGD z(gW{!s$eZM&|t(eGRKAB{c25)daBT|&ek!WM*p5D=)rnwRZ8oKy&k?+P;D3FlKE6O zUx~!lQCe-rL^Kcg%2!1iDxj~euUcoEhm$J0P@oJJY9p|(vEGQX8>lB}M?=*g)mx@3 zc|X1B*OOeWPH4WVAn1XdY!VICLtvUOG*tHklDjoRU6b+xXDq#4#~DXC7qi^-WFuhK z`{8SiR1>ZFDcIcF05x>v72y8}GeUV#wjFb-Nn89F;0(2><1Ap68@0ikGqka~FYTY% zpe9g_4VUk6*l*UclNd!pD;ldh`m`yO&_unAGB?wksJ_r^Pd8ByY839$R1Mc46_?!( z8nKzY1?mx8^HhO)%=Muo6yy7V_7tcNaWjzIYORDTokn*?p@r7X)Lmd#uQpS{@u9;v zmlift4g6ayiXMB@%5&OTC+`BTUH}fH2>JhAUcv z(n!29_WyMG;`dD~RL^?3s^%=41d*G{CaO$&+)&G~OzEvakl#RE zbkNX`=;>B!Brxq{D-}pIJu-kvmY1DaMs=qebjwLtL~-(sJJnUJ)AZIL+C9RnTdQdr z>W+44i_MxFUfx!fXkguq+N(bLI5*9$=S+js#aDt3dT&TU>)Hb$574>xD#!WnZgfhf z)VqLu%TZKyI1uW=yHr&a2pxMDhPIs6;wR47cGJ8Pv|Ntwpxm5Sm)1cAYW(s*cIDT*t6)6cnWOUkz1_zeD;FceC70cClzp@0C*CO{vqA3Wz(OXR3mqNC?PBv=XM4m-$-3M zLo)f8u673XoJ)1OfXD8j&RtZId-N)P?@zR*i)!WGeZ%_V?y7b;%Kfl#4|@*%fG&2$ z;w_^5ZmJ5@;a=UaO++Q#z|rQ@H{F0?=c!3|hyq7xOn3D@ddk;d2}cdgbq1C9P}THn z9=Z&SaIAo+MoZVBi_YwK(i@=X1&Th6?WxAPK51-{#GK0?re<8ym8T2HdS` zLV2Eiw<^`>_Ip$(EC9rcY?Dt>U=677-Bq({w1c>)|KD5&CO8q1+^X-&@-PPD8;6Rq z7Rf;BEz9gcNH#rE{j~{_vZ^GYs)g=5ipu)$1|d|(&}P}R?WT7%3DgV!BjkheMQveulIJn2fJeivLmdg^}FmRi-Y`)4c} z9?Kb-chKQ`fZ5-LWgpd6<5CIz?^Pk!-%TK6q3jW_Zt1Xd zYlw%jrUHf;Y!!HDM*i>^dg&1nOM#QgaIy{$I_Zo1)j-Hcp}y)%l!rE3PKPh{1yli$ zu$;MEY@vW04`O{6QuhZ{OPcpm@ zKDd_=wL#?}e<79jSH&PHfdML0e#zK4oWK!HAws+aVgb{cTX)d}S%Qk?YJZK4(}cue(opDATQ^#~ zHCWvS?Cv@k;^6G?vxC(zp3d)2sXHK))*Pa89T&N3K%F7Dap(|??;^c8MD+%V-9AL! zA)&WfdTcZYkPYW{G)%8K6e3fYdRd3!p@7q~^xaTZ-SrVx1f{yp4~5)|mMu$$<5hd; z>~Pg6Zm->llq)48wGQ(`UAn%%<3smlmJ<^uY91bFTq`g4S8>OQ2wHG^RIc{RW* z;3QVF>jXnq z1+IP1nM#}famCV4&#DB7-@iQzy1a|@=dh=TsrGZ~Nifct(=;RQ_mD4LF{Abs)z zq|D^!)d$$;@bhX0)nA;FOTG$K-7!t`y+}(ZLn&(cqWaEVIu7|5-A0Fukc>zIoP zl7T+(c^CeXRF`}WvL(&^k9ySkA^7(!@{UpknbZEX83)is@n#{PsL&OjOb?DyLnvho zl&r{bo*tvB(w0%`BPWCgPaCSg9DVDiyrdHK3jeHDp)~!fMk`(d#0;W+FR7||rCKOv zAgqWVFc$^2E@hKqK1^i@Rkb83B%PS+?===t-C|7qb9$;68@SJr?4nRelZ zm`{+U25@VKMy*_qic&{|9Q+V&G#ca!;^OF+)$2NfSEk>GJoeHnS%SJgmF}ecSOhPW zk5RX0UqvJ}r`-dCu@uo>Q{WWb2&#l?jD-Yp*g@0xX1AcB<6{!(2ACgzmMSE=&Y_ z+)fQAsoU*6P&8rmlc<(H}_7I()1Oab3B~ON^yPWQrtODvz z(63g=w?UMjdHfPbR+HCJohj1H?#f=MKS`yiQWcB4qGJ*y{|4G!ofG;XST3QF6>sTdRV|Ilk#rnEQl z3~oQ;=V$a`(g`wsVF3Cyc>IAO_FOa>^uhGrB|ets zj0pJ}9MUv5XA@~f5Ww?H@p}oB`9ZAopb|8saeUQBjtFQYP;q96arPLUdR^78y4s1@ zE#M49`jPdtX)B!}WZ<1$!DkV82E(Cob_E$TRO|HLQSR1mMvuT;gKLh%Jqd|Oi(NRw z2&c>_{ZY(+;SHtLeMWOa@8VT4d!vCKBR~u)S-g#Hm@J)}spt+AA}j>=ygU;UF;EA2 zRsop(7>OW(0#G5c1hh}N=4_x<(=lV`bJRra39A2C!o75U7I-UB3aLl*S*dg;ALTBl zlWL=(GUu;vsua!faU1}5dQWKT`ddmsp6Kq@1=W8GsJw{!yrqiec}KJ^2%PN*iZLZ3 zv|JCLc}q>@zIvnP;6cv0XYIa!Y34hy;rvC}??MIGO(>;V2bth6dSD)~{$u)h9$4N&s+gxfW~!G=qdtOO zA0d64KLY7XK9JFghCY*+M91I5AifR%`yM9j_ynRL6+Y=o3*YvEYOOg=A}A8-5=h7N z4*{DeY0Zb~Q#x@#b#atdLRRh1)SYzhBlVWcR|LW63QeD{swBb=90R=J*fHQu9Br7d zn)>6+N-EI#qV*;;V-6)QP>uB}0VDLJQTS|NW~~-32~;{5p4`Y7TXB??Uy0k{A;5C~6y*5x@*ksEsfT zR*fLreyplx)<#Z+l|2Z^UaGN8(y+mDhAZM|$;YrG%%Y@EARtJ3;uC0O$7$*(s+r$P zUdN!URDB-Q6x#cVs+NEN6J*|jJs_+$sL|PRO1aEbL_gJCgjHQY_b*bRs$(y)P>J4< zk+!s!WfTvzGQ({~GMbmqTLhCA8rLjR8NpNbXyB6LCVZI_LHHy_>jT|{u`KaZl~$h{ zaJu>794?HJRGMA+x(EmJMtjO)#n7_mQx!zLy5~MsJ=3g3hgimoo??j^2qif9soIe= z4Y_0qAfN%Lkm&L3tDqM@Qyu8ycNtwA=y7tMd)TK_$u36&Snt03Om$1ta4~|*%=*m@ zH5txbqPl91e;L$_Iq50%>QZH(er5Smb+5iGmWw=QhwoaZhUiSGzWy9%!Ow=xPD`PG z?H(`HUjc4%ApF`2<=4=w>4PsoOMju1uxg4jIGy;gj9v+=J9Jp}l7=Lw(cZ8kO8QD| zf(*U)D|J=hl?woLT{VrH*b9USOK=%90(^)z~UJuDPE$-e<}-A#{d05LvI z^EUvD_R#eW>R$W%|2XKrZy=4%bbyr~SO;lz-Z$!Ztt>qGTUAxp5#+PE3 zp*Q8TKd6Ri6!OUrst*p1jd<`B>a|flpl|+%Dte=C(8i6b0>K&|Z&IJwPvG%=epGGj zf8ayuk0AHodkjgheyc<{=_i;e_4R8gV>8OLf4hcSY=#i`CC%TgUevWoekxt4$8bW+6z4aO#kKda0vu3nQuw3wthymPf-tqO%Dm&GRN^(TXk8slt7vcc_ z{26jdTN1yh9BJNfsl;Fe7Scc!+CklaQTGI5nm|SXt785R9gl7AKw37uBa;z*u<6wk zNrHC$qOLh${)%A6sU517{pYJt!gj(`F_S*nsUETK!S~o-)hc~UD$P3q*?sS?sc-Y5<4P`&2Xg zCJbrqK2_cRD?Xgqr@p7}&N|xAlII;>8goEN{hd^^B{Wk7<|f@ybk$SIKLxO4DB5A_WVJp%!g^~L7?49$~&ZLI;OBnKJ~B) z&lIHu28LYcT{Eks-H7hk1d-VG$HH-S#)01iBg(!s#(l-}W6?8gR$MvPL=&X(4_Wzt#&$#Af;E`A8 z%4t|dPSA5_)a;xSz$|MC;;bcr+sR_vtPn4y{IjZ`e!@Y+_PYelKMTqChV_t*XVqBe z`hRT3m(=5&%60vi3HEk{O3tZ|wYOPZq-hd$ESH>)Ye^;Dv zsJgiE%Z9w3cwCAd;4fQ`7T9UF$ z8E&G?q)IWkBnGhpQ7-w4kC*1%L3du-eh23^mVUUCGO$RDWgLkz|4L;=6u1UB_}ooN z%Zz5g19xL-|I#@qonwJuPPnwXPXXG+{g-G6Ecl6=+z1_IU00T-=@=VcBiKv`wQD$} z4wL{ob!$JvH&t#G4Cjx>6hsrb+;V5x1={8=tftWgtlW=vA#pUiV1#FNfD%p@w(SCL zpTT=nFxt~UcT@II<3mZwbnsrvB6TK0FCX`$(AfLnb7#`-`@k@@AEXRW*Se|y52-rU zJEca)y0q(V-5E6EwQVe>)Q}$VJaVc&;n=T5IBvNh`>-EJ6W3%wGv5Yyga0!(9-{*&qpYDgO>gX)5ozXJ%WRgT9ZI0@OQk1}zoiyO zlOmE+a|V=;qKBHUhwp#}P{D<}VsU!wK%00S_SKE_T!P*i^3H|?y%G-X*#y06(N)lG zgDA5Tgto!PgkI~|AjdjY^y!0W)Q?f{Er`U~>R-eiMhD|`4c3=4ak`G}=is^2u!#N| z{<-b?Zts;6STIkb1gD$6gqTWtf9$25KzY!kT@7Jd*IOJW@ zbq*vxIb9A2b`S{h7!dBsSg2W^<1h^9OuC+h8Kkw1iO)Uo2_mj2IePN)Hb# zF0Q|=s=xW@llswZsaHw;-MDqIjbeSkKEa~`>$#4ul+^RV@*OUvKbf-4XN@i*NWDOX zp_1F;lgwDH(t1fiMEBDApYd6bBAQ_{FFZg1v!?iC%fkrjT1IcF+|9`!l1llVeQwGt zqd!H@)y6VylFPJ-uuRJXv1I{S;E89I!$kh1v*q;4(4cDN^%n3J?NVN^r$VVi74q_;(x36=C;l=bvxWxWH0^e-ywgHWVK6}>r%46B0UdzDUAv9_*ZRlPfQ zZ9!GNx%)>CE@yaqr0IdsYI#~g#hxeS4RxX<*=ZJ_w{;uQS>yX9va&jI9^Xz6lGoD#FM}a;lD3& zYwbW_)AoP^GaBeSVWBwLKz|BLT&yAH5D4^ZsJj*A!@ygnUPA#NwW^VYc3h3Ioxf85 z#`*y88u^W}YS(Cf6RgxXRH~`YSr4Z*#kT|GYNo%WYz_2krXNwU9W`6%n<4uD*+TDv zb#B^H9|-nt_g7Ix>3BxopS6;^i(jcld2@vTk-0%1bKdG)}H_`~{Yn*zVL z!XX0eCbqF)w`Ci>W-%P5aHzJl!mt}}GuvLRSztjMJw{ch<GckJ2_8ar z2mK~L$8^-|C?o^zdQwZ!=g;XaSteZAKM^5TJL#2+9_6%35JxoI@5L270B#7x{W<|B z?p(+eO1v+2eQ`VDnIqTBCK6K8hU z-&Lju26xvXsBQ@q>7l=>D7ymh_0*fI&C%%-8gvu$tyccYL58j-4|jTFz+F8u1>q()O!)4@efyLMar9PEBavP|E4{C0QX-}g}!=g zS2Ivz*j5|T(^r$+l-pO=X~Y|#Iz4WuX3*qBcS-uFA5hF;I@C`uuUrh=uz`e%QoAsU8ME{^dXFVM$nOg*#ARvs)yuM4-e3*F)rkLAr>w~+F0PiA}BfYEqx|t zPj8{4b%Aql>2E9Q0S_rl;K9@P9UxSwpYsRnFM~Qac~5T-{6p^nKCV*kd)V^z6!X4b zA4S@{uUAKrkKV`8UmrN|zCIr~0@pG1nW6KhxS{uR57CdJ-1kHDuYv6r4AslxgdZ5H zZvfW%V3^(n2mSM5`e3wJD^u?etg|9h?-aiHE9Q^)QfQW54DU*0fiEB!5cD>o<7RWS zN3w8=&jcQ2NkSC&UTlNFcOU7E6=an*zl_=digE4Bs4nUw54HI!Y5mxM@E?q*6K@YGFvaF z9=`*Xk-kv9>7)2L*weGreU9G7{j(3SHt?h`p1zm^CE5i#KL=2l~?=*9+UJeWP#a!&^qCn4ipkC^ycPaCiC?l|8zCM!iU!cZ9 zy_-v2dzYp!(Hn;^j>HY~jd$s1{D{cA3uzXLMR;XqSe}nNIS)n(;BX%Xo(;w7)rT!uwD_2@CFRau@ zfrRv1rEjIGtM#dX)P1XgoUTHNsgHvU_wgEiuDURiDv$Fax%67SstPx<$`7GA%wJ$c zQ*5Ppow6H-#g!}rtqp=)lufO6dW$`s1BI|kJ@zgL0B2;aW5>22GolQ ztsj+PS%>*vaUoYJlQpV1a=meVQElx755l2%pc;brFdVpCKpEgrLYq@s6=>K$Sf|Gp zks^u=b{?i(fKrxzc@dsS8`tRxk^=#wyBq8E zM6cv%I6R6M?j{Y^>kXTQH-+*@ZRiZmN_$dTMSUv)tYTK~n;y2he!GdJTaM?z~1FWm4nH|JytDU>!2KcEU=^_7gxC`koHZO~J5ZcQ&jbv9tD z!s&wzda0J|M+ONFCn;TNksgL$(0#yTm7}_t>7Y-h=iT&3_N`zZ8cW6(LHn2^6)S)( zXDO1J)$}m>dxP%7oTau4I#<+P0+;SFXFA2&Xbn-XHLoBalm zp3d4$HPhwnDNI6Eo>H&XQAhaO0rnuHBKBR>80L4F) zD{RgikZvje%L6_U8~_S)Kl4qNBQ4B#Y}j)a&erlla>i9t0LDe1V*v_>v-!+T`qQ!Q zL5Or9htdhdptuRX1lXx~O!WRHJryCnWGvvvW^c1RxV2moq6>lKk!em(=^0_l;J;WV>?DLh-bvdQ0ujGp zE*LECO~^>Uk$ko>8iu=I)&M>gp?)tm$J#x6@1tm71fnG5u856E_tt{$6rrnXL8O6Z zmv4u={Opc`2dt>o;mB>z5!>SKgt2s_u=XMZ=TfD*h-elA?C%wIjYiVo_#= zcHbysP|Mm01%}j;YV_@#Yv)oaYa1*{`CseLhVG5TQKC0K3`?PB4(Nt2Kd5AJ79I9N z`se^8h6Qx&0NC3fsNy%EG^+wHexol})t@~SepsIe1i$RCUP?XVA+tYN$a9DFSENbO zmos2S1if+uEazT2cm%9uGm1H?r+~?VL_G!;x9g>1o~G;#*t{M~(qgFCSB5vR@u;q< zYMw`CMmt~ANSJZdXiP1>(>3)1lrM1j4fOjC@)p)7a2&{MHr+lBj^kpW)c1NaUyf{e zLO0y2*-LIu2Y76)JpuXFS~MSZTNV{gElz^BX-1Pz>d!MxzIak^=f2^CYT}a^J+a6I zd7{8xOZ_P_bPT^47f*vv>3(%pBxQ3ffKN^Vg#PhCN;on(A+a3tc}3eN5i#WLde?&| zFqoTxR}{8dBo#Xu5kb{|&=2@71_2I%u;jtXyG!vuf;oo7|086uugGGd+WrLY$Wd0q zTg4>L8U5R^E9ua|?WOZ)^kwqnOLX~XeUej8drp5}{bO!m**Sfq0t@hS=k>glqpm*4V;yDQ!80At z^GGOH7S9WTTEBtKgNIytG$G$tWIH8hhcZu@t9-1qYT2TGohmyO#pO2AOO-BDu0+L& ziu~VLWwbKJ`rioUBjw$9-g@ipes8?lt5>h$#d|&9xl@PsWh)f3{_|6nKlGxRpDJk? z0 zhYcO_;Ro-(H~8JYeO~X~`?XhJdHJQDJznhI?S-hWU7qXs>@#iJgtTt`RI{d^Doq+U zG8;B{vhEYLYu2b{EDd1|(P%Ud%LW3yL-8jtstZBh zt#mlcgn4#Q$qRZF_jbjzmAYQg>!bvn${w!FRb`ymZM6P^-Z%P72oMtOd`1};aZe@_BjpwQ%|eZ0Zk)!($i@AC}JErv_+nTXmcSVmnhmGhcbUoxqs@# zGcg{HB;gdcb?5~Hu?-Eo0pB+6G3Jh<%6nkR6xXkv#4rDI`S8K zJ)h9gOL|dSa!F4}*;QywL7%F_siQp5yk`rSsRG4G!II-MdwOtUZj_<^m-RHNcNw0- zJLnnw4Yh~WY&O5zPRlOqt?TSSb-oW^VyMU=y3}$#Kwx!i3l!Ya-K#oL)}5lvTB+VG zRPKu2Hmbd2V&6$4uINuhEyWnjuMuYsSqv}f2A#Wtz5;an3eNII*?sfB@M;@%`%7ef~&&OPb?9sJ7@7_Fh#`Wtn(Q0u?-+I4n#OyrhlD!5HzB~Zu& zId1JC5`+Z5SrfEI&F4VH>hAtqui)EiP2JvYOcmjVJ?my()s2Mh9_-2j=+${WBjiD% zo=b!t&(XEPSn~K1W&2yG+g0HAwKVl1WRHzk^)k^wS@xan&2;{%US7ZIGL!An=#%G) z<#uDa*HhVRdIq#o?XKw!qLD5rMHbscv#;ru1nSwbtvB2Cz|go6fdCbMy{6ZLUf6$K zZw9d=M^~U@RqXdCz7?0aZA8FXtQvm zQkGtiPA!fTQ$}n_#k)fBtVPW5>(_BsS5n$PkdoF@zkl?SMHV~mJNBBTdvM`WPtS~$ zzdeX|1&o5@=VzYDF}h&GWY`mHL5s;=*V$uSCdCe@gk#Ji1KC|W{XcbOU=*Y~$Ea_G zn*QJ%CF6uqH$e_YFkzn6!Qmk+AA7IBUzRr>14y%WG@KzOtzg=P_Gl$dxSM^XI$I0~$H*_*na31dDpr*IxZuDR0cdo9!B zya+c3p{5U9?mWoAU}t%Yu);(GR{36}b~Dt>knOI;rdr`dusj~@C<-V@bZzFIcMUWV z_Ds?ITGMn7zCx74zTpoLjfiyXl468A9j(#9n|djzk=!z4Jv5(OE7BY`5Sx`~Dy;-1 z-_q+MvQdXydc#cIorpw)e-5pvc;`77SO$@CYm0nN{UcY& z!GRW4Q@kJ%Fs6mzdfLaqJ!Z@e;RI(LuBEXQe_Kz9#~HALRC0Jjd22zZe^^55Oj%SYc)%`$R*VR^o*ry@78 znE+?K*>dA4MnPCxPAQnYi=<_U)^+(^;i|g2TJ9y1<`_KVHxPT#+(B8Xx zns0&6EGOGvW`A$${ebS?)t|1pDHO{(SMkii;VSR1fEd5LWfel!*dNTyv?R|0e8js? ztal$Po*c@&2SxWL`uZLa(gMXZ3%7^$8b%KM5CILqn0^(RGfedFx9NXq2{>5 z^xZ?fDioYykMvY^Hf{lQ7Cx%`2qv)8)cTQL%ngXDOb;F*N7>k!!b8&@LECkjc0baS zYvPj~$Y+5KY~%p8jNoJ8J3D^xe7nfZ86HtK8sKOL@0mBl6hfIfqnk*=zwd~q%Jdn# zL|G5GM{pkCMBJVkGp-2{d71%Ws^XcBU&)*=0<&Uloz2^9QKhzuh;&a;JkzMFBA$m{ zc&j2x;ntWmJobGX4OUXrbd?Y2WW_U8)>^NMaMDy{ug9RO(Ty1w&fv7Aev5 zd?o^SGJTv$N8KV>or?YZ3*`ENThxT^zIv$WReAuJIF6a=?39er8I4c~Ar?PrhXI*R zUxbRf{^=N*LqcS9O&l<-y=h0*oK8iji5h}9E7Ugma0 zK2^N%x(O3+D`V+Vm`DXYr-q9biDR+b7H62NSQ;-lT`QjPTtuiywTv<_)P!R##?hH@ z(GZW+2w|WRYvZ#Y>27KtA?nt`cGZ_lFvVW;G0sF~EKY0r>?oX*?INSCWlEx-B1DWb zn*NLs`x7V1Z`csf2js9|S~^OhZz_ot`Z-c0J~_#nvn3>gM+ThcB4DJM3;N`AXa|}s zBnEt8%N3KTN|dNqW_qN#*M1Z14yeEjoCHk{E=VyjjpB8%n8M9bA~6&RlA$5$QA#Ay zZ&9K(u4h``+C_^*+%fMJEh;o05!{L>)`{gKkqW0{SG*&^qQjw$nP(<-AlHg_3^+9G zlB6T}0U}r(YDIkch<=I|Z{UJSa}Pjq91ZY@;-2#^L;#WtJdPH4gpri5)^e4$Hm{7U zbR)$g8l^q$>06JeRbrH)z;j#0l3;h?Vmn>&*gGu?qpD{NRrHFcIvDUgyXCQ%V~`>9 zj;2XoQ3YH5xmVQZ0UU6OQDh8Ypu2SlsX>egM_84oVnp>yW1I%S_#BksK0_d)pzcAt zE=t(=*X12Wt7Amv1g>Ol9n%$FfMK3YZd#|vSW!L!r}^;XmA#qNGFDVBkq3G3NoJF%B*VQx(E0^gRNhRaNzDlDCP343$l^CAN z3A+K52yVm(N+}}BARcAGM!+hHq*i{#`yp^5Hp2%W4J6|lS*QrqvzfH02nfeW`lE;_ zUTQ`$_CMa{F@LoCKxyv7JH%Nu>jno^i5Gqkw)H2w*a+$tFOq?D-;Ecg0rv~yg{h37 zU*bht>K3 za=!Z50k!B#mUSkPG_t7|e*ziF=nViZ`#u_HS(D-#G@R}@WDOS4H9jh|@V__8^;1xUCb6BWqFIR@&(oj{B(PU;FPmBue~1o zeZn8jW3Z;@9YR-qqB_z!mq--sIhU0v+9G__kwj6)gO&ZwSrqam2|qs6OcJRXA9ylt z9?60%>okF?gqWrOjb=qMl({$PeN-qnE!_OWZX&DDye~M*{)~CS`AqwgMAevcQ0l{A z#duFeP&#+As8MbqpOS@z(Dy}IJ=#2mKwhkAx#+A4y^<^{d$xMaKkYZe5nNFuW#)qV z!$QQ%ie0~C*VpFw@VDId;m+`|m~a+_v6RVat_tpZ7PL;-QT&#OgN0UGOL5tm$UVip z?98NK`xsZf?->?NHB$hv-RQj(G0=lfuQ;93%@pwjLZ(&HMKNU-wbMnLn*MdI@amJ2Xb%R1Kt!LZrazd_ahDnY)g%cg!`rry({#nm{_951e)_p>m+Trq}J2 z02G91f4a=;cGVA=U^uorURbz>$zYNZ=0A2F%bFIV<@)eO?gozfJBFx=$4W!AiFt>! zGW{09Jjy`N`{XJrdT3TyR~Ir9${IuHGvsAQ1Q1a?R)%@KRrpH<_4-V@TvR-vogJ-k z5ZK%H*P&D+6|)~g-BU%|Lg8Syri$009WGW()Qm$^*diLDDD>oAn{D)*=C1@LoD$$k&wy3 zVsU6C`A6S&uvktMZsC(?f3g!T_EE4w2ipTBgG(`C2LqVeyMrtitTuwB37sHLX_l=n z9a@0TS<3SHb-%xFI<-v~&Bbt8rwHC5Ryapb9q!bkPtrwI@sTVLhag3EfsgD0!{}kU z==kJ6NVyj6kFOH~C7YFc5tg39%GeRI0iF#9qqWv@M6i$S;v&81$bupqmDVaUGFaqD zaZ$VIsDdIKp4KWdDp({VLsTg`x}XThskI{5jt&+Xlp(5F@oMn}_{j2RM?ieUtKE?y zGE&CK%D6X(a101oJI1bg}h z|J4$rHg1N^FCp4C9WP5j#e%J}Le`FV$~h?8+0zNKXfiw~*OXkITASrECkJaqmlB5SEzf(FVl`=s zEW;Y+D~dVAF7-ZjD~Ux_eP)hbZ#a!EBhr1-oli4-=5+g0ChaaGsui8#^a|X^y=t(%%?K8W zEh|dbpJ~^|1aXsbrt{GO6vtLib}_h!Z}FI97aKVVd?lWiGABWJDvZ69{B@({y5jE%7AK$0yI z%1Wcb*jn)Z`IJtCV9=Lyajk#fHgpNwx3mABC&GI%q3RQ=^Oh^h0OVbXx|qJ8EK z9u4juUuMmXYAI+Sy2qat@G;@#hQxCWDRy|;>_(1mpju~e2Mc$Im$s~k?cN4S za}FDqq5z-JCBM-}THjpxbhe7fNC#kXyRfcl*^y~VqfCEP8CE?gB3i1E`^s@XQB_1I z^x>Xa)$B>HAP4JtjXGBqH7Y^}U7)xGbB^EA%x7t&(<=nW&8ETEX;)P!>uy#RaYfm2 zr(rrq&>oZS?T^O&Ko}5t1zz>^rqF6oVf3a7)kJAuZ(CW>5Nhu7mb#)LdS@$M(i(fA zC9zp!PyS7sS527dYvo5wiBleFFh;F)3P>n?b!K(ZQt3sls*6dD*2&Tgiv!JdcEJIK zK@ke2zBYKQxBJzw!Rwu}a5oXhm2$6INDJ}=JVB+sc=!e8ej&AQu#3JS`)@%hwM1Rm z8m)4gHqD1rMG}zSc+C3Qiw4(%1}>W}*Af+8;GK&y^N^JzPMhL`nwqa^kc3@3`G z1`2w{Bm#EP*JZOkDXy*<+-^GiLc@@s$7&*E$HDSKC4@gJLtFy!s1q^?B^sS)Qk1*t zP~BR9T$DuGrc<_J={P?v++9=smrm9dB{QK)WnieFEmWaam8<=FfyK+Jew0&LBfPc4 zH^e|LLbveRw3lRuY$QgTA8zg_n5GjDJIaqB$k}c`bnU2$o0hE3wOUB0A@xM_=tVOC z1{W|mGmnnc6D7**lnp{H027^}jrW;5?Ple^GWuZfxK$nd8 z0f<4gxyxQ&bL{U-Ztf`NF1x)q=+2WOy;R}CpE`vngXIh1!k;>wlUZLhKx~@f^+l>W z%T0^wi_TWvBKAsrChH;&s+D5_*AYLn>-Hmm10mX8=2@NsO)6p!(OJXYvL?7Wf00Iy zoc|EM*<KP3VL|zxxv19hP>{j)uV9V6}6k^ax1y0 z4Jfl(bNGxsvK7_*2BteVx3VWVCWmuUpz&d_Ev=p+&4kW_Vbp}zZGJF!IKE}Ov6bPR zCe|TCZ$U}bPVSA?PrIND!(rsmiuAz`X`VOt z$tvmEXD)M}T?c2IE&oDu?Ix!*4JI)c*ShC&*evR5hJmFBgf;!D}A zrKt%({YJJ1?VWbVZGJ;pO`+s@w}~i|kzBBO2mjOMLA%RdNFxHL$NP;% zhm=E3LvAe)X&wp=Dw=+4BGT!bMo`@@Xd$SD#NIHQ5^`C)@O;7Xin5G}l-5$DT4JO#(zC(2Lgj^~&e~1ASkM$!2d-wkDK-2d zmS8|xEk$B#4M&zpXMYomA5SZfIa!W>H6%}-A8ekNGT&~zJN?m8RD-fxv;uw1qXw-+ zsmx!jqUPePP=M+$!5Q(q-3=|RvK@~h!aOHiW&M{m|8xI4XjUUj0_n{3S6K=AO+Z12 zwoWyFEnE%pdZd5^Nj#sfwGuvmo-25S&)f6RaC7mzGd3#OT9k_hU%|00aOzIc3#~S%Uy)kgc%NCy5kOpyW}(+9M7d-CAs>%1dLW0VOwMR z@8VvTO<-GjaW6Lu*0;xg#s1DCx>EQf*a;Op9ScbujRf&+LGUHG;pXI%ZAHDzzwEju zi_}o;{$`OB~^Wr0FMe#Rnmn)lQEv;=a?RoaqVpi9aKLiIJL|G(Yl zHM{?AeDJ{!!kP{i?1CEPV!;zL0Sk`ohEtQTLLuo`sClDcd=6c`DGRCE$x!oV z@UsnSie=s8Md>U3SK!&_7G_Ax^iak7tmiq)@1P=_exP1dy&Y{>xn=jO!M*2}-Q){4 zD)d&N1|wlV8vl&&#N3tz-P%YWB9KvT2jO!g+?`5`%7!K+gIy?C_ zw|IB$YM>$3;@$nvZ~!7MZx>#-3m}^15x@rgL36xiAY`QUxoV{oJf(tof_HGWfV9uj zBn@dVyttk)zCBz*fE}EI$7x4A&*R~vzMb(lT4TJ}W@LRc^?91T^`@4%pCT)=77%KxX&e+%{bZ*UFlUA8=v zCeiq3MN{>;XsS|5_{uzR7S1By4}w*K=)@*bwb@-Rp}4*C51nqHVR&fQ>1rKRZ%wwI zCL_wThG!KC=7j zQb2HB-p;(OdALT?BR0MimNrXZ%z-p=BKj8U?1d99;4%4y~?^_=2;j@ERBTS+C}7y>BUs&F`R1cJhQoV72rciXBif3 z@RsAkp*da|2sSvJ4nHrFDvXhX08_CYuD&RZMwifH_rKV9R8s8r{^fUi)aL>vt-BrVNS=}RX{HvC79!#N(Cc8t@0F^RwWhIVNc4|Rcm-cUhIhBgOC?t;&PmloHq$2 zbLi%aqBFSPwmn2;?{xVUcPnA#qX|94GqE$|t785*4Pg~$(4`(CJ!7VP8K<2MHD}s; z(J^=($f7LAsY*{#(o3?Whf5N@(o>`rwOK(_V;7fMvOqlcVFS#1w793JjJ^A=C;avD zDfA_gR%f;>!drzRv+e%c76z5pjWWUY16}2_{|u8K?OuYmn|iz?T7&@v6>}VIcuAyG z;SF@?$Q;=&cyVn#?1FZ?Z3^1u_UP_Q;-&bHWl`8BzSv2s@ zwTGz9jx^`eZ}<{BuVB;=I_6R8D`HfA>p7xAlMnA5CCa}m9OSNdYR6c!LeS#0;y5~3v2loa~< zRpIe2k%e3u*svvZ?p2Wyx72sJWaD^b-AXQ3UQJJ(!ds+@cl3GaWojX@EDgF8sG2H|AyZFU!%M z!uEv7al z++0O{dyDVAtL1AK@6Kv!^SY=WyT*P6-X3Ii4Q0PBh9<3*FA)M3l( zKBB*Oo&4z2{&Jh^Xki~QJZ8Q1$~<R$9#siyvmIRY zi7cA};)2cc7hxxaPwdTUUg&JGu^A(@L}YYE^9(*Xq z2xk0Om$}Jq^{M}D6~jM8CHje$-T1^o;f~*k5N)5l&B4YXQH8^8X^(1d4i3@b61K=v zF)Xod33i1hK&oAq#CDtx_7gRpgCB=%8VqKLUt|4OI7BkLv#o`i*=je_)MDwFx?9Wa zAf#=wDA18=Zlg~9;fja6yZyz79!oz6vJQ*RzvLevs@BEQS@!xYUJ$15)}8$fi#qX~ zow){No6PCKM9tJbK$8ZD9!cBn&H!BuW99u`hOq7A9w>|f4?K#Og0)?%04ARm-n z!DW+<5Effh-i3OUHVEV*pV|)+%@Am7_8?Ij-sG$W>XgpjrcrFm9+F;xi=G+;18)Az zw?qP%M@t*Q8haqoPpz)Z2x!TstH>KvcSJ?- zH$&bL6=L>S-_4PeSiIgtfp^6FF_tR`GnMJUoHwZcyP`~ODQZ|J7gr^jyM!+Kf1&OR z*&RcjTZ4S@1ub}2RQ2w)N5TB>Ui$f6QMSuIyQBsjzR#ZClaJXUT;AH;Noh%4&I3;| zo&|Pctm}aJe%TDOv@EFtQ}3te2a9r5zO=gpm|G+HvY-#A?pLx101#^DuW0LF(JS)2 z%EX`&rk(MgINw?7I3!aIfy>fuK;SCSZTQ)pfi>~$s&6K6x;wR@3vw>2^Q>(?~>eUYB|e^qN(f(W4YK*7W!nK&P?Csw!cnR|lI95fur z%V#l+P{mmq4hJm0k&Pe>iKU2xhT|LAOo|unIHeBCQjx6UI7n?j5Z%3p?1~yV{zJ6m z1F-@b#Cm=xdI&xrPQ}Br6mxFC3Ww?RhoU4*`K}@2$&!W6k+U>MWN`_k);T&ty@rUV zyIN2O*~Suc*ivZAzf2{t9rqX)#i zyJ4bR?02#Rd7odsmnq`GLblBmz2d(wTnh1C z+~)W6Ri-FiE{xs5*i!@uVjZ|#OY(PC_=Kz_eMC+m4G1PPi=N67rEx*sZ*juR_spju zS)!#n@*d@7iRUwNWvpS2gn~j&+N}ulq->1^+LP3DxF{d95HbB)K?!3~m$j5R9ILdF zW(^lr*-!c4aM2_FlrwNd$_8P^z)w+wk3^H?ALIv!k}%K!5t#EMv`OLS5A^XzqIleo z&R4DkPv0Nu$VcLpxS!-}=t03Z!D#UlH5nnQ_)Z63gJd&HH8IjWP2)$1TD~&{4Y|=3 z^v{vz89FgSJnQ{geo{0zj{ZzFM~e1wXYJCgJ+Mp-G#jtMD_L+6g7rWnJc)dII8vVP+F#YGqH(GQ+?36yEMJrIEZKFlY_+OnySpcyb{gvX! zh~~cY@&l5v;>t0WmK!~flqh0o+;2{Qj5(p}{SA>-#Fp6KCLAfL{U6Wxp1)Du_CnR;FfHVD#(eY{9L$BU(Lf7)Zij;PwqaPv<}oFMAP zUgFo840YN%k9moDOb~5Azt>L?6)Rn~tKeIE^Rhj%(vF(?iqqiY1&W5WL{}(!qG%rb zms1J*9&Y|cFHID^wZEORBi-5!xA`~yI8js+cPrXaZZYbsvP1|xQgMs_DwUihs(Y{5 zFExanxJIu{f?#*uZb@4b4z2U%NupxKoex6HsShwM0bS?C^8gtEl|2+_yc+-5O;{Ta z|Ehl|cCvV($PK5v?1}&cyuU$1CyP39H|^%JN(!&iP0E`rO2*!@UrR5NE{p!UOvi&SZP@0sTBp zJQw@Wd8dG)K2)i3j(EAqBj+Wzjk!KjX?u=%E+d<@8QFy_)mctdlW)J_Wx;A?QI+YU zMX`GcY30EvvgY1qu7}H_iniKq4yW1E#RBg~&a1T^^CN0HLoBQ@!hVH*e{-87>=-E} zY(iPUs*iN4qP3Bv&lFF_jw+~%<1&hR%@iNRjdotLyD-?Y(Sd6-MPt=F#;FhXW(=9L z#naG1PMa<2MSUNNI5O$(wFudNYBn}&tSqTv(I5_wrG|6F7Ugi@<{Z&mi5urMk3b3B z{5a}2S8OQ_@zR|JRT5-shp~vPsHFRq*6_UrMvkh*gKdSm$s^Vvv#y3GayD}-br7Xd1N zdL)!9TWOJ^%&bCSFoDMv)6gGcKFYP>U;?Eq5cRwh?GZBzHIZIgAjTt9>y-t9fJsIz z6#lqL1ygb{Z#0RvEd=v_fqq_yTVr`tVUbAn9}Z2cfHjf9?rfd`8sxNi+%5r^lt+CR z;cDn%8oNkLfzqWwZ!}r94i%FERbS=BxO<*Qt>vTlVo}N}>=5WF&R9`+3awl$de+Rg z>!b6mT--r&o7pxGxe#B%%Ahp=FzsF{bd3IorJ_|FY%Y;F3}*gj zI5b(!)K~@s`C)o}nRq>Bx@-+%9K2DdBPzGZ_Rf&+!nM;ypc)*y94f?_&a2CC^rxN6 zIqbZARYBVw4ISWx<)Ui*EcwcV8#zqpzhcc_g%zTeceebXaEr5P)C$o)agKb&U|1di zx5@I5nnPDsh;oS^7y1UZfc*9`Ra_~`#?Q5zg6f7nPJb=}&0OD=xW4u~O;{;jt)1>= z?}QjccPYa6wcyy8ZaZegdo)LSpC=m$F^At_tpjk;JSw|NG>(~XeK0rNXFJn;`f!zK z4(QvrN@Os-1>(LH_K54`V}~w|Fc-^@A?93Uzu|!{rV{JKdofF_ z_h#NImh6_$nswm4&*4ZSW4Ealul>Kt&&a%ovgk?Tcjk7ahJz{H5bw#@DpX(ps> z^WUIP9E=~Hs!*yqL7x~8I1=r0*_dLUK)|Oc4*0a3o?kC2cvtWTCNJq$727rn~p0zJ*Gr-pxjDDqv?q)0J7zrtSFw|*dmG`C06DZ=yGrY ze$Q5MJM33Kl1X;rgqQT~Hr&~6MsWer1JUva1;mpG*|aer5G*wh!>}}6v*~02tmPL} ze!J+eEDp@wF77Fac1t@&YSSOXo&sifRS3EGW0-mL$FM$rmOWl$_5&R5dxOlOt;8T% z;_i=O68q!)LviB?i4I|l>?2&LG@me@b_J7gapshnMG)vTU&MAG|HH5_+ECvcO8s_; zl4{<4nz>6%S675n&+pv{)bLZGtFsd6T0*gS>i?-o_bks+fU{2?hn7K=$%wb$HDcVK z{8S9e>5*H8{O7|on%~=9jb7g^YWe5xf@>VOZfQ@H$qF$6X`*x?CV1{{(OxMgore*< zCtY1z%O#WM$Plg^Ch;a!$we%P&GdAxC@D}D*JgsH?6zdNsktJ{eG?jI8veH{fy(R= zK2&S42WF7TG;0qq-ex+uM;vuR?jaM$F)=5xQOL8ot=ubW zpw7>G#b}0&wr)h)EgTy1m3?B8Ya!D8-q{i*D+t_o?*( zYv5T2#CdgUB2wa*)FvS`nLhspv^<-xen?{;fQ$RiSb{7^z&LQ zID$XahH69Wu278XLf{7T{I~L}MbhBaEyXNt27(`PK2V=(j-cO;;9~1uD=s*lycp4t za+jn=(;G(-KxN@^u__tk4mVGS^htL{4t$O{;HvDL7V?~ zfcBL1rc&m6?kH-w)}KThyT-)O53eR5&G;cDDmFi)Z+ciph&et6nr|$xdQ5ax5CX3I zw}AAe_i6OE5Sl06r*FR%PrHs{<4Sxd#)R)%qX6K})8_9)8h<_Uoj5?%PKf?V($oy~ zhoj-dRc^FPJ5FG8zMv~71P4nxbrKeY19a;o;B_zgPKlNkkKTk+ZAeq?8t&6VCh3zF z!pRFwbZP#+Q_&VD0)?8#@#_lz3QRf$o3eWJUf}o-qJ$E5^d6^7pdJ;GW+eV6ks961 zwC(vaRml@Hpk%5R81<8QmBaC0IxSv6f{5m4pd{GrX6^tgE9~=T8hS>g`2&$P)DV9N zfc+rcaF+%c;2DEQN8+vaw})cSiXQ6uJAr{`VRS`E`bGJ;j*XOn=JbeoI{b^cf>a-$ zp2KDRt90!gtR&Z{$gd*Zy+T0}gC|aS&71)({ejuPLiK^^uR9No!n5?{dGVKWJ+SpR zG!=y%MV>0`=;pww--Sz6w$teg0OJ*b*oz{b!_pVOWKALK5~i??Q#&EAH&0<3ZM`Hi zO6)*5VJixus^L#7Ap1f7)6W`F{%{n(=;0+%(tRsdiJ~kcv?Wa*>kX>z2T975M&Ld;bBO`a&$H9Qhp`I8=|^H6-5aT506m8A^~{7yvXHi?Nmq_ z4pLKZ1hu>(%uGa=K)T4ZP*+1gM^!?I=ZTrPYH>9!;)+e`{i7Xa}6~LDdt% zk`5fe`8C=GN>tzW;}nFLD^SoJpbeA)2EN$ z4bjWZ1I3Gkv}krO3+IeSm^Nr)A-g5c)%nN!b=VoJUz@)wSTQ#uSECQyFR(c-w$|_p z+MQMBeqf#Ce!RhcGA)1A|8ykdeqzsgf-rsn8+*}FsN9>>|`)T0IvIb#{Vfd|PyPzCYE2a}D>>ywA1g<)L_hL80#_*}Urh=h z$el|kXn=BM#!$f`xImfZ#?4UXsF{v#|Eay2RhvYQB|+IIJZ<{VA6eX;>zv7x_`kr7m$^0fszl!cFsF; z_7TLkRWnK(rM=rF8L=qg_8Hv_ea1B7V|C@6KqbX+DPbGtgqo}8&|i0pWY7z$(M-*a zq@L+%NwiBfO2K~ct7=qqAK(ns$TO2n6L<(yFMmz-m5I?|(1<0~$e z7iQFQ#uOTEyrtyQ`{7123?w()sNw!9(S)1l^`vBqi!e+cNQVgHd1y)2M;LXJt${c! zO5vd>kr+xIRgN^?a(~W4NE?sPZ#yH66l5GZ9%(dGq84KvKqul{Au@ee)o7!xvY+}z z8*RcC;@i?Wv?tmarv8iY;U28am-M>F=#3KJdW_;|<(9{&r#K~R#~AN($;~lFargRg zu;kY=3_&+zu$K3b5t{198Rb3UcIa*hi*xA3Sfd0|bc~8MdMWB=r~x#i4Q5?8&UixI zGKb!cGcw%!tVH0~-H9}%xGR+ARtRfMxe=;+W)Wkjx_AzKS_F0WQdGS0HaC$KZoo9L<|i$7!gkX!Np=|V1m&fv-l;!IIP?VZ1fpniu)+yn9{+2 z;+j)-o5U0nNk-m(-!)G*x+{AFE0T@zif;pu7bh){=_f*&ifW@M+b}Yyk8WK4e|?`K z{%_v{sDDOPk4>Qd#f&EE#R;^PpCc#IeSXeIz8ycFfr&JRpL-|LA%32iNbzZSUYtnJ z^YivZTENdyljt{oPMt*M((zm{i3aj>-6RU|Gj|d_;OCE%sBv*TXHBMY{9HSkj_@;o zGWjy_oH&KL@^j-9TEx%YQ|J$V9-BfHN*GN%SEg_#Foq*DiLPBL+9q(Igi*oe{vr}k zF!dwkaf&Hp6u~Z~l`*b?caAS>Kt>4ED{G8ZpjF*p&Zvr?cgh*p6?Ie?HH=A2m|4*f z?gcJ@jd|A7j9#s1_>_Ht4=WnmRVcBlS25mHcetsqYNXJoRgBt*p?$N8F$L`YsH#R~ z^#QWch@uJfO;w``-aV*l{Gp7ZV<+P)BVIoCyLq5{bz{8(VcuKQ=%_$$J61HgJ}s(+ zas5IEY8fvhQgg-H##H>ut!;egNNKOtL9}}-&GoFH>H+Uor%jxP&?Ahe@5~KNlL`{m zVyqy~fYE*wihP$w6UzD^If*9KHNbM;roZbNpQv}|(BgVVReqkRXACSgoO2m4@&_BA z`PSMYeu#5mMdfRtc>5PsD(&(kUwad(oD-`B&OK?&QPoqo0>c^_%{gn>S0*5QRiIWQ zqk*bCputTHzw$55YGTYl2AGOXje&S9Y>M@MKsn8f8u<2gGvfgsUp-|!1=JGT+~|Q{ z1DadEw##2BE%;ZUXA5Js68>lg;s_%1bdgp@_wWUXlEXg+w=yb)%_0~$iPpBlP=2MG zt&FzHeQMI$co(eyuGU5!{JPcJc-58n&=u(3#we*MGiX#>Y}7Uiv^8=t>{jgzp!)Br z@6*O!gww6`jL`^&%0bT<({XCU+Z(l%QGo{SjbRFelikk(%^jvI&*I!qqNEPSZK!Kv zI~t!OmCuomz)ydW=Q$v|vw=3x8P!xYFub!-0no6av(X+E)#r_`;G=lpd1De5qjMKy z3?BJijB$X|K3$DeJjQj!AU_Ih>}s@D@bSS5#>nuC|GLcj+7KGs4Jh*v?dxW=!m?@I zjW@AE!@2{n6{7@C6!h!3VZx?sH?C~qN23>o}_y!d|d)asvlr!!XEXPmO;uWJy z{7>;7+&BSo_IqSVacy*9+bh763Ix2@jPeSS+Gf2S=A+HMjaQU~G$jVPP%FG{ROYlt zc&PV71KF<|msD)gkT;CF?%|-I^hsyLlQ{AQpyU{ZzKM#rsLz`?P{aqyN3Zq6nfw zw~eOg^VheH50E&p`#Z)ncx-&fScjGA{w_A-9*un0ILB$NdJhIzo~BO*gM@xd(eD{A z;a9)+jA}8z`yig(2;{unie5{4UF)cxRR zHbo@_ejbhyz`kF51PyapC7E}$wbnNme$&+_qo1AmMO+{C>X?FpSI0bF5WlU0 zbalAaHFP1G8A;kiV{JJ8G{dy3$X}whqx}BbE7qG(=gq-M#%Oi9m!_77#jFp zdR}oipk7mq!Rk3A%zitpG?HyR1)~TOHAhE)hBxdVT^TfEVE^bWO3g8PMPy@Wq1xOinXvN5 z9AjYUnUM%jPRCXn&(o^u#<%L?ku-FM@v^$}Hl3ScY>GJj4>)3NtRk}sF1!cz=hm4< zqWa~?z@eFjR|#Es13~Jo1_HHb8L28Zq|+SWhx_!)TqGzy{8{lvv@knD1a8eSrYY+7 z8#I2du~0pDgUZhXk9Y0{EOdDOdxJLebLvgH&d)73srr1Qq37gHmzg0cBT~XFGLneq z8=30;o0Pl&#irc~bXj0rR@8@~f#!>Fe$X)#h?s^gfQzaJUYA$ED4o_m&zT_^xkN&64KsZK^p}HGkZ$noCuD3SVYaZ+T&E zXq^!Drh=&Wt{Dr9o%IG;yYMEW&>N5S##87GdwYbKn)8N6Ei)Rc7v|D|Wnc_3?3T-o zk5qN~4LZEi*sp#Z!-TE_U0emE@atq+vf6l7eUM0ZRvW*oe@+hMuQB={Vcv{D>vhI5 zCGWtD`&>*=0ao502mILxlqHxz2P)kr4o6XUvTy!_RV-r8iWRxcl?Vw;Ve zsI2c@aOAM~*FB5W?vkvq_FI|wCYiFbDxufw*KzXQbUJXP9hv;g5K_67La={vzAT%gZ( z8vRh9{4Qe?3Y^`AAzz>ppBi0|i6`q*V4VL~8~Z*pO1m$Fn$eWI)972!Ozh`YGaWy- zn%VfdQ9b1`_TI&khRfUz2knLQ;ByS*B$dp?h!4|Kxeyo*(d1mCg8Px%)M#qo_(b|X z7gN4V*K>{6&`Xy+Mx!DpBhy16va4qD8+>0X6z6{Z9<+3xPVNDDw`SQGb9wm-Yl7c? zVNGzaUHq!F_ zMkOwNa=+12{q1|I^CiA63%vcMQC3k;o}h(a8Hdy*C#ZiOo|8{d{jZHfq5oiOqsjc* zI1swy6dzIR&-M7zemf6;#>uyn@n@{{r+W9KtbX#O%S@MFcjM0#`E`~3bpl?c%CGlM z1e@70j@OO*Q6GLE*z+B*fV%lMT|I8}Vtms1d%(gXTJb&b^k?g+$_b$FMS%$?jL`~H zqWDurN%h_ws(Z?)px$@UwcMC^8hXlT#~%-$vdC57@+l)qQ6ELpogYArZ5)&PXS|nw z`mA^j3(?R|EjW>KPpxw-%iYilLOo_CXs8tT6X5DUm0HlEpNunLXEIM4X^9Wlzy`Di z`gD;N3pHmL6wl_vHMH%t(Mp|ji(F?wMRRUZ*)x!N|6N0a&KOI5S+M}A%7CjfuI7zG z5Jf(Iw6>Va{S2P#PN3h}!t3w0V^Hi}5NTa>y@6%9H!mH16fJ7iFNnSgNpZE$d6rwoAj;7*|7PkDmf?E6{qN zte^iuquLSr_7|f;<~*0BtAdXV4iYQAWS7V&q1m6J@d*p=9#r_N*ZJy|U!ivn){R0N z7;Ac@EQ54rvJA8?D1(G*&2S6Yg%mtEYm|Ks?A#do;+)Yeel${>Tc?>-JMex@(8iJY z6%6KX>isLk;bnB>S7yl8ka8aQ44YN{yy55HZO{ z()`~*u1^1E4DPxC;cUvd(3-$L8GfkZwBW0Ftp7r&?D}c|B$WXPMYE&QlK@MpejTs` z_XA!4ej(&9Qi5iCF3a4qoSKP89oL+6-rTdd`Bn~ zsJ{VxV=qCRSVpHW8I6@40smzqSy8tgCZNF=XyY-kTJsMF(eT&6ltm=|oQk(zNx@xL zja^{EKfh|c4Y9fUHKQC9Sv{^nZM*nQ%|uFw0x>uY@ZScECap6J`mW!b1qagQ)bQ zggdFH#|oDAtt2N_f|TfiIRa9&q+j$U<7@$v1O3TM$I{!66Iw!8UHv#AP8vlAAA?p8 zriYIc^4Sgr<9fVq|3E}5^$&KjgY@}73DXd0Kj2A173Z2PXoi(tRR2lBfaIGaZTjCM zA?EmRbTV)5gGM&YFq_Ky`mQ2nEmgC?(MLmf|0WYam)B~~kMUYaPewoo1ZDY0hquV<;g z%;Ft0vTXY53G}(l8o>8qi_8`x1b=%gn~yv2oHkYg!Hlcfn2?40+t?Ve`GIy;43F}5 zmQP-`$J@%zic5~ca*|V-O<4|B7EH_2I9A>H%V8_H`o1()Wo3}oKb}=|{)#jQ(xAj? zMYo)+5|E%p0{aNUMx%U8bN-I+0r;N6S+aceFwM=!dQmeM>z6QCL;%3`Cw^xbLop|S zpl9#)-gB{h60`*29(E^i$!_4Yfk-fAwvBd0QBoi)0>-3%pvX0tx&^UV9H|%;#H!1a zcT-LfD~E2lg4uofzRP5D8-}pY&cPw$h(r?9JG-!TvSk$aT)aMF(&> z)WcarbR#RARSN%GTyQGHeW!UjsJ?3}T@Gh&+gES3;!gX^0qjG{tcSb8mA28rv@U}6 zk-r^FB_mm+e0dzzj$|c(8D7HbD>Ogt0>Xl3Q??$9AgLxf&%9gyDIR; zCpyq~F>IwgVk@q$epq5$x9P_=`|C4>E9EKd$6^H|ML|8w#A&{QH=F@ zsfjDEY2wQNOB4138wC>yko7<~?^jy6`kGd*{=c*$pEU+@$AfhsE3^EOJ=vaObyblYo_}m3Dv;a`ZfL|OvFTj$38A%1%M^;o# z$I69;)2xEbox5CC6=ccw%^R#bY+3;|V@0v|KP|=zC11lWf#&W2f@vVP!*}zo zq_048i0ld454933Dv{K-I7>ju{>52AKyUT=uo$OBEHGuEcUN)d5~{@`CGhQETyyIb z_O(1UW-ZA6=5Y1OJZ8CD{iVnP+5>sJD`0!OX!iRv&_Q8{WmvAt$;6 zBL%DH(nlcKC6aM@v3Q?=caQN7K;V5A-a~xFtckEuCkCLXj-STo75J>=eiomMtwVl5@xY6W{)Y9>&sc^Ov6aUZIbhl6QJ8CKE%`(_#TsR!AFDH`VGSZbZl z;t?#AeGXmi&t=&e`NCo7#~GKJ(3Ns*uQcDgv^?V3I4ccj37A zensFaE{5G$iS3a`Ll0Y-)oyIbt(;b;+bo5agTZWBj zfzFmoovBeZ)P9osRbz!^I!8;Yu>t}~sABlH?Fwq8D%KCJ?2OIAK|73j$-UE$yfq$~T?l>KPi`A3yK<5V^r%Ux%Cwb&?s$ZX_0rq3-<8}IRdQzXYl9wE(77dU*jb=4qHE?;_)dp-m zx;wQY+l(PKZG?4w*So0^g9A|}-D-@W0MA_B?6(0}0O#j-*e~Fdjx=E3VqPjhFq$&FmUTq7TfkEg@Cz`ST+CeC=e7-1&J}O|xy(|V{aw%u1>$|K9 z>iPCvY}n(x=iX&iCDaht+^C^;bJhq5IjuRnfy9CDvsGXOOMbwbzBHwCJ^(#if0mYi zz`npb*IKY7IqNJ{Z^2q%Q=Hp^rDJIvFry;PyScwOANJ(Gl*`a{-07>u`m$VP+3e(NLl zqj=5tF?(o#>O#zXYJ4nTB$fVzH4*Q)?yFHR5Xt$Uu>R^(Yi{^>lcfL`k{cs_7FGR} z4Fk0He#+M1(d#qT9*g+mXY6lqd8ax6zC@87v1Fj=PwU8%F?*lk73}`Rj#%8o>2^ol zchJY%y%UISz|5(F=lsV-b33!z@?#g>>Wrlim-WvvU&H9j&skkN@+f0z=jW_k%uh~z zzR$-k(9i8ai8+$xc>f#)hrz>mhoIA;;M=1lTeOHz)s$Sj|sQDB9+LiT3 z3mv<$B1yww-S^cOVAO}9`a?M@lN|U>zb(lJ>tHu*MH9)^-RMnhJZNikos?#|T+ zCmN$np{%dio32I36K>=={1sTmjVGyG57s^KXRJ*4CMkPt`XLIkp}*M+>vJTP z=*>z7-hA5V=-M5a*mp=ckY4^8`EVN9Socyr#tZOMW7 zbhHm^>KcoeFp&N2RJ1gAf4uDRWvkX7Vn#Og?ho-~D6Q|0o=%|u^+$IOAcyE_ zWCnKm3G^8r^7-FrYX<9#NiUWO6qrXVGg(pB1E{FOG3ndsN+uiZnKwk79h7mm=q~Cy zfR&bq{zi)jK<*hs*9L%z%_csOeJRbS$pcwQ*Httlj`?lJc}Q%zL#g;6;M!1n4-WzO z!GqYR^5BzncMu!uyol+sqfdPXV+dFAB1XDEyquZ_&nCPa9?Z(iqfb)65Onhw>M;Zo z(@0u51kI18n?u-Jcq=`WRgtGWq_2h=L%B8-JO4cTY#4@e8~7W9q3oeq!`R4|hVsU6 zR^Iav-^DzLvGo|vD%p425V#5_)iB#R!?DcgQ}PJl!ejIe0lk#%RvhMw{h{$^t1ILx;0i zb$kq+08||5tup~UI;O7EL{>8xq-cT9H4#TJXpIYp5{^#8jdF1_Z`~QvtX^ zG;}I!XB*~*pev;^l{$qd6{7LkPA9dV9P9B`pN2NE2ez5cQk?rhzFeTMQ>L@8!b~0r zH(Lmc0V234r-{vA_pliR&15NI3!p&(UtCihO2AnW9nx!qnXF%gzgRkgAOZ#8@rZ(# zX0l?=W2n7^GJwKnfe{!;O=q#%(iECKi}gmGv9kf3Z>Z92_7w>5ce7bT*9g%YobKL3 z?m28w@b}ZPR@m3TiHK{74$4LmTDM+9gU^O zb69HdRphXVjw-7{U^^Hv7dY8)F3azkfL6ps6&__3^`Fan%ac#hkS4<_$rV;edQWhpZwNl73Xdco**OQ_tZ5g}V zaHLzWWX5yRAO3{cC(!l6aWPO25eG(u3!^?|f&}v4I>-V>139HcuzQz8loV6J<`c(+ z=dn|nLtU1$#?UiuUk>Uwn<7`Rf26bC(3K#QfPcMJY;egN7fcby176b!8RJ*HL*}TN z2$xD!na8!$`25!elD=h39(s{Dp3yTeg47^;5>)QGMUONxExkxhz6Ei-PW!)Q{c!zT zt<~Ue22=0VEG1%!!{;~S&`pm{S-G-!%WCjFm%Llo2q*D=wc52y&bxqJydH4`xI}hcYy45raL>(d=nb96ClhXX&2j$1-^3^ zw%Xwov>RO5G@7&%WS&{`-RCGN zSG?^HvQ3gaE5yWV*5Bi%%7C+x9TK>s$%EDFX!k?JZk4 zeRc$FpMj;3wEqa!;cTyTlsP1MV*quHaK(T?w{04WD2^-!ZmHeq!}r zI>ze5MU0A{0N?vf2(FgJ676&XyX+X+a00CVJnzpZSf~^}5(W`y9F2u&tV|^RYXHOg6=3MtT0-^dr-d)g5iW%agR6K&x&ag7#VsVlqZXhI^xLvfWlG zp0?j%btq?Dd=RZF9u-P|{>gfHH{D@dWGRm3-eonZ^=!pS-xiNjyeIFoAPL&8tG}@$ z=-8Uy+3)h!0O~d%u_>kXN(iC1u7Xug_=EM5mxh@Rcl=$ujV}Gc7E8-1JHk zaz6p{v%@?73Hwv3w>&CIs>X*e&M$Fku?M?ye{NaHrIpqA(80>xz$DrCQC{p(@KMK! z9vtw|E&2bQdo3M%2JUiY6lEnOM0guMXT$9>vk2#z%HAluniXU{rNmKoX3`sUAxsUG zvlVI-p%$~|SH@FDgc?g_!_{(-=(~oiW$;)WuGWtGQSt=iR4QD;p=7rx^WEk_q5`nG zxgyl6Fbda+P)kFCLlru!=JQi;h+Sm$T3Qu}4qc#MBGnow$(`c(yA8%Xhw_h&Dn_a0 zJqOJLPWkmo2Pq>;&Cm08SSh05H6*wHnX-a==A%&OT6z+t#y|}rE)=be<3MR##Ir(A zEqY42I7f}vOGc}4(nG2jt;ULKRSS?@1TEEjqFVITqW?Zc*p)IlsvQ!o_5w7XM;kz? z8l#rPTelds2p%(I)B!8*StPz-3en`$q@F@yB@9QdX=w0TlNhOW>85s1`MTTuM~iQc9xw2@TXU~iRZI?YCG{I1K9g*qFNk} zi;3zL`QmT1IuTj$yqlz61}Qn34__D1(|qa;`P^Olytta5JOxy@c$r;XZ9>X5DS|Qz zsJ)$+9%B%BfCA+#lIVV%`X0fD>1)TrDldJv$@;=7=I6eJ)QPa~E6M7c(pGPcWYr@< zjA>L@Eg6*c`wP%i&IMjG`n#~&Q$BW{x)o6iI**+fO+!$KOsGZwE28$7ms~bR0_WIy zDQZ2_z4*_fYIp0A6HwddQxmD{Ln**+(Z&1od}`f^sa_DXVrp;s=vgt$65@#wp0;|2 zzFb1QixPCdggQ{3ZZwo+R0l8b>7u<;^0gG|Qd})Ao^y(;?a5tI&6IZyrO_qTRPo$e zQoSP&O{Fm<)fDmER#NRmb>CEbc~1IKL8)Y*S2kB&;9XxNS2Tgprn+34nwL^X$hU9P z^-}0Bo)M+hCK>x>99~HSKZ`RDU+UUdh?#|iN=AaqNH{1G${7i6BjJ!pC}kvgjD*7? zA=O9-G!l-8gknZQkdbgyBqSRN!A3%kNXXBv8E7}eNI51_xRFIM5{`?61S28TNH`%9 zVvK|^BjKb-h%geujf7Jo0e&E;G{Q*uQ6vawJewYAB%Brr0Y*ZUNRSbj>C-amP034d zmsOj7`Y=RPAeQXo4EiOK_nOHykX%DYn6z?g zX*&+b;=Dy@qO&30ET_I9ZSy9SS35{?TV>Ed2{&`zmpn0IO^8#1AT~M-XBE_O@=y28 zweZvZJZqt#a8v#35)S$)=c#0mP@m)K8bo4{{3)MH8XR{|N41-%)Nn>23?bTqo0J0) z1Mv&D);ghzTTxjp2s=sQZYj=tr?R?I@@zEw1L8a1yRfQSLyGDmj#QaeE}L#LUlPI) zJWo^e2M)C+1=!LA!G*g@imo=4m*YUHuD)*-=fI`3z^GvTDI7PKF2`MZPW|B$uT)K) zCP4%~l&&HWrLvf|R!0~9Af+za>Ow_os0@b>y46)+Un$&x_h%uZg;I+xPwa6P-D#wH?oej#?iT2YU*n$ z8|cvY5Gw0UlipHqW4xL5)DPsxA#|~x+6wt?#^{3dL8nb%A;#fQZ`=B6Gs)T|3B=6q z@SetMBaAlsZD60TuzzaK1nB#gcu}~IkcNJJN3DhYrJAS>#B>gBqLzKN!0G_~_!7|? zI7tey(W*AF!QOIB)xM(q`ey2zE|C<3g%s?&5RMZaz!xVZ0~>Dr9*T>d zj13#Vgjo=1l=!aN4_*Q#bJRMy=a}46-c!$8r<}D=mJ^{GlpZ)@e>pM4fzu3XCG@pw zbF~m2pEOsSqN`i*2ADdi?TMfmdfr?uhH)2rA5a-dHQ!e&#i#p^C(5R}+@`w?rHTx( ztXoouPGE#X>F)brX~qhcw%Ej+ufl2Z2LSt8Qrf8ns9p;-6zr~E4|qB^O%0&_EdV7r zrMFY#g8Y*>*sfn+LRH(UWr^FOL#aT^|8oV2#9FCQzFGqPwcN&KY*eMKTF$Iwek*mj z*^5H-PHUir(F;z)TdU>KThW2sq62J*%o5s76m6qkK&hu~z|xJS?Gy6!@-JEU8okUh ztF4iz#stc0r`CV9+QT+P`ZashMvd_{ZLc~cX|1=#hiWaGoU@7+eySFhFR!AUPt|Ag z{Z-za&(shZGREbOYCC`He$<<1)9)_vcIc#*5LHa;tUi+bS^NNix9jO;-c4Q9aLEl` z87DoVin7zZF-S1Sk~?7dx&9@3R)aN?)t{QH`S~rhFbOAgV57h=Y2n`B0tju=NXB`rp-UvFc~@ zR9Cc@y7zUXfA;d|bMbniRnImsruNHVe)js|FR<$C&Ea3@qaH=SSM&ve`G)@Jt8yI5 ziR`DQB!A;TND@Tn0t2AT7r!Ct2xb5QBOKH5Dx?GPi8}Se2Js4Xpnje2UENQ`8LG9E z(_d`}@ttP?)8|sf47GTH`3@uS7la0*Izx)W{RMLO5=6=b|Yh>|m8lcve z3Ot9?DBLyhfXb5F6D2_mb(^7Z7BmpS7C-|F4FVxMONl9-$T%S^hWM$cf7y%+(w7OJLfcj#Q_}ITvX1D767zua8oj%J(l&#nHJ`N%0SGqfI}u4EqMH=@DI#ei*G@ zaQWB%5}G>(bnlhc{(%D6#IpQjjUnC{s}6yT^Tjx94GU<-ICa6RMIOugH|E%kRkdoo zv8sAzVas1Y!4uT#c)UG9ErrLh2?lk2iEuuW_4CFuC}XTjZ^}dvF?p$*vM#6==Y0wGel-QP7WTpuL|KNLP)(JRxhDx}JXtOW#h3CoI7|Fg=Fw?VE8A8e zl!m#prA}3&Y-17ApW03Wjn63;>88qsK!in)xVNw zpzDWbsm*f<`tNQXcUjC<|A<(95&@G1AU5C!tai!r=95%@j;g}>^SwE0wTPS?k!~$! zIf)-m;bVR#hgQu|xx62D3ax~#DP|{5MPJr%%kBP9chVHQE0WR<1tw6%)lo`(X9=8p zHqNdiCa*~D6i-o%M#G$}D zcM+I(`8+ietjzX#YW~8z%uUbOBw+Iqtco%TUhglfAobyoDfk;TCG4JgEvlbc7rN$# z->5OxsgDClY8)GB)t5Y?-@Z|!<++b&#y4uwaC|YgRsT#*%FTKIp_%iKhvc5G7OS9at67ZTlx1!~Kf z2`)j65v19OQk9McAROtl*HZ0;YHI$qu%QYi8NP~`j3UGk^6q<)SKqvrW-e3*V$FY)6mW1^#QLRJ2zTO3AaAZQnB}w0a92*dOYcbSJ6R6M<^=)S+ zLK(TS;4+t}>5g^fU_;tThnA?FY|!65qX7lgB9!@smOQcRXa`MNs#bO^ivZm=@+5d4 zELBHIa#}~qT&~9BaPG|IYJJygG>1H(QNJ%&J4Dv=?f9lV<-|}d%3suNg&Hl@qY*3A z`T72mavc=?!9(oIC`tDP4+%i%6KcE<(HcHk3HE*z9a*WyMx}KWfji49o7Ii#-Nfu=9?4*5>~NS0FR_BvIwEpmXig{raP zl(=54mx$0sz&;4=#v{gjAap24Op!oT5=dj$gFE<(R;3h`tn4-Q{ z8{5tTfF!L6h@{N#(ZN(&@V%N?cqOjzH5U^CxIwXrx>Ai0Dh5P+&c;whE%e^~Ud@rD z2i|QPpn9ut6-SQDUX(*GfOSn!5+pYbkMA(yrSM#fXR08o;szfm1dN}TDf9<4zlciz zpzc72AN~M9U#1b8u^nHgJ)70Bcr@JtiFOoaZBc8+U&aX%qlP4qIAxqLbaIz)i_>w_ z;ubK%kIB9jvx`aIs+M)W1Ii^neX$iH^kv$#6*}Ke^k6GC{Z+)asr7A;^8*b)*kD}w zaN_o=;dFFNh@IwaQ$0y&4HF}TH{g>hmyI0h(mGdSRi>87aNYFjG+OuroojVNvt>j&N(<}CUH zJnBZ|?^4`d-12Uc6F0jC34$9)KkQbUpa;qxwLoMb!U+lkQ#KH?HnbTT$dOES_dryi zm>m*Ir}iLkAQjoGwkwLfh~j31ox&!7fVC-7fP#f;nx-5+DN@|UFp9i;)ijiQxL18E z0?SrJQG&h5;g8!ZlfFs~cbU)?YxIkKSdPhbWFN%TGxWCzM{Y@$_< zVX+#VQ7jV{Q_kKW2B)y6X9-|-jJMs(>% zb*Fscf_K4bsENQkBC#rrglZ@`&#JrfBrF#aGwSmmIH&HGq!nJ|gvESCUY_U31@JsY z9yyY!>t!{WcK@V)D^FC+G4e}l6M1~zmkGX?3zwk+%(T(5lYy}`^op8f%Y;ls^D;xC zoXR4x7#Gq0E1+_x>Dd+VlBcQMRrOOm=3Rvi>olFYY9xkTGZOn;0~uIE>#nKYoQocT zLMR<5BQzn}j(t$M=&gNS?JU7&09Z%R;T|DQI`%)cl;gCp#4IAu&+0tsqIc!bXieV! zh_3wtP;Hn?Wp1b)gO}iRpIAa*Xlyz>)DA{R(ykk7vbjfU4ZWa$7|cZ>hCJ;S0CabQelNWa#+8vCo-NWL_YF8`|57F89w1G2M} z2Ha6Uvw7iDNoz`bBHhC0Dic0e=t0n3wVKG-_^$eyONUf%$fn!pS@2TPbp@rX98;GVDjg5~@^bWl*3?Oig#?fuuxJlps zW~f%O*CWzpIsZ~I@o?muC5k-tM6if+Nt^!;CI3ENT!c0GS!pagH-ztyXfJSA^o-;4Lz zBM@bIse|qxR-4gR|EL?mrKLPkE83QTMKN`$1D>d<2#xXG69|pF=*AN@(>4%heA-sX z9!W_KEsQ2U#g2QH#=Rv+(w3*HM?P_!4m?%=M)n=g)M2p0*L|**aX;89=^4rZA;6^O z$96L3xf*88zU82G&w;kf=}?+8EvP2=QGwc+-|S%?)+l1Gb}ST`pWY_US5 zO4@IjVnxdS|+@TpGa0=*G6Qa6}Hr11Z=(0om7TyKpo!T~e=Q?T}plNVo?G}L2 z&zv+nKf6Tqau8gBbp#a@_qEM}0(le(XWoGnw zM?3UrgW}uuta}I$f&P>U)3}(n_rfsk%P14C9L3_yV!kld4n5u|Cah9+YC-qbAJrVxsN3-P}6i zTDpST#+aD)Vyzefz-+X6zCDy~#%O;F#JU=bE-%GNJ*~d9%G){)xGuVLtQA(@ym)O2 zx=}7ct0+M6RRYGbo@OOzNq|Up!b{bs#X&!w_F-@s)n?iU&OuoI9rgZ{RW&4>wlJ*} z7XST|0d>3;Rc)07$<`|NC1EecHcs~zeU z!!!({E5)=FaND89wUQ;CJB15F?mb!05wr>sMstdtYtX`oj7IrHq>22>zbb5n-Wy6% zFquYCUrk18v`}VLu!zzxS_f-MdS+4`YFtu#B5m+Cctf+wwk0^8MfzvnR+5 z;44<03YXTr@Y%UiTH7e&pzMrt+PMTwWWY=7&+d~r9Z)!AmDdm^Uk{uT;EDEDub^!N zTVy&1J+Gv-rUjL>usjLfur^?3i5L3YF;#$@>*#zHAjJ+!sH!mpFR4&fE94wD0a5^1 zmhDll7|N`w6?9#iD5BkTK$k_(HE?p~nvs9(zK@GnHK^oScF?=fbee# z>8591pmAwhcgF#2Kzp~6Q`g>+)_FhBwbGLGvp1`n_MQ~+jXTLEvR|;ILqLFh0U}Gc ztAiAe#tAMFC^3@WuA#L;m)F$L!oxEIV9A1Tf+*&QR2i6LSC-T18d}NE#0N+ic|SM> ztBm;;6N{azgAQgMQ7@F&)L~|IbTBm4A}a!6`m+KYd26L^HMIhXuqB$a;)_Kd;3pIM z@gc@`Yi!HjLp8O!l2gRXN6>g;wX_x1fn+>(vfMef=+Gspnjer5^^ll^V4I3_qb5NUiJyCR|hgOSj zHPTkd8$co8QAf)gYc){#J|3aQ6bt_x=+b-OevS)N^KA`*{1AJpS9A^U(YH0XguGcz zwNez^1dDaGH=&94r7x`tOiwvYwfmBM>JjaDS8Eo&!)F=v3kMQ#y6AgaVJz~HJJ{!2 z*AA{si{I16puaE(7N%CswMvj}XEfK!0I>(O08xlf)I9V@b94h_Xl{w{%EAg4;~n?D zb_ubwu*}A*QQn~~P)?{NBuWlu4QX`|YnZoCD{YV!r?Qr}MT;BgR9kH+1f7g_8eFWr zkJ@1@3?+Q06otyd*!cBeV?S`=3Jv}tw49KGLQK9R^FwVtI$Gu<0QRg&y=Hu*H9|*0 zv7$)+SgR(w0E>NN(B+mNqk&!Y>BpKXQk|4lIT6g+$J$QR(f$*E9a*Rf#iQx{PqkzC z4R`9=^yOz-o4~d94r1ltf|Qxp>GEgVI(gm;UbB(SqTn^_P-s=}CmlfsfN8xu0SFVw z+ey=<3EoGYwC_dg>d&=z^5Eb2l<0iku3fZ5$$8y@)1>3C)6}loRB4~LWH<0HQo46t zcXV9N+(6l1Xg8w?;h7D<2*KOW6P*PzyQSI`@RfF6K0O(lF$7kB@|E_9?HfV)6c!y# z{d;I-LA&g^c(+>4{FXAm)_#N(`EE}Pc7eBWFRhsbs+rjvj0`L&$NOk+!=zQ9FQ$Jn zwdkwW!`srnT2j=8T*ZFw$#&r-e+A#5`Ly-ZO2r$I*OMeTj|&|=Bz)X7FMjKjcG5fj zK$H-Yub13|Ox`sy8Ya-h}*BPdxKY+UU@ zS`&GZLUY?E#ZZPTsyYR)l|$?47U2`Q8o@3t@c(}T3qblyuljX-GD2c+#t+nQ5$);s zjey)qmYO2rSEKa9N7QVvRuR6cF{8AB6fs1L#qSbBwD{m9I|C35sH_DCZ1lN1>Eb9Y zmbwlBzp|WW4goK?oT`r264DZ|Z(qBcxw7dfC@2EtJH(Ir0hfR! z%EDt&P;&jUgy1Piq^ffwiib)%S0+FmqR&Mf9hGk^Czhp7sJ_Y4DeXXQc@+ZUP6eAh{sK{qZo~ElLxcF{6t^{a4 z3vq!I+}RP;BH9l^*8nF(L4*}E`Vl}!#%tFzppiv^THM;*h|msv)L%wo6QK>uh0#H4 zZU?cAD}#g`+TTxyar2evBH}~I=%MHe_&S`l6rq=6e0_0XRAygfJ>x$c6X|( zdC*+qz&5UFbL5UpXirVxI|K{`*elbfKuh{Pi}W|vkIsq6c6t0G@$PAOp+xT`Ueaz(GC#UYNEH6THTWz zm}ztwfHV4wxXYFRF<#VE*aDg;%!mH97~>jjR%&1_ccC#%B3l zZjT2cEd)^L=xD7eY-WY!)Uq(4U}%Nqa%JUm9>mkRYpX_$ew17YVr|Z&vC~VY?nB5Q zU@u4yi%TVb!(KqHmQA54JifUwAEBOVnc|rAtXAKb)bwoGIp0gtY@o1a#D`xbs8V z;f@oO86VIW^xwE78sybo6VQ}uVKj07MJsjD?H5BeNS1L#;1Hl}5G-mk6+EPqKAEZ| zzWo|VLmu!$+UbKdE^R|M>?P#83nm4BK5j_a|sfSOD6z)0S@l;WLrT?u!kzfr9hZLOus=@!2NPt{QqBya?Mf; zSu=3MwFP~|{9Jz~RC}KozhQwA>)F5N&83|x*1Vz0$jvK=kdgPYnKzdV7lI+J0Z>89EP4W{3c#B`UR(|V z5{Tb1i8Ae-t|fm00$;qn)7?m!2?)QNK_qHSU86iXaL81x&Gd!ofeBW?|rEfOSj z8TC3iiYaD~Uc8$kn<(#g)3`Yp?rz#TN2?b&3_Aj72Y`!HdQo$s8c6rq^X6$I6{a93C>N;O`JHWv@ z^IIsivl1R@)3tgpafvo~01}(8C1nWr9dV2Z%Smu2!lH|iz#V*tan0L-To|En#2X3P zn-2>JK`jjxbDk=bELf~q(uvpxS5%9s257|hLl>QetsGs%BN?G5V+54q(Ui}Z!>zyT zk2Yn;{W{`sb`b8c-3XH4Z^!J2U}SO43=p(tchMARvY%SYU?YV3=w*J7oC~yS83BTo zaq3*yV)Ks5XW~Sne_TH2A-}Vk(NnC8bTnpk_y061|5;48Zo034W5QsdUMuSxO`Pt# z3CLf)SaO1%yxMCYOH6+)&~PX>Uyw5@uq;gc4jxn%$5I?TxGa1q9Na@~KemNC4+yNV z_s8h~phfFB0dFK1mN_N>2f~xZWC-jC6pvDv0X!-JN${wVh_kH2l1kFJ>{th_$rlsu z_8_}W=h$lL;3AD>7$^at3Id1y&Si3~1_T2@WC2g}4t5hgjF5t_M-MUK1{j?N7-1?X zY*ElDJYo#Y1$F>)1$H1ZiHSJQ_=5cs1#{>!m>B2_a?K35rV5Y+ir|$0CWTVp@>q&OJjLiia2yDpiY?7WStsl*t9pdL4;UtKDhXI7(84aT zqZA&%j!Jlhl$C4bv*i<)0|^#Is241rg-awkxWAo#YZVtyiA%Niad1!wm-BGh(P%5& zm}r{26pV}@^!D0ttnvBmA+J^N({@R#WvDNy#qy^)R+~y{X!;s*w(W;PFO#V9Dw=H8!!)8cVmue#&25#8A z9hYfcBdoSW*?V=XR#=r+@AC#-)P{>6go{^7isylUwAHrc4xYE^*k~;l6gL3eGChXM z0EE%x$m!T>&|am9J%1!P=yF04gc;;7m~g{^qf8@5Ngoqlj*dOm;)>>S-(sl*yu^L4 z%Mlwx?p|lfWvi*EJfgSN2x-jJcRd|k%JE_HUe`*2b z`Sv+9byH{!E{L9-z=etTzKuuNp}0}jO>V_CY4qg&yb=B$&2hOofBZN(eW*H(^$Ks4RTiy?6@ z=m^dk-xQDCuwA3?>#3~G$l1cin;<7f4867(Z4ADRckp=oWo*Y|>01X^MdKx)%5go)ZxedAY&@?Bn0AuM%Cq7T5M^21%DkTK)H;~vc07ENY`X<`7f7>SUO zc?a0IF9x8psbaL@RMW+aV8~rvJQ|sXySNJb>|z(%9!C$vw?m}5fdhxAmYWxk*!#*z z(U*O%ALw^(UiEcjL=V0v2xg+4LLQ@?FFeK|rh1HS-SO~zusehX@>5|#DY1;`SU8l zyfGf*gHil2Z3)I;57Uico)WkJwP=j82mT9<(*VOcAv_A5L+uInOk_4%;PiJ0FNtOf zE4(1O)JQRUhKU5@E-K7XcnugVj8!__T&2_LgHZHo1DUJzh`CA+(V^Vb0tgObtkUV` z7)OWY86#H924k6K8Ot=wSf)peWqQP1riWfTK9oEBU*n6Rq=^4srlL7>nTjU!EYmD= znNByC>2!0M9;WV*Sf(4zWjf1TrnAT$g)wh5mMN8gt_9JbRvw9HzkQ;x-Zq*mbru;b zbrvN?zgVdoU#!##c~aOnu@?86@sckN5M^Fa}t^sFsUTP^Ekx_X#i=vE*Ms!O{BI@L&D35+~CWF!XPQo zsKKa9`~k!6y9m+e=OTC-xHu{k1E_HgCA<{8B404GLGbw$ieXWcDG>(h5uNn$N5Sw5 z(ri{}A?dxq@C*+w7{oaTp;|`Vcr!YzpBaOj7}`N!Fa(TWQ1#F-i|*sv?Qwpt9aIUQ zakv%|v5%iYwSgFnF(!YdrpKXKsZhfOgt{yley+?H2NnPnuA4$ZBI}58^k2;Liq;& z8aULBP=xrWN<0ma&jiQ?Ct~slZl6(FNDcz9$RAn_2Pl00yZ$ze;s3YT;D<15ONK_( zNdrzswG?thEZtfvE4G~uVClSyFx;nf!sP+V5NiSg<-kj=v&zfVcoj{dn>El>7!C|H zg^opFm!meo;y=iN>sP^{`ta3Z;%j*WQ6W!2{VfI@AynQ5T;0YiaM|FDJU)~ajJV?k z%Dxwn2aX5>*a5mg*f0bf{m>H#E1)N&EKzX>-!*(5pRC{((hTk?uo~zonD9WLr*Y~f zL!gjfWJt?Zn?r&A;wDU^m%h0dw<(y`(p=1WMOrXX+3bjKz<$Jm4b@jzsMrj|$q0BA z^ME;dM{Hn@;cc0B#8Z7EcIS@RL`{#+#{(7;19P0*jkWVCa^@lqw`heeFOT{atf91u z(RC^NU5}IQSBmBIR?|4e@hnyj&%g~>Z%4)xd&u2%d5l$sVjIVL5-1%+A#@c6R_yzOlwB2D&H+uajq&KK=G;ajbDZ;|Nm0zz(O-H%OT7`xcd}1qQ_)_ z1LZbDGYILxFfIXcMGm8Vflc6IbDPF5vuPLsjPjzm<3(}lOH8X#{8b4g#!&X54QQ;t zv2_u*j^u~}y+(H&H5E#0RFNMP2`9dI3l05WQ5|0glXs;ZXlLDzz5|0l+ zyo3Z0gg_dX#FHckeV4?`;c+{OSIofSicdjY!^_AY;sF=VOc-u}V^+8sB*~vA!Cu-G z2~a$KnS}E}Uy9#c?j+JX;WzGUgkU&aLI&IeD~X6xqP(QLzZ4xnt~L-{M4CR{1%;ro zUR}m|l^|j%@)T@$*|zWuRFy2(E+dadRmd#vtq_6Z1{k+*;1eSG7@uBBtns?UwAUpz zdNolDHBW_2#U&qTCchYDo^&J&O|tyTP0<1d;M9%Y6}PlNtc;q7n(Z5%k9Hsfjm^&s zX8;JO(EvaabgW`*{*ehwgcax{rWD=_pwDJEN(sp2783TimkOo+yF<{snKf{`=#bnE zKsSLM;v+ob`#QLeQX>^t$bL|OE6wvZ@~@tid$nf*1rx>n!Q&;N+BIj?+;?0CeS*ym zGmlxFOj`iJ*c_u4w)_Dba zWON%b4={Rk0%CPQJ-`l8nvNDU+PPa0e7TEa3-SCOEM9ajS?-%8Q|&^$x@7Z?E(FdO z?r!Uod5L0fT*{4oqH8?tDTz>p38i%;4_TQQW5vqn?uICiWeCFz+(AMLL!3jHfWo{! zu7n?5m=~?-#(kQw(_lwH?3Q?30K;Q=Y~y&;Rn3Chthh4=hunB%rOOl(1 zihlFh#XLle0EF*JVP3p;fbrXKY=g?Q77v1%vYWD3WJjmazIcG*hzGbaY)}XiZ-G7l z%QG`Z7$`8#o{0U`tq4!ZK+G2f2T&zp$G1Qa4^0R5fR5mBkn2;3JCK|NxMZWYMR_b@L-#4lTZXxOE{D!WdUvD*XyjV`wY*Ye=B?tU^+ML%u6i1~wmkzt__$C$;mB8(c+Y_;P> zf??jktiR9^T}a_)y{#lvwW^{rVC(N2j@(u@edy{`G{|~pGWy+OB zq^^A4@}>A+k~G7cT85`d(tPSxmbaGXdykdnCnb5igMO=pt3I}thuD_wy;YtMGUAd~ z%(do*(kaWiTyfUw1MF7w$I)ubuX{^o* z$miXZ*cf*|?$fz0eeQKv!)7NEMc6v3R-Ko0--Tc&d=_BN;N^H-@80UXj1^MyvvfWN zt9*1VlsHG<*5d8uEe^UeBsz+U)aD+fm8s1;*={O`CsVa~WDIR96J16OGl&XR4q>F$ z;mc5de;uRzuXP}!-tflObg?0?jNpp#jd*$a#_!au5mX?*(DFu5h>Y~+G~#C@L}Xa{ zHZO&!azDMz``~Wz_ut|3q-=Wf4sT{#j37eZW=*(9&V_sLW+rZ=1mbPX`%{7}ksk9A{nCaPlAq#yMOz*p2QgO&32>@&+PM?N*&*&z&^_rM z3jH0IG~AVfgQ!be9^iVq9du237cQTd+w$mGP-qBx2+j0Dk^|LKu3G84w!DCASHbBZza<_=Y{4s@0#qK^4V z; z(HGLw&-hoO-;LvxC>q&;ZxDSoUf%D>r^%y2%|MlBY;SneIzg3*%K|!d=Cv`MYdd2{ zyh76Fe7kdTQ8_rn`oeycOsR+C+!WP?ZvsXh>%uEZ_b9k4&r%K|T$`k{gcBzASTH}d zW+dkP+qrIMfWCM%_7{Z4KGv0wgC?5la=hc0&KrxB;foe!H-dXU>Z z;o<}~3E9l5tfQk}VD(O?CtqNb+CfFWM5$}k`b+*CdcW3R@ww9DDLp{6?ozQHpnZpF zP!HbOHebZ)`lAQ03IE9oUjuT_6*~1b&oAdZrWJj7EJgI>aZppGh{tfM+mk0Cp6@3; zd8+(Op=mw&dK@%v*b7Y_qJF)2P3um$Hm~f1t4J^R!v1%Jp7k;c#`fmvDA=Yq*G0kk zy?HGgAk=Y6AD)Uc$|d_iwR?y@?1NmHw7d_mQ0l3o7dFR=lkJA67i2XRDEfsz4B)~t zBX%37Uc^UmawxVhf75o;trw+kX>sAyzAw*jn;)tdGhb)-1+#UP_V?u}Xys8~s3vbx zm40Y*Jq_u{KXk4;X~8-hj)3~$z7A2T{=l3;)T%#!$9CANzhRzsJG3I+6^2&dG+Wh| z{Af=9wf-Prhp2T1uVlO8)=N|4uRw;^XYj4|b0;kN6zZADJ0QcgOepsbQPKcl*A;3# zfG625yY=#PX8@o!cL0yHU2^Lca$lWvegF?ffm;K3Iom&qUWsN5L{5F6S+H`RoFfJz z=Ovmt(17N_fxIkQunxkg*HMW{TAsk0NS5VKP zyt+73v!*-F*yjx8d!+vn4ddPLa1G}iSW;v-w!`f-ayah?BnlV-lAcX1NARzp#XK>B zPn1^DCnG^PXVZ?60AITISMe5)1&o-!5E5XxGgVyh2-MV|D&Q=f&G}Qs(g90LiF1APhfyug>8y zvUAxHL6=5|!>P@k6OMvu#!K68_d+VI4;EvNli?Dj4d(Bw>Vxv$6sa2u0GnB{{JQTzW>W zBo_@?!ar)2#zSmrH7w#^+PJjDFfQf3m_ID})8JoQ-kQto}@6;=b_$9c{zt9;$B8j&Qe|? z-@id+sPA$?6@*~7iOXOJ>O$p~@d7qGphIn!f#Ybn*zKh0%`vmRx5dWN^JRRIJSLQ` zq$IXMm^XV6MXcb1UruqZ0VfPK`m*!znnru##)?lRv#UhEdz*{6>b_(qW-( zPjJMw?RVI{2GE%AcoSGDoU3%`T&=C^ERD0z&B%X;}2rU z7)BIMH_G7@dI-c|A9Xu~T?hR-1ge)#4Gu$+O{Y%}quzAyIK0U)9xpu#*7%M$H3vpX zyf!<=2jcbYF`jCLEayIj8a7j{Qy{?U-c6@?0~uAg&hV#rb)MxJV7AxO@N>LG;Egww zmT+$s^7dHTagKkE93{_loaNa~H!kqmsBPFqu-bRLTQ2fU3Ds1&ge?+1xWv1-CWZ>R z-l&>{ztJ>uIe^B<%d4-I)4*tReZIiLe zsqO9HXs1ITo0|JA@P_#f=k@T->d^NhUIFB@N#1TZIBuWcI)~QZ;*E>lbwil|wI;kp z>%cYhSCCXF(RC~Q#5y2AeQT^lC)@);LX^Ao#%-P!ydzU8Zo#2S_~PiFf4c#CCbhZCqvg8~ zsMlTiroHH;Q(sSu@ABr=etID4w|9gB2#R9p!NkQH=%HK5hEf!Yd_6m#Zx}9pYrfnb zL1|;f&Bgky2UP7IFD74qKwa-~9+*|cm)ok3qnY=x#{c-4w%|*izFI|JZ{GuIucQBu zukV15;%55Z-D|ebHfP)m=A^v?0|rd*!Amir*MyKjg251aCr=#XDc_nY5) zO<_Z>=qwx!6rJ@wW#s~4o|mO_xlU)h$8UT!M-FeKg0dQ|XR>P#%VHj|Ild6shCViG z2(hMi_`$#N4nFwb@h(!!JZD6)_p4U&zY{l9MNuS4+e4G`F#Y~QyYrk;!T((%x}Ar) zcq>^R{a0UzI}$5A!op@p2Hk(;EU)Z;Ozg3qy>+iv#?UB z`ovi>_MseP4-5q63N@u$mnN;UHoy}!*hRu>Z`czse-A0kV{Jw7k_hf6q-I9&yL;D* z;9@fh!Q~*E5RjR~5U^=asL)eqbeQ+6lB{6Wp;^Vf^xLTBQ&7T(^wCpisS@4*zzQ%u zVx$NiFe5cv@mV_vw8bDrrr4zO1UDIaQ=$q$y^{E9dM{C|sy(4RN>n10 zB5>q?1QX-jsDV%q_vDRx9dQl1H#Iu&%o&85oPFkWg+CNxOe2CA)>!l->P&JxhZN$W z-r~7)xNKbjSz$;hrN+dB>Hp*lF~tPE&`W3@$+PsbubhWvTzm5RwezjqhhDt_*S>&? zymd|s>jPc}Dz1Upau-Yh_I(@+^u2E(mO;Q{@4(eA&~LxPQcPKiw|#~djn>P`>?0FA zN1Is>d6AxLWHjK#B|3b2gMy!20c@e41K5DVzO82L9^j$oUqI)mvYicu zWNf{iWyg?KI4FWX3t|+FQkoiwTc;r!hQ@#>XB4+MBZYvNgP;$ zda<}$T`-)>@SGO>VH!beSd*C9Bt+Q$o_d&Zla$bOzyTj4qE;1>{{Rumq9yhK5q>JR zcfsyrpIqPpI9qYnAA`6)Gf~?JR=BJ<(x7N!#{e=^gz2GS6H9EzK##(+{POHQ`#UAH zeI{kpjEoGyzJQp$Bq2@}$p_G`2o{y@IbG!2@5aT22nBY{$#MF_j0*{zfx{e2@XUEhp4O5Fc?` zf>AcZFI7Q%qLsyCvqr+$A3~b~vs{>m1cph1B#2}1sIS;G5NyAP)rZ*2STI3P4U|1o z(Y#9wh!hO{U8HCWGSQAm77uN=%aP1o@h7yhk()hryq{#u&5N#vITe)0IlsHn`pOx@keYDivz_Hnip3_ z7+oTPggg;%_autPF(ka&Gc1}VeSodiM5D&Q80`CEUjXQqfX)W?I98itJf93)G&|5< zo+S{n2eIc4ZvGEXTeOjC~Hvf)Y zIZCZ*|CAhfFpXAqayrPJz&-_MpOL`C1^z8A;zq-539Ph1>B_wh#w}SZ@oG=a5-bM{ zc2G&yS2;DDzAMQF8X=4u5dBNBkq{kDDh0ZJfYy{^-}@imgSLjO*+$JCStF=*B8!o8 z^gfAfsu`po_u5vbYlE!Odh>FutBjNs8s;)Z>&MHZqVmtvG(D6uqmX&_gTRUuxr(LW z4y4alu?0$YASEUFhf#K=Xof3T@kr4xb#QB;i(2+Hm7s-XZT|ioTZ_iwrD?<86rrW7 zA?vPNGrTYzSA)u4CmO;z?b{!mvO2 z)jIUwFEn!-uygV*Lh_fbHMZAI#yDA4G_1JMNoxoR$Mt7LhZBJ2Y5nrZZ<2a zoC%>nvRNf@tw}JIi;}}Bd_Aj%xXstITH=n6q<0~BQ+GX6@eHxuN}YQ1YSR|h3@8kZ zaPfqPe--1c4^R;&b&QAzqe?%sGbmo*1{RC`u!IemahK524eTe8bCZqirv0RqV?l-f zaBR|R{KCe{csXqECe{JhCvlzqXx=2+FSQ%)__(68DZsown^`GHGv{n(6%h33W;Ot_ zL2V0b55M_ampB#q2|SIR;88AkQ+D-p%501yFxun==JyBg9e) z^g2)r+-YRsGG6WVimMgWY6TQ#JoSK#O(-w`uVu_hPO+`3Np>dF#Cb7I#ocN_lva_o zHqAQaxe7*XFRp(UT!fro1lA$vEX77$E3u#3X1lP>D-w(bBnUm2`R*%j}oe<>dRer2(D##SXO!jJR87`r<6)X>NOtAx{Zs%b(S#-eCtyHfX`vh~DLfH+2;%bRY zASK6m6GMHOj3$FDsDW{uU2*h9V`+&(k^vPWDB&7i2gb+n0LdLs`PJAA<>5t|Qk}KK z0{L!rHbr^*h=$f+T^zm=TVll(19``A9WjegP(E8t)-qU}pA`6L728AOscTKv)VwrQ z^P_T3>|h?O$vzYp+4$o|Kn&v2wb*C@+A(8W>r?Xnpwg7^0m}d>Dfg2((j@N7Hg2^D zsLh63cKbVSTPd?Pi?(k8Pi+&Ji5t5&)@C2$!4Z2h=+ZY-C7C70Zt=$fFI3o2`4NG{ z)`tlGWD9+l%>F?7DH>}Tup1}UwC@$iR6LNUv6#@@=b#SSaG_uXdL?1J9-yNdD;6O< zl>hdCkcN(HEH>8L?V1Q<`tLB5TnCYV1ko3%BEfOqR3SGqBFFoAX@dwOGWf4BenuF| zsl)st_S`{nJORcRB;rrGLm4ccT^v)}q-}mlyX&%-*nTRv81vHcdaMmNu>PL~hf;32$V58&#u`jzZAB|n$JRxi zbf`WQe;a*NG>Yz}TK(x=edZ@y$uET^z$%x5iPTD+Q&`CqF_tY_NDrJ01Wf~r>E~65 z^$t<2P4RG$hm3+4i>(R}5hzeu>Vt%U@)$IPj@B<4K>?4b^;%>)a+K?a8fOa(~>aQF=PNhC%O)byPf|}E? z57{j+Uot&x$YLnHA?pp?y5EqA+w;tnH!Mn<<~RZdUOF0Z(p%`3x z%NnzyA!Cg7l%$P<9S3G+G_`EZzLv-62OBe!EW)O44+^F0O_(!kB*KItj0hVD8~ZWP z*G80>rtCXxm(6a9+)d(G02KPnppPM~S!|5A z?KP1l{=xSh7yx7N1-E9!qV~@a;PA{0;gwN<{C-Akr&s4iJ21%@K^eQmsp8=Uq5O?d zMLdrRN!rAF#t6^I5TQnRL($IG>^64Om$hLi-31Ao15-!voX9x zX8yp-QwtqIa5G|>_lzXZ2*Uh|(HAJxti9XDUh*JxeXWpO1axHa4#;>65+;;Mt&Sf(e;AnuY5QfYoTwj3LG2G4ek#&%{a{?9b@7HN=RA*VxKSc;PO z2ZeTJ)1eNwyeq>cmMC!EF3_uWmjeTE*&_Q$IcG7{)HZfU@j%)B>cP^$6*lh4#A&L` zo|v4D(v&yW+O(@LZtA=;pinU7y|E@3Vkjl4CoSv6O3D^U_;3U9?Osg9BLeo`tQnH} zv^T2@pZUEZr?b%E-Yh0PAxOw3aN~hEiQ}iO1Zye|vr zF->1D>=UZ^E?F1)o+3%SL>lJwDuf_w`W_RyJ70YzV6fdDKp3Ce2lUC;#eF8Klk=0v4{3PZeMp`(3R zQRRAJvFZ*Bbq0bU3l#1zkO>kICPBrARZe$d_tHohC3PZUC0R-SH*pAJq-KWFg5YX} z+HMNBdUQ~HVha>btkKdPTOhpf3`5-KE~YV5NfGx_AwTFI3vNs-^8~-=E4u~fYjD53 zgolp3-;7ci+OnvAX{n8OKJ*=M5Q#)#YVdRXS@=D6)VD!k4;&EU zK;7M7PQBbmn8ANRkX##Kjm3x`&X)*v--0tFo_l1m-Qz?BG2HXOW_YRx{@0kLQ8NqO z?1%S=62;mXs`QZSQG9<^x2(a5Xp%Q7TISyeDvS{<8U+PI%U73h#R+Bhhl~;Q29U2M z42^c69~6VXf{J=|DZ5Kk0B3x6e?6*xDeilof zkAoo*9UA4PDf?8L{^>xhW92RSnL(g(@@xIi!OUfn9b_HCdMjIGk`?Sljvd18%ewy6 zP&UjDsz*;ou-bSZq2fpk>t)n+Bx?d|!$>w4ADfS2nsPakawdmDERtZe(|6qh5@ zJ&IbX_Ug2&WK0lM9nG5fiD!1PN(rQiqgi5z7eZH-mVU;vsz2?X9u-N~Mzd(k$knpr zIlUdtc+f>qSJCR2yd0CL^cYqaS4egkgCcC9m17`l+Cq26uzt`OY4<&t*iAJ0dsYLA ztGmC4e18&!jb**CY#% zf#cX1@FPJUImn7}Y!Fh7ACE>nLvzNndO<)6+{fBfRHID_<&9_I%9)YmH-S}G-q@+$ z1m=#r?Pr{85U7D1MYc|@YJbf%z;VJtD<&{C#Pi00tc_kEmhS_!!ni4rX_y9!PGpI} zp~fsBYt!CB*I%ZK6IhY**f|sf5PX8?wrIsMSPS!DJH*7k8ijk-l8()a7Ea42GFHu_ zii0Kt^R-$l}w;x77E zlb9PK95$JS_JUr#=srX21;UKR6m(OJaAThLG)A0}hsCkQq{aD4;3ZUuEw05wR4~Xw zWFXKA#NAiCBAzNZW|?r){esD?T4=oY%XnFf_ckr9o5I2qi+Vgz%2rxYua8f)(dqHi zvcim>bW-9J#^Z$2jkg(?H^8GD3A6qHjZu#&tc-&jpFs#bcgb^FK83{vsqf{a((x%Q zI@sk6XmZR`G#BMhVHtEI!S1A4ne3<#!FHRM;Mqh`yK4}g+jhTPZ1w4ImEjG?c zX>-|RapSE}&L&$H`x1frX0eGloBcWqqxiC3eICQL#ar}#^H~cSN?yAcuuXzr9I}vo zZ@oWVar~@MxfPIU#Vle;O72Z+vIuPZN;d)pb(d6$TAk|zj6Ykl(<0+GKN*SB=+ZJU_#eVAk%V4 zr+5pl(!s$@GDe%1=}rhR93RhRB;c)c6oZYJ>W}~C8(#>6t0Kw zWpCx!XPApTI8t!?4(1-gXC&xl_JNRv<>Os4XE68{Y#yY8@?f=*Pm}*(9Q1YlA1u6^;TOGwZ>O37f%31^? z84zJedmR7Zo-uN~R>Cb%CUcymy2sdHh$*)m!%kEVojb-70alN{%{es46)Jh2&9(k6$j%BnbRL@xhbijAgg1e2G;LUwYagBu3$&1ZQ)Gpky@X5}SeYCtYUWDsL*$+RLmslo!uj zW*wAeC#cdDtZc5(_$w?KTCaz$ungtKENXg{30>lhtE{_{Gl~AWiX;;B;n!FnS$;&h zf3j$t90<712xVV>BrAXjlvj@HSQ`j7SG zz?VxwlyVzeE9>-0x7h(Xymfsrs$js-!qBMzOIS$Te2aSC1#TRtH+R`g<)1w?<8KW5 zc@*{!b1QlCsm4DL>z$$J|DZ`PQnV` zHZzYEv;25i(w5QIJoX{*$NUHc{4SMx1R60`|N0S|uf%QwkM3!0$iRhuxgZ#rbVYZR zd&;7fTe63ucY2D*$Mtbf*&-SEQ0h5|{sJ2PoVA8^{y8gS7W(>>F|tr3@qAWHS)kCL z$H4n_$Y-U@kFi=R*bXQ~nWG97rGN6-SM=htUm&dt#;K!~FW7M*f0XFY2EoxZ>m~aL z%D4|+0%3oo4zIA8Lp1CadlIt^w~KjX+cwQ7Dv}+DX)CyyI+?QTLfmD%#2~*x3cpdm zH>^hFX%wTNwq7<|oAn#*dBgq+zIM+lL}P>=5I-MqkPNgHln=fQD$%Ff2;& z-nX%?6y(ptJAh*})|dEFR;H^mKd0O*Ea-g{9anf2>)CUV`N;IeyXbITHSwx4z4$mL zI2h5vEO;jZcz2Hsw|iFqh7YdL=3G{GdF6&jExZu6_ODpD3O#kj%FE!`Ryiwg0xg-R zdb*9r$iXNkSU42ZiB-fPTIR>=V;l6oACGl;K6%!z|E@tG566jHTq7xL@Fo7dL6JQc z-x3h`^!`G}2$Jc~yHkrG9t@oMB8W%WFdj6?ev9%R1+=DPLHq+u5y8Q{mpT@ECkAI* zQCN<#5Pc-$Xrvg=f^9>Kjn(G`^R+T`VVgMk9|HRn>Tiz=(@TZ$Pz5?fwL|$z**57O zisxucEz=Q!uxiKf#IO`!gZj=DYO8TUcnt51H~PGY z^Y69t9%&Htcsv(@myUsCWtS_^O`pW_A%31G1i%6MT`<86yaYv_V`y+q&mu&I_7U#fXH@j5nk_u{~_1T&kj*cIIK6o#UQEAMnP=lWO|8na;9aH~xDny4(2iO>f*RN2eU%pqImdusJW-3! z7J$}@K_Tk{z7P?3ZL|*JS4-y2EiaT9>|5+^79FZDOy-}<(3X9t@%FO$fdvm7eNmV9 zSFT;qPt@hj#1;9hJ|At)2}D-f_joL4M}0mV+Qi8ze3GI($)jT*@>0s?7xel=-bvZ` zLhsm+`^n-%k4A`plD0JB?Ud<{D6BD`1a@t4W1a{Kl4}JUbF(pTj%U&;HsL(-c%bjS zbcj0)iiBPPHR;`i_W~YYXu`|kC_`XV9*bA15}NX{NMwCe{<~@68$TM-j4x8MUr}6h z48p$Dy*VFfdvzZtkfB?Cqd705Y|E$67M%G#xR1_q{A{MF$v8cxx8Q{fc?1)F+MW#P zC_+9ypat(D=hC?rysG8eX~pr1!dr6H@2`I#1ktXYrsS49$&~xrj|R5nbxb$m*xZuW zGEa)YX3y@|K+nKdya?2gOSa-M#@f`_?rz@-?K_FKwBr8}1ufs2Z}%7X#EbDXmGWEj zCgyD>Yz$A?8y-QQx8eOvuaWZcHoRT%&)3AfJK?P2IH_o%w0=0|fyN*4b$%mofD9LE zp3#+$fgCJ5UkGV{ysN92jO(ofA^a4IVh(}M+WuE`vMsL!-rD~YK2KTWN6B}fJb?X- z%CvWlQh}1jL|JL!tq@C6X~}`h8RTYI!ufQl1fM5}D~Bi~4(ch^23Qp;$;Q8Q+P#v8 zQqOigOyO2aZ^zx9D-5t6MAi_<2=%8Z1Be2@2krq|u^NPSu*AE-#+BLs^#P>a+yML` zWH<;5VKH|2Ak`9EJ~d<^wL)bv#JNAD@qz<#`uTQv98Zyuipv&_6Kx*x6Xtkacdc2N zqGcP8xk3}?XMZkZUo=R_qcDbX&=+ekC_Wn*BQLb9sX8vp0|~A!#W}GptUyrb;kHCd zqDrV=BWSi_wnCxmyfs1XPP|r(Ky}cu5Y~Ct>&V^=U)0l6aM4RjkJU!u(H24w>Di|8 ziJVbE=uKVultug8wntf@eX5e7!`qh6SB9I zAl#S)B8RGjq4V%6ilvT>f}#ze?xKjhM?F=;<^@(@u^@6{6I)aV3K{R!Mr>;-z&dYN zcsI$7LO>D=t;mO_F#4`N_wW2aTOXpfg*7hHYk=(~*A(>Y=3a%GPT~Ks^-k`e6hPcxf48SL)gk`aG3i1zY?l-uwNMl#_2(g`T}ZiJfBu<#j~4dlr66)w9P9O*{=6)-m}d^e#JGXjKpyY+Q-+AY z=_oZA$ZsgKBgFanP`&mb-bxOf6H!NM2j&};DV;)g@oJ|Mmn72f1+gH36N>=|X zK3Z0?B0PtWul|RJ;}ooyC6PU%B9m_<;o-JIU-Pz*T73C6FRtXiq|C2*ImeTi#$`$1 zp#;gm*W+LF(!see{TyQBkiywGpbp5MJrMP-YQo{1CnXg(^9e zLtFb0HTniPaEQM92H=sr!5lG878#cnZtOZf_j!2 z#;f2NYe8XRQ-mUmF=_+>6-y&X&@Ed2Ewn0b$qI2F#|p*An`Mu{1G;`<3#php>exiae&Wew-`i%&wiUMaqA@M=zh(isI0)~1Mu zxwJ{Q$ZrHDv47};5xgXXS95sijL*ga8#<@Se`B~)X$IQg=O&P_r~#xLC5p4 z%W2|%VkxcAu5r8wH5zZQ@9oC(PeC;{j_0LN%xmL$5tN_ajRzOGfvQj7)$EHRe6L6Q z(eUTs5vEVz;%StX6Tlbc(j|m3n3AZ8yrRLBG@r=38g<`1kx#1qJ7!<7JwQVc^0IPa z%`u>cjJ1}Kuxmf$;taVW2!q#C_IR4LcT!_!7Q}AUB(9l$v!qbV^+lp^Q56pm1O474 zgP-7&d1YWxyUBc9%(i^U+a)B0hug%S3T)7Fm$q;Zy`BtOyN8NS;br1}v*375fsn|g zjrturJVJCKgNAmW!W+2q(M|s16lI8KjR{$`Zv|xNltm#9otlCMn>RC)$Co~N-9R7j zYmMHW>j01Z9mH3#Z+1-t0uvSHc?z^+CXcjCyNZsbZ!>ub%Z@9;xiS-#O3|-n@&=0k z20Z(So4=Oolr)V`vt&NUYL2u6aR)8AbMO?M$9W0PFgm_Gt{v^10d9K{b)3l?M~w}F zd`6r0%&g6PhJ9s_C2o$@<~*a{X7bd4pLw^X)0rxWw}Q)Trm{lEf#S4rP6&&*6(0GNTEI7pzaoh3l}uC`76bsW7vIwC+J563lt%?{v>-rdG;l!*o$T600|4U^m}=KS)*Q z8W7ZT0>7|pxdo9vw`=*xqP<;vUGNRSsM(^BqFkTZwTT8GO8lu^n`!`}B<&y|C;&dO zYx4|1)U&N!TV?pAKA5E3_v8;#;*N3+Z@=+uI(rY0AO!HfR=XcK!HyS zyLPMqXl~a|8-S=$GrM-l089Xy+O?}lw6R^gVSGyu$45Z<1_XvGu#sIGIY-nl7(hc* z$pA#bKeTIe4M4DN4eZ(~0}ydi?AoRRpuSz(Z2*PfQ_rsD7=TEvu3fuQ5UdVbeU3RD z83n>ivujTcF99Umwc&F`5d=`%u1zw4AOIiOwK)bLa;;_8ek=%9)2^*IfJpe%08SWy zD0X$bcA_9oHSB5_fGAv5yOw^>fJE9=?AnV0pt4;XlO>8Ee4yz+%>YDsD%!OL1|ZU| zVAoa{Kw$vofusdK?0HPAiuI(xSK)j9@07dQEbpsHH5pUNX8GvZ4B6jUBXi1n@kh}3KtEUyempsm%e{jgYMB+|CnwIv21 z2$mV`V*nxr6R4m82nl(P=Ebl* z)pj+n2kBbYYOr(9=%3ZRjOp1M6UD6ob9-8EvW6$ixE5s6S}-;DY4cj%5i@1oA}VOqWc@|LX>z7afp4z=2d@@}O? z8!>8(4SpnvvPaG5}cyKwu!U{1tE^M`QYPYfNYh z%#7q5*!66dZt+pkOc3)G&%`b&Q~GJNYDK^$BXc3yYpM z)N2>l%?Hd{ZA#q@CZNV{&Tv^=huwUqyq=2e;TzG|C-(4$xLP^xH$K6de@qeeUGp2? z1SPVxz5HbPeMddz55}1}#TlSI28{CaU?B|vJmQ!S7PCBd*$&_>c5XC2TpL{83Ye!R*zaXSHtPVK3-aWHS-VNLm6?5di??1+CzDN@bNZJ z-YaRue%{FD$!H~=+>cey0~&aM*Ry#Fvyyfk;Db=33J3Ws92P2jh=1d&O7Gd-qV-G2Ym|?Kt=jM`i%7yrkou94bvZ24U!|Ani6? zIK~-O$>Fj8A9TgJG4%Am=n7ep4-?);*Q&ni6gtkE``l^oxwpLM4nDz~2YRsB>}aIj zlW1r?HJMhN;J@P9wX~DGttim;le}*oFOu@WpdfUrS@WT2AQU?U>?>HHfdppHI5JRF zAc+|$N_|f8OAvlEK8-fHOS^@2hpL=`b(_|l;Tg)k<9gY%{I-nU&6W=#1uS_UEpq8N zH8{@~3;Un*e60Cl5cZS%oyWMGae+4#pKo5^(}g|sA|HcoNBI)(Wd5U2pu-bt^dxoj-Xi+su3uj_mIx?K-|qqwlU` zDfo&GU+1lDcOQGairs+MB96qfg2x zStlWaLwCS-=R$J+53SAReFPYvhi-tqF%R9ahYE3(QTs<+gM0oXY;(XX?lGT(t#JJ@ zuVGHpj>B^7cii{dBPJAX6X~GIId^X^C$dkW$H1#|5JWSwoL_T zv7%v{Jm)pdbFJEGDtnI?rB%;)vdy5}@O$)}x5jRHNcQOhWoPS6ZR1y`5j8zvQ4eS*rHRbcfA+HY3J;Bk%S7PXUk zufXcR!V&7EMg2_pCRtU&zRG^9S_9QG+Yl&C8?DfB8HG)^sm0*=lTEFxOwQM@*whU& z@Z|@8wT5jnP}C2tb;@7OK+KN<)LPJynHFHAb1VR5K>6eC>QH>0ZCA$&&>g4_kuTDM zKs8;ys22@VKNQJz3s$Qt8*}uscY{M+!Dz9)+qClx-&{Jxoo9Ju}>}Xn44KS$ysop?-h@E{IT5VEq-L zRzRGXNVT=_>>H_$vRnw#wklNZCU;R>lxjx9R+R+BO?`7f3AKb zzCPgU4D4-Tb-N`dznbQ3}Y>)8cA# zkfZtu>Ok-Ox0iM%;M+9Zv#Scy)1ibq*gIYBrSm1=wU$bhRKG2tUaL#u+fI62Qhh6! zh1aE!eHv9ygmsF(PE^I9S(%9TgXfDxv>)vB(m;pP`is(PRT~p>k?6U}{-TeGTts<<)fpd{Qp~0u7IoUu9$ndvaxDct`iEg0dpRPpYc#km4uR)DH4aeN#12j7jvcI`YfJvl2B_ zUD$uuP#?$}_47567Pi=n*H-H&S*NIHZP8(;C@2}Nzl)Y6i_SPjPEB;xDcY#v^F?Y@ zNBs`gfja6qzpPUNc{iG9=W(7$W9q7%anIb}b&Xzg*F)-vHmIK364lsO57pRB=KAo2 z{#bprE)p48U(J%=kuybY8v5^?yThxPU7PwJ=P@)VMNRO|+WP(!b(yRzKTZ8VR9E1N z&)A0QEO~^!v7s6+W9B^ANUg41E=<KB5df7w{&VDQE_Rx84HXJf-xf7Mv^hvfVO zS(_T(C7P-Oz({8`RohrM<`}%)v!?1X@OJx}sapd)WTCMp52Qssu{k)uxf%)9YEyGG z`3SPMz*wA1^;@W^ASkrFh1y8oM~{Won?7i%#>;K=4lO}+#PAy3%E)keEA=8$AJtmD zhlKjKQ9nnNoHlBCL@|A&u0fI4f258C4pjOW<8dGT__6vY{Jw9imccc*o7$?IWPrWf z36QedsTwl5(oQ`kLz8F2XBee#sYH9V6rhjVt9Nm>s&)rtJQq7Qux8Qd4(di_>uJ5l z=jv4%T05~FQOv)ndPfj346KgobR5lXo~nMXyo#W8scIUAW>_cnBLwZy$p|{Gllr0U zNw83ba#CtLoEW~>NlifH@Xi>|<7iH2wWEmqy0iKmyylZMwRZgLU~Q7w!_y}C7IKq4 zH;3TqWNO(3=yi&2cTwwLt}EG9Z6%-6hjqnR1-Ux(rJ4zGZ2NBNOyzr`^L;={3U>zy zn@uU*)%IXSmvje_I84Dk)Y?&xBfNU?e%ee=2Dn_n0T#4N5A_oa{T)5j7O)ESM8l7v zK0VcJXk-@crPhsqC2MoNWpw$%@nn$jbcRiRTE*Q23LAPtot+VpJcdzQfdZSOy;$28@tT z>0hL)t7Q}-aJX6&b9dr!OsYg}hO7Db*mQ)t6Z(BYBMoHGMygK{q{=7+$b&R<*r`z#5O3(#7!@4)44`$q5+9tEj^SwTf*-K9dQRIg5q$oGd>WT~+S~bvA-r`2noeKAJZTgtj;RISr+5 zLy^V1Uo1>N7E9UxZQCOtqZyJdBRbR8J!85>ktc&xc8U zjB&YZ78ob^=Fd`H0E^5>od!HOJ`ad>mE`&AL4mtR=3}-yO7G@lMm$U17XV3~(~Je` zA)s>VLR9{Dy1WqBFoE7IR7-;6N?4?Rk7mkVgdFcv>|#)loz!Qs`la&PL}wQR1Bc`7 zP>j@d)O86c*)!U<1dPyCI=@6Mfkm-tDQ3)jl)4l_ey5d7F;PFK-bUPm^;1M(KdB`|+D(2^w?i-#unfG|C~CP3)%c!6ffHdmfT=pU?5Zz_P* z)yVT{1hD}5L%a>+#NMPhpe1RU({WD`X~*IQTIK-@q1hsKOTJ#C&R51-JbLG))~YR) ztR3{-T6M58ZU;SGt9DRk?VvX6&^fnG)4p|TCuQCrR5BZAkiCN@3j4widXNo9ch#>n zbUh}xZJX)xdZcrHJ0<;$wmrCoX8#O0Z#&)l864b1YPLbul#FpSbpvLP8NXBB2DQDi z{C8@;Q5~Z^zf5O0LS62_HA?*j-&bFwoxgyagQPBG6T0XiwcP|x<-tXoy$Pi}c7z-{ z7~+-t=u2JgVY_h|drOWvbWT@4^&f>Nt^BldP(-bzT2g)rLjBJ ztzI8JZ5KE+WzBfHx?4SBnLQpSq&)jtli&>WI5Xf3@;LLxnYBW+evf)c8E2+r%i})N zQ}&^0!R##m1EgRTmD{g=3mUw3KjxxQbZT8{MGN%IySRA8qY7iuf>5t?NTOuNVw!qL{Q{Bm4xtYgQkBEN+BcMX7)1D2+Im>s zEN{~X9RV%J$Xa()^p}O?V`_2hk~tQ~TN9Nzrq=WyI~v=!m}O_vz++(iCXJ>&$1pKt zLo!GG#Jb26a#)Vq2gBoDj#|vQ%A$D{uf5V!i{?4-f&F7>iv39Ck7NG&i?$s{FMUsi zPN>D=5vQc5CfI>AMvp}+Wpoe@9govnpFmqE+0UuvDfNi5#%nKsPR`TnRpm|=$!FB+ z_Wf%V=-Wup40}a?W+`EGbh}!EGS=YEvxR5W;mVJmc$RtSi8!NElmx_$5`huEVC~$~pAGW!0^`vxp7FdXzB~XS{Y@ z2H84D*DiwuA0)pksx$nczZl2RYQWRqcrU5RB-aR;{K~sZg{F4uJ7ADA zb&%7YR^90ySi||5o3590alKr5R}C`_s_d#@b`NyA^&cy{Hrg%i2PY*ZQQJB$m1fs* z{m`OP>7>f|?<`lbdZqH!E0lM3s!}DbbEPgxT`N_qoL0VE#iX=qshulVE#Ikp)oK;G zcCB0~twL%=d`?ZRS~;n5mDCDdx_0T*rF^xt&eh6Q>|Bk$sq1=7L+iL=m2zeDUiDm) zEPA;{uDvohw2+W^ zdi&Px7iRMQ%;G0$hv2(N|9GHllSOw7arIGxpY2ramgKCX@8COXmp<_uSAtpbUrL+O zU1gM{rSw<2tC-SpDFtT$9=nu2$N;=~DRs@jH6_=U()bKlNyYplZOU*}R+4_C2Y~&$ z{U}LHlAt+s)m4OQ4R?j6Psb;0${Rli{+eOxu8e?sJ7x@JRH24nDcXrw;pEoEndG6;`C>^uZeq};hg zoyWPdm8>fiKHgPF$-knv8}IU~5YY9yB>5xHzSs4h+g+V3G3Rbek_8_w!xo*(Y_ep6 z{pW4Ey$2--zC(q6bM@fg-;pF6zE6fN{8OF(>DISb7iXWry*qUoAW2K_(A?i#mC~Oa zH+kBu3mWr;*PVvO^trpDEq!i$-{^CHiMI5)@%@y~-3@K&bL0CHpSwHKKlxtz9(TGV z^*{#id2IB#dm;m$TV&vK_d*6fH!$gm&)pjtoO&+P8=*fk z@OcbC2B+w+y{=?s>fd_8@2+7XG0XG40fEPxeQuO$f4;u+j4RQqbge=6FS(i(-lE77 z$b>W(wiPxcUrjH&eoE&iSqcE02-^<33T!bz8^A6CI}LUyuJiid?CFjn$j9eKp8MZ( zpL@@J=RJ4+d+xDgz3CwCEVxsQ(LWR!_&mNr20r(<$iU|wCTZt7c2%vXT&FE52JYw+VSQm2sRslEqUTEUl&;yE@>+S)Z*dwGdE)pa0{S(_YbF= zT94&ABz@{V*Q3J9&O`d>cdn)p!I}BqR-cKQ=j+$P-K87}uV-28a(hWzILBg-3>fy= zH;Dn&ogH}B)LsL-3>q-FOJa2=Cfi+e^a{n?E#zixmPpc27=qaja{~s5lYzmW;Ro}+ zyDbKP2bdCGA|MEZKsrGbT*h}gUflh)^~!vU{RfBMJi-0gCc+@~50l(+>95w}28CqP z=Iga9l&O?drW}~}br!oWrv;!>rGb(efxnbwQ@k`(G9%&sk{QIPrDR4S{v(-#C8@I{ zp-_EcBxP`b!04}G9P%dux6NH88Iw*INmk-93&~2b)BvdkOWlq1`;;(9nA;#!{Txz| zB)5Ueqa?M)Q<9Q2AV4l8iYk7@%DGF**?N<5?gZJtClc)i)0>8sch^l?fdE}$ib@vw za|wySD+O@L+Mh}8FC*xeSpRkX(&e7ht75#lX?d%J0CHFr-irp2qf%Q}Cv*aJ-PGJa+pM8StM z%6x!*P>8-V^{MWzY=jsF_&b@_R(ID)7cqV`U`a}codGi(W(3SnFw0<;!;FFX9%d|z z_>G4>0cIl1B$&xC_%E%%pYLG)XId-qZ57OFnD^2G1^+)169rp?z-wXF!DPd%hxr+1 z1I$Jk@%zPVZ$j@(-)FIx)bU|6%=y!n7tTeU&kFx7`132wR+w!t+hKMf!c_Ag7JGe4 zE$1#u(KX#A(gBXKTGAv*>jv~n1^WZ@Gn)U)!jjaj0@?%a`X5Ttpvsce54@5sS&}-z zZ+Ma%!OM%}xeAi)~ApB1lNt0`# zLKyPnV1~nFRzn5Q0zV?3wMc)Lza*VPA-_fIrhktndijAQ{ec9+(Gug(EVB?{F9Nwy zt8@oOcLR_M7+e@5MYI5B;QL%8W=Hr}DA23slGF^fnT5<+qCz3?TLpMZZ6E;LWst^Z z#Qm_UB=K$tk36;)k|ed9lrBxu&@@dXDOr>ZiH$=7{Trb<5$OR6bsC8bg?l&(TIXZj zrw8*L{8ykx%TW+J{K8>QAlw0D&<%b&U}vH*GmyE8mUJM^!DyW<#O)W0?m#O&K!Kvl zp#Mi8@CwxUpXQQO4;hw41Uz3TZA4)PqHwQ~NYS3?3S`g)VY{LrR)oI=cMR;`QJbgm zn}Q6jsKjD?YY2NRzV}DB)j;9)06Etn-eMSnd5XL?qEJz8c&NbE-;l|9M8H!XTJ8~x zy}T0`HVmdA%n(Ye4MKX9Ce?P2?{v&!uk4q-Wfatn258;`Ee*52JG!qM8UtlN)ku;`!Tt$7Xr;=UyF`R0e#MGus(rYObr#M+ z<0sQsn!993aEm`=2yrRs= zUCTU+$VcKlN&8|4d+X(E%qmDM#8JrViHiD9Mbj5X#c~ikB0bz&FmJs(py@*~b>@ns zgUU%#SZZuRtrC$`cq#+e;`u#IGW@N+zNmtFM1a-LK8Mzi0~SV3MGp&L5%P@6M4so; zk!hoPzSfb9QkOu`82ILjplwjOSj5XX52hj-oeMTI6Yhvk$i0Ze-0BXUfD6k+0K(P!&bN(AGU0M|2%N=p>Yv(O>#s!N#Wq4zsCv13DL?;^^=M+ID z>28D<_QaKX3PeEn_)4`2gO!QKMPd=Zdb=jsh>8wJ&gmQ&nG0X*aI}evpcxkd*w7Cy zfyDqSN1@%_seZmLlLn&-#aMU&EPMPttP|2M2MSeOAd^Vxguf&ufV;USfFeaDsRZ)K z1>pYfW0XA|h0XAmrH^AF5D znENmfU>?Hc!sNj`f@05yZg;wtdDUVs{2E{0z`TWd2P2{XH^SqYEGqzDOfY5`3yc*; zFu_6=<_{A9V}}WZ34#fRDFh>a4%i_ukdsKE-fv;B34Y;q5ZSHO> zKh%r0aQ_{Jr!zvjyU&HoNA$nHb5}EUJ!!SyG+`V|F0AZ6hg}IWp6_9Qj$sM}lUl&| zV!wePd+2vfPP zRT?H@f$EflDa-xM}i8ccW-AN|O=hBC3ca zq&FBO8tjdfH_{zit8|HklEsU;#Nzp^)n0fU8es>F3nmuBu6bF|7@Wx z!p?vVc}m84tG$?le(NmBW(S5(3jER_dOL|icMdj4ic~ZzBqS8{FB^eB{TP92%4X>+ z$&@a&f!GJN5&(K!=y}Kw5 z$cPaM#gf{93ll%l){}uIReE662cBz^A7a)8FpK((cGpP1Xtjrz#HZ89;4~7);@QX$ zqhTZbl*<@hd*O&ZD4G+$uVFqF=!L8<)fP7BdM-i~xej_LGOdHw6J>t}nrMYBc*6`7 z^ODsg=0eiT;a097>GaKTxzBmiF5DCC2Xej?1rLYc9xDuE6+h@um@uygMP18IS!B>1i8AKJ{H}&lhMWS^DO1y7c0KroCXh|ir+lFl$`FkN8G60I2TE@7AY0q74iz(fNlxXXkN zNbLiO^Y{mz244uf3(Z^SE=!RU-K^mQq%7*b(p#L^Sb=O>=0mG};GtAh1*Su1k7+vy z3rd(9oghpY2pWj*0WfDVT%u|CME8eEW-c9?=w6}h%A>C)xwC1}1b0O$HW?I2!;8!I z!Y^xJhQ}(X5@_fv)Eex9hAWHh2jZrB(RBujE`E7l%%ACnn|X%|dEqS>%i=f73s1nX znhp0Hn7J_Gj`=Lu^I+ziu&%3#8WuxU7vRG}7%`+4!CnlrM30~1J{qL#$)pEaZnyF% zQxBi#9#L3XxCuvA+@GW`MW7#Heu7yBvm9mx%u1M5FsotKz^sK?2mCmt+w5=ILNwAa znEfz+p*+_v6g-mJgSNrl0d(U>z#k&eM)>zfPtArssv{5%{*4hX4~aBFm~UaefEkTAM-b)` z+@+D(3)oix-ve$D;?%{r-|=lA+>vlEfZwuD!LQ85pDRc>6`Adz3pLC{o4Rn5AIGfpl#}gKsm@)ZK0#Fb(kUfcKeb zyMQ?gcMNcjiS7#cGRkls@C6fv?*Y6Kt#bqLO%rJXu83OS2mHW9|F5%i0g|G)!}#tV z!rm?1@=(B4;SO`Fyc7gPP~_%7MM11+5@V@Vl(CGM@=*p;mKtY|pq??tje@fn)CCEi zkHBeSI3J~(getERlbj~%0b*7qW(h_%2)aDv^803bhH(|kvaP=T`u~0XpPrt6P4~)P zt@MxS3!jj#)HusYAH{fLb#LjHsK0}ON1=n~C}Vkx^Y$NTHu<;LANI$loB1EO-&wzS zLsNEAU#3H=(6xSerRk;EVN3oRPu%J(s5IR&SoYO_izo8Y7&l%+bS~T1be%nI0sAi0 z^)_OWIGXg`e9oZGdkF`K`-v2!JDzy4&wAdKqx{!^hujnoH-aZn&9aXIpU*?r%y}&M z!Vtb}x~KUD_A5PXN18}nV~8~P-Z@_8Vj_6`iJtu=u-+YX;Yr}xJYeC;;2n&y zy2~lxcT6Ep25(GynyKKcTReOUILb3r-f7@19f6CR#n za19xRH;wh|r-NTLcqaH(TDzP!ga1U!6SlwuxUdS^0=}Ia6P^WLLhH4am`&meG6iN}o$ReC_pkVj5dw zY>PP;9B7)-H~VHh@eaQfd!T8C^XCIiYhtY%ogel#rO$tUV>}UMl75*_ZGkf5=}&Ec z{ngP1+-_-j@on9NhPsdR(H}N=^jGI7aO>crI^5diZ0~J4cH~ad^(konO(|E#cxXMc z84+vCb(@!sPp9g(D9Q2Gw$01FnZ7&L`_?nX^oMn^k9IoUiS+EN=W}C<=N%%3c^{ik zE4wS67~yC1NtHub0nRGyjwfoGuc)Kv?RHxGrw>nFPJ>u$``*gs2xNC*mEp{9X?j6Qb(ct9S zj4lTMfEC+)244zZYH+%l*OFx>F`vr4-(bB-ItKUhb&1lxcp|oKA*bem`o%LD4Gr5m zlXKSnutnG$pnf(NUT)ZurQ^i7Tn9Y}lIv?--V;RH zX=Yes?~y;V82To+Yk8e3DmsVNrQ5@_>%M{4w1ViZ`WI%p#TVv~1kY4?K)~E-6xrKC3g3m=f`VLhO7KFJi?E=GAn6M}?PY_CQd$+Pv44}l?e^M4 z%d_-x1zn(VU?%RiE*VM`W*hN8rqs_m*AAh&l(C15Q~8x3(ss41Z+~U>{I%+GxjVSr zc5<}?lIPHE4$@hkq392wyG7sAa*(!^yCnL*&=t{VvYPO7|6X*~ZiD|2J`YHaHN1)( z72hd(2XvR{cbV4}Sa^AKQFIx)EP9qHTR^wnY3Ljv>Cm$k{6}GRV6|iaBYQ#o3?^`e zAbXFp?}RRizKgD}5M zRtt2WNeLqN^u~)hpP!rW)(jk*BTM(EuIbyv6 zusyOzwgZqQKyp13i9%2xnR}pnp|gPGo=_`x>*F!3jPh2e*pg|aL1lLzg8057N~}skx(^0fR53_DplbHnhN?Owd1YeZZ{u>;H`s# z%>4+o6|O+JB2|1leA4ILdsojZV2vHF_99wuehS`@P@r3hR_Ch#QrfIHw3AAu2e>Pe zyaUtfOiYlvAGegJEHL=^dYRVBe+gk^oq%zqkcZ!mV+J&odYBrAQ)+)L^?;YRzP_dYX=Q!fNwN$6rVa< zu{H#nZVLSMZs&ctvnB@(lE!Fcs!rBj$u9{%l{JDXs9v7vBYu2$@-=h z!L1+FL6=nHVNM|GC03>!LkpUE85{p>d5Icm+bUqU!)2ySwuCYy7=;CWgcS0aTgiKXCkMZrdx?b z`09j}he*w3F1BT7n)v44G9J zCY!a7x9ZDA{TvdsBS_9P0^g-oz#2Opx?A*-;U#MuBVoy>D`7gwoqdGdGi|cxL8&K9 zf!)i8?x-0-mjsi{v|t3m9Z67@pgBBm;K8pH3396u48Gi}1NTu;LVY?NBh!8ABq>Nz z@4PsYcLR%bN$H)=KS}fJ=RC|`kv@=gYpt#YL#GTWr?G)?TIr(F>8e7QYLCo9(6$D_ zqN-~0t672$1W7x*s8T(4VU5j(?h(Dpym|UJVU@A=bNS4p&WjD{qs~18ZTq8K>qlmZ zRb8iQ1lv&GW~H{65OcKK4653*+-C;J?- zX93Bj;U%o9v)!jV0jr`u?`Dtt8$--SHSAsz=Mv`;2ZdXI+_`vEx^8;4W|YymMGg5n zm;CdI=NVtShd2+9N)J7*+TM@t#nKbCi7_1rpCUd@q>X;EuIZRz)+qY5xK+|up7sI)W ze(o~hIk#0EDtn~F`96PwtKW!EJp%VJm=fs_Nd6TS^tqkwu&_<~<*bX<0Zk{2^n!JG zM1~; p|7yKo2Ku19sOq<1jLh?*Z+jD)e-+=hl^alBRg_I%8o2(h{{!hrYqtOZ delta 409909 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