@metapages/metapage 1.10.5 → 1.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/metapage/versions.ts","../src/metapage/Constants.ts","../node_modules/compare-versions/lib/esm/utils.js","../node_modules/compare-versions/lib/esm/compareVersions.js","../node_modules/fetch-retry/dist/fetch-retry.umd.js","../node_modules/mutative/dist/mutative.esm.mjs","../src/metapage/version-detection.ts","../src/metapage/conversions-metapage.ts","../src/metapage/conversions-metaframe.ts","../node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js","../node_modules/@metapages/dataref/dist/index.js","../src/metapage/data.ts","../src/metapage/events.ts","../src/metapage/jsonrpc.ts","../src/metapage/jsonrpc2.ts","../node_modules/eventemitter3/index.js","../node_modules/@metapages/hash-query/dist/core/index.js","../node_modules/fast-json-stable-stringify/index.js","../src/metapage/Shared.ts","../src/metapage/MetapageTools.ts","../src/metapage/Metaframe.ts","../node_modules/picomatch/lib/constants.js","../node_modules/picomatch/lib/utils.js","../node_modules/picomatch/lib/scan.js","../node_modules/picomatch/lib/parse.js","../node_modules/picomatch/lib/picomatch.js","../node_modules/picomatch/posix.js","../src/metapage/util.ts","../src/metapage/MetapageIFrameRpcClient.ts","../src/metapage/Metapage.ts","../src/metapage/metapageRenderer.ts"],"sourcesContent":[null,null,"export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareSegments, validateAndParse } from './utils.js';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.fetchRetry = factory());\n})(this, (function () { 'use strict';\n\n var fetchRetry = function (fetch, defaults) {\n defaults = defaults || {};\n if (typeof fetch !== 'function') {\n throw new ArgumentError('fetch must be a function');\n }\n\n if (typeof defaults !== 'object') {\n throw new ArgumentError('defaults must be an object');\n }\n\n if (defaults.retries !== undefined && !isPositiveInteger(defaults.retries)) {\n throw new ArgumentError('retries must be a positive integer');\n }\n\n if (defaults.retryDelay !== undefined && !isPositiveInteger(defaults.retryDelay) && typeof defaults.retryDelay !== 'function') {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n\n if (defaults.retryOn !== undefined && !Array.isArray(defaults.retryOn) && typeof defaults.retryOn !== 'function') {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n\n var baseDefaults = {\n retries: 3,\n retryDelay: 1000,\n retryOn: [],\n };\n\n defaults = Object.assign(baseDefaults, defaults);\n\n return function fetchRetry(input, init) {\n var retries = defaults.retries;\n var retryDelay = defaults.retryDelay;\n var retryOn = defaults.retryOn;\n\n if (init && init.retries !== undefined) {\n if (isPositiveInteger(init.retries)) {\n retries = init.retries;\n } else {\n throw new ArgumentError('retries must be a positive integer');\n }\n }\n\n if (init && init.retryDelay !== undefined) {\n if (isPositiveInteger(init.retryDelay) || (typeof init.retryDelay === 'function')) {\n retryDelay = init.retryDelay;\n } else {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n }\n\n if (init && init.retryOn) {\n if (Array.isArray(init.retryOn) || (typeof init.retryOn === 'function')) {\n retryOn = init.retryOn;\n } else {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n }\n\n // eslint-disable-next-line no-undef\n return new Promise(function (resolve, reject) {\n var wrappedFetch = function (attempt) {\n // As of node 18, this is no longer needed since node comes with native support for fetch:\n /* istanbul ignore next */\n var _input =\n typeof Request !== 'undefined' && input instanceof Request\n ? input.clone()\n : input;\n fetch(_input, init)\n .then(function (response) {\n if (Array.isArray(retryOn) && retryOn.indexOf(response.status) === -1) {\n resolve(response);\n } else if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n return Promise.resolve(retryOn(attempt, null, response))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }).catch(reject);\n } catch (error) {\n reject(error);\n }\n } else {\n if (attempt < retries) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }\n })\n .catch(function (error) {\n if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n Promise.resolve(retryOn(attempt, error, null))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n })\n .catch(function(error) {\n reject(error);\n });\n } catch(error) {\n reject(error);\n }\n } else if (attempt < retries) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n });\n };\n\n function retry(attempt, error, response) {\n var delay = (typeof retryDelay === 'function') ?\n retryDelay(attempt, error, response) : retryDelay;\n setTimeout(function () {\n wrappedFetch(++attempt);\n }, delay);\n }\n\n wrappedFetch(0);\n });\n };\n };\n\n function isPositiveInteger(value) {\n return Number.isInteger(value) && value >= 0;\n }\n\n function ArgumentError(message) {\n this.name = 'ArgumentError';\n this.message = message;\n }\n\n return fetchRetry;\n\n}));\n","const Operation = {\n Remove: 'remove',\n Replace: 'replace',\n Add: 'add',\n};\n\n// Don't use `Symbol()` just for 3rd party access the draft\nconst PROXY_DRAFT = Symbol.for('__MUTATIVE_PROXY_DRAFT__');\nconst RAW_RETURN_SYMBOL = Symbol('__MUTATIVE_RAW_RETURN_SYMBOL__');\nconst iteratorSymbol = Symbol.iterator;\nconst dataTypes = {\n mutable: 'mutable',\n immutable: 'immutable',\n};\n\nconst internal = {};\n\nfunction has(target, key) {\n return target instanceof Map\n ? target.has(key)\n : Object.prototype.hasOwnProperty.call(target, key);\n}\nfunction getDescriptor(target, key) {\n if (key in target) {\n let prototype = Reflect.getPrototypeOf(target);\n while (prototype) {\n const descriptor = Reflect.getOwnPropertyDescriptor(prototype, key);\n if (descriptor)\n return descriptor;\n prototype = Reflect.getPrototypeOf(prototype);\n }\n }\n return;\n}\nfunction isBaseSetInstance(obj) {\n return Object.getPrototypeOf(obj) === Set.prototype;\n}\nfunction isBaseMapInstance(obj) {\n return Object.getPrototypeOf(obj) === Map.prototype;\n}\n\nfunction latest(proxyDraft) {\n var _a;\n return (_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original;\n}\n/**\n * Check if the value is a draft\n */\nfunction isDraft(target) {\n return !!getProxyDraft(target);\n}\nfunction getProxyDraft(value) {\n if (typeof value !== 'object')\n return null;\n return value === null || value === void 0 ? void 0 : value[PROXY_DRAFT];\n}\nfunction getValue(value) {\n var _a;\n const proxyDraft = getProxyDraft(value);\n return proxyDraft ? ((_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original) : value;\n}\n/**\n * Check if a value is draftable\n */\nfunction isDraftable(value, options) {\n if (!value || typeof value !== 'object')\n return false;\n let markResult;\n return (Object.getPrototypeOf(value) === Object.prototype ||\n Array.isArray(value) ||\n value instanceof Map ||\n value instanceof Set ||\n (!!(options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(value, dataTypes)) === dataTypes.immutable ||\n typeof markResult === 'function')));\n}\nfunction getPath(target, path = []) {\n if (Object.hasOwnProperty.call(target, 'key')) {\n // check if the parent is a draft and the original value is not equal to the current value\n const parentCopy = target.parent.copy;\n const proxyDraft = getProxyDraft(get(parentCopy, target.key));\n if (proxyDraft !== null && (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== target.original) {\n return null;\n }\n const isSet = target.parent.type === 3 /* DraftType.Set */;\n const key = isSet\n ? Array.from(target.parent.setMap.keys()).indexOf(target.key)\n : target.key;\n // check if the key is still in the next state parent\n if (!((isSet && parentCopy.size > key) || has(parentCopy, key)))\n return null;\n path.push(key);\n }\n if (target.parent) {\n return getPath(target.parent, path);\n }\n // `target` is root draft.\n path.reverse();\n try {\n // check if the path is valid\n resolvePath(target.copy, path);\n }\n catch (e) {\n return null;\n }\n return path;\n}\nfunction getType(target) {\n if (Array.isArray(target))\n return 1 /* DraftType.Array */;\n if (target instanceof Map)\n return 2 /* DraftType.Map */;\n if (target instanceof Set)\n return 3 /* DraftType.Set */;\n return 0 /* DraftType.Object */;\n}\nfunction get(target, key) {\n return getType(target) === 2 /* DraftType.Map */ ? target.get(key) : target[key];\n}\nfunction set(target, key, value) {\n const type = getType(target);\n if (type === 2 /* DraftType.Map */) {\n target.set(key, value);\n }\n else {\n target[key] = value;\n }\n}\nfunction peek(target, key) {\n const state = getProxyDraft(target);\n const source = state ? latest(state) : target;\n return source[key];\n}\nfunction isEqual(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n }\n else {\n return x !== x && y !== y;\n }\n}\nfunction revokeProxy(proxyDraft) {\n if (!proxyDraft)\n return;\n while (proxyDraft.finalities.revoke.length > 0) {\n const revoke = proxyDraft.finalities.revoke.pop();\n revoke();\n }\n}\n// handle JSON Pointer path with spec https://www.rfc-editor.org/rfc/rfc6901\nfunction escapePath(path, pathAsArray) {\n return pathAsArray\n ? path\n : ['']\n .concat(path)\n .map((_item) => {\n const item = `${_item}`;\n if (item.indexOf('/') === -1 && item.indexOf('~') === -1)\n return item;\n return item.replace(/~/g, '~0').replace(/\\//g, '~1');\n })\n .join('/');\n}\nfunction unescapePath(path) {\n if (Array.isArray(path))\n return path;\n return path\n .split('/')\n .map((_item) => _item.replace(/~1/g, '/').replace(/~0/g, '~'))\n .slice(1);\n}\nfunction resolvePath(base, path) {\n for (let index = 0; index < path.length - 1; index += 1) {\n const key = path[index];\n // use `index` in Set draft\n base = get(getType(base) === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot resolve patch at '${path.join('/')}'.`);\n }\n }\n return base;\n}\n\nfunction strictCopy(target) {\n const copy = Object.create(Object.getPrototypeOf(target));\n Reflect.ownKeys(target).forEach((key) => {\n let desc = Reflect.getOwnPropertyDescriptor(target, key);\n if (desc.enumerable && desc.configurable && desc.writable) {\n copy[key] = target[key];\n return;\n }\n // for freeze\n if (!desc.writable) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n desc = {\n configurable: true,\n writable: true,\n enumerable: desc.enumerable,\n value: target[key],\n };\n Reflect.defineProperty(copy, key, desc);\n });\n return copy;\n}\nconst propIsEnum = Object.prototype.propertyIsEnumerable;\nfunction shallowCopy(original, options) {\n let markResult;\n if (Array.isArray(original)) {\n return Array.prototype.concat.call(original);\n }\n else if (original instanceof Set) {\n if (!isBaseSetInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original.values());\n }\n return Set.prototype.difference\n ? Set.prototype.difference.call(original, new Set())\n : new Set(original.values());\n }\n else if (original instanceof Map) {\n if (!isBaseMapInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original);\n }\n return new Map(original);\n }\n else if ((options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(original, dataTypes)),\n markResult !== undefined) &&\n markResult !== dataTypes.mutable) {\n if (markResult === dataTypes.immutable) {\n return strictCopy(original);\n }\n else if (typeof markResult === 'function') {\n if ((options.enablePatches || options.enableAutoFreeze)) {\n throw new Error(`You can't use mark and patches or auto freeze together.`);\n }\n return markResult();\n }\n throw new Error(`Unsupported mark result: ${markResult}`);\n }\n else if (typeof original === 'object' &&\n Object.getPrototypeOf(original) === Object.prototype) {\n // For best performance with shallow copies,\n // don't use `Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));` by default.\n const copy = {};\n Object.keys(original).forEach((key) => {\n copy[key] = original[key];\n });\n Object.getOwnPropertySymbols(original).forEach((key) => {\n if (propIsEnum.call(original, key)) {\n copy[key] = original[key];\n }\n });\n return copy;\n }\n else {\n throw new Error(`Please check mark() to ensure that it is a stable marker draftable function.`);\n }\n}\nfunction ensureShallowCopy(target) {\n if (target.copy)\n return;\n target.copy = shallowCopy(target.original, target.options);\n}\nfunction deepClone(target) {\n if (!isDraftable(target))\n return getValue(target);\n if (Array.isArray(target))\n return target.map(deepClone);\n if (target instanceof Map) {\n const iterable = Array.from(target.entries()).map(([k, v]) => [\n k,\n deepClone(v),\n ]);\n if (!isBaseMapInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Map(iterable);\n }\n if (target instanceof Set) {\n const iterable = Array.from(target).map(deepClone);\n if (!isBaseSetInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Set(iterable);\n }\n const copy = Object.create(Object.getPrototypeOf(target));\n for (const key in target)\n copy[key] = deepClone(target[key]);\n return copy;\n}\nfunction cloneIfNeeded(target) {\n return isDraft(target) ? deepClone(target) : target;\n}\n\nfunction markChanged(proxyDraft) {\n var _a;\n proxyDraft.assignedMap = (_a = proxyDraft.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n if (!proxyDraft.operated) {\n proxyDraft.operated = true;\n if (proxyDraft.parent) {\n markChanged(proxyDraft.parent);\n }\n }\n}\n\nfunction throwFrozenError() {\n throw new Error('Cannot modify frozen object');\n}\nfunction deepFreeze(target, subKey, updatedValues, stack, keys) {\n {\n updatedValues = updatedValues !== null && updatedValues !== void 0 ? updatedValues : new WeakMap();\n stack = stack !== null && stack !== void 0 ? stack : [];\n keys = keys !== null && keys !== void 0 ? keys : [];\n const value = updatedValues.has(target)\n ? updatedValues.get(target)\n : target;\n if (stack.length > 0) {\n const index = stack.indexOf(value);\n if (value && typeof value === 'object' && index !== -1) {\n if (stack[0] === value) {\n throw new Error(`Forbids circular reference`);\n }\n throw new Error(`Forbids circular reference: ~/${keys\n .slice(0, index)\n .map((key, index) => {\n if (typeof key === 'symbol')\n return `[${key.toString()}]`;\n const parent = stack[index];\n if (typeof key === 'object' &&\n (parent instanceof Map || parent instanceof Set))\n return Array.from(parent.keys()).indexOf(key);\n return key;\n })\n .join('/')}`);\n }\n stack.push(value);\n keys.push(subKey);\n }\n else {\n stack.push(value);\n }\n }\n if (Object.isFrozen(target) || isDraft(target)) {\n {\n stack.pop();\n keys.pop();\n }\n return;\n }\n const type = getType(target);\n switch (type) {\n case 2 /* DraftType.Map */:\n for (const [key, value] of target) {\n deepFreeze(key, key, updatedValues, stack, keys);\n deepFreeze(value, key, updatedValues, stack, keys);\n }\n target.set = target.clear = target.delete = throwFrozenError;\n break;\n case 3 /* DraftType.Set */:\n for (const value of target) {\n deepFreeze(value, value, updatedValues, stack, keys);\n }\n target.add = target.clear = target.delete = throwFrozenError;\n break;\n case 1 /* DraftType.Array */:\n Object.freeze(target);\n let index = 0;\n for (const value of target) {\n deepFreeze(value, index, updatedValues, stack, keys);\n index += 1;\n }\n break;\n default:\n Object.freeze(target);\n // ignore non-enumerable or symbol properties\n Object.keys(target).forEach((name) => {\n const value = target[name];\n deepFreeze(value, name, updatedValues, stack, keys);\n });\n }\n {\n stack.pop();\n keys.pop();\n }\n}\n\nfunction forEach(target, iter) {\n const type = getType(target);\n if (type === 0 /* DraftType.Object */) {\n Reflect.ownKeys(target).forEach((key) => {\n iter(key, target[key], target);\n });\n }\n else if (type === 1 /* DraftType.Array */) {\n let index = 0;\n for (const entry of target) {\n iter(index, entry, target);\n index += 1;\n }\n }\n else {\n target.forEach((entry, index) => iter(index, entry, target));\n }\n}\n\nfunction handleValue(target, handledSet, options) {\n if (isDraft(target) ||\n !isDraftable(target, options) ||\n handledSet.has(target) ||\n Object.isFrozen(target))\n return;\n const isSet = target instanceof Set;\n const setMap = isSet ? new Map() : undefined;\n handledSet.add(target);\n forEach(target, (key, value) => {\n var _a;\n if (isDraft(value)) {\n const proxyDraft = getProxyDraft(value);\n ensureShallowCopy(proxyDraft);\n // A draft where a child node has been changed, or assigned a value\n const updatedValue = ((_a = proxyDraft.assignedMap) === null || _a === void 0 ? void 0 : _a.size) || proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original;\n // final update value\n set(isSet ? setMap : target, key, updatedValue);\n }\n else {\n handleValue(value, handledSet, options);\n }\n });\n if (setMap) {\n const set = target;\n const values = Array.from(set);\n set.clear();\n values.forEach((value) => {\n set.add(setMap.has(value) ? setMap.get(value) : value);\n });\n }\n}\nfunction finalizeAssigned(proxyDraft, key) {\n // handle the draftable assigned values, and the value is not a draft\n const copy = proxyDraft.type === 3 /* DraftType.Set */ ? proxyDraft.setMap : proxyDraft.copy;\n if (proxyDraft.finalities.revoke.length > 1 &&\n proxyDraft.assignedMap.get(key) &&\n copy) {\n handleValue(get(copy, key), proxyDraft.finalities.handledSet, proxyDraft.options);\n }\n}\nfunction finalizeSetValue(target) {\n if (target.type === 3 /* DraftType.Set */ && target.copy) {\n target.copy.clear();\n target.setMap.forEach((value) => {\n target.copy.add(getValue(value));\n });\n }\n}\nfunction finalizePatches(target, generatePatches, patches, inversePatches) {\n const shouldFinalize = target.operated &&\n target.assignedMap &&\n target.assignedMap.size > 0 &&\n !target.finalized;\n if (shouldFinalize) {\n if (patches && inversePatches) {\n const basePath = getPath(target);\n if (basePath) {\n generatePatches(target, basePath, patches, inversePatches);\n }\n }\n target.finalized = true;\n }\n}\nfunction markFinalization(target, key, value, generatePatches) {\n const proxyDraft = getProxyDraft(value);\n if (proxyDraft) {\n // !case: assign the draft value\n if (!proxyDraft.callbacks) {\n proxyDraft.callbacks = [];\n }\n proxyDraft.callbacks.push((patches, inversePatches) => {\n var _a;\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n let updatedValue = proxyDraft.original;\n if (proxyDraft.copy) {\n updatedValue = proxyDraft.copy;\n }\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n });\n if (target.options.enableAutoFreeze) {\n // !case: assign the draft value in cross draft tree\n if (proxyDraft.finalities !== target.finalities) {\n target.options.enableAutoFreeze = false;\n }\n }\n }\n if (isDraftable(value, target.options)) {\n // !case: assign the non-draft value\n target.finalities.draft.push(() => {\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n finalizeAssigned(target, key);\n }\n });\n }\n}\n\nfunction generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray) {\n let { original, assignedMap, options } = proxyState;\n let copy = proxyState.copy;\n if (copy.length < original.length) {\n [original, copy] = [copy, original];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let index = 0; index < original.length; index += 1) {\n if (assignedMap.get(index.toString()) && copy[index] !== original[index]) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n inversePatches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(original[index]),\n });\n }\n }\n for (let index = original.length; index < copy.length; index += 1) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n }\n if (original.length < copy.length) {\n // https://www.rfc-editor.org/rfc/rfc6902#appendix-A.4\n // For performance, here we only generate an operation that replaces the length of the array,\n // which is inconsistent with JSON Patch specification\n const { arrayLengthAssignment = true } = options.enablePatches;\n if (arrayLengthAssignment) {\n const _path = basePath.concat(['length']);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Replace,\n path,\n value: original.length,\n });\n }\n else {\n for (let index = copy.length; original.length < index; index -= 1) {\n const _path = basePath.concat([index - 1]);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Remove,\n path,\n });\n }\n }\n }\n}\nfunction generatePatchesFromAssigned({ original, copy, assignedMap }, basePath, patches, inversePatches, pathAsArray) {\n assignedMap.forEach((assignedValue, key) => {\n const originalValue = get(original, key);\n const value = cloneIfNeeded(get(copy, key));\n const op = !assignedValue\n ? Operation.Remove\n : has(original, key)\n ? Operation.Replace\n : Operation.Add;\n if (isEqual(originalValue, value) && op === Operation.Replace)\n return;\n const _path = basePath.concat(key);\n const path = escapePath(_path, pathAsArray);\n patches.push(op === Operation.Remove ? { op, path } : { op, path, value });\n inversePatches.push(op === Operation.Add\n ? { op: Operation.Remove, path }\n : op === Operation.Remove\n ? { op: Operation.Add, path, value: originalValue }\n : { op: Operation.Replace, path, value: originalValue });\n });\n}\nfunction generateSetPatches({ original, copy }, basePath, patches, inversePatches, pathAsArray) {\n let index = 0;\n original.forEach((value) => {\n if (!copy.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Remove,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Add,\n path,\n value,\n });\n }\n index += 1;\n });\n index = 0;\n copy.forEach((value) => {\n if (!original.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Remove,\n path,\n value,\n });\n }\n index += 1;\n });\n}\nfunction generatePatches(proxyState, basePath, patches, inversePatches) {\n const { pathAsArray = true } = proxyState.options.enablePatches;\n switch (proxyState.type) {\n case 0 /* DraftType.Object */:\n case 2 /* DraftType.Map */:\n return generatePatchesFromAssigned(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 1 /* DraftType.Array */:\n return generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 3 /* DraftType.Set */:\n return generateSetPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n }\n}\n\nlet readable = false;\nconst checkReadable = (value, options, ignoreCheckDraftable = false) => {\n if (typeof value === 'object' &&\n value !== null &&\n (!isDraftable(value, options) || ignoreCheckDraftable) &&\n !readable) {\n throw new Error(`Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.`);\n }\n};\n/**\n * `unsafe(callback)` to access mutable data directly in strict mode.\n *\n * ## Example\n *\n * ```ts\n * import { create, unsafe } from '../index';\n *\n * class Foobar {\n * bar = 1;\n * }\n *\n * const baseState = { foobar: new Foobar() };\n * const state = create(\n * baseState,\n * (draft) => {\n * unsafe(() => {\n * draft.foobar.bar = 2;\n * });\n * },\n * {\n * strict: true,\n * }\n * );\n *\n * expect(state).toBe(baseState);\n * expect(state.foobar).toBe(baseState.foobar);\n * expect(state.foobar.bar).toBe(2);\n * ```\n */\nfunction unsafe(callback) {\n readable = true;\n let result;\n try {\n result = callback();\n }\n finally {\n readable = false;\n }\n return result;\n}\n\nconst mapHandler = {\n get size() {\n const current = latest(getProxyDraft(this));\n return current.size;\n },\n has(key) {\n return latest(getProxyDraft(this)).has(key);\n },\n set(key, value) {\n const target = getProxyDraft(this);\n const source = latest(target);\n if (!source.has(key) || !isEqual(source.get(key), value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, true);\n target.copy.set(key, value);\n markFinalization(target, key, value, generatePatches);\n }\n return this;\n },\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n if (target.original.has(key)) {\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap.delete(key);\n }\n target.copy.delete(key);\n return true;\n },\n clear() {\n const target = getProxyDraft(this);\n if (!this.size)\n return;\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap = new Map();\n for (const [key] of target.original) {\n target.assignedMap.set(key, false);\n }\n target.copy.clear();\n },\n forEach(callback, thisArg) {\n const target = getProxyDraft(this);\n latest(target).forEach((_value, _key) => {\n callback.call(thisArg, this.get(_key), _key, this);\n });\n },\n get(key) {\n var _a, _b;\n const target = getProxyDraft(this);\n const value = latest(target).get(key);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(value, target.options, mutable);\n }\n if (mutable) {\n return value;\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // drafted or reassigned\n if (value !== target.original.get(key)) {\n return value;\n }\n const draft = internal.createDraft({\n original: value,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n ensureShallowCopy(target);\n target.copy.set(key, draft);\n return draft;\n },\n keys() {\n return latest(getProxyDraft(this)).keys();\n },\n values() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.values(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value,\n };\n },\n };\n },\n entries() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.entries(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value: [result.value, value],\n };\n },\n };\n },\n [iteratorSymbol]() {\n return this.entries();\n },\n};\nconst mapHandlerKeys = Reflect.ownKeys(mapHandler);\n\nconst getNextIterator = (target, iterator, { isValuesIterator }) => () => {\n var _a, _b;\n const result = iterator.next();\n if (result.done)\n return result;\n const key = result.value;\n let value = target.setMap.get(key);\n const currentDraft = getProxyDraft(value);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(key, target.options, mutable);\n }\n if (!mutable &&\n !currentDraft &&\n isDraftable(key, target.options) &&\n !target.finalized &&\n target.original.has(key)) {\n // draft a draftable original set item\n const proxy = internal.createDraft({\n original: key,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n target.setMap.set(key, proxy);\n value = proxy;\n }\n else if (currentDraft) {\n // drafted\n value = currentDraft.proxy;\n }\n return {\n done: false,\n value: isValuesIterator ? value : [value, value],\n };\n};\nconst setHandler = {\n get size() {\n const target = getProxyDraft(this);\n return target.setMap.size;\n },\n has(value) {\n const target = getProxyDraft(this);\n // reassigned or non-draftable values\n if (target.setMap.has(value))\n return true;\n ensureShallowCopy(target);\n const valueProxyDraft = getProxyDraft(value);\n // drafted\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original))\n return true;\n return false;\n },\n add(value) {\n const target = getProxyDraft(this);\n if (!this.has(value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(value, true);\n target.setMap.set(value, value);\n markFinalization(target, value, value, generatePatches);\n }\n return this;\n },\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n const valueProxyDraft = getProxyDraft(value);\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original)) {\n // delete drafted\n target.assignedMap.set(valueProxyDraft.original, false);\n return target.setMap.delete(valueProxyDraft.original);\n }\n if (!valueProxyDraft && target.setMap.has(value)) {\n // non-draftable values\n target.assignedMap.set(value, false);\n }\n else {\n // reassigned\n target.assignedMap.delete(value);\n }\n // delete reassigned or non-draftable values\n return target.setMap.delete(value);\n },\n clear() {\n if (!this.size)\n return;\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n for (const value of target.original) {\n target.assignedMap.set(value, false);\n }\n target.setMap.clear();\n },\n values() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: getNextIterator(target, iterator, { isValuesIterator: true }),\n };\n },\n entries() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: getNextIterator(target, iterator, {\n isValuesIterator: false,\n }),\n };\n },\n keys() {\n return this.values();\n },\n [iteratorSymbol]() {\n return this.values();\n },\n forEach(callback, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n callback.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n },\n};\nif (Set.prototype.difference) {\n // for compatibility with new Set methods\n // https://github.com/tc39/proposal-set-methods\n // And `https://github.com/tc39/proposal-set-methods/blob/main/details.md#symbolspecies` has some details about the `@@species` symbol.\n // So we can't use SubSet instance constructor to get the constructor of the SubSet instance.\n Object.assign(setHandler, {\n intersection(other) {\n return Set.prototype.intersection.call(new Set(this.values()), other);\n },\n union(other) {\n return Set.prototype.union.call(new Set(this.values()), other);\n },\n difference(other) {\n return Set.prototype.difference.call(new Set(this.values()), other);\n },\n symmetricDifference(other) {\n return Set.prototype.symmetricDifference.call(new Set(this.values()), other);\n },\n isSubsetOf(other) {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), other);\n },\n isSupersetOf(other) {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), other);\n },\n isDisjointFrom(other) {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), other);\n },\n });\n}\nconst setHandlerKeys = Reflect.ownKeys(setHandler);\n\nconst proxyHandler = {\n get(target, key, receiver) {\n var _a, _b;\n const copy = (_a = target.copy) === null || _a === void 0 ? void 0 : _a[key];\n // Improve draft reading performance by caching the draft copy.\n if (copy && target.finalities.draftsCache.has(copy)) {\n return copy;\n }\n if (key === PROXY_DRAFT)\n return target;\n let markResult;\n if (target.options.mark) {\n // handle `Uncaught TypeError: Method get Map.prototype.size called on incompatible receiver #<Map>`\n // or `Uncaught TypeError: Method get Set.prototype.size called on incompatible receiver #<Set>`\n const value = key === 'size' &&\n (target.original instanceof Map || target.original instanceof Set)\n ? Reflect.get(target.original, key)\n : Reflect.get(target.original, key, receiver);\n markResult = target.options.mark(value, dataTypes);\n if (markResult === dataTypes.mutable) {\n if (target.options.strict) {\n checkReadable(value, target.options, true);\n }\n return value;\n }\n }\n const source = latest(target);\n if (source instanceof Map && mapHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(mapHandler, 'size').get.call(target.proxy);\n }\n const handle = mapHandler[key];\n return handle.bind(target.proxy);\n }\n if (source instanceof Set && setHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(setHandler, 'size').get.call(target.proxy);\n }\n const handle = setHandler[key];\n return handle.bind(target.proxy);\n }\n if (!has(source, key)) {\n const desc = getDescriptor(source, key);\n return desc\n ? `value` in desc\n ? desc.value\n : // !case: support for getter\n (_b = desc.get) === null || _b === void 0 ? void 0 : _b.call(target.proxy)\n : undefined;\n }\n const value = source[key];\n if (target.options.strict) {\n checkReadable(value, target.options);\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // Ensure that the assigned values are not drafted\n if (value === peek(target.original, key)) {\n ensureShallowCopy(target);\n target.copy[key] = createDraft({\n original: target.original[key],\n parentDraft: target,\n key: target.type === 1 /* DraftType.Array */ ? Number(key) : key,\n finalities: target.finalities,\n options: target.options,\n });\n // !case: support for custom shallow copy function\n if (typeof markResult === 'function') {\n const subProxyDraft = getProxyDraft(target.copy[key]);\n ensureShallowCopy(subProxyDraft);\n // Trigger a custom shallow copy to update to a new copy\n markChanged(subProxyDraft);\n return subProxyDraft.copy;\n }\n return target.copy[key];\n }\n if (isDraft(value)) {\n target.finalities.draftsCache.add(value);\n }\n return value;\n },\n set(target, key, value) {\n var _a;\n if (target.type === 3 /* DraftType.Set */ || target.type === 2 /* DraftType.Map */) {\n throw new Error(`Map/Set draft does not support any property assignment.`);\n }\n let _key;\n if (target.type === 1 /* DraftType.Array */ &&\n key !== 'length' &&\n !(Number.isInteger((_key = Number(key))) &&\n _key >= 0 &&\n (key === 0 || _key === 0 || String(_key) === String(key)))) {\n throw new Error(`Only supports setting array indices and the 'length' property.`);\n }\n const desc = getDescriptor(latest(target), key);\n if (desc === null || desc === void 0 ? void 0 : desc.set) {\n // !case: cover the case of setter\n desc.set.call(target.proxy, value);\n return true;\n }\n const current = peek(latest(target), key);\n const currentProxyDraft = getProxyDraft(current);\n if (currentProxyDraft && isEqual(currentProxyDraft.original, value)) {\n // !case: ignore the case of assigning the original draftable value to a draft\n target.copy[key] = value;\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n target.assignedMap.set(key, false);\n return true;\n }\n // !case: handle new props with value 'undefined'\n if (isEqual(value, current) &&\n (value !== undefined || has(target.original, key)))\n return true;\n ensureShallowCopy(target);\n markChanged(target);\n if (has(target.original, key) && isEqual(value, target.original[key])) {\n // !case: handle the case of assigning the original non-draftable value to a draft\n target.assignedMap.delete(key);\n }\n else {\n target.assignedMap.set(key, true);\n }\n target.copy[key] = value;\n markFinalization(target, key, value, generatePatches);\n return true;\n },\n has(target, key) {\n return key in latest(target);\n },\n ownKeys(target) {\n return Reflect.ownKeys(latest(target));\n },\n getOwnPropertyDescriptor(target, key) {\n const source = latest(target);\n const descriptor = Reflect.getOwnPropertyDescriptor(source, key);\n if (!descriptor)\n return descriptor;\n return {\n writable: true,\n configurable: target.type !== 1 /* DraftType.Array */ || key !== 'length',\n enumerable: descriptor.enumerable,\n value: source[key],\n };\n },\n getPrototypeOf(target) {\n return Reflect.getPrototypeOf(target.original);\n },\n setPrototypeOf() {\n throw new Error(`Cannot call 'setPrototypeOf()' on drafts`);\n },\n defineProperty() {\n throw new Error(`Cannot call 'defineProperty()' on drafts`);\n },\n deleteProperty(target, key) {\n var _a;\n if (target.type === 1 /* DraftType.Array */) {\n return proxyHandler.set.call(this, target, key, undefined, target.proxy);\n }\n if (peek(target.original, key) !== undefined || key in target.original) {\n // !case: delete an existing key\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n // The original non-existent key has been deleted\n target.assignedMap.delete(key);\n }\n if (target.copy)\n delete target.copy[key];\n return true;\n },\n};\nfunction createDraft(createDraftOptions) {\n const { original, parentDraft, key, finalities, options } = createDraftOptions;\n const type = getType(original);\n const proxyDraft = {\n type,\n finalized: false,\n parent: parentDraft,\n original,\n copy: null,\n proxy: null,\n finalities,\n options,\n // Mapping of draft Set items to their corresponding draft values.\n setMap: type === 3 /* DraftType.Set */\n ? new Map(original.entries())\n : undefined,\n };\n // !case: undefined as a draft map key\n if (key || 'key' in createDraftOptions) {\n proxyDraft.key = key;\n }\n const { proxy, revoke } = Proxy.revocable(type === 1 /* DraftType.Array */ ? Object.assign([], proxyDraft) : proxyDraft, proxyHandler);\n finalities.revoke.push(revoke);\n proxyDraft.proxy = proxy;\n if (parentDraft) {\n const target = parentDraft;\n target.finalities.draft.push((patches, inversePatches) => {\n var _a, _b;\n const oldProxyDraft = getProxyDraft(proxy);\n // if target is a Set draft, `setMap` is the real Set copies proxy mapping.\n let copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n const draft = get(copy, key);\n const proxyDraft = getProxyDraft(draft);\n if (proxyDraft) {\n // assign the updated value to the copy object\n let updatedValue = proxyDraft.original;\n if (proxyDraft.operated) {\n updatedValue = getValue(draft);\n }\n finalizeSetValue(proxyDraft);\n finalizePatches(proxyDraft, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n // !case: handle the deleted key\n (_b = oldProxyDraft.callbacks) === null || _b === void 0 ? void 0 : _b.forEach((callback) => {\n callback(patches, inversePatches);\n });\n });\n }\n else {\n // !case: handle the root draft\n const target = getProxyDraft(proxy);\n target.finalities.draft.push((patches, inversePatches) => {\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n });\n }\n return proxy;\n}\ninternal.createDraft = createDraft;\nfunction finalizeDraft(result, returnedValue, patches, inversePatches, enableAutoFreeze) {\n var _a;\n const proxyDraft = getProxyDraft(result);\n const original = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : result;\n const hasReturnedValue = !!returnedValue.length;\n if (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated) {\n while (proxyDraft.finalities.draft.length > 0) {\n const finalize = proxyDraft.finalities.draft.pop();\n finalize(patches, inversePatches);\n }\n }\n const state = hasReturnedValue\n ? returnedValue[0]\n : proxyDraft\n ? proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original\n : result;\n if (proxyDraft)\n revokeProxy(proxyDraft);\n if (enableAutoFreeze) {\n deepFreeze(state, state, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options.updatedValues);\n }\n return [\n state,\n patches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: returnedValue[0] }]\n : patches,\n inversePatches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: original }]\n : inversePatches,\n ];\n}\n\nfunction draftify(baseState, options) {\n var _a;\n const finalities = {\n draft: [],\n revoke: [],\n handledSet: new WeakSet(),\n draftsCache: new WeakSet(),\n };\n let patches;\n let inversePatches;\n if (options.enablePatches) {\n patches = [];\n inversePatches = [];\n }\n const isMutable = ((_a = options.mark) === null || _a === void 0 ? void 0 : _a.call(options, baseState, dataTypes)) === dataTypes.mutable ||\n !isDraftable(baseState, options);\n const draft = isMutable\n ? baseState\n : createDraft({\n original: baseState,\n parentDraft: null,\n finalities,\n options,\n });\n return [\n draft,\n (returnedValue = []) => {\n const [finalizedState, finalizedPatches, finalizedInversePatches] = finalizeDraft(draft, returnedValue, patches, inversePatches, options.enableAutoFreeze);\n return (options.enablePatches\n ? [finalizedState, finalizedPatches, finalizedInversePatches]\n : finalizedState);\n },\n ];\n}\n\nfunction handleReturnValue(options) {\n const { rootDraft, value, useRawReturn = false, isRoot = true } = options;\n forEach(value, (key, item, source) => {\n const proxyDraft = getProxyDraft(item);\n // just handle the draft which is created by the same rootDraft\n if (proxyDraft &&\n rootDraft &&\n proxyDraft.finalities === rootDraft.finalities) {\n options.isContainDraft = true;\n const currentValue = proxyDraft.original;\n // final update value, but just handle return value\n if (source instanceof Set) {\n const arr = Array.from(source);\n source.clear();\n arr.forEach((_item) => source.add(key === _item ? currentValue : _item));\n }\n else {\n set(source, key, currentValue);\n }\n }\n else if (typeof item === 'object' && item !== null) {\n options.value = item;\n options.isRoot = false;\n handleReturnValue(options);\n }\n });\n if (isRoot) {\n if (!options.isContainDraft)\n console.warn(`The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.`);\n if (useRawReturn) {\n console.warn(`The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.`);\n }\n }\n}\nfunction getCurrent(target) {\n var _a;\n const proxyDraft = getProxyDraft(target);\n if (!isDraftable(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options))\n return target;\n const type = getType(target);\n if (proxyDraft && !proxyDraft.operated)\n return proxyDraft.original;\n let currentValue;\n function ensureShallowCopy() {\n currentValue =\n type === 2 /* DraftType.Map */\n ? !isBaseMapInstance(target)\n ? new (Object.getPrototypeOf(target).constructor)(target)\n : new Map(target)\n : type === 3 /* DraftType.Set */\n ? Array.from(proxyDraft.setMap.values())\n : shallowCopy(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options);\n }\n if (proxyDraft) {\n // It's a proxy draft, let's create a shallow copy eagerly\n proxyDraft.finalized = true;\n try {\n ensureShallowCopy();\n }\n finally {\n proxyDraft.finalized = false;\n }\n }\n else {\n // It's not a proxy draft, let's use the target directly and let's see\n // lazily if we need to create a shallow copy\n currentValue = target;\n }\n forEach(currentValue, (key, value) => {\n if (proxyDraft && isEqual(get(proxyDraft.original, key), value))\n return;\n const newValue = getCurrent(value);\n if (newValue !== value) {\n if (currentValue === target)\n ensureShallowCopy();\n set(currentValue, key, newValue);\n }\n });\n if (type === 3 /* DraftType.Set */) {\n const value = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : currentValue;\n return !isBaseSetInstance(value)\n ? new (Object.getPrototypeOf(value).constructor)(currentValue)\n : new Set(currentValue);\n }\n return currentValue;\n}\nfunction current(target) {\n if (!isDraft(target)) {\n throw new Error(`current() is only used for Draft, parameter: ${target}`);\n }\n return getCurrent(target);\n}\n\n/**\n * `makeCreator(options)` to make a creator function.\n *\n * ## Example\n *\n * ```ts\n * import { makeCreator } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const create = makeCreator({ enableAutoFreeze: true });\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * expect(Object.isFrozen(state)).toBeTruthy();\n * ```\n */\nconst makeCreator = (arg) => {\n if (arg !== undefined &&\n Object.prototype.toString.call(arg) !== '[object Object]') {\n throw new Error(`Invalid options: ${String(arg)}, 'options' should be an object.`);\n }\n return function create(arg0, arg1, arg2) {\n var _a, _b, _c;\n if (typeof arg0 === 'function' && typeof arg1 !== 'function') {\n return function (base, ...args) {\n return create(base, (draft) => arg0.call(this, draft, ...args), arg1);\n };\n }\n const base = arg0;\n const mutate = arg1;\n let options = arg2;\n if (typeof arg1 !== 'function') {\n options = arg1;\n }\n if (options !== undefined &&\n Object.prototype.toString.call(options) !== '[object Object]') {\n throw new Error(`Invalid options: ${options}, 'options' should be an object.`);\n }\n options = Object.assign(Object.assign({}, arg), options);\n const state = isDraft(base) ? current(base) : base;\n const mark = Array.isArray(options.mark)\n ? ((value, types) => {\n for (const mark of options.mark) {\n if (typeof mark !== 'function') {\n throw new Error(`Invalid mark: ${mark}, 'mark' should be a function.`);\n }\n const result = mark(value, types);\n if (result) {\n return result;\n }\n }\n return;\n })\n : options.mark;\n const enablePatches = (_a = options.enablePatches) !== null && _a !== void 0 ? _a : false;\n const strict = (_b = options.strict) !== null && _b !== void 0 ? _b : false;\n const enableAutoFreeze = (_c = options.enableAutoFreeze) !== null && _c !== void 0 ? _c : false;\n const _options = {\n enableAutoFreeze,\n mark,\n strict,\n enablePatches,\n };\n if (!isDraftable(state, _options) &&\n typeof state === 'object' &&\n state !== null) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n const [draft, finalize] = draftify(state, _options);\n if (typeof arg1 !== 'function') {\n if (!isDraftable(state, _options)) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n return [draft, finalize];\n }\n let result;\n try {\n result = mutate(draft);\n }\n catch (error) {\n revokeProxy(getProxyDraft(draft));\n throw error;\n }\n const returnValue = (value) => {\n const proxyDraft = getProxyDraft(draft);\n if (!isDraft(value)) {\n if (value !== undefined &&\n !isEqual(value, draft) &&\n (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated)) {\n throw new Error(`Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.`);\n }\n const rawReturnValue = value === null || value === void 0 ? void 0 : value[RAW_RETURN_SYMBOL];\n if (rawReturnValue) {\n const _value = rawReturnValue[0];\n if (_options.strict && typeof value === 'object' && value !== null) {\n handleReturnValue({\n rootDraft: proxyDraft,\n value,\n useRawReturn: true,\n });\n }\n return finalize([_value]);\n }\n if (value !== undefined) {\n if (typeof value === 'object' && value !== null) {\n handleReturnValue({ rootDraft: proxyDraft, value });\n }\n return finalize([value]);\n }\n }\n if (value === draft || value === undefined) {\n return finalize([]);\n }\n const returnedProxyDraft = getProxyDraft(value);\n if (_options === returnedProxyDraft.options) {\n if (returnedProxyDraft.operated) {\n throw new Error(`Cannot return a modified child draft.`);\n }\n return finalize([current(value)]);\n }\n return finalize([value]);\n };\n if (result instanceof Promise) {\n return result.then(returnValue, (error) => {\n revokeProxy(getProxyDraft(draft));\n throw error;\n });\n }\n return returnValue(result);\n };\n};\n\n/**\n * `create(baseState, callback, options)` to create the next state\n *\n * ## Example\n *\n * ```ts\n * import { create } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * ```\n */\nconst create = makeCreator();\n\n/**\n * `apply(state, patches)` to apply patches to state\n *\n * ## Example\n *\n * ```ts\n * import { create, apply } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const [state, patches] = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * { enablePatches: true }\n * );\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(patches).toEqual([{ op: 'replace', path: ['foo', 'bar'], value: 'str2' }]);\n * expect(state).toEqual(apply(baseState, patches));\n * ```\n */\nfunction apply(state, patches, applyOptions) {\n let i;\n for (i = patches.length - 1; i >= 0; i -= 1) {\n const { value, op, path } = patches[i];\n if ((!path.length && op === Operation.Replace) ||\n (path === '' && op === Operation.Add)) {\n state = value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const mutate = (draft) => {\n patches.forEach((patch) => {\n const { path: _path, op } = patch;\n const path = unescapePath(_path);\n let base = draft;\n for (let index = 0; index < path.length - 1; index += 1) {\n const parentType = getType(base);\n let key = path[index];\n if (typeof key !== 'string' && typeof key !== 'number') {\n key = String(key);\n }\n if (((parentType === 0 /* DraftType.Object */ ||\n parentType === 1 /* DraftType.Array */) &&\n (key === '__proto__' || key === 'constructor')) ||\n (typeof base === 'function' && key === 'prototype')) {\n throw new Error(`Patching reserved attributes like __proto__ and constructor is not allowed.`);\n }\n // use `index` in Set draft\n base = get(parentType === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot apply patch at '${path.join('/')}'.`);\n }\n }\n const type = getType(base);\n // ensure the original patch is not modified.\n const value = deepClone(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case Operation.Replace:\n switch (type) {\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n throw new Error(`Cannot apply replace patch to set.`);\n default:\n return (base[key] = value);\n }\n case Operation.Add:\n switch (type) {\n case 1 /* DraftType.Array */:\n // If the \"-\" character is used to\n // index the end of the array (see [RFC6901](https://datatracker.ietf.org/doc/html/rfc6902)),\n // this has the effect of appending the value to the array.\n return key === '-'\n ? base.push(value)\n : base.splice(key, 0, value);\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n return base.add(value);\n default:\n return (base[key] = value);\n }\n case Operation.Remove:\n switch (type) {\n case 1 /* DraftType.Array */:\n return base.splice(key, 1);\n case 2 /* DraftType.Map */:\n return base.delete(key);\n case 3 /* DraftType.Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n throw new Error(`Unsupported patch operation: ${op}.`);\n }\n });\n };\n if (applyOptions === null || applyOptions === void 0 ? void 0 : applyOptions.mutable) {\n {\n if (Object.keys(applyOptions).filter((key) => key !== 'mutable').length) {\n console.warn('The \"mutable\" option is not allowed to be used with other options.');\n }\n }\n mutate(state);\n return undefined;\n }\n if (isDraft(state)) {\n if (applyOptions !== undefined) {\n throw new Error(`Cannot apply patches with options to a draft.`);\n }\n mutate(state);\n return state;\n }\n return create(state, mutate, Object.assign(Object.assign({}, applyOptions), { enablePatches: false }));\n}\n\n/**\n * `original(draft)` to get original state in the draft mutation function.\n *\n * ## Example\n *\n * ```ts\n * import { create, original } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * expect(original(draft.foo)).toEqual({ bar: 'str' });\n * }\n * );\n * ```\n */\nfunction original(target) {\n const proxyDraft = getProxyDraft(target);\n if (!proxyDraft) {\n throw new Error(`original() is only used for a draft, parameter: ${target}`);\n }\n return proxyDraft.original;\n}\n\n/**\n * Use rawReturn() to wrap the return value to skip the draft check and thus improve performance.\n *\n * ## Example\n *\n * ```ts\n * import { create, rawReturn } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * return rawReturn(baseState);\n * },\n * );\n * expect(state).toBe(baseState);\n * ```\n */\nfunction rawReturn(value) {\n if (arguments.length === 0) {\n throw new Error('rawReturn() must be called with a value.');\n }\n if (arguments.length > 1) {\n throw new Error('rawReturn() must be called with one argument.');\n }\n if (value !== undefined &&\n (typeof value !== 'object' || value === null)) {\n console.warn('rawReturn() must be called with an object(including plain object, arrays, Set, Map, etc.) or `undefined`, other types do not need to be returned via rawReturn().');\n }\n return {\n [RAW_RETURN_SYMBOL]: [value],\n };\n}\n\nconst constructorString = Object.prototype.constructor.toString();\n/**\n * Check if the value is a simple object(No prototype chain object or iframe same-origin object),\n * support case: https://github.com/unadlib/mutative/issues/17\n */\nconst isSimpleObject = (value) => {\n if (!value || typeof value !== 'object')\n return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype === null) {\n return true;\n }\n const constructor = Object.hasOwnProperty.call(prototype, 'constructor') &&\n prototype.constructor;\n if (constructor === Object)\n return true;\n return (typeof constructor === 'function' &&\n Function.toString.call(constructor) === constructorString);\n};\nconst markSimpleObject = (value) => {\n if (isSimpleObject(value)) {\n return dataTypes.immutable;\n }\n return;\n};\n\n/**\n * Cast a value to an Draft type value.\n */\nfunction castDraft(value) {\n return value;\n}\n/**\n * Cast a value to an Immutable type value.\n */\nfunction castImmutable(value) {\n return value;\n}\n/**\n * Cast a value to an Mutable type value.\n */\nfunction castMutable(draft) {\n return draft;\n}\n\nexport { apply, castDraft, castImmutable, castMutable, create, current, isDraft, isDraftable, makeCreator, markSimpleObject, original, rawReturn, unsafe };\n//# sourceMappingURL=mutative.esm.mjs.map\n",null,null,null,"/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar encode = function (arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n\nexport { decode, encode };\n//# sourceMappingURL=base64-arraybuffer.es5.js.map\n","const R = {\n TEXT: \"text/plain\",\n JSON: \"application/json\",\n OCTET_STREAM: \"application/octet-stream\",\n // For typed arrays, we'll use application/octet-stream with a type parameter\n TYPED_ARRAY: \"application/octet-stream;type=\",\n // Custom MIME type for URLs that should be treated as data references\n URI: \"text/x-uri\"\n}, h = {\n Remove: \"remove\",\n Replace: \"replace\",\n Add: \"add\"\n}, ye = Symbol.for(\"__MUTATIVE_PROXY_DRAFT__\"), De = Symbol(\"__MUTATIVE_RAW_RETURN_SYMBOL__\"), K = Symbol.iterator, v = {\n mutable: \"mutable\",\n immutable: \"immutable\"\n}, te = {};\nfunction B(e, n) {\n return e instanceof Map ? e.has(n) : Object.prototype.hasOwnProperty.call(e, n);\n}\nfunction le(e, n) {\n if (n in e) {\n let t = Reflect.getPrototypeOf(e);\n for (; t; ) {\n const r = Reflect.getOwnPropertyDescriptor(t, n);\n if (r)\n return r;\n t = Reflect.getPrototypeOf(t);\n }\n }\n}\nfunction re(e) {\n return Object.getPrototypeOf(e) === Set.prototype;\n}\nfunction oe(e) {\n return Object.getPrototypeOf(e) === Map.prototype;\n}\nfunction M(e) {\n var n;\n return (n = e.copy) !== null && n !== void 0 ? n : e.original;\n}\nfunction C(e) {\n return !!u(e);\n}\nfunction u(e) {\n return typeof e != \"object\" ? null : e == null ? void 0 : e[ye];\n}\nfunction ie(e) {\n var n;\n const t = u(e);\n return t ? (n = t.copy) !== null && n !== void 0 ? n : t.original : e;\n}\nfunction S(e, n) {\n if (!e || typeof e != \"object\")\n return !1;\n let t;\n return Object.getPrototypeOf(e) === Object.prototype || Array.isArray(e) || e instanceof Map || e instanceof Set || !!(n != null && n.mark) && ((t = n.mark(e, v)) === v.immutable || typeof t == \"function\");\n}\nfunction we(e, n = []) {\n if (Object.hasOwnProperty.call(e, \"key\")) {\n const t = e.parent.copy, r = u(_(t, e.key));\n if (r !== null && (r == null ? void 0 : r.original) !== e.original)\n return null;\n const o = e.parent.type === 3, a = o ? Array.from(e.parent.setMap.keys()).indexOf(e.key) : e.key;\n if (!(o && t.size > a || B(t, a)))\n return null;\n n.push(a);\n }\n if (e.parent)\n return we(e.parent, n);\n n.reverse();\n try {\n _e(e.copy, n);\n } catch {\n return null;\n }\n return n;\n}\nfunction I(e) {\n return Array.isArray(e) ? 1 : e instanceof Map ? 2 : e instanceof Set ? 3 : 0;\n}\nfunction _(e, n) {\n return I(e) === 2 ? e.get(n) : e[n];\n}\nfunction g(e, n, t) {\n I(e) === 2 ? e.set(n, t) : e[n] = t;\n}\nfunction G(e, n) {\n const t = u(e);\n return (t ? M(t) : e)[n];\n}\nfunction D(e, n) {\n return e === n ? e !== 0 || 1 / e === 1 / n : e !== e && n !== n;\n}\nfunction Q(e) {\n if (e)\n for (; e.finalities.revoke.length > 0; )\n e.finalities.revoke.pop()();\n}\nfunction U(e, n) {\n return n ? e : [\"\"].concat(e).map((t) => {\n const r = `${t}`;\n return r.indexOf(\"/\") === -1 && r.indexOf(\"~\") === -1 ? r : r.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n }).join(\"/\");\n}\nfunction _e(e, n) {\n for (let t = 0; t < n.length - 1; t += 1) {\n const r = n[t];\n if (e = _(I(e) === 3 ? Array.from(e) : e, r), typeof e != \"object\")\n throw new Error(`Cannot resolve patch at '${n.join(\"/\")}'.`);\n }\n return e;\n}\nfunction xe(e) {\n const n = Object.create(Object.getPrototypeOf(e));\n return Reflect.ownKeys(e).forEach((t) => {\n let r = Reflect.getOwnPropertyDescriptor(e, t);\n if (r.enumerable && r.configurable && r.writable) {\n n[t] = e[t];\n return;\n }\n r.writable || (r.writable = !0, r.configurable = !0), (r.get || r.set) && (r = {\n configurable: !0,\n writable: !0,\n enumerable: r.enumerable,\n value: e[t]\n }), Reflect.defineProperty(n, t, r);\n }), n;\n}\nconst je = Object.prototype.propertyIsEnumerable;\nfunction be(e, n) {\n let t;\n if (Array.isArray(e))\n return Array.prototype.concat.call(e);\n if (e instanceof Set) {\n if (!re(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(e.values());\n }\n return Set.prototype.difference ? Set.prototype.difference.call(e, /* @__PURE__ */ new Set()) : new Set(e.values());\n } else if (e instanceof Map) {\n if (!oe(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(e);\n }\n return new Map(e);\n } else if (n != null && n.mark && (t = n.mark(e, v), t !== void 0) && t !== v.mutable) {\n if (t === v.immutable)\n return xe(e);\n if (typeof t == \"function\") {\n if (n.enablePatches || n.enableAutoFreeze)\n throw new Error(\"You can't use mark and patches or auto freeze together.\");\n return t();\n }\n throw new Error(`Unsupported mark result: ${t}`);\n } else if (typeof e == \"object\" && Object.getPrototypeOf(e) === Object.prototype) {\n const r = {};\n return Object.keys(e).forEach((o) => {\n r[o] = e[o];\n }), Object.getOwnPropertySymbols(e).forEach((o) => {\n je.call(e, o) && (r[o] = e[o]);\n }), r;\n } else\n throw new Error(\"Please check mark() to ensure that it is a stable marker draftable function.\");\n}\nfunction b(e) {\n e.copy || (e.copy = be(e.original, e.options));\n}\nfunction N(e) {\n if (!S(e))\n return ie(e);\n if (Array.isArray(e))\n return e.map(N);\n if (e instanceof Map) {\n const t = Array.from(e.entries()).map(([r, o]) => [\n r,\n N(o)\n ]);\n if (!oe(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(t);\n }\n return new Map(t);\n }\n if (e instanceof Set) {\n const t = Array.from(e).map(N);\n if (!re(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(t);\n }\n return new Set(t);\n }\n const n = Object.create(Object.getPrototypeOf(e));\n for (const t in e)\n n[t] = N(e[t]);\n return n;\n}\nfunction Y(e) {\n return C(e) ? N(e) : e;\n}\nfunction T(e) {\n var n;\n e.assignedMap = (n = e.assignedMap) !== null && n !== void 0 ? n : /* @__PURE__ */ new Map(), e.operated || (e.operated = !0, e.parent && T(e.parent));\n}\nfunction ue() {\n throw new Error(\"Cannot modify frozen object\");\n}\nfunction F(e, n, t, r, o) {\n {\n t = t ?? /* @__PURE__ */ new WeakMap(), r = r ?? [], o = o ?? [];\n const i = t.has(e) ? t.get(e) : e;\n if (r.length > 0) {\n const c = r.indexOf(i);\n if (i && typeof i == \"object\" && c !== -1)\n throw r[0] === i ? new Error(\"Forbids circular reference\") : new Error(`Forbids circular reference: ~/${o.slice(0, c).map((s, f) => {\n if (typeof s == \"symbol\")\n return `[${s.toString()}]`;\n const l = r[f];\n return typeof s == \"object\" && (l instanceof Map || l instanceof Set) ? Array.from(l.keys()).indexOf(s) : s;\n }).join(\"/\")}`);\n r.push(i), o.push(n);\n } else\n r.push(i);\n }\n if (Object.isFrozen(e) || C(e)) {\n r.pop(), o.pop();\n return;\n }\n switch (I(e)) {\n case 2:\n for (const [c, s] of e)\n F(c, c, t, r, o), F(s, c, t, r, o);\n e.set = e.clear = e.delete = ue;\n break;\n case 3:\n for (const c of e)\n F(c, c, t, r, o);\n e.add = e.clear = e.delete = ue;\n break;\n case 1:\n Object.freeze(e);\n let i = 0;\n for (const c of e)\n F(c, i, t, r, o), i += 1;\n break;\n default:\n Object.freeze(e), Object.keys(e).forEach((c) => {\n const s = e[c];\n F(s, c, t, r, o);\n });\n }\n r.pop(), o.pop();\n}\nfunction se(e, n) {\n const t = I(e);\n if (t === 0)\n Reflect.ownKeys(e).forEach((r) => {\n n(r, e[r], e);\n });\n else if (t === 1) {\n let r = 0;\n for (const o of e)\n n(r, o, e), r += 1;\n } else\n e.forEach((r, o) => n(o, r, e));\n}\nfunction me(e, n, t) {\n if (C(e) || !S(e, t) || n.has(e) || Object.isFrozen(e))\n return;\n const r = e instanceof Set, o = r ? /* @__PURE__ */ new Map() : void 0;\n if (n.add(e), se(e, (a, i) => {\n var c;\n if (C(i)) {\n const s = u(i);\n b(s);\n const f = !((c = s.assignedMap) === null || c === void 0) && c.size || s.operated ? s.copy : s.original;\n g(r ? o : e, a, f);\n } else\n me(i, n, t);\n }), o) {\n const a = e, i = Array.from(a);\n a.clear(), i.forEach((c) => {\n a.add(o.has(c) ? o.get(c) : c);\n });\n }\n}\nfunction Ce(e, n) {\n const t = e.type === 3 ? e.setMap : e.copy;\n e.finalities.revoke.length > 1 && e.assignedMap.get(n) && t && me(_(t, n), e.finalities.handledSet, e.options);\n}\nfunction Z(e) {\n e.type === 3 && e.copy && (e.copy.clear(), e.setMap.forEach((n) => {\n e.copy.add(ie(n));\n }));\n}\nfunction k(e, n, t, r) {\n if (e.operated && e.assignedMap && e.assignedMap.size > 0 && !e.finalized) {\n if (t && r) {\n const a = we(e);\n a && n(e, a, t, r);\n }\n e.finalized = !0;\n }\n}\nfunction ce(e, n, t, r) {\n const o = u(t);\n o && (o.callbacks || (o.callbacks = []), o.callbacks.push((a, i) => {\n var c;\n const s = e.type === 3 ? e.setMap : e.copy;\n if (D(_(s, n), t)) {\n let f = o.original;\n o.copy && (f = o.copy), Z(e), k(e, r, a, i), e.options.enableAutoFreeze && (e.options.updatedValues = (c = e.options.updatedValues) !== null && c !== void 0 ? c : /* @__PURE__ */ new WeakMap(), e.options.updatedValues.set(f, o.original)), g(s, n, f);\n }\n }), e.options.enableAutoFreeze && o.finalities !== e.finalities && (e.options.enableAutoFreeze = !1)), S(t, e.options) && e.finalities.draft.push(() => {\n const a = e.type === 3 ? e.setMap : e.copy;\n D(_(a, n), t) && Ce(e, n);\n });\n}\nfunction Ue(e, n, t, r, o) {\n let { original: a, assignedMap: i, options: c } = e, s = e.copy;\n s.length < a.length && ([a, s] = [s, a], [t, r] = [r, t]);\n for (let f = 0; f < a.length; f += 1)\n if (i.get(f.toString()) && s[f] !== a[f]) {\n const l = n.concat([f]), p = U(l, o);\n t.push({\n op: h.Replace,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(s[f])\n }), r.push({\n op: h.Replace,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(a[f])\n });\n }\n for (let f = a.length; f < s.length; f += 1) {\n const l = n.concat([f]), p = U(l, o);\n t.push({\n op: h.Add,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(s[f])\n });\n }\n if (a.length < s.length) {\n const { arrayLengthAssignment: f = !0 } = c.enablePatches;\n if (f) {\n const l = n.concat([\"length\"]), p = U(l, o);\n r.push({\n op: h.Replace,\n path: p,\n value: a.length\n });\n } else\n for (let l = s.length; a.length < l; l -= 1) {\n const p = n.concat([l - 1]), y = U(p, o);\n r.push({\n op: h.Remove,\n path: y\n });\n }\n }\n}\nfunction Ie({ original: e, copy: n, assignedMap: t }, r, o, a, i) {\n t.forEach((c, s) => {\n const f = _(e, s), l = Y(_(n, s)), p = c ? B(e, s) ? h.Replace : h.Add : h.Remove;\n if (D(f, l) && p === h.Replace)\n return;\n const y = r.concat(s), w = U(y, i);\n o.push(p === h.Remove ? { op: p, path: w } : { op: p, path: w, value: l }), a.push(p === h.Add ? { op: h.Remove, path: w } : p === h.Remove ? { op: h.Add, path: w, value: f } : { op: h.Replace, path: w, value: f });\n });\n}\nfunction Fe({ original: e, copy: n }, t, r, o, a) {\n let i = 0;\n e.forEach((c) => {\n if (!n.has(c)) {\n const s = t.concat([i]), f = U(s, a);\n r.push({\n op: h.Remove,\n path: f,\n value: c\n }), o.unshift({\n op: h.Add,\n path: f,\n value: c\n });\n }\n i += 1;\n }), i = 0, n.forEach((c) => {\n if (!e.has(c)) {\n const s = t.concat([i]), f = U(s, a);\n r.push({\n op: h.Add,\n path: f,\n value: c\n }), o.unshift({\n op: h.Remove,\n path: f,\n value: c\n });\n }\n i += 1;\n });\n}\nfunction V(e, n, t, r) {\n const { pathAsArray: o = !0 } = e.options.enablePatches;\n switch (e.type) {\n case 0:\n case 2:\n return Ie(e, n, t, r, o);\n case 1:\n return Ue(e, n, t, r, o);\n case 3:\n return Fe(e, n, t, r, o);\n }\n}\nlet $e = !1;\nconst W = (e, n, t = !1) => {\n if (typeof e == \"object\" && e !== null && (!S(e, n) || t) && !$e)\n throw new Error(\"Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.\");\n}, ee = {\n get size() {\n return M(u(this)).size;\n },\n has(e) {\n return M(u(this)).has(e);\n },\n set(e, n) {\n const t = u(this), r = M(t);\n return (!r.has(e) || !D(r.get(e), n)) && (b(t), T(t), t.assignedMap.set(e, !0), t.copy.set(e, n), ce(t, e, n, V)), this;\n },\n delete(e) {\n if (!this.has(e))\n return !1;\n const n = u(this);\n return b(n), T(n), n.original.has(e) ? n.assignedMap.set(e, !1) : n.assignedMap.delete(e), n.copy.delete(e), !0;\n },\n clear() {\n const e = u(this);\n if (this.size) {\n b(e), T(e), e.assignedMap = /* @__PURE__ */ new Map();\n for (const [n] of e.original)\n e.assignedMap.set(n, !1);\n e.copy.clear();\n }\n },\n forEach(e, n) {\n const t = u(this);\n M(t).forEach((r, o) => {\n e.call(n, this.get(o), o, this);\n });\n },\n get(e) {\n var n, t;\n const r = u(this), o = M(r).get(e), a = ((t = (n = r.options).mark) === null || t === void 0 ? void 0 : t.call(n, o, v)) === v.mutable;\n if (r.options.strict && W(o, r.options, a), a || r.finalized || !S(o, r.options) || o !== r.original.get(e))\n return o;\n const i = te.createDraft({\n original: o,\n parentDraft: r,\n key: e,\n finalities: r.finalities,\n options: r.options\n });\n return b(r), r.copy.set(e, i), i;\n },\n keys() {\n return M(u(this)).keys();\n },\n values() {\n const e = this.keys();\n return {\n [K]: () => this.values(),\n next: () => {\n const n = e.next();\n return n.done ? n : {\n done: !1,\n value: this.get(n.value)\n };\n }\n };\n },\n entries() {\n const e = this.keys();\n return {\n [K]: () => this.entries(),\n next: () => {\n const n = e.next();\n if (n.done)\n return n;\n const t = this.get(n.value);\n return {\n done: !1,\n value: [n.value, t]\n };\n }\n };\n },\n [K]() {\n return this.entries();\n }\n}, Ne = Reflect.ownKeys(ee), pe = (e, n, { isValuesIterator: t }) => () => {\n var r, o;\n const a = n.next();\n if (a.done)\n return a;\n const i = a.value;\n let c = e.setMap.get(i);\n const s = u(c), f = ((o = (r = e.options).mark) === null || o === void 0 ? void 0 : o.call(r, c, v)) === v.mutable;\n if (e.options.strict && W(i, e.options, f), !f && !s && S(i, e.options) && !e.finalized && e.original.has(i)) {\n const l = te.createDraft({\n original: i,\n parentDraft: e,\n key: i,\n finalities: e.finalities,\n options: e.options\n });\n e.setMap.set(i, l), c = l;\n } else s && (c = s.proxy);\n return {\n done: !1,\n value: t ? c : [c, c]\n };\n}, J = {\n get size() {\n return u(this).setMap.size;\n },\n has(e) {\n const n = u(this);\n if (n.setMap.has(e))\n return !0;\n b(n);\n const t = u(e);\n return !!(t && n.setMap.has(t.original));\n },\n add(e) {\n const n = u(this);\n return this.has(e) || (b(n), T(n), n.assignedMap.set(e, !0), n.setMap.set(e, e), ce(n, e, e, V)), this;\n },\n delete(e) {\n if (!this.has(e))\n return !1;\n const n = u(this);\n b(n), T(n);\n const t = u(e);\n return t && n.setMap.has(t.original) ? (n.assignedMap.set(t.original, !1), n.setMap.delete(t.original)) : (!t && n.setMap.has(e) ? n.assignedMap.set(e, !1) : n.assignedMap.delete(e), n.setMap.delete(e));\n },\n clear() {\n if (!this.size)\n return;\n const e = u(this);\n b(e), T(e);\n for (const n of e.original)\n e.assignedMap.set(n, !1);\n e.setMap.clear();\n },\n values() {\n const e = u(this);\n b(e);\n const n = e.setMap.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: pe(e, n, { isValuesIterator: !0 })\n };\n },\n entries() {\n const e = u(this);\n b(e);\n const n = e.setMap.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: pe(e, n, {\n isValuesIterator: !1\n })\n };\n },\n keys() {\n return this.values();\n },\n [K]() {\n return this.values();\n },\n forEach(e, n) {\n const t = this.values();\n let r = t.next();\n for (; !r.done; )\n e.call(n, r.value, r.value, this), r = t.next();\n }\n};\nSet.prototype.difference && Object.assign(J, {\n intersection(e) {\n return Set.prototype.intersection.call(new Set(this.values()), e);\n },\n union(e) {\n return Set.prototype.union.call(new Set(this.values()), e);\n },\n difference(e) {\n return Set.prototype.difference.call(new Set(this.values()), e);\n },\n symmetricDifference(e) {\n return Set.prototype.symmetricDifference.call(new Set(this.values()), e);\n },\n isSubsetOf(e) {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), e);\n },\n isSupersetOf(e) {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), e);\n },\n isDisjointFrom(e) {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), e);\n }\n});\nconst Be = Reflect.ownKeys(J), Oe = {\n get(e, n, t) {\n var r, o;\n const a = (r = e.copy) === null || r === void 0 ? void 0 : r[n];\n if (a && e.finalities.draftsCache.has(a))\n return a;\n if (n === ye)\n return e;\n let i;\n if (e.options.mark) {\n const f = n === \"size\" && (e.original instanceof Map || e.original instanceof Set) ? Reflect.get(e.original, n) : Reflect.get(e.original, n, t);\n if (i = e.options.mark(f, v), i === v.mutable)\n return e.options.strict && W(f, e.options, !0), f;\n }\n const c = M(e);\n if (c instanceof Map && Ne.includes(n))\n return n === \"size\" ? Object.getOwnPropertyDescriptor(ee, \"size\").get.call(e.proxy) : ee[n].bind(e.proxy);\n if (c instanceof Set && Be.includes(n))\n return n === \"size\" ? Object.getOwnPropertyDescriptor(J, \"size\").get.call(e.proxy) : J[n].bind(e.proxy);\n if (!B(c, n)) {\n const f = le(c, n);\n return f ? \"value\" in f ? f.value : (\n // !case: support for getter\n (o = f.get) === null || o === void 0 ? void 0 : o.call(e.proxy)\n ) : void 0;\n }\n const s = c[n];\n if (e.options.strict && W(s, e.options), e.finalized || !S(s, e.options))\n return s;\n if (s === G(e.original, n)) {\n if (b(e), e.copy[n] = ae({\n original: e.original[n],\n parentDraft: e,\n key: e.type === 1 ? Number(n) : n,\n finalities: e.finalities,\n options: e.options\n }), typeof i == \"function\") {\n const f = u(e.copy[n]);\n return b(f), T(f), f.copy;\n }\n return e.copy[n];\n }\n return C(s) && e.finalities.draftsCache.add(s), s;\n },\n set(e, n, t) {\n var r;\n if (e.type === 3 || e.type === 2)\n throw new Error(\"Map/Set draft does not support any property assignment.\");\n let o;\n if (e.type === 1 && n !== \"length\" && !(Number.isInteger(o = Number(n)) && o >= 0 && (n === 0 || o === 0 || String(o) === String(n))))\n throw new Error(\"Only supports setting array indices and the 'length' property.\");\n const a = le(M(e), n);\n if (a != null && a.set)\n return a.set.call(e.proxy, t), !0;\n const i = G(M(e), n), c = u(i);\n return c && D(c.original, t) ? (e.copy[n] = t, e.assignedMap = (r = e.assignedMap) !== null && r !== void 0 ? r : /* @__PURE__ */ new Map(), e.assignedMap.set(n, !1), !0) : (D(t, i) && (t !== void 0 || B(e.original, n)) || (b(e), T(e), B(e.original, n) && D(t, e.original[n]) ? e.assignedMap.delete(n) : e.assignedMap.set(n, !0), e.copy[n] = t, ce(e, n, t, V)), !0);\n },\n has(e, n) {\n return n in M(e);\n },\n ownKeys(e) {\n return Reflect.ownKeys(M(e));\n },\n getOwnPropertyDescriptor(e, n) {\n const t = M(e), r = Reflect.getOwnPropertyDescriptor(t, n);\n return r && {\n writable: !0,\n configurable: e.type !== 1 || n !== \"length\",\n enumerable: r.enumerable,\n value: t[n]\n };\n },\n getPrototypeOf(e) {\n return Reflect.getPrototypeOf(e.original);\n },\n setPrototypeOf() {\n throw new Error(\"Cannot call 'setPrototypeOf()' on drafts\");\n },\n defineProperty() {\n throw new Error(\"Cannot call 'defineProperty()' on drafts\");\n },\n deleteProperty(e, n) {\n var t;\n return e.type === 1 ? Oe.set.call(this, e, n, void 0, e.proxy) : (G(e.original, n) !== void 0 || n in e.original ? (b(e), T(e), e.assignedMap.set(n, !1)) : (e.assignedMap = (t = e.assignedMap) !== null && t !== void 0 ? t : /* @__PURE__ */ new Map(), e.assignedMap.delete(n)), e.copy && delete e.copy[n], !0);\n }\n};\nfunction ae(e) {\n const { original: n, parentDraft: t, key: r, finalities: o, options: a } = e, i = I(n), c = {\n type: i,\n finalized: !1,\n parent: t,\n original: n,\n copy: null,\n proxy: null,\n finalities: o,\n options: a,\n // Mapping of draft Set items to their corresponding draft values.\n setMap: i === 3 ? new Map(n.entries()) : void 0\n };\n (r || \"key\" in e) && (c.key = r);\n const { proxy: s, revoke: f } = Proxy.revocable(i === 1 ? Object.assign([], c) : c, Oe);\n if (o.revoke.push(f), c.proxy = s, t) {\n const l = t;\n l.finalities.draft.push((p, y) => {\n var w, z;\n const x = u(s);\n let E = l.type === 3 ? l.setMap : l.copy;\n const m = _(E, r), O = u(m);\n if (O) {\n let A = O.original;\n O.operated && (A = ie(m)), Z(O), k(O, V, p, y), l.options.enableAutoFreeze && (l.options.updatedValues = (w = l.options.updatedValues) !== null && w !== void 0 ? w : /* @__PURE__ */ new WeakMap(), l.options.updatedValues.set(A, O.original)), g(E, r, A);\n }\n (z = x.callbacks) === null || z === void 0 || z.forEach((A) => {\n A(p, y);\n });\n });\n } else {\n const l = u(s);\n l.finalities.draft.push((p, y) => {\n Z(l), k(l, V, p, y);\n });\n }\n return s;\n}\nte.createDraft = ae;\nfunction Ve(e, n, t, r, o) {\n var a;\n const i = u(e), c = (a = i == null ? void 0 : i.original) !== null && a !== void 0 ? a : e, s = !!n.length;\n if (i != null && i.operated)\n for (; i.finalities.draft.length > 0; )\n i.finalities.draft.pop()(t, r);\n const f = s ? n[0] : i ? i.operated ? i.copy : i.original : e;\n return i && Q(i), o && F(f, f, i == null ? void 0 : i.options.updatedValues), [\n f,\n t && s ? [{ op: h.Replace, path: [], value: n[0] }] : t,\n r && s ? [{ op: h.Replace, path: [], value: c }] : r\n ];\n}\nfunction ge(e, n) {\n var t;\n const r = {\n draft: [],\n revoke: [],\n handledSet: /* @__PURE__ */ new WeakSet(),\n draftsCache: /* @__PURE__ */ new WeakSet()\n };\n let o, a;\n n.enablePatches && (o = [], a = []);\n const c = ((t = n.mark) === null || t === void 0 ? void 0 : t.call(n, e, v)) === v.mutable || !S(e, n) ? e : ae({\n original: e,\n parentDraft: null,\n finalities: r,\n options: n\n });\n return [\n c,\n (s = []) => {\n const [f, l, p] = Ve(c, s, o, a, n.enableAutoFreeze);\n return n.enablePatches ? [f, l, p] : f;\n }\n ];\n}\nfunction ne(e) {\n const { rootDraft: n, value: t, useRawReturn: r = !1, isRoot: o = !0 } = e;\n se(t, (a, i, c) => {\n const s = u(i);\n if (s && n && s.finalities === n.finalities) {\n e.isContainDraft = !0;\n const f = s.original;\n if (c instanceof Set) {\n const l = Array.from(c);\n c.clear(), l.forEach((p) => c.add(a === p ? f : p));\n } else\n g(c, a, f);\n } else typeof i == \"object\" && i !== null && (e.value = i, e.isRoot = !1, ne(e));\n }), o && (e.isContainDraft || console.warn(\"The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.\"), r && console.warn(\"The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.\"));\n}\nfunction Me(e) {\n var n;\n const t = u(e);\n if (!S(e, t == null ? void 0 : t.options))\n return e;\n const r = I(e);\n if (t && !t.operated)\n return t.original;\n let o;\n function a() {\n o = r === 2 ? oe(e) ? new Map(e) : new (Object.getPrototypeOf(e)).constructor(e) : r === 3 ? Array.from(t.setMap.values()) : be(e, t == null ? void 0 : t.options);\n }\n if (t) {\n t.finalized = !0;\n try {\n a();\n } finally {\n t.finalized = !1;\n }\n } else\n o = e;\n if (se(o, (i, c) => {\n if (t && D(_(t.original, i), c))\n return;\n const s = Me(c);\n s !== c && (o === e && a(), g(o, i, s));\n }), r === 3) {\n const i = (n = t == null ? void 0 : t.original) !== null && n !== void 0 ? n : o;\n return re(i) ? new Set(o) : new (Object.getPrototypeOf(i)).constructor(o);\n }\n return o;\n}\nfunction de(e) {\n if (!C(e))\n throw new Error(`current() is only used for Draft, parameter: ${e}`);\n return Me(e);\n}\nconst Le = (e) => function n(t, r, o) {\n var a, i, c;\n if (typeof t == \"function\" && typeof r != \"function\")\n return function(d, ...P) {\n return n(d, (j) => t.call(this, j, ...P), r);\n };\n const s = t, f = r;\n let l = o;\n if (typeof r != \"function\" && (l = r), l !== void 0 && Object.prototype.toString.call(l) !== \"[object Object]\")\n throw new Error(`Invalid options: ${l}, 'options' should be an object.`);\n l = Object.assign(Object.assign({}, e), l);\n const p = C(s) ? de(s) : s, y = Array.isArray(l.mark) ? (d, P) => {\n for (const j of l.mark) {\n if (typeof j != \"function\")\n throw new Error(`Invalid mark: ${j}, 'mark' should be a function.`);\n const $ = j(d, P);\n if ($)\n return $;\n }\n } : l.mark, w = (a = l.enablePatches) !== null && a !== void 0 ? a : !1, z = (i = l.strict) !== null && i !== void 0 ? i : !1, E = {\n enableAutoFreeze: (c = l.enableAutoFreeze) !== null && c !== void 0 ? c : !1,\n mark: y,\n strict: z,\n enablePatches: w\n };\n if (!S(p, E) && typeof p == \"object\" && p !== null)\n throw new Error(\"Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.\");\n const [m, O] = ge(p, E);\n if (typeof r != \"function\") {\n if (!S(p, E))\n throw new Error(\"Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.\");\n return [m, O];\n }\n let A;\n try {\n A = f(m);\n } catch (d) {\n throw Q(u(m)), d;\n }\n const fe = (d) => {\n const P = u(m);\n if (!C(d)) {\n if (d !== void 0 && !D(d, m) && (P != null && P.operated))\n throw new Error(\"Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.\");\n const $ = d == null ? void 0 : d[De];\n if ($) {\n const Pe = $[0];\n return E.strict && typeof d == \"object\" && d !== null && ne({\n rootDraft: P,\n value: d,\n useRawReturn: !0\n }), O([Pe]);\n }\n if (d !== void 0)\n return typeof d == \"object\" && d !== null && ne({ rootDraft: P, value: d }), O([d]);\n }\n if (d === m || d === void 0)\n return O([]);\n const j = u(d);\n if (E === j.options) {\n if (j.operated)\n throw new Error(\"Cannot return a modified child draft.\");\n return O([de(d)]);\n }\n return O([d]);\n };\n return A instanceof Promise ? A.then(fe, (d) => {\n throw Q(u(m)), d;\n }) : fe(A);\n}, ve = Le();\nObject.prototype.constructor.toString();\nconst Re = (e) => typeof e == \"string\" && e.startsWith(\"data:\"), X = (e) => {\n const n = e.match(/^data:([^;]+)/);\n return n ? n[1] : R.OCTET_STREAM;\n}, Se = (e) => {\n var r;\n const n = {}, t = (r = e.match(/^data:[^;]+;([^,]+),/)) == null ? void 0 : r[1];\n return t && t.split(\";\").forEach((o) => {\n const [a, i] = o.split(\"=\");\n a && i && (n[a] = i);\n }), n;\n}, Ge = (e) => {\n const n = encodeURIComponent(e);\n return `data:${R.TEXT};charset=utf-8,${n}`;\n}, Qe = (e) => {\n const n = JSON.stringify(e), t = encodeURIComponent(n);\n return `data:${R.JSON};charset=utf-8,${t}`;\n}, Ee = (e) => {\n const n = new Uint8Array(e), t = btoa(String.fromCharCode(...n));\n return `data:${R.OCTET_STREAM};base64,${t}`;\n}, Ze = (e, n) => {\n const t = e.buffer, r = new Uint8Array(t), o = btoa(String.fromCharCode(...r));\n return `data:${R.TYPED_ARRAY}${n};base64,${o}`;\n}, q = async (e, n) => {\n if (We(e)) {\n const i = ze(e);\n if (!i)\n throw new Error(\"Invalid URL data URL\");\n const c = await fetch(i, { ...n, redirect: \"follow\" });\n if (!c.ok)\n throw new Error(`Failed to fetch ${i}: ${c.statusText}`);\n return c.arrayBuffer();\n }\n const t = e.indexOf(\",\");\n if (t === -1)\n throw new Error(\"Invalid data URL format\");\n const r = e.substring(0, t), o = e.substring(t + 1);\n if (r.includes(\";base64\")) {\n if (!o)\n return new ArrayBuffer(0);\n const i = atob(o), c = new Uint8Array(i.length);\n for (let s = 0; s < i.length; s++)\n c[s] = i.charCodeAt(s);\n return c.buffer;\n } else {\n const i = o ? decodeURIComponent(o) : \"\";\n return new TextEncoder().encode(i).buffer;\n }\n}, Ae = async (e, n) => {\n const t = await q(e, n);\n return new TextDecoder().decode(t);\n}, Ke = async (e, n) => {\n const t = await Ae(e, n);\n return JSON.parse(t);\n}, Ye = async (e, n) => {\n const r = Se(e).type;\n if (!r)\n throw new Error(\"Data URL does not contain type parameter\");\n const o = await q(e, n), a = globalThis[r];\n return new a(o);\n}, ke = async (e, n, t) => {\n const r = X(e), o = await q(e, t);\n if (!n) {\n const a = await crypto.subtle.digest(\"SHA-256\", o);\n n = Array.from(new Uint8Array(a)).map((c) => c.toString(16).padStart(2, \"0\")).join(\"\");\n }\n return new File([o], n, { type: r });\n}, Te = async (e, n) => {\n const t = `data:${R.URI};charset=utf-8,${encodeURIComponent(e)}`;\n if (n) {\n const r = await fetch(e, { ...n, redirect: \"follow\" });\n if (!r.ok)\n throw new Error(`Failed to fetch ${e}: ${r.statusText}`);\n const o = await r.arrayBuffer();\n return Ee(o);\n }\n return t;\n}, ze = (e) => X(e) !== R.URI ? null : decodeURIComponent(e.split(\",\")[1]), We = (e) => X(e) === R.URI, en = async (e, n) => {\n if (typeof e == \"string\")\n return Te(e, n);\n const t = await e.arrayBuffer();\n return Ee(t);\n}, nn = async (e, n) => {\n const t = ze(e);\n if (!t)\n throw new Error(\"Data URL does not contain a URL reference\");\n return Te(t, n);\n}, tn = async (e, n, t) => {\n const r = [], o = (s) => new TextEncoder().encode(JSON.stringify(s)).length, a = (s) => s === null ? \"null\" : Array.isArray(s) ? \"array\" : s instanceof Uint8Array ? \"Uint8Array\" : s instanceof ArrayBuffer ? \"ArrayBuffer\" : ArrayBuffer.isView(s) ? s.constructor.name : typeof s, i = (s, f = []) => {\n if (s == null || typeof s != \"object\" || typeof s == \"string\" && Re(s))\n return;\n if (o(s) > n && f.length > 0) {\n const y = a(s), w = JSON.stringify(s), z = t(w, y).then((x) => ({\n url: x,\n originalType: y\n }));\n r.push({ path: [...f], promise: z });\n return;\n }\n Array.isArray(s) ? s.forEach((y, w) => {\n i(y, [...f, w]);\n }) : Object.keys(s).forEach((y) => {\n i(s[y], [...f, y]);\n });\n };\n if (i(e), r.length === 0)\n return e;\n const c = await Promise.all(r.map((s) => s.promise));\n return ve(e, (s) => {\n r.forEach(({ path: f }, l) => {\n const { url: p, originalType: y } = c[l], w = encodeURIComponent(p), z = `data:${R.URI};type=${y};charset=utf-8,${w}`;\n let x = s;\n for (let m = 0; m < f.length - 1; m++)\n x = x[f[m]];\n const E = f[f.length - 1];\n x[E] = z;\n });\n });\n}, rn = async (e, n) => {\n const t = [], r = (a, i = []) => {\n if (a != null)\n if (typeof a == \"string\" && Re(a)) {\n const c = Je(a, n);\n t.push({ path: [...i], promise: c });\n } else Array.isArray(a) ? a.forEach((c, s) => {\n r(c, [...i, s]);\n }) : typeof a == \"object\" && Object.keys(a).forEach((c) => {\n r(a[c], [...i, c]);\n });\n };\n if (r(e), t.length === 0)\n return e;\n const o = await Promise.all(t.map((a) => a.promise));\n return ve(e, (a) => {\n t.forEach(({ path: i }, c) => {\n let s = a;\n for (let l = 0; l < i.length - 1; l++)\n s = s[i[l]];\n const f = i[i.length - 1];\n s[f] = o[c];\n });\n });\n}, Je = async (e, n) => {\n const t = X(e), r = Se(e);\n return t === R.JSON ? Ke(e, n) : t === R.TEXT ? Ae(e, n) : t === R.OCTET_STREAM && r.type ? Ye(e, n) : q(e, n);\n};\nvar he = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", He = typeof Uint8Array > \"u\" ? [] : new Uint8Array(256);\nfor (var L = 0; L < he.length; L++)\n He[he.charCodeAt(L)] = L;\nvar H;\n(function(e) {\n e.base64 = \"base64\", e.url = \"url\", e.utf8 = \"utf8\", e.json = \"json\", e.key = \"key\";\n})(H || (H = {}));\nconst Xe = Object.keys(H).filter((e) => isNaN(Number(e)));\nnew Set(Xe);\nH.utf8;\nconst qe = (e) => !!(e && typeof e == \"object\" && // until we get this in:\n// https://github.com/metapages/dataref/issues/1\n// then we fail on previous versions that assumed type\n// was \"url\" if missing, ugh.\n// (value as DataRef)?.type &&\n// DataRefTypesSet.has((value as DataRef).type!) &&\n(e == null ? void 0 : e.value) !== void 0);\nnew TextEncoder();\nconst on = (e) => !!(e && typeof e == \"string\" && e.startsWith(\"data:\")) || qe(e);\nexport {\n R as MIME_TYPES,\n Ee as bufferToDataUrl,\n tn as convertLargeObjectsToDataRefs,\n q as dataUrlToBuffer,\n ke as dataUrlToFile,\n Ke as dataUrlToJson,\n Ae as dataUrlToText,\n Ye as dataUrlToTypedArray,\n ze as dataUrlToUrl,\n rn as dereferenceDataRefs,\n nn as fetchDataUrlContent,\n en as fileToDataUrl,\n X as getMimeType,\n Se as getParameters,\n on as isDataRef,\n Re as isDataUrl,\n We as isUrlDataUrl,\n Qe as jsonToDataUrl,\n Ge as textToDataUrl,\n Ze as typedArrayToDataUrl,\n Te as urlToDataUrl\n};\n//# sourceMappingURL=index.js.map\n",null,null,null,null,"'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","function p(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar V = function(t, n) {\n n || (n = {}), typeof n == \"function\" && (n = { cmp: n });\n var r = typeof n.cycles == \"boolean\" ? n.cycles : !1, e = n.cmp && /* @__PURE__ */ function(s) {\n return function(a) {\n return function(c, l) {\n var h = { key: c, value: a[c] }, i = { key: l, value: a[l] };\n return s(h, i);\n };\n };\n }(n.cmp), o = [];\n return function s(a) {\n if (a && a.toJSON && typeof a.toJSON == \"function\" && (a = a.toJSON()), a !== void 0) {\n if (typeof a == \"number\") return isFinite(a) ? \"\" + a : \"null\";\n if (typeof a != \"object\") return JSON.stringify(a);\n var c, l;\n if (Array.isArray(a)) {\n for (l = \"[\", c = 0; c < a.length; c++)\n c && (l += \",\"), l += s(a[c]) || \"null\";\n return l + \"]\";\n }\n if (a === null) return \"null\";\n if (o.indexOf(a) !== -1) {\n if (r) return JSON.stringify(\"__cycle__\");\n throw new TypeError(\"Converting circular structure to JSON\");\n }\n var h = o.push(a) - 1, i = Object.keys(a).sort(e && e(a));\n for (l = \"\", c = 0; c < i.length; c++) {\n var f = i[c], b = s(a[f]);\n b && (l && (l += \",\"), l += JSON.stringify(f) + \":\" + b);\n }\n return o.splice(h, 1), \"{\" + l + \"}\";\n }\n }(t);\n};\nconst F = /* @__PURE__ */ p(V), S = (t) => H(F(t)), U = (t) => {\n if (t && t.length > 0)\n try {\n return JSON.parse(y(t));\n } catch {\n return JSON.parse(decodeURIComponent(atob(decodeURIComponent(t))));\n }\n}, H = (t) => btoa(encodeURIComponent(t)), y = (t) => {\n try {\n return decodeURIComponent(atob(t));\n } catch {\n return decodeURIComponent(atob(decodeURIComponent(t)));\n }\n}, I = (t) => {\n const n = t instanceof URL ? t : new URL(t);\n return P(n.hash);\n}, P = (t) => {\n let n = t;\n for (; n.startsWith(\"#\"); )\n n = n.substring(1);\n const r = n.indexOf(\"?\");\n if (r === -1)\n return [n, {}];\n const e = n.substring(0, r);\n n = n.substring(r + 1);\n const o = {};\n return n.split(\"&\").filter((s) => s.length > 0).map((s) => {\n const a = s.indexOf(\"=\");\n if (a === -1)\n return [s, \"\"];\n const c = s.substring(0, a), l = s.substring(a + 1);\n return [c, l];\n }).forEach(([s, a]) => {\n o[s] = a;\n }), Object.keys(o).forEach((s) => {\n o[s] = o[s];\n }), [e, o];\n}, d = (t, n) => {\n const [r, e] = I(t);\n return e[n];\n}, u = () => typeof window < \"u\" && typeof globalThis.location < \"u\", N = (t) => {\n if (u())\n return O()[1][t];\n}, O = () => u() ? I(globalThis.location.href) : [\"\", {}], g = (t, n, r) => {\n if (!u())\n return;\n const e = globalThis.location.hash.startsWith(\"#\") ? globalThis.location.hash.substring(1) : globalThis.location.hash, o = v(e, t, n);\n o !== e && (r != null && r.modifyHistory ? globalThis.location.hash = o : (globalThis.history.replaceState(null, typeof document < \"u\" ? document.title : \"\", `${globalThis.location.pathname}${globalThis.location.search}${o.startsWith(\"#\") ? \"\" : \"#\"}${o}`), globalThis.dispatchEvent(new HashChangeEvent(\"hashchange\"))));\n}, v = (t, n, r) => {\n const [e, o] = P(t);\n let s = !1;\n if (o.hasOwnProperty(n) && r === null || r === void 0 ? (delete o[n], s = !0) : o[n] !== r && (o[n] = r, s = !0), !s)\n return t;\n const a = Object.keys(o);\n a.sort();\n const c = a.map((l, h) => {\n const i = o[l];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${l}=${i}`;\n }).join(\"&\");\n return !e && !c ? \"\" : `${e || \"\"}${c ? \"?\" + c : \"\"}`;\n}, W = (t, n) => {\n let r = t;\n for (; r.startsWith(\"#\"); )\n r = r.substring(1);\n const e = r.indexOf(\"?\"), o = e === -1 ? r : r.substring(0, e), s = {};\n if (e !== -1) {\n const h = r.substring(e + 1);\n h.length > 0 && h.split(\"&\").forEach((i) => {\n if (i.length > 0) {\n const f = i.indexOf(\"=\");\n if (f === -1)\n s[i] = \"\";\n else {\n const b = i.substring(0, f), w = i.substring(f + 1);\n s[b] = w;\n }\n }\n });\n }\n let a = !1;\n for (const [h, i] of Object.entries(n))\n i == null ? s.hasOwnProperty(h) && (delete s[h], a = !0) : s[h] !== i && (s[h] = i, a = !0);\n if (!a)\n return t;\n const c = Object.keys(s);\n c.sort();\n const l = c.map((h) => {\n const i = s[h];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${h}=${i}`;\n }).join(\"&\");\n return !o && !l ? \"\" : `${o || \"\"}${l ? \"?\" + l : \"\"}`;\n}, m = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t), o = v(e.hash, n, r);\n return e.hash = o, e;\n}, x = (t, n) => {\n const r = t instanceof URL ? t : new URL(t);\n let e = W(r.hash, n);\n return r.hash = e, r;\n}, L = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t);\n return e.hash = B(e.hash, n, r), e;\n}, T = (t, n) => {\n const r = d(t, n);\n if (r && r !== \"\")\n return U(r);\n}, _ = (t, n) => {\n const [r, e] = P(t), o = e[n];\n if (o && o !== \"\")\n return U(o);\n}, k = (t, n, r) => {\n const e = n ? S(n) : void 0;\n g(t, e, r);\n}, D = (t) => {\n if (u())\n return T(globalThis.location.href, t);\n}, B = (t, n, r) => {\n const e = r ? S(r) : void 0;\n return v(t, n, e);\n}, A = (t, n, r) => m(t, n, r ? r.toString() : void 0), R = (t, n) => {\n const r = d(t, n);\n return r ? parseFloat(r) : void 0;\n}, J = (t, n, r) => {\n g(t, n != null ? n.toString() : void 0, r);\n}, q = (t) => {\n if (u())\n return R(globalThis.location.href, t);\n}, z = (t, n, r) => m(t, n, r != null ? r.toString() : void 0), j = (t, n) => {\n const r = d(t, n);\n return r ? parseInt(r) : void 0;\n}, Z = (t, n, r) => {\n J(t, n, r);\n}, M = (t) => {\n if (u())\n return j(globalThis.location.href, t);\n}, G = (t, n, r) => m(t, n, r ? \"true\" : void 0), $ = (t, n) => d(t, n) === \"true\", K = (t, n, r) => {\n g(t, n ? \"true\" : void 0, r);\n}, Q = (t) => {\n if (u())\n return $(globalThis.location.href, t);\n}, X = (t, n, r) => m(t, n, r == null ? void 0 : H(r)), C = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? y(r) : void 0;\n}, Y = (t, n, r) => {\n const e = n == null ? void 0 : H(n);\n g(t, e, r);\n}, tt = (t) => {\n if (u())\n return C(globalThis.location.href, t);\n}, nt = (t, n, r) => m(t, n, r == null ? void 0 : encodeURIComponent(r)), E = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? decodeURIComponent(r) : void 0;\n}, rt = (t, n, r) => {\n const e = n == null ? void 0 : encodeURIComponent(n);\n g(t, e, r);\n}, et = (t) => {\n if (u())\n return E(globalThis.location.href, t);\n}, at = (t, n) => {\n g(t, void 0, n);\n}, ot = (t, n) => m(t, n, void 0);\nexport {\n U as blobFromBase64String,\n S as blobToBase64String,\n W as createHashParamValuesInHashString,\n ot as deleteHashParamFromUrl,\n at as deleteHashParamFromWindow,\n N as getHashParamFromWindow,\n d as getHashParamValue,\n C as getHashParamValueBase64DecodedFromUrl,\n tt as getHashParamValueBase64DecodedFromWindow,\n $ as getHashParamValueBooleanFromUrl,\n Q as getHashParamValueBooleanFromWindow,\n R as getHashParamValueFloatFromUrl,\n q as getHashParamValueFloatFromWindow,\n j as getHashParamValueIntFromUrl,\n M as getHashParamValueIntFromWindow,\n _ as getHashParamValueJsonFromHashString,\n T as getHashParamValueJsonFromUrl,\n D as getHashParamValueJsonFromWindow,\n E as getHashParamValueUriDecodedFromUrl,\n et as getHashParamValueUriDecodedFromWindow,\n O as getHashParamsFromWindow,\n I as getUrlHashParams,\n P as getUrlHashParamsFromHashString,\n g as setHashParamInWindow,\n X as setHashParamValueBase64EncodedInUrl,\n Y as setHashParamValueBase64EncodedInWindow,\n G as setHashParamValueBooleanInUrl,\n K as setHashParamValueBooleanInWindow,\n A as setHashParamValueFloatInUrl,\n J as setHashParamValueFloatInWindow,\n v as setHashParamValueInHashString,\n m as setHashParamValueInUrl,\n z as setHashParamValueIntInUrl,\n Z as setHashParamValueIntInWindow,\n B as setHashParamValueJsonInHashString,\n L as setHashParamValueJsonInUrl,\n k as setHashParamValueJsonInWindow,\n nt as setHashParamValueUriEncodedInUrl,\n rt as setHashParamValueUriEncodedInWindow,\n x as setHashParamsInUrl,\n y as stringFromBase64String,\n H as stringToBase64String\n};\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n",null,null,null,"'use strict';\n\nconst WIN_SLASH = '\\\\\\\\/';\nconst WIN_NO_SLASH = `[^${WIN_SLASH}]`;\n\n/**\n * Posix glob regex\n */\n\nconst DOT_LITERAL = '\\\\.';\nconst PLUS_LITERAL = '\\\\+';\nconst QMARK_LITERAL = '\\\\?';\nconst SLASH_LITERAL = '\\\\/';\nconst ONE_CHAR = '(?=.)';\nconst QMARK = '[^/]';\nconst END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;\nconst START_ANCHOR = `(?:^|${SLASH_LITERAL})`;\nconst DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;\nconst NO_DOT = `(?!${DOT_LITERAL})`;\nconst NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;\nconst NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;\nconst NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;\nconst QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;\nconst STAR = `${QMARK}*?`;\nconst SEP = '/';\n\nconst POSIX_CHARS = {\n DOT_LITERAL,\n PLUS_LITERAL,\n QMARK_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n QMARK,\n END_ANCHOR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOTS,\n NO_DOT_SLASH,\n NO_DOTS_SLASH,\n QMARK_NO_DOT,\n STAR,\n START_ANCHOR,\n SEP\n};\n\n/**\n * Windows glob regex\n */\n\nconst WINDOWS_CHARS = {\n ...POSIX_CHARS,\n\n SLASH_LITERAL: `[${WIN_SLASH}]`,\n QMARK: WIN_NO_SLASH,\n STAR: `${WIN_NO_SLASH}*?`,\n DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,\n NO_DOT: `(?!${DOT_LITERAL})`,\n NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,\n NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,\n NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,\n QMARK_NO_DOT: `[^.${WIN_SLASH}]`,\n START_ANCHOR: `(?:^|[${WIN_SLASH}])`,\n END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,\n SEP: '\\\\'\n};\n\n/**\n * POSIX Bracket Regex\n */\n\nconst POSIX_REGEX_SOURCE = {\n alnum: 'a-zA-Z0-9',\n alpha: 'a-zA-Z',\n ascii: '\\\\x00-\\\\x7F',\n blank: ' \\\\t',\n cntrl: '\\\\x00-\\\\x1F\\\\x7F',\n digit: '0-9',\n graph: '\\\\x21-\\\\x7E',\n lower: 'a-z',\n print: '\\\\x20-\\\\x7E ',\n punct: '\\\\-!\"#$%&\\'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~',\n space: ' \\\\t\\\\r\\\\n\\\\v\\\\f',\n upper: 'A-Z',\n word: 'A-Za-z0-9_',\n xdigit: 'A-Fa-f0-9'\n};\n\nmodule.exports = {\n MAX_LENGTH: 1024 * 64,\n POSIX_REGEX_SOURCE,\n\n // regular expressions\n REGEX_BACKSLASH: /\\\\(?![*+?^${}(|)[\\]])/g,\n REGEX_NON_SPECIAL_CHARS: /^[^@![\\].,$*+?^{}()|\\\\/]+/,\n REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\\]]/,\n REGEX_SPECIAL_CHARS_BACKREF: /(\\\\?)((\\W)(\\3*))/g,\n REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\\]])/g,\n REGEX_REMOVE_BACKSLASH: /(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,\n\n // Replace globs with equivalent patterns to reduce parsing time.\n REPLACEMENTS: {\n __proto__: null,\n '***': '*',\n '**/**': '**',\n '**/**/**': '**'\n },\n\n // Digits\n CHAR_0: 48, /* 0 */\n CHAR_9: 57, /* 9 */\n\n // Alphabet chars.\n CHAR_UPPERCASE_A: 65, /* A */\n CHAR_LOWERCASE_A: 97, /* a */\n CHAR_UPPERCASE_Z: 90, /* Z */\n CHAR_LOWERCASE_Z: 122, /* z */\n\n CHAR_LEFT_PARENTHESES: 40, /* ( */\n CHAR_RIGHT_PARENTHESES: 41, /* ) */\n\n CHAR_ASTERISK: 42, /* * */\n\n // Non-alphabetic chars.\n CHAR_AMPERSAND: 38, /* & */\n CHAR_AT: 64, /* @ */\n CHAR_BACKWARD_SLASH: 92, /* \\ */\n CHAR_CARRIAGE_RETURN: 13, /* \\r */\n CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */\n CHAR_COLON: 58, /* : */\n CHAR_COMMA: 44, /* , */\n CHAR_DOT: 46, /* . */\n CHAR_DOUBLE_QUOTE: 34, /* \" */\n CHAR_EQUAL: 61, /* = */\n CHAR_EXCLAMATION_MARK: 33, /* ! */\n CHAR_FORM_FEED: 12, /* \\f */\n CHAR_FORWARD_SLASH: 47, /* / */\n CHAR_GRAVE_ACCENT: 96, /* ` */\n CHAR_HASH: 35, /* # */\n CHAR_HYPHEN_MINUS: 45, /* - */\n CHAR_LEFT_ANGLE_BRACKET: 60, /* < */\n CHAR_LEFT_CURLY_BRACE: 123, /* { */\n CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */\n CHAR_LINE_FEED: 10, /* \\n */\n CHAR_NO_BREAK_SPACE: 160, /* \\u00A0 */\n CHAR_PERCENT: 37, /* % */\n CHAR_PLUS: 43, /* + */\n CHAR_QUESTION_MARK: 63, /* ? */\n CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */\n CHAR_RIGHT_CURLY_BRACE: 125, /* } */\n CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */\n CHAR_SEMICOLON: 59, /* ; */\n CHAR_SINGLE_QUOTE: 39, /* ' */\n CHAR_SPACE: 32, /* */\n CHAR_TAB: 9, /* \\t */\n CHAR_UNDERSCORE: 95, /* _ */\n CHAR_VERTICAL_LINE: 124, /* | */\n CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \\uFEFF */\n\n /**\n * Create EXTGLOB_CHARS\n */\n\n extglobChars(chars) {\n return {\n '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },\n '?': { type: 'qmark', open: '(?:', close: ')?' },\n '+': { type: 'plus', open: '(?:', close: ')+' },\n '*': { type: 'star', open: '(?:', close: ')*' },\n '@': { type: 'at', open: '(?:', close: ')' }\n };\n },\n\n /**\n * Create GLOB_CHARS\n */\n\n globChars(win32) {\n return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;\n }\n};\n","/*global navigator*/\n'use strict';\n\nconst {\n REGEX_BACKSLASH,\n REGEX_REMOVE_BACKSLASH,\n REGEX_SPECIAL_CHARS,\n REGEX_SPECIAL_CHARS_GLOBAL\n} = require('./constants');\n\nexports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);\nexports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);\nexports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);\nexports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\\\$1');\nexports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');\n\nexports.isWindows = () => {\n if (typeof navigator !== 'undefined' && navigator.platform) {\n const platform = navigator.platform.toLowerCase();\n return platform === 'win32' || platform === 'windows';\n }\n\n if (typeof process !== 'undefined' && process.platform) {\n return process.platform === 'win32';\n }\n\n return false;\n};\n\nexports.removeBackslashes = str => {\n return str.replace(REGEX_REMOVE_BACKSLASH, match => {\n return match === '\\\\' ? '' : match;\n });\n};\n\nexports.escapeLast = (input, char, lastIdx) => {\n const idx = input.lastIndexOf(char, lastIdx);\n if (idx === -1) return input;\n if (input[idx - 1] === '\\\\') return exports.escapeLast(input, char, idx - 1);\n return `${input.slice(0, idx)}\\\\${input.slice(idx)}`;\n};\n\nexports.removePrefix = (input, state = {}) => {\n let output = input;\n if (output.startsWith('./')) {\n output = output.slice(2);\n state.prefix = './';\n }\n return output;\n};\n\nexports.wrapOutput = (input, state = {}, options = {}) => {\n const prepend = options.contains ? '' : '^';\n const append = options.contains ? '' : '$';\n\n let output = `${prepend}(?:${input})${append}`;\n if (state.negated === true) {\n output = `(?:^(?!${output}).*$)`;\n }\n return output;\n};\n\nexports.basename = (path, { windows } = {}) => {\n const segs = path.split(windows ? /[\\\\/]/ : '/');\n const last = segs[segs.length - 1];\n\n if (last === '') {\n return segs[segs.length - 2];\n }\n\n return last;\n};\n","'use strict';\n\nconst utils = require('./utils');\nconst {\n CHAR_ASTERISK, /* * */\n CHAR_AT, /* @ */\n CHAR_BACKWARD_SLASH, /* \\ */\n CHAR_COMMA, /* , */\n CHAR_DOT, /* . */\n CHAR_EXCLAMATION_MARK, /* ! */\n CHAR_FORWARD_SLASH, /* / */\n CHAR_LEFT_CURLY_BRACE, /* { */\n CHAR_LEFT_PARENTHESES, /* ( */\n CHAR_LEFT_SQUARE_BRACKET, /* [ */\n CHAR_PLUS, /* + */\n CHAR_QUESTION_MARK, /* ? */\n CHAR_RIGHT_CURLY_BRACE, /* } */\n CHAR_RIGHT_PARENTHESES, /* ) */\n CHAR_RIGHT_SQUARE_BRACKET /* ] */\n} = require('./constants');\n\nconst isPathSeparator = code => {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n};\n\nconst depth = token => {\n if (token.isPrefix !== true) {\n token.depth = token.isGlobstar ? Infinity : 1;\n }\n};\n\n/**\n * Quickly scans a glob pattern and returns an object with a handful of\n * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),\n * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not\n * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).\n *\n * ```js\n * const pm = require('picomatch');\n * console.log(pm.scan('foo/bar/*.js'));\n * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {Object} Returns an object with tokens and regex source string.\n * @api public\n */\n\nconst scan = (input, options) => {\n const opts = options || {};\n\n const length = input.length - 1;\n const scanToEnd = opts.parts === true || opts.scanToEnd === true;\n const slashes = [];\n const tokens = [];\n const parts = [];\n\n let str = input;\n let index = -1;\n let start = 0;\n let lastIndex = 0;\n let isBrace = false;\n let isBracket = false;\n let isGlob = false;\n let isExtglob = false;\n let isGlobstar = false;\n let braceEscaped = false;\n let backslashes = false;\n let negated = false;\n let negatedExtglob = false;\n let finished = false;\n let braces = 0;\n let prev;\n let code;\n let token = { value: '', depth: 0, isGlob: false };\n\n const eos = () => index >= length;\n const peek = () => str.charCodeAt(index + 1);\n const advance = () => {\n prev = code;\n return str.charCodeAt(++index);\n };\n\n while (index < length) {\n code = advance();\n let next;\n\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n code = advance();\n\n if (code === CHAR_LEFT_CURLY_BRACE) {\n braceEscaped = true;\n }\n continue;\n }\n\n if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {\n braces++;\n\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n advance();\n continue;\n }\n\n if (code === CHAR_LEFT_CURLY_BRACE) {\n braces++;\n continue;\n }\n\n if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {\n isBrace = token.isBrace = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (braceEscaped !== true && code === CHAR_COMMA) {\n isBrace = token.isBrace = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (code === CHAR_RIGHT_CURLY_BRACE) {\n braces--;\n\n if (braces === 0) {\n braceEscaped = false;\n isBrace = token.isBrace = true;\n finished = true;\n break;\n }\n }\n }\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (code === CHAR_FORWARD_SLASH) {\n slashes.push(index);\n tokens.push(token);\n token = { value: '', depth: 0, isGlob: false };\n\n if (finished === true) continue;\n if (prev === CHAR_DOT && index === (start + 1)) {\n start += 2;\n continue;\n }\n\n lastIndex = index + 1;\n continue;\n }\n\n if (opts.noext !== true) {\n const isExtglobChar = code === CHAR_PLUS\n || code === CHAR_AT\n || code === CHAR_ASTERISK\n || code === CHAR_QUESTION_MARK\n || code === CHAR_EXCLAMATION_MARK;\n\n if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {\n isGlob = token.isGlob = true;\n isExtglob = token.isExtglob = true;\n finished = true;\n if (code === CHAR_EXCLAMATION_MARK && index === start) {\n negatedExtglob = true;\n }\n\n if (scanToEnd === true) {\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n code = advance();\n continue;\n }\n\n if (code === CHAR_RIGHT_PARENTHESES) {\n isGlob = token.isGlob = true;\n finished = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n }\n\n if (code === CHAR_ASTERISK) {\n if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n break;\n }\n\n if (code === CHAR_QUESTION_MARK) {\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n break;\n }\n\n if (code === CHAR_LEFT_SQUARE_BRACKET) {\n while (eos() !== true && (next = advance())) {\n if (next === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n advance();\n continue;\n }\n\n if (next === CHAR_RIGHT_SQUARE_BRACKET) {\n isBracket = token.isBracket = true;\n isGlob = token.isGlob = true;\n finished = true;\n break;\n }\n }\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {\n negated = token.negated = true;\n start++;\n continue;\n }\n\n if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {\n isGlob = token.isGlob = true;\n\n if (scanToEnd === true) {\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_LEFT_PARENTHESES) {\n backslashes = token.backslashes = true;\n code = advance();\n continue;\n }\n\n if (code === CHAR_RIGHT_PARENTHESES) {\n finished = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n\n if (isGlob === true) {\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n }\n\n if (opts.noext === true) {\n isExtglob = false;\n isGlob = false;\n }\n\n let base = str;\n let prefix = '';\n let glob = '';\n\n if (start > 0) {\n prefix = str.slice(0, start);\n str = str.slice(start);\n lastIndex -= start;\n }\n\n if (base && isGlob === true && lastIndex > 0) {\n base = str.slice(0, lastIndex);\n glob = str.slice(lastIndex);\n } else if (isGlob === true) {\n base = '';\n glob = str;\n } else {\n base = str;\n }\n\n if (base && base !== '' && base !== '/' && base !== str) {\n if (isPathSeparator(base.charCodeAt(base.length - 1))) {\n base = base.slice(0, -1);\n }\n }\n\n if (opts.unescape === true) {\n if (glob) glob = utils.removeBackslashes(glob);\n\n if (base && backslashes === true) {\n base = utils.removeBackslashes(base);\n }\n }\n\n const state = {\n prefix,\n input,\n start,\n base,\n glob,\n isBrace,\n isBracket,\n isGlob,\n isExtglob,\n isGlobstar,\n negated,\n negatedExtglob\n };\n\n if (opts.tokens === true) {\n state.maxDepth = 0;\n if (!isPathSeparator(code)) {\n tokens.push(token);\n }\n state.tokens = tokens;\n }\n\n if (opts.parts === true || opts.tokens === true) {\n let prevIndex;\n\n for (let idx = 0; idx < slashes.length; idx++) {\n const n = prevIndex ? prevIndex + 1 : start;\n const i = slashes[idx];\n const value = input.slice(n, i);\n if (opts.tokens) {\n if (idx === 0 && start !== 0) {\n tokens[idx].isPrefix = true;\n tokens[idx].value = prefix;\n } else {\n tokens[idx].value = value;\n }\n depth(tokens[idx]);\n state.maxDepth += tokens[idx].depth;\n }\n if (idx !== 0 || value !== '') {\n parts.push(value);\n }\n prevIndex = i;\n }\n\n if (prevIndex && prevIndex + 1 < input.length) {\n const value = input.slice(prevIndex + 1);\n parts.push(value);\n\n if (opts.tokens) {\n tokens[tokens.length - 1].value = value;\n depth(tokens[tokens.length - 1]);\n state.maxDepth += tokens[tokens.length - 1].depth;\n }\n }\n\n state.slashes = slashes;\n state.parts = parts;\n }\n\n return state;\n};\n\nmodule.exports = scan;\n","'use strict';\n\nconst constants = require('./constants');\nconst utils = require('./utils');\n\n/**\n * Constants\n */\n\nconst {\n MAX_LENGTH,\n POSIX_REGEX_SOURCE,\n REGEX_NON_SPECIAL_CHARS,\n REGEX_SPECIAL_CHARS_BACKREF,\n REPLACEMENTS\n} = constants;\n\n/**\n * Helpers\n */\n\nconst expandRange = (args, options) => {\n if (typeof options.expandRange === 'function') {\n return options.expandRange(...args, options);\n }\n\n args.sort();\n const value = `[${args.join('-')}]`;\n\n try {\n /* eslint-disable-next-line no-new */\n new RegExp(value);\n } catch (ex) {\n return args.map(v => utils.escapeRegex(v)).join('..');\n }\n\n return value;\n};\n\n/**\n * Create the message for a syntax error\n */\n\nconst syntaxError = (type, char) => {\n return `Missing ${type}: \"${char}\" - use \"\\\\\\\\${char}\" to match literal characters`;\n};\n\n/**\n * Parse the given input string.\n * @param {String} input\n * @param {Object} options\n * @return {Object}\n */\n\nconst parse = (input, options) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n input = REPLACEMENTS[input] || input;\n\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n\n let len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n const bos = { type: 'bos', value: '', output: opts.prepend || '' };\n const tokens = [bos];\n\n const capture = opts.capture ? '' : '?:';\n\n // create constants based on platform, for windows or posix\n const PLATFORM_CHARS = constants.globChars(opts.windows);\n const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);\n\n const {\n DOT_LITERAL,\n PLUS_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOT_SLASH,\n NO_DOTS_SLASH,\n QMARK,\n QMARK_NO_DOT,\n STAR,\n START_ANCHOR\n } = PLATFORM_CHARS;\n\n const globstar = opts => {\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const nodot = opts.dot ? '' : NO_DOT;\n const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;\n let star = opts.bash === true ? globstar(opts) : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n // minimatch options support\n if (typeof opts.noext === 'boolean') {\n opts.noextglob = opts.noext;\n }\n\n const state = {\n input,\n index: -1,\n start: 0,\n dot: opts.dot === true,\n consumed: '',\n output: '',\n prefix: '',\n backtrack: false,\n negated: false,\n brackets: 0,\n braces: 0,\n parens: 0,\n quotes: 0,\n globstar: false,\n tokens\n };\n\n input = utils.removePrefix(input, state);\n len = input.length;\n\n const extglobs = [];\n const braces = [];\n const stack = [];\n let prev = bos;\n let value;\n\n /**\n * Tokenizing helpers\n */\n\n const eos = () => state.index === len - 1;\n const peek = state.peek = (n = 1) => input[state.index + n];\n const advance = state.advance = () => input[++state.index] || '';\n const remaining = () => input.slice(state.index + 1);\n const consume = (value = '', num = 0) => {\n state.consumed += value;\n state.index += num;\n };\n\n const append = token => {\n state.output += token.output != null ? token.output : token.value;\n consume(token.value);\n };\n\n const negate = () => {\n let count = 1;\n\n while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {\n advance();\n state.start++;\n count++;\n }\n\n if (count % 2 === 0) {\n return false;\n }\n\n state.negated = true;\n state.start++;\n return true;\n };\n\n const increment = type => {\n state[type]++;\n stack.push(type);\n };\n\n const decrement = type => {\n state[type]--;\n stack.pop();\n };\n\n /**\n * Push tokens onto the tokens array. This helper speeds up\n * tokenizing by 1) helping us avoid backtracking as much as possible,\n * and 2) helping us avoid creating extra tokens when consecutive\n * characters are plain text. This improves performance and simplifies\n * lookbehinds.\n */\n\n const push = tok => {\n if (prev.type === 'globstar') {\n const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');\n const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));\n\n if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {\n state.output = state.output.slice(0, -prev.output.length);\n prev.type = 'star';\n prev.value = '*';\n prev.output = star;\n state.output += prev.output;\n }\n }\n\n if (extglobs.length && tok.type !== 'paren') {\n extglobs[extglobs.length - 1].inner += tok.value;\n }\n\n if (tok.value || tok.output) append(tok);\n if (prev && prev.type === 'text' && tok.type === 'text') {\n prev.output = (prev.output || prev.value) + tok.value;\n prev.value += tok.value;\n return;\n }\n\n tok.prev = prev;\n tokens.push(tok);\n prev = tok;\n };\n\n const extglobOpen = (type, value) => {\n const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };\n\n token.prev = prev;\n token.parens = state.parens;\n token.output = state.output;\n const output = (opts.capture ? '(' : '') + token.open;\n\n increment('parens');\n push({ type, value, output: state.output ? '' : ONE_CHAR });\n push({ type: 'paren', extglob: true, value: advance(), output });\n extglobs.push(token);\n };\n\n const extglobClose = token => {\n let output = token.close + (opts.capture ? ')' : '');\n let rest;\n\n if (token.type === 'negate') {\n let extglobStar = star;\n\n if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {\n extglobStar = globstar(opts);\n }\n\n if (extglobStar !== star || eos() || /^\\)+$/.test(remaining())) {\n output = token.close = `)$))${extglobStar}`;\n }\n\n if (token.inner.includes('*') && (rest = remaining()) && /^\\.[^\\\\/.]+$/.test(rest)) {\n // Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis.\n // In this case, we need to parse the string and use it in the output of the original pattern.\n // Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`.\n //\n // Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`.\n const expression = parse(rest, { ...options, fastpaths: false }).output;\n\n output = token.close = `)${expression})${extglobStar})`;\n }\n\n if (token.prev.type === 'bos') {\n state.negatedExtglob = true;\n }\n }\n\n push({ type: 'paren', extglob: true, value, output });\n decrement('parens');\n };\n\n /**\n * Fast paths\n */\n\n if (opts.fastpaths !== false && !/(^[*!]|[/()[\\]{}\"])/.test(input)) {\n let backslashes = false;\n\n let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {\n if (first === '\\\\') {\n backslashes = true;\n return m;\n }\n\n if (first === '?') {\n if (esc) {\n return esc + first + (rest ? QMARK.repeat(rest.length) : '');\n }\n if (index === 0) {\n return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');\n }\n return QMARK.repeat(chars.length);\n }\n\n if (first === '.') {\n return DOT_LITERAL.repeat(chars.length);\n }\n\n if (first === '*') {\n if (esc) {\n return esc + first + (rest ? star : '');\n }\n return star;\n }\n return esc ? m : `\\\\${m}`;\n });\n\n if (backslashes === true) {\n if (opts.unescape === true) {\n output = output.replace(/\\\\/g, '');\n } else {\n output = output.replace(/\\\\+/g, m => {\n return m.length % 2 === 0 ? '\\\\\\\\' : (m ? '\\\\' : '');\n });\n }\n }\n\n if (output === input && opts.contains === true) {\n state.output = input;\n return state;\n }\n\n state.output = utils.wrapOutput(output, state, options);\n return state;\n }\n\n /**\n * Tokenize input until we reach end-of-string\n */\n\n while (!eos()) {\n value = advance();\n\n if (value === '\\u0000') {\n continue;\n }\n\n /**\n * Escaped characters\n */\n\n if (value === '\\\\') {\n const next = peek();\n\n if (next === '/' && opts.bash !== true) {\n continue;\n }\n\n if (next === '.' || next === ';') {\n continue;\n }\n\n if (!next) {\n value += '\\\\';\n push({ type: 'text', value });\n continue;\n }\n\n // collapse slashes to reduce potential for exploits\n const match = /^\\\\+/.exec(remaining());\n let slashes = 0;\n\n if (match && match[0].length > 2) {\n slashes = match[0].length;\n state.index += slashes;\n if (slashes % 2 !== 0) {\n value += '\\\\';\n }\n }\n\n if (opts.unescape === true) {\n value = advance();\n } else {\n value += advance();\n }\n\n if (state.brackets === 0) {\n push({ type: 'text', value });\n continue;\n }\n }\n\n /**\n * If we're inside a regex character class, continue\n * until we reach the closing bracket.\n */\n\n if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {\n if (opts.posix !== false && value === ':') {\n const inner = prev.value.slice(1);\n if (inner.includes('[')) {\n prev.posix = true;\n\n if (inner.includes(':')) {\n const idx = prev.value.lastIndexOf('[');\n const pre = prev.value.slice(0, idx);\n const rest = prev.value.slice(idx + 2);\n const posix = POSIX_REGEX_SOURCE[rest];\n if (posix) {\n prev.value = pre + posix;\n state.backtrack = true;\n advance();\n\n if (!bos.output && tokens.indexOf(prev) === 1) {\n bos.output = ONE_CHAR;\n }\n continue;\n }\n }\n }\n }\n\n if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {\n value = `\\\\${value}`;\n }\n\n if (value === ']' && (prev.value === '[' || prev.value === '[^')) {\n value = `\\\\${value}`;\n }\n\n if (opts.posix === true && value === '!' && prev.value === '[') {\n value = '^';\n }\n\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * If we're inside a quoted string, continue\n * until we reach the closing double quote.\n */\n\n if (state.quotes === 1 && value !== '\"') {\n value = utils.escapeRegex(value);\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * Double quotes\n */\n\n if (value === '\"') {\n state.quotes = state.quotes === 1 ? 0 : 1;\n if (opts.keepQuotes === true) {\n push({ type: 'text', value });\n }\n continue;\n }\n\n /**\n * Parentheses\n */\n\n if (value === '(') {\n increment('parens');\n push({ type: 'paren', value });\n continue;\n }\n\n if (value === ')') {\n if (state.parens === 0 && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '('));\n }\n\n const extglob = extglobs[extglobs.length - 1];\n if (extglob && state.parens === extglob.parens + 1) {\n extglobClose(extglobs.pop());\n continue;\n }\n\n push({ type: 'paren', value, output: state.parens ? ')' : '\\\\)' });\n decrement('parens');\n continue;\n }\n\n /**\n * Square brackets\n */\n\n if (value === '[') {\n if (opts.nobracket === true || !remaining().includes(']')) {\n if (opts.nobracket !== true && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('closing', ']'));\n }\n\n value = `\\\\${value}`;\n } else {\n increment('brackets');\n }\n\n push({ type: 'bracket', value });\n continue;\n }\n\n if (value === ']') {\n if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n if (state.brackets === 0) {\n if (opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '['));\n }\n\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n decrement('brackets');\n\n const prevValue = prev.value.slice(1);\n if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {\n value = `/${value}`;\n }\n\n prev.value += value;\n append({ value });\n\n // when literal brackets are explicitly disabled\n // assume we should match with a regex character class\n if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {\n continue;\n }\n\n const escaped = utils.escapeRegex(prev.value);\n state.output = state.output.slice(0, -prev.value.length);\n\n // when literal brackets are explicitly enabled\n // assume we should escape the brackets to match literal characters\n if (opts.literalBrackets === true) {\n state.output += escaped;\n prev.value = escaped;\n continue;\n }\n\n // when the user specifies nothing, try to match both\n prev.value = `(${capture}${escaped}|${prev.value})`;\n state.output += prev.value;\n continue;\n }\n\n /**\n * Braces\n */\n\n if (value === '{' && opts.nobrace !== true) {\n increment('braces');\n\n const open = {\n type: 'brace',\n value,\n output: '(',\n outputIndex: state.output.length,\n tokensIndex: state.tokens.length\n };\n\n braces.push(open);\n push(open);\n continue;\n }\n\n if (value === '}') {\n const brace = braces[braces.length - 1];\n\n if (opts.nobrace === true || !brace) {\n push({ type: 'text', value, output: value });\n continue;\n }\n\n let output = ')';\n\n if (brace.dots === true) {\n const arr = tokens.slice();\n const range = [];\n\n for (let i = arr.length - 1; i >= 0; i--) {\n tokens.pop();\n if (arr[i].type === 'brace') {\n break;\n }\n if (arr[i].type !== 'dots') {\n range.unshift(arr[i].value);\n }\n }\n\n output = expandRange(range, opts);\n state.backtrack = true;\n }\n\n if (brace.comma !== true && brace.dots !== true) {\n const out = state.output.slice(0, brace.outputIndex);\n const toks = state.tokens.slice(brace.tokensIndex);\n brace.value = brace.output = '\\\\{';\n value = output = '\\\\}';\n state.output = out;\n for (const t of toks) {\n state.output += (t.output || t.value);\n }\n }\n\n push({ type: 'brace', value, output });\n decrement('braces');\n braces.pop();\n continue;\n }\n\n /**\n * Pipes\n */\n\n if (value === '|') {\n if (extglobs.length > 0) {\n extglobs[extglobs.length - 1].conditions++;\n }\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Commas\n */\n\n if (value === ',') {\n let output = value;\n\n const brace = braces[braces.length - 1];\n if (brace && stack[stack.length - 1] === 'braces') {\n brace.comma = true;\n output = '|';\n }\n\n push({ type: 'comma', value, output });\n continue;\n }\n\n /**\n * Slashes\n */\n\n if (value === '/') {\n // if the beginning of the glob is \"./\", advance the start\n // to the current index, and don't add the \"./\" characters\n // to the state. This greatly simplifies lookbehinds when\n // checking for BOS characters like \"!\" and \".\" (not \"./\")\n if (prev.type === 'dot' && state.index === state.start + 1) {\n state.start = state.index + 1;\n state.consumed = '';\n state.output = '';\n tokens.pop();\n prev = bos; // reset \"prev\" to the first token\n continue;\n }\n\n push({ type: 'slash', value, output: SLASH_LITERAL });\n continue;\n }\n\n /**\n * Dots\n */\n\n if (value === '.') {\n if (state.braces > 0 && prev.type === 'dot') {\n if (prev.value === '.') prev.output = DOT_LITERAL;\n const brace = braces[braces.length - 1];\n prev.type = 'dots';\n prev.output += value;\n prev.value += value;\n brace.dots = true;\n continue;\n }\n\n if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {\n push({ type: 'text', value, output: DOT_LITERAL });\n continue;\n }\n\n push({ type: 'dot', value, output: DOT_LITERAL });\n continue;\n }\n\n /**\n * Question marks\n */\n\n if (value === '?') {\n const isGroup = prev && prev.value === '(';\n if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('qmark', value);\n continue;\n }\n\n if (prev && prev.type === 'paren') {\n const next = peek();\n let output = value;\n\n if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\\w+>)/.test(remaining()))) {\n output = `\\\\${value}`;\n }\n\n push({ type: 'text', value, output });\n continue;\n }\n\n if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {\n push({ type: 'qmark', value, output: QMARK_NO_DOT });\n continue;\n }\n\n push({ type: 'qmark', value, output: QMARK });\n continue;\n }\n\n /**\n * Exclamation\n */\n\n if (value === '!') {\n if (opts.noextglob !== true && peek() === '(') {\n if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {\n extglobOpen('negate', value);\n continue;\n }\n }\n\n if (opts.nonegate !== true && state.index === 0) {\n negate();\n continue;\n }\n }\n\n /**\n * Plus\n */\n\n if (value === '+') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('plus', value);\n continue;\n }\n\n if ((prev && prev.value === '(') || opts.regex === false) {\n push({ type: 'plus', value, output: PLUS_LITERAL });\n continue;\n }\n\n if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {\n push({ type: 'plus', value });\n continue;\n }\n\n push({ type: 'plus', value: PLUS_LITERAL });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value === '@') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n push({ type: 'at', extglob: true, value, output: '' });\n continue;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value !== '*') {\n if (value === '$' || value === '^') {\n value = `\\\\${value}`;\n }\n\n const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());\n if (match) {\n value += match[0];\n state.index += match[0].length;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Stars\n */\n\n if (prev && (prev.type === 'globstar' || prev.star === true)) {\n prev.type = 'star';\n prev.star = true;\n prev.value += value;\n prev.output = star;\n state.backtrack = true;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n let rest = remaining();\n if (opts.noextglob !== true && /^\\([^?]/.test(rest)) {\n extglobOpen('star', value);\n continue;\n }\n\n if (prev.type === 'star') {\n if (opts.noglobstar === true) {\n consume(value);\n continue;\n }\n\n const prior = prev.prev;\n const before = prior.prev;\n const isStart = prior.type === 'slash' || prior.type === 'bos';\n const afterStar = before && (before.type === 'star' || before.type === 'globstar');\n\n if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');\n const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');\n if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n // strip consecutive `/**/`\n while (rest.slice(0, 3) === '/**') {\n const after = input[state.index + 4];\n if (after && after !== '/') {\n break;\n }\n rest = rest.slice(3);\n consume('/**', 3);\n }\n\n if (prior.type === 'bos' && eos()) {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = globstar(opts);\n state.output = prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');\n prev.value += value;\n state.globstar = true;\n state.output += prior.output + prev.output;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {\n const end = rest[1] !== void 0 ? '|$' : '';\n\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;\n prev.value += value;\n\n state.output += prior.output + prev.output;\n state.globstar = true;\n\n consume(value + advance());\n\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n if (prior.type === 'bos' && rest[0] === '/') {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;\n state.output = prev.output;\n state.globstar = true;\n consume(value + advance());\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n // remove single star from output\n state.output = state.output.slice(0, -prev.output.length);\n\n // reset previous token to globstar\n prev.type = 'globstar';\n prev.output = globstar(opts);\n prev.value += value;\n\n // reset output with globstar\n state.output += prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n const token = { type: 'star', value, output: star };\n\n if (opts.bash === true) {\n token.output = '.*?';\n if (prev.type === 'bos' || prev.type === 'slash') {\n token.output = nodot + token.output;\n }\n push(token);\n continue;\n }\n\n if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {\n token.output = value;\n push(token);\n continue;\n }\n\n if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {\n if (prev.type === 'dot') {\n state.output += NO_DOT_SLASH;\n prev.output += NO_DOT_SLASH;\n\n } else if (opts.dot === true) {\n state.output += NO_DOTS_SLASH;\n prev.output += NO_DOTS_SLASH;\n\n } else {\n state.output += nodot;\n prev.output += nodot;\n }\n\n if (peek() !== '*') {\n state.output += ONE_CHAR;\n prev.output += ONE_CHAR;\n }\n }\n\n push(token);\n }\n\n while (state.brackets > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));\n state.output = utils.escapeLast(state.output, '[');\n decrement('brackets');\n }\n\n while (state.parens > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));\n state.output = utils.escapeLast(state.output, '(');\n decrement('parens');\n }\n\n while (state.braces > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));\n state.output = utils.escapeLast(state.output, '{');\n decrement('braces');\n }\n\n if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {\n push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });\n }\n\n // rebuild the output if we had to backtrack at any point\n if (state.backtrack === true) {\n state.output = '';\n\n for (const token of state.tokens) {\n state.output += token.output != null ? token.output : token.value;\n\n if (token.suffix) {\n state.output += token.suffix;\n }\n }\n }\n\n return state;\n};\n\n/**\n * Fast paths for creating regular expressions for common glob patterns.\n * This can significantly speed up processing and has very little downside\n * impact when none of the fast paths match.\n */\n\nparse.fastpaths = (input, options) => {\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n const len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n input = REPLACEMENTS[input] || input;\n\n // create constants based on platform, for windows or posix\n const {\n DOT_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOTS,\n NO_DOTS_SLASH,\n STAR,\n START_ANCHOR\n } = constants.globChars(opts.windows);\n\n const nodot = opts.dot ? NO_DOTS : NO_DOT;\n const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;\n const capture = opts.capture ? '' : '?:';\n const state = { negated: false, prefix: '' };\n let star = opts.bash === true ? '.*?' : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n const globstar = opts => {\n if (opts.noglobstar === true) return star;\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const create = str => {\n switch (str) {\n case '*':\n return `${nodot}${ONE_CHAR}${star}`;\n\n case '.*':\n return `${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*.*':\n return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*/*':\n return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;\n\n case '**':\n return nodot + globstar(opts);\n\n case '**/*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;\n\n case '**/*.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '**/.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n default: {\n const match = /^(.*?)\\.(\\w+)$/.exec(str);\n if (!match) return;\n\n const source = create(match[1]);\n if (!source) return;\n\n return source + DOT_LITERAL + match[2];\n }\n }\n };\n\n const output = utils.removePrefix(input, state);\n let source = create(output);\n\n if (source && opts.strictSlashes !== true) {\n source += `${SLASH_LITERAL}?`;\n }\n\n return source;\n};\n\nmodule.exports = parse;\n","'use strict';\n\nconst scan = require('./scan');\nconst parse = require('./parse');\nconst utils = require('./utils');\nconst constants = require('./constants');\nconst isObject = val => val && typeof val === 'object' && !Array.isArray(val);\n\n/**\n * Creates a matcher function from one or more glob patterns. The\n * returned function takes a string to match as its first argument,\n * and returns true if the string is a match. The returned matcher\n * function also takes a boolean as the second argument that, when true,\n * returns an object with additional information.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch(glob[, options]);\n *\n * const isMatch = picomatch('*.!(*a)');\n * console.log(isMatch('a.a')); //=> false\n * console.log(isMatch('a.b')); //=> true\n * ```\n * @name picomatch\n * @param {String|Array} `globs` One or more glob patterns.\n * @param {Object=} `options`\n * @return {Function=} Returns a matcher function.\n * @api public\n */\n\nconst picomatch = (glob, options, returnState = false) => {\n if (Array.isArray(glob)) {\n const fns = glob.map(input => picomatch(input, options, returnState));\n const arrayMatcher = str => {\n for (const isMatch of fns) {\n const state = isMatch(str);\n if (state) return state;\n }\n return false;\n };\n return arrayMatcher;\n }\n\n const isState = isObject(glob) && glob.tokens && glob.input;\n\n if (glob === '' || (typeof glob !== 'string' && !isState)) {\n throw new TypeError('Expected pattern to be a non-empty string');\n }\n\n const opts = options || {};\n const posix = opts.windows;\n const regex = isState\n ? picomatch.compileRe(glob, options)\n : picomatch.makeRe(glob, options, false, true);\n\n const state = regex.state;\n delete regex.state;\n\n let isIgnored = () => false;\n if (opts.ignore) {\n const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };\n isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);\n }\n\n const matcher = (input, returnObject = false) => {\n const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });\n const result = { glob, state, regex, posix, input, output, match, isMatch };\n\n if (typeof opts.onResult === 'function') {\n opts.onResult(result);\n }\n\n if (isMatch === false) {\n result.isMatch = false;\n return returnObject ? result : false;\n }\n\n if (isIgnored(input)) {\n if (typeof opts.onIgnore === 'function') {\n opts.onIgnore(result);\n }\n result.isMatch = false;\n return returnObject ? result : false;\n }\n\n if (typeof opts.onMatch === 'function') {\n opts.onMatch(result);\n }\n return returnObject ? result : true;\n };\n\n if (returnState) {\n matcher.state = state;\n }\n\n return matcher;\n};\n\n/**\n * Test `input` with the given `regex`. This is used by the main\n * `picomatch()` function to test the input string.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.test(input, regex[, options]);\n *\n * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\\/([^/]*?))$/));\n * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }\n * ```\n * @param {String} `input` String to test.\n * @param {RegExp} `regex`\n * @return {Object} Returns an object with matching info.\n * @api public\n */\n\npicomatch.test = (input, regex, options, { glob, posix } = {}) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected input to be a string');\n }\n\n if (input === '') {\n return { isMatch: false, output: '' };\n }\n\n const opts = options || {};\n const format = opts.format || (posix ? utils.toPosixSlashes : null);\n let match = input === glob;\n let output = (match && format) ? format(input) : input;\n\n if (match === false) {\n output = format ? format(input) : input;\n match = output === glob;\n }\n\n if (match === false || opts.capture === true) {\n if (opts.matchBase === true || opts.basename === true) {\n match = picomatch.matchBase(input, regex, options, posix);\n } else {\n match = regex.exec(output);\n }\n }\n\n return { isMatch: Boolean(match), match, output };\n};\n\n/**\n * Match the basename of a filepath.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.matchBase(input, glob[, options]);\n * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true\n * ```\n * @param {String} `input` String to test.\n * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe).\n * @return {Boolean}\n * @api public\n */\n\npicomatch.matchBase = (input, glob, options) => {\n const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);\n return regex.test(utils.basename(input));\n};\n\n/**\n * Returns true if **any** of the given glob `patterns` match the specified `string`.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.isMatch(string, patterns[, options]);\n *\n * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true\n * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false\n * ```\n * @param {String|Array} str The string to test.\n * @param {String|Array} patterns One or more glob patterns to use for matching.\n * @param {Object} [options] See available [options](#options).\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\npicomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);\n\n/**\n * Parse a glob pattern to create the source string for a regular\n * expression.\n *\n * ```js\n * const picomatch = require('picomatch');\n * const result = picomatch.parse(pattern[, options]);\n * ```\n * @param {String} `pattern`\n * @param {Object} `options`\n * @return {Object} Returns an object with useful properties and output to be used as a regex source string.\n * @api public\n */\n\npicomatch.parse = (pattern, options) => {\n if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options));\n return parse(pattern, { ...options, fastpaths: false });\n};\n\n/**\n * Scan a glob pattern to separate the pattern into segments.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.scan(input[, options]);\n *\n * const result = picomatch.scan('!./foo/*.js');\n * console.log(result);\n * { prefix: '!./',\n * input: '!./foo/*.js',\n * start: 3,\n * base: 'foo',\n * glob: '*.js',\n * isBrace: false,\n * isBracket: false,\n * isGlob: true,\n * isExtglob: false,\n * isGlobstar: false,\n * negated: true }\n * ```\n * @param {String} `input` Glob pattern to scan.\n * @param {Object} `options`\n * @return {Object} Returns an object with\n * @api public\n */\n\npicomatch.scan = (input, options) => scan(input, options);\n\n/**\n * Compile a regular expression from the `state` object returned by the\n * [parse()](#parse) method.\n *\n * @param {Object} `state`\n * @param {Object} `options`\n * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser.\n * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging.\n * @return {RegExp}\n * @api public\n */\n\npicomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {\n if (returnOutput === true) {\n return state.output;\n }\n\n const opts = options || {};\n const prepend = opts.contains ? '' : '^';\n const append = opts.contains ? '' : '$';\n\n let source = `${prepend}(?:${state.output})${append}`;\n if (state && state.negated === true) {\n source = `^(?!${source}).*$`;\n }\n\n const regex = picomatch.toRegex(source, options);\n if (returnState === true) {\n regex.state = state;\n }\n\n return regex;\n};\n\n/**\n * Create a regular expression from a parsed glob pattern.\n *\n * ```js\n * const picomatch = require('picomatch');\n * const state = picomatch.parse('*.js');\n * // picomatch.compileRe(state[, options]);\n *\n * console.log(picomatch.compileRe(state));\n * //=> /^(?:(?!\\.)(?=.)[^/]*?\\.js)$/\n * ```\n * @param {String} `state` The object returned from the `.parse` method.\n * @param {Object} `options`\n * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.\n * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression.\n * @return {RegExp} Returns a regex created from the given pattern.\n * @api public\n */\n\npicomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {\n if (!input || typeof input !== 'string') {\n throw new TypeError('Expected a non-empty string');\n }\n\n let parsed = { negated: false, fastpaths: true };\n\n if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) {\n parsed.output = parse.fastpaths(input, options);\n }\n\n if (!parsed.output) {\n parsed = parse(input, options);\n }\n\n return picomatch.compileRe(parsed, options, returnOutput, returnState);\n};\n\n/**\n * Create a regular expression from the given regex source string.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.toRegex(source[, options]);\n *\n * const { output } = picomatch.parse('*.js');\n * console.log(picomatch.toRegex(output));\n * //=> /^(?:(?!\\.)(?=.)[^/]*?\\.js)$/\n * ```\n * @param {String} `source` Regular expression source string.\n * @param {Object} `options`\n * @return {RegExp}\n * @api public\n */\n\npicomatch.toRegex = (source, options) => {\n try {\n const opts = options || {};\n return new RegExp(source, opts.flags || (opts.nocase ? 'i' : ''));\n } catch (err) {\n if (options && options.debug === true) throw err;\n return /$^/;\n }\n};\n\n/**\n * Picomatch constants.\n * @return {Object}\n */\n\npicomatch.constants = constants;\n\n/**\n * Expose \"picomatch\"\n */\n\nmodule.exports = picomatch;\n","'use strict';\n\nmodule.exports = require('./lib/picomatch');\n",null,null,null,null],"names":["MetaframeVersionsAll","MetapageVersionsAll","MetaframeVersionCurrent","MetapageVersionCurrent","METAFRAME_JSON_FILE","METAPAGE_KEY_DEFINITION","METAPAGE_KEY_STATE","VERSION_METAPAGE","VERSION_METAFRAME","semver","validateAndParse","version","match","isWildcard","s","tryParse","v","n","forceType","a","b","compareStrings","ap","bp","compareSegments","i","r","compareVersions","v1","v2","n1","n2","p1","p2","global","factory","module","this","fetchRetry","fetch","defaults","ArgumentError","isPositiveInteger","baseDefaults","input","init","retries","retryDelay","retryOn","resolve","reject","wrappedFetch","attempt","_input","response","retryOnResponse","retry","error","delay","value","message","Operation","PROXY_DRAFT","RAW_RETURN_SYMBOL","iteratorSymbol","dataTypes","internal","has","target","key","getDescriptor","prototype","descriptor","isBaseSetInstance","obj","isBaseMapInstance","latest","proxyDraft","_a","isDraft","getProxyDraft","getValue","isDraftable","options","markResult","getPath","path","parentCopy","get","isSet","resolvePath","getType","set","peek","state","isEqual","x","y","revokeProxy","escapePath","pathAsArray","_item","item","base","index","strictCopy","copy","desc","propIsEnum","shallowCopy","original","SubClass","ensureShallowCopy","deepClone","iterable","k","cloneIfNeeded","markChanged","throwFrozenError","deepFreeze","subKey","updatedValues","stack","keys","parent","name","forEach","iter","type","entry","handleValue","handledSet","setMap","updatedValue","values","finalizeAssigned","finalizeSetValue","finalizePatches","generatePatches","patches","inversePatches","basePath","markFinalization","generateArrayPatches","proxyState","assignedMap","_path","arrayLengthAssignment","generatePatchesFromAssigned","assignedValue","originalValue","op","generateSetPatches","readable","checkReadable","ignoreCheckDraftable","mapHandler","source","callback","thisArg","_value","_key","_b","mutable","draft","iterator","result","mapHandlerKeys","getNextIterator","isValuesIterator","currentDraft","proxy","setHandler","valueProxyDraft","other","setHandlerKeys","proxyHandler","receiver","createDraft","subProxyDraft","current","currentProxyDraft","createDraftOptions","parentDraft","finalities","revoke","oldProxyDraft","finalizeDraft","returnedValue","enableAutoFreeze","hasReturnedValue","draftify","baseState","finalizedState","finalizedPatches","finalizedInversePatches","handleReturnValue","rootDraft","useRawReturn","isRoot","currentValue","arr","getCurrent","newValue","makeCreator","arg","create","arg0","arg1","arg2","_c","args","mutate","mark","types","enablePatches","strict","_options","finalize","returnValue","rawReturnValue","returnedProxyDraft","detectMetapageVersion","def","metaframes","firstKey","detectMetaframeVersion","metadata","fetchRetryWrapper","convertMetapageDefinitionToVersion","targetVersion","detectedVersion","err","convertMetapageDefinitionToTargetVersionInternal","convertMetapageDefinitionToCurrentVersion","currentVersion","getMatchingMetapageVersion","currentDefinition","definition_v0_2_to_v0_3","definition_v0_3_to_v1","definition_v0_3_to_v0_2","definition_v1_to_v2","definition_v1_to_v0_3","definition_v2_to_v1","old","castV1","normalizeHashParams","hashParams","convertMetaframeDefinitionToVersion","convertMetaframeDefinitionToTargetVersionInternal","convertMetaframeDefinitionToCurrentVersion","getMatchingMetaframeVersion","definition_v0_3_to_v0_4","definition_v0_4_to_v0_5","definition_v0_4_to_v0_3","definition_v0_5_to_v0_6","definition_v0_5_to_v0_4","definition_v0_6_to_v1","definition_v0_6_to_v0_5","definition_v1_to_v0_6","convertMetaframeJsonToCurrentVersion","m","opts","converted","title","descriptionUrl","keywords","decription","tags","chars","lookup","decode","base64","bufferLength","len","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","bytes","R","h","ye","K","te","B","e","le","t","re","oe","M","C","u","ie","S","we","_","o","_e","I","g","G","D","U","xe","je","be","N","Y","T","se","me","c","f","Ce","Z","ce","Ue","Ie","w","Fe","V","$e","W","ee","Ne","pe","J","Be","Oe","ae","z","E","O","A","Re","X","Se","Ee","Ze","q","We","ze","Ye","he","He","L","H","Xe","needsSerialization","needsDeserialization","serializeInputs","inputs","keysToSerialize","possiblySerializeValueToDataref","deserializeInputs","keysToDeserialize","possiblyDeserializeDatarefToValue","TYPED_ARRAY_NAMES","typedArrayToDataUrl","arrayBuffer","mimeType","bufferToDataUrl","isDataUrl","deserializeDataUrl","deserializeLegacyMetapage","deserializeDatarefV1","possiblyDeserializeDatarefToFile","deserialized","valueToFile","fileName","buffer","blob","dataUrl","params","getParameters","dataUrlToTypedArray","lastModified","getMimeType","dataUrlToBuffer","MetapageEvents","JsonRpcMethodsFromChild","JsonRpcMethodsFromParent","PARSE_ERROR","INVALID_REQUEST","METHOD_NOT_FOUND","INVALID_PARAMS","INTERNAL_ERROR","isJsonRpcId","prefix","Events","EE","fn","context","once","addListener","emitter","event","listener","evt","clearEvent","EventEmitter","names","events","handlers","l","listeners","a1","a2","a3","a4","a5","length","j","F","P","d","$","Q","tt","fastJsonStableStringify","data","cycles","cmp","node","aobj","bobj","seen","stringify","out","seenIndex","MetapageHashParams","isIframe","INITIAL_NULL_METAPAGE_DEFINITION","MetapageShared","merge","newInputs","pipeId","getUrlParam","getUrlParamDebug","isDebugFromUrlsParams","param","generateMetaframeId","generateId","generateMetapageId","generateNonce","LETTERS","charactersLength","log","color","backgroundColor","cssstring","stringToRgb","str","intToRGB","hashCode","hash","isPageLoaded","pageLoaded","loaded","metapageAllSha256Hash","metapage","metapageStr","sha256ToBase64","metapageOnlyEssentailSha256Hash","MetaframeLoadingState","MetaframeEvents","Metaframe","thisRef","disposer","MetapageToolsLog","pipe","originalInputs","updateBlob","outputs","originalOutputs","payload","method","jsonrpc","setHashParamInWindow","getHashParamFromWindow","setHashParamValueBooleanInWindow","getHashParamValueBooleanFromWindow","setHashParamValueJsonInWindow","getHashParamValueJsonFromWindow","setHashParamValueBase64EncodedInWindow","getHashParamValueBase64DecodedFromWindow","setHashParamValueFloatInWindow","getHashParamValueFloatFromWindow","setHashParamValueIntInWindow","getHashParamValueIntFromWindow","WIN_SLASH","WIN_NO_SLASH","DOT_LITERAL","PLUS_LITERAL","QMARK_LITERAL","SLASH_LITERAL","ONE_CHAR","QMARK","END_ANCHOR","START_ANCHOR","DOTS_SLASH","NO_DOT","NO_DOTS","NO_DOT_SLASH","NO_DOTS_SLASH","QMARK_NO_DOT","STAR","SEP","POSIX_CHARS","WINDOWS_CHARS","POSIX_REGEX_SOURCE","constants","win32","REGEX_BACKSLASH","REGEX_REMOVE_BACKSLASH","REGEX_SPECIAL_CHARS","REGEX_SPECIAL_CHARS_GLOBAL","require$$0","exports","val","platform","char","lastIdx","idx","output","prepend","append","windows","segs","last","utils","CHAR_ASTERISK","CHAR_AT","CHAR_BACKWARD_SLASH","CHAR_COMMA","CHAR_DOT","CHAR_EXCLAMATION_MARK","CHAR_FORWARD_SLASH","CHAR_LEFT_CURLY_BRACE","CHAR_LEFT_PARENTHESES","CHAR_LEFT_SQUARE_BRACKET","CHAR_PLUS","CHAR_QUESTION_MARK","CHAR_RIGHT_CURLY_BRACE","CHAR_RIGHT_PARENTHESES","CHAR_RIGHT_SQUARE_BRACKET","require$$1","isPathSeparator","code","depth","token","scan","scanToEnd","slashes","tokens","parts","start","lastIndex","isBrace","isBracket","isGlob","isExtglob","isGlobstar","braceEscaped","backslashes","negated","negatedExtglob","finished","braces","prev","eos","advance","next","glob","prevIndex","scan_1","MAX_LENGTH","REGEX_NON_SPECIAL_CHARS","REGEX_SPECIAL_CHARS_BACKREF","REPLACEMENTS","expandRange","syntaxError","parse","max","bos","capture","PLATFORM_CHARS","EXTGLOB_CHARS","globstar","nodot","qmarkNoDot","star","extglobs","remaining","consume","num","negate","count","increment","decrement","push","tok","extglobOpen","extglobClose","rest","extglobStar","expression","esc","first","inner","pre","posix","extglob","prevValue","escaped","open","brace","range","toks","prior","before","isStart","afterStar","after","end","slashDot","parse_1","require$$2","require$$3","isObject","picomatch","returnState","fns","isMatch","isState","regex","isIgnored","ignoreOpts","matcher","returnObject","format","patterns","pattern","returnOutput","parsed","picomatch_1","getMetapageDefinitionFromUrl","url","metapageUrl","definition","getMetaframeDefinitionFromUrl","metaframeUrl","urlEncodedDefinition","getHashParamValueJsonFromUrl","isEmptyMetaframeDefinition","MetapageIFrameRpcClient","iframeId","parentId","consoleBackgroundColor","debug","urlBlob","selfThis","_d","metaframeDef","inputBlob","maybeNewInputs","inputUpdate","maybeNewOutputs","outputsUpdate","pipeName","fWrap","thing","messageJSON","emptyState","getLibraryVersionMatching","matchPipe","outputName","CONSOLE_BACKGROUND_COLOR_DEFAULT","Metapage","metaPageDef","cb","exists","flag","newState","metaframeId","secrets","metaframeName","config","metaframe","currentUrl","getHashParamValueBase64DecodedFromUrl","setHashParamValueBase64EncodedInUrl","encoded","cleanUrl","hashSecrets","originalHashParams","secretKey","hashStr","newHashStr","restoredUrl","querySecrets","originalQueryParams","tempUrl","newDefinition","metaframeDefinition","savedSecrets","savedQuerySecrets","savedOriginalParams","savedOriginalQueryParams","removed","added","newMetaframeId","client","newDefinitionUrl","originalParams","existingValue","previousDefinition","framesChanged","otherMetaframeId","inputPipes","id","iframeClient","outputPipeId","__","targets","inputPipe","targetName","inputPipeId","metaframeInputs","metapageInputs","metaframeValuesNew","isInputs","metaframePipeId","inputOrOutputState","metaframePipedId","inputsMetaframesNew","iframe","modified","outputKeys","collectedOutputs","outputKey","hashParamsUpdatePayload","cleanUrlStr","isMetaframeDivider","validateLayout","validated","layout","currentMaxY","allMetaframeIds","getVisibleGridLayoutData","desktopLayoutBlob","metaframesToHide","dividers","lowestYDivider","lowest","dividerY","visibleMetaframeIds","hiddenMetaframeIds","visibleLayoutItems","totalVisibleGridHeight","acc","renderMetapage","props","onOutputs","rootDiv","processMetapage","disposers","gridStyle","containerStyle","container","gridContainer","renderedMetaframes","layoutItem","itemStyle","wrapper","maxCol","hiddenContainer","isMetaframeHidden","getMetaframeKey","mfk","metapageDefinition"],"mappings":"AAGO,MAAMA,KAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;GAKWC,KAAsB,CAAC,OAAO,OAAO,KAAK,GAAG,GAI7CC,KAA6C,KAC7CC,KAA2C,KCjB3CC,KAAsB,kBAItBC,KAA0B,uBAI1BC,KAAqB,kBAErBC,KACXN,GAAoBA,GAAoB,SAAS,CAAC,GACvCO,KACXR,GAAqBA,GAAqB,SAAS,CAAC,GCfzCS,KAAS,8IACTC,KAAmB,CAACC,MAAY;AACzC,MAAI,OAAOA,KAAY;AACnB,UAAM,IAAI,UAAU,kCAAkC;AAE1D,QAAMC,IAAQD,EAAQ,MAAMF,EAAM;AAClC,MAAI,CAACG;AACD,UAAM,IAAI,MAAM,uCAAuCD,CAAO,aAAa;AAE/E,SAAAC,EAAM,MAAK,GACJA;AACX,GACMC,KAAa,CAACC,MAAMA,MAAM,OAAOA,MAAM,OAAOA,MAAM,KACpDC,KAAW,CAACC,MAAM;AACpB,QAAMC,IAAI,SAASD,GAAG,EAAE;AACxB,SAAO,MAAMC,CAAC,IAAID,IAAIC;AAC1B,GACMC,KAAY,CAACC,GAAGC,MAAM,OAAOD,KAAM,OAAOC,IAAI,CAAC,OAAOD,CAAC,GAAG,OAAOC,CAAC,CAAC,IAAI,CAACD,GAAGC,CAAC,GAC5EC,KAAiB,CAACF,GAAGC,MAAM;AAC7B,MAAIP,GAAWM,CAAC,KAAKN,GAAWO,CAAC;AAC7B,WAAO;AACX,QAAM,CAACE,GAAIC,CAAE,IAAIL,GAAUH,GAASI,CAAC,GAAGJ,GAASK,CAAC,CAAC;AACnD,SAAIE,IAAKC,IACE,IACPD,IAAKC,IACE,KACJ;AACX,GACaC,KAAkB,CAACL,GAAGC,MAAM;AACrC,WAASK,IAAI,GAAGA,IAAI,KAAK,IAAIN,EAAE,QAAQC,EAAE,MAAM,GAAGK,KAAK;AACnD,UAAMC,IAAIL,GAAeF,EAAEM,CAAC,KAAK,KAAKL,EAAEK,CAAC,KAAK,GAAG;AACjD,QAAIC,MAAM;AACN,aAAOA;AAAA,EACd;AACD,SAAO;AACX,GC3BaC,IAAkB,CAACC,GAAIC,MAAO;AAEvC,QAAMC,IAAKpB,GAAiBkB,CAAE,GACxBG,IAAKrB,GAAiBmB,CAAE,GAExBG,IAAKF,EAAG,OACRG,IAAKF,EAAG,OAER,IAAIP,GAAgBM,GAAIC,CAAE;AAChC,SAAI,MAAM,IACC,IAEPC,KAAMC,IACCT,GAAgBQ,EAAG,MAAM,GAAG,GAAGC,EAAG,MAAM,GAAG,CAAC,IAE9CD,KAAMC,IACJD,IAAK,KAAK,IAEd;AACX;;;;;;;AC3BA,GAAC,SAAUE,GAAQC,GAAS;AACqC,IAAAC,EAAiB,UAAAD,EAAO;AAAA,EAGzF,GAAGE,IAAO,WAAY;AAEpB,QAAIC,IAAa,SAAUC,GAAOC,GAAU;AAE1C,UADAA,IAAWA,KAAY,IACnB,OAAOD,KAAU;AACnB,cAAM,IAAIE,EAAc,0BAA0B;AAGpD,UAAI,OAAOD,KAAa;AACtB,cAAM,IAAIC,EAAc,4BAA4B;AAGtD,UAAID,EAAS,YAAY,UAAa,CAACE,EAAkBF,EAAS,OAAO;AACvE,cAAM,IAAIC,EAAc,oCAAoC;AAG9D,UAAID,EAAS,eAAe,UAAa,CAACE,EAAkBF,EAAS,UAAU,KAAK,OAAOA,EAAS,cAAe;AACjH,cAAM,IAAIC,EAAc,kFAAkF;AAG5G,UAAID,EAAS,YAAY,UAAa,CAAC,MAAM,QAAQA,EAAS,OAAO,KAAK,OAAOA,EAAS,WAAY;AACpG,cAAM,IAAIC,EAAc,+CAA+C;AAGzE,UAAIE,IAAe;AAAA,QACjB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAS,CAAE;AAAA,MACjB;AAEI,aAAAH,IAAW,OAAO,OAAOG,GAAcH,CAAQ,GAExC,SAAoBI,GAAOC,GAAM;AACtC,YAAIC,IAAUN,EAAS,SACnBO,IAAaP,EAAS,YACtBQ,IAAUR,EAAS;AAEvB,YAAIK,KAAQA,EAAK,YAAY;AAC3B,cAAIH,EAAkBG,EAAK,OAAO;AAChC,YAAAC,IAAUD,EAAK;AAAA;AAEf,kBAAM,IAAIJ,EAAc,oCAAoC;AAIhE,YAAII,KAAQA,EAAK,eAAe;AAC9B,cAAIH,EAAkBG,EAAK,UAAU,KAAM,OAAOA,EAAK,cAAe;AACpE,YAAAE,IAAaF,EAAK;AAAA;AAElB,kBAAM,IAAIJ,EAAc,kFAAkF;AAI9G,YAAII,KAAQA,EAAK;AACf,cAAI,MAAM,QAAQA,EAAK,OAAO,KAAM,OAAOA,EAAK,WAAY;AAC1D,YAAAG,IAAUH,EAAK;AAAA;AAEf,kBAAM,IAAIJ,EAAc,+CAA+C;AAK3E,eAAO,IAAI,QAAQ,SAAUQ,GAASC,GAAQ;AAC5C,cAAIC,IAAe,SAAUC,GAAS;AAGpC,gBAAIC,IACF,OAAO,UAAY,OAAeT,aAAiB,UAC/CA,EAAM,MAAO,IACbA;AACN,YAAAL,EAAMc,GAAQR,CAAI,EACf,KAAK,SAAUS,GAAU;AACxB,kBAAI,MAAM,QAAQN,CAAO,KAAKA,EAAQ,QAAQM,EAAS,MAAM,MAAM;AACjE,gBAAAL,EAAQK,CAAQ;AAAA,uBACP,OAAON,KAAY;AAC5B,oBAAI;AAEF,yBAAO,QAAQ,QAAQA,EAAQI,GAAS,MAAME,CAAQ,CAAC,EACpD,KAAK,SAAUC,GAAiB;AAC/B,oBAAGA,IACDC,EAAMJ,GAAS,MAAME,CAAQ,IAE7BL,EAAQK,CAAQ;AAAA,kBAExC,CAAqB,EAAE,MAAMJ,CAAM;AAAA,gBAClB,SAAQO,GAAO;AACd,kBAAAP,EAAOO,CAAK;AAAA,gBACb;AAAA;AAED,gBAAIL,IAAUN,IACZU,EAAMJ,GAAS,MAAME,CAAQ,IAE7BL,EAAQK,CAAQ;AAAA,YAGlC,CAAa,EACA,MAAM,SAAUG,GAAO;AACtB,kBAAI,OAAOT,KAAY;AACrB,oBAAI;AAEF,0BAAQ,QAAQA,EAAQI,GAASK,GAAO,IAAI,CAAC,EAC1C,KAAK,SAAUF,GAAiB;AAC/B,oBAAGA,IACDC,EAAMJ,GAASK,GAAO,IAAI,IAE1BP,EAAOO,CAAK;AAAA,kBAEpC,CAAqB,EACA,MAAM,SAASA,GAAO;AACrB,oBAAAP,EAAOO,CAAK;AAAA,kBAClC,CAAqB;AAAA,gBACJ,SAAOA,GAAO;AACb,kBAAAP,EAAOO,CAAK;AAAA,gBACb;AAAA;AACI,gBAAIL,IAAUN,IACnBU,EAAMJ,GAASK,GAAO,IAAI,IAE1BP,EAAOO,CAAK;AAAA,YAE5B,CAAa;AAAA,UACb;AAEQ,mBAASD,EAAMJ,GAASK,GAAOH,GAAU;AACvC,gBAAII,IAAS,OAAOX,KAAe,aACjCA,EAAWK,GAASK,GAAOH,CAAQ,IAAIP;AACzC,uBAAW,WAAY;AACrB,cAAAI,EAAa,EAAEC,CAAO;AAAA,YACvB,GAAEM,CAAK;AAAA,UACT;AAED,UAAAP,EAAa,CAAC;AAAA,QACtB,CAAO;AAAA,MACP;AAAA,IACA;AAEE,aAAST,EAAkBiB,GAAO;AAChC,aAAO,OAAO,UAAUA,CAAK,KAAKA,KAAS;AAAA,IAC5C;AAED,aAASlB,EAAcmB,GAAS;AAC9B,WAAK,OAAO,iBACZ,KAAK,UAAUA;AAAA,IAChB;AAED,WAAOtB;AAAA,EAET;;;mCCtJMuB,IAAY;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AACT,GAGMC,KAAc,OAAO,IAAI,0BAA0B,GACnDC,KAAoB,OAAO,gCAAgC,GAC3DC,KAAiB,OAAO,UACxBC,KAAY;AAAA,EACd,SAAS;AAAA,EACT,WAAW;AACf,GAEMC,KAAW,CAAA;AAEjB,SAASC,GAAIC,GAAQC,GAAK;AACtB,SAAOD,aAAkB,MACnBA,EAAO,IAAIC,CAAG,IACd,OAAO,UAAU,eAAe,KAAKD,GAAQC,CAAG;AAC1D;AACA,SAASC,GAAcF,GAAQC,GAAK;AAChC,MAAIA,KAAOD,GAAQ;AACf,QAAIG,IAAY,QAAQ,eAAeH,CAAM;AAC7C,WAAOG,KAAW;AACd,YAAMC,IAAa,QAAQ,yBAAyBD,GAAWF,CAAG;AAClE,UAAIG;AACA,eAAOA;AACX,MAAAD,IAAY,QAAQ,eAAeA,CAAS;AAAA,IAC/C;AAAA,EACJ;AAEL;AACA,SAASE,GAAkBC,GAAK;AAC5B,SAAO,OAAO,eAAeA,CAAG,MAAM,IAAI;AAC9C;AACA,SAASC,GAAkBD,GAAK;AAC5B,SAAO,OAAO,eAAeA,CAAG,MAAM,IAAI;AAC9C;AAEA,SAASE,GAAOC,GAAY;AACxB,MAAIC;AACJ,UAAQA,IAAKD,EAAW,UAAU,QAAQC,MAAO,SAASA,IAAKD,EAAW;AAC9E;AAIA,SAASE,GAAQX,GAAQ;AACrB,SAAO,CAAC,CAACY,EAAcZ,CAAM;AACjC;AACA,SAASY,EAAcrB,GAAO;AAC1B,SAAI,OAAOA,KAAU,WACV,OACJA,KAAU,OAA2B,SAASA,EAAMG,EAAW;AAC1E;AACA,SAASmB,GAAStB,GAAO;AACrB,MAAImB;AACJ,QAAMD,IAAaG,EAAcrB,CAAK;AACtC,SAAOkB,KAAeC,IAAKD,EAAW,UAAU,QAAQC,MAAO,SAASA,IAAKD,EAAW,WAAYlB;AACxG;AAIA,SAASuB,GAAYvB,GAAOwB,GAAS;AACjC,MAAI,CAACxB,KAAS,OAAOA,KAAU;AAC3B,WAAO;AACX,MAAIyB;AACJ,SAAQ,OAAO,eAAezB,CAAK,MAAM,OAAO,aAC5C,MAAM,QAAQA,CAAK,KACnBA,aAAiB,OACjBA,aAAiB,OAChB,CAAC,EAAEwB,KAAY,QAAsCA,EAAQ,WACxDC,IAAaD,EAAQ,KAAKxB,GAAOM,EAAS,OAAOA,GAAU,aACzD,OAAOmB,KAAe;AACtC;AACA,SAASC,GAAQjB,GAAQkB,IAAO,IAAI;AAChC,MAAI,OAAO,eAAe,KAAKlB,GAAQ,KAAK,GAAG;AAE3C,UAAMmB,IAAanB,EAAO,OAAO,MAC3BS,IAAaG,EAAcQ,GAAID,GAAYnB,EAAO,GAAG,CAAC;AAC5D,QAAIS,MAAe,SAASA,KAAe,OAAgC,SAASA,EAAW,cAAcT,EAAO;AAChH,aAAO;AAEX,UAAMqB,IAAQrB,EAAO,OAAO,SAAS,GAC/BC,IAAMoB,IACN,MAAM,KAAKrB,EAAO,OAAO,OAAO,KAAI,CAAE,EAAE,QAAQA,EAAO,GAAG,IAC1DA,EAAO;AAEb,QAAI,EAAGqB,KAASF,EAAW,OAAOlB,KAAQF,GAAIoB,GAAYlB,CAAG;AACzD,aAAO;AACX,IAAAiB,EAAK,KAAKjB,CAAG;AAAA,EAChB;AACD,MAAID,EAAO;AACP,WAAOiB,GAAQjB,EAAO,QAAQkB,CAAI;AAGtC,EAAAA,EAAK,QAAO;AACZ,MAAI;AAEA,IAAAI,GAAYtB,EAAO,MAAMkB,CAAI;AAAA,EAChC,QACS;AACN,WAAO;AAAA,EACV;AACD,SAAOA;AACX;AACA,SAASK,GAAQvB,GAAQ;AACrB,SAAI,MAAM,QAAQA,CAAM,IACb,IACPA,aAAkB,MACX,IACPA,aAAkB,MACX,IACJ;AACX;AACA,SAASoB,GAAIpB,GAAQC,GAAK;AACtB,SAAOsB,GAAQvB,CAAM,MAAM,IAAwBA,EAAO,IAAIC,CAAG,IAAID,EAAOC,CAAG;AACnF;AACA,SAASuB,GAAIxB,GAAQC,GAAKV,GAAO;AAE7B,EADagC,GAAQvB,CAAM,MACd,IACTA,EAAO,IAAIC,GAAKV,CAAK,IAGrBS,EAAOC,CAAG,IAAIV;AAEtB;AACA,SAASkC,GAAKzB,GAAQC,GAAK;AACvB,QAAMyB,IAAQd,EAAcZ,CAAM;AAElC,UADe0B,IAAQlB,GAAOkB,CAAK,IAAI1B,GACzBC,CAAG;AACrB;AACA,SAAS0B,GAAQC,GAAGC,GAAG;AACnB,SAAID,MAAMC,IACCD,MAAM,KAAK,IAAIA,MAAM,IAAIC,IAGzBD,MAAMA,KAAKC,MAAMA;AAEhC;AACA,SAASC,GAAYrB,GAAY;AAC7B,MAAKA;AAEL,WAAOA,EAAW,WAAW,OAAO,SAAS;AAEzC,MADeA,EAAW,WAAW,OAAO,IAAG;AAGvD;AAEA,SAASsB,GAAWb,GAAMc,GAAa;AACnC,SAAOA,IACDd,IACA,CAAC,EAAE,EACA,OAAOA,CAAI,EACX,IAAI,CAACe,MAAU;AAChB,UAAMC,IAAO,GAAGD,CAAK;AACrB,WAAIC,EAAK,QAAQ,GAAG,MAAM,MAAMA,EAAK,QAAQ,GAAG,MAAM,KAC3CA,IACJA,EAAK,QAAQ,MAAM,IAAI,EAAE,QAAQ,OAAO,IAAI;AAAA,EAC/D,CAAS,EACI,KAAK,GAAG;AACrB;AASA,SAASZ,GAAYa,GAAMjB,GAAM;AAC7B,WAASkB,IAAQ,GAAGA,IAAQlB,EAAK,SAAS,GAAGkB,KAAS,GAAG;AACrD,UAAMnC,IAAMiB,EAAKkB,CAAK;AAGtB,QADAD,IAAOf,GAAIG,GAAQY,CAAI,MAAM,IAAwB,MAAM,KAAKA,CAAI,IAAIA,GAAMlC,CAAG,GAC7E,OAAOkC,KAAS;AAChB,YAAM,IAAI,MAAM,4BAA4BjB,EAAK,KAAK,GAAG,CAAC,IAAI;AAAA,EAErE;AACD,SAAOiB;AACX;AAEA,SAASE,GAAWrC,GAAQ;AACxB,QAAMsC,IAAO,OAAO,OAAO,OAAO,eAAetC,CAAM,CAAC;AACxD,iBAAQ,QAAQA,CAAM,EAAE,QAAQ,CAACC,MAAQ;AACrC,QAAIsC,IAAO,QAAQ,yBAAyBvC,GAAQC,CAAG;AACvD,QAAIsC,EAAK,cAAcA,EAAK,gBAAgBA,EAAK,UAAU;AACvD,MAAAD,EAAKrC,CAAG,IAAID,EAAOC,CAAG;AACtB;AAAA,IACH;AAED,IAAKsC,EAAK,aACNA,EAAK,WAAW,IAChBA,EAAK,eAAe,MAEpBA,EAAK,OAAOA,EAAK,SACjBA,IAAO;AAAA,MACH,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAYA,EAAK;AAAA,MACjB,OAAOvC,EAAOC,CAAG;AAAA,IACjC,IACQ,QAAQ,eAAeqC,GAAMrC,GAAKsC,CAAI;AAAA,EAC9C,CAAK,GACMD;AACX;AACA,MAAME,KAAa,OAAO,UAAU;AACpC,SAASC,GAAYC,GAAU3B,GAAS;AACpC,MAAIC;AACJ,MAAI,MAAM,QAAQ0B,CAAQ;AACtB,WAAO,MAAM,UAAU,OAAO,KAAKA,CAAQ;AAE1C,MAAIA,aAAoB,KAAK;AAC9B,QAAI,CAACrC,GAAkBqC,CAAQ,GAAG;AAC9B,YAAMC,IAAW,OAAO,eAAeD,CAAQ,EAAE;AACjD,aAAO,IAAIC,EAASD,EAAS,OAAQ,CAAA;AAAA,IACxC;AACD,WAAO,IAAI,UAAU,aACf,IAAI,UAAU,WAAW,KAAKA,GAAU,oBAAI,KAAK,IACjD,IAAI,IAAIA,EAAS,OAAM,CAAE;AAAA,EAClC,WACQA,aAAoB,KAAK;AAC9B,QAAI,CAACnC,GAAkBmC,CAAQ,GAAG;AAC9B,YAAMC,IAAW,OAAO,eAAeD,CAAQ,EAAE;AACjD,aAAO,IAAIC,EAASD,CAAQ;AAAA,IAC/B;AACD,WAAO,IAAI,IAAIA,CAAQ;AAAA,EAC1B,WACS3B,KAAY,QAAsCA,EAAQ,SAC9DC,IAAaD,EAAQ,KAAK2B,GAAU7C,EAAS,GAC3CmB,MAAe,WACnBA,MAAenB,GAAU,SAAS;AAClC,QAAImB,MAAenB,GAAU;AACzB,aAAOwC,GAAWK,CAAQ;AAEzB,QAAI,OAAO1B,KAAe,YAAY;AACvC,UAAKD,EAAQ,iBAAiBA,EAAQ;AAClC,cAAM,IAAI,MAAM,yDAAyD;AAE7E,aAAOC,EAAU;AAAA,IACpB;AACD,UAAM,IAAI,MAAM,4BAA4BA,CAAU,EAAE;AAAA,EAC3D,WACQ,OAAO0B,KAAa,YACzB,OAAO,eAAeA,CAAQ,MAAM,OAAO,WAAW;AAGtD,UAAMJ,IAAO,CAAA;AACb,kBAAO,KAAKI,CAAQ,EAAE,QAAQ,CAACzC,MAAQ;AACnC,MAAAqC,EAAKrC,CAAG,IAAIyC,EAASzC,CAAG;AAAA,IACpC,CAAS,GACD,OAAO,sBAAsByC,CAAQ,EAAE,QAAQ,CAACzC,MAAQ;AACpD,MAAIuC,GAAW,KAAKE,GAAUzC,CAAG,MAC7BqC,EAAKrC,CAAG,IAAIyC,EAASzC,CAAG;AAAA,IAExC,CAAS,GACMqC;AAAA,EACV;AAEG,UAAM,IAAI,MAAM,8EAA8E;AAEtG;AACA,SAASM,EAAkB5C,GAAQ;AAC/B,EAAIA,EAAO,SAEXA,EAAO,OAAOyC,GAAYzC,EAAO,UAAUA,EAAO,OAAO;AAC7D;AACA,SAAS6C,GAAU7C,GAAQ;AACvB,MAAI,CAACc,GAAYd,CAAM;AACnB,WAAOa,GAASb,CAAM;AAC1B,MAAI,MAAM,QAAQA,CAAM;AACpB,WAAOA,EAAO,IAAI6C,EAAS;AAC/B,MAAI7C,aAAkB,KAAK;AACvB,UAAM8C,IAAW,MAAM,KAAK9C,EAAO,SAAS,EAAE,IAAI,CAAC,CAAC+C,GAAGnG,CAAC,MAAM;AAAA,MAC1DmG;AAAA,MACAF,GAAUjG,CAAC;AAAA,IACvB,CAAS;AACD,QAAI,CAAC2D,GAAkBP,CAAM,GAAG;AAC5B,YAAM2C,IAAW,OAAO,eAAe3C,CAAM,EAAE;AAC/C,aAAO,IAAI2C,EAASG,CAAQ;AAAA,IAC/B;AACD,WAAO,IAAI,IAAIA,CAAQ;AAAA,EAC1B;AACD,MAAI9C,aAAkB,KAAK;AACvB,UAAM8C,IAAW,MAAM,KAAK9C,CAAM,EAAE,IAAI6C,EAAS;AACjD,QAAI,CAACxC,GAAkBL,CAAM,GAAG;AAC5B,YAAM2C,IAAW,OAAO,eAAe3C,CAAM,EAAE;AAC/C,aAAO,IAAI2C,EAASG,CAAQ;AAAA,IAC/B;AACD,WAAO,IAAI,IAAIA,CAAQ;AAAA,EAC1B;AACD,QAAMR,IAAO,OAAO,OAAO,OAAO,eAAetC,CAAM,CAAC;AACxD,aAAWC,KAAOD;AACd,IAAAsC,EAAKrC,CAAG,IAAI4C,GAAU7C,EAAOC,CAAG,CAAC;AACrC,SAAOqC;AACX;AACA,SAASU,GAAchD,GAAQ;AAC3B,SAAOW,GAAQX,CAAM,IAAI6C,GAAU7C,CAAM,IAAIA;AACjD;AAEA,SAASiD,GAAYxC,GAAY;AAC7B,MAAIC;AACJ,EAAAD,EAAW,eAAeC,IAAKD,EAAW,iBAAiB,QAAQC,MAAO,SAASA,IAAK,oBAAI,IAAG,GAC1FD,EAAW,aACZA,EAAW,WAAW,IAClBA,EAAW,UACXwC,GAAYxC,EAAW,MAAM;AAGzC;AAEA,SAASyC,KAAmB;AACxB,QAAM,IAAI,MAAM,6BAA6B;AACjD;AACA,SAASC,GAAWnD,GAAQoD,GAAQC,GAAeC,GAAOC,GAAM;AAC5D;AACI,IAAAF,IAAgBA,KAAqE,oBAAI,WACzFC,IAAQA,KAA6C,IACrDC,IAAOA,KAA0C;AACjD,UAAMhE,IAAQ8D,EAAc,IAAIrD,CAAM,IAChCqD,EAAc,IAAIrD,CAAM,IACxBA;AACN,QAAIsD,EAAM,SAAS,GAAG;AAClB,YAAMlB,IAAQkB,EAAM,QAAQ/D,CAAK;AACjC,UAAIA,KAAS,OAAOA,KAAU,YAAY6C,MAAU;AAChD,cAAIkB,EAAM,CAAC,MAAM/D,IACP,IAAI,MAAM,4BAA4B,IAE1C,IAAI,MAAM,iCAAiCgE,EAC5C,MAAM,GAAGnB,CAAK,EACd,IAAI,CAACnC,GAAKmC,MAAU;AACrB,cAAI,OAAOnC,KAAQ;AACf,mBAAO,IAAIA,EAAI,SAAU,CAAA;AAC7B,gBAAMuD,IAASF,EAAMlB,CAAK;AAC1B,iBAAI,OAAOnC,KAAQ,aACduD,aAAkB,OAAOA,aAAkB,OACrC,MAAM,KAAKA,EAAO,KAAI,CAAE,EAAE,QAAQvD,CAAG,IACzCA;AAAA,QAC3B,CAAiB,EACI,KAAK,GAAG,CAAC,EAAE;AAEpB,MAAAqD,EAAM,KAAK/D,CAAK,GAChBgE,EAAK,KAAKH,CAAM;AAAA,IACnB;AAEG,MAAAE,EAAM,KAAK/D,CAAK;AAAA,EAEvB;AACD,MAAI,OAAO,SAASS,CAAM,KAAKW,GAAQX,CAAM,GAAG;AAExC,IAAAsD,EAAM,IAAG,GACTC,EAAK,IAAG;AAEZ;AAAA,EACH;AAED,UADahC,GAAQvB,CAAM,GACf;AAAA,IACR,KAAK;AACD,iBAAW,CAACC,GAAKV,CAAK,KAAKS;AACvB,QAAAmD,GAAWlD,GAAKA,GAAKoD,GAAeC,GAAOC,CAAI,GAC/CJ,GAAW5D,GAAOU,GAAKoD,GAAeC,GAAOC,CAAI;AAErD,MAAAvD,EAAO,MAAMA,EAAO,QAAQA,EAAO,SAASkD;AAC5C;AAAA,IACJ,KAAK;AACD,iBAAW3D,KAASS;AAChB,QAAAmD,GAAW5D,GAAOA,GAAO8D,GAAeC,GAAOC,CAAI;AAEvD,MAAAvD,EAAO,MAAMA,EAAO,QAAQA,EAAO,SAASkD;AAC5C;AAAA,IACJ,KAAK;AACD,aAAO,OAAOlD,CAAM;AACpB,UAAIoC,IAAQ;AACZ,iBAAW7C,KAASS;AAChB,QAAAmD,GAAW5D,GAAO6C,GAAOiB,GAAeC,GAAOC,CAAI,GACnDnB,KAAS;AAEb;AAAA,IACJ;AACI,aAAO,OAAOpC,CAAM,GAEpB,OAAO,KAAKA,CAAM,EAAE,QAAQ,CAACyD,MAAS;AAClC,cAAMlE,IAAQS,EAAOyD,CAAI;AACzB,QAAAN,GAAW5D,GAAOkE,GAAMJ,GAAeC,GAAOC,CAAI;AAAA,MAClE,CAAa;AAAA,EACR;AAEG,EAAAD,EAAM,IAAG,GACTC,EAAK,IAAG;AAEhB;AAEA,SAASG,GAAQ1D,GAAQ2D,GAAM;AAC3B,QAAMC,IAAOrC,GAAQvB,CAAM;AAC3B,MAAI4D,MAAS;AACT,YAAQ,QAAQ5D,CAAM,EAAE,QAAQ,CAACC,MAAQ;AACrC,MAAA0D,EAAK1D,GAAKD,EAAOC,CAAG,GAAGD,CAAM;AAAA,IACzC,CAAS;AAAA,WAEI4D,MAAS,GAAyB;AACvC,QAAIxB,IAAQ;AACZ,eAAWyB,KAAS7D;AAChB,MAAA2D,EAAKvB,GAAOyB,GAAO7D,CAAM,GACzBoC,KAAS;AAAA,EAEhB;AAEG,IAAApC,EAAO,QAAQ,CAAC6D,GAAOzB,MAAUuB,EAAKvB,GAAOyB,GAAO7D,CAAM,CAAC;AAEnE;AAEA,SAAS8D,GAAY9D,GAAQ+D,GAAYhD,GAAS;AAC9C,MAAIJ,GAAQX,CAAM,KACd,CAACc,GAAYd,GAAQe,CAAO,KAC5BgD,EAAW,IAAI/D,CAAM,KACrB,OAAO,SAASA,CAAM;AACtB;AACJ,QAAMqB,IAAQrB,aAAkB,KAC1BgE,IAAS3C,IAAQ,oBAAI,IAAG,IAAK;AAkBnC,MAjBA0C,EAAW,IAAI/D,CAAM,GACrB0D,GAAQ1D,GAAQ,CAACC,GAAKV,MAAU;AAC5B,QAAImB;AACJ,QAAIC,GAAQpB,CAAK,GAAG;AAChB,YAAMkB,IAAaG,EAAcrB,CAAK;AACtC,MAAAqD,EAAkBnC,CAAU;AAE5B,YAAMwD,IAAiB,GAAAvD,IAAKD,EAAW,iBAAiB,QAAQC,MAAO,WAAkBA,EAAG,QAASD,EAAW,WAC1GA,EAAW,OACXA,EAAW;AAEjB,MAAAe,GAAIH,IAAQ2C,IAAShE,GAAQC,GAAKgE,CAAY;AAAA,IACjD;AAEG,MAAAH,GAAYvE,GAAOwE,GAAYhD,CAAO;AAAA,EAElD,CAAK,GACGiD,GAAQ;AACR,UAAMxC,IAAMxB,GACNkE,IAAS,MAAM,KAAK1C,CAAG;AAC7B,IAAAA,EAAI,MAAK,GACT0C,EAAO,QAAQ,CAAC3E,MAAU;AACtB,MAAAiC,EAAI,IAAIwC,EAAO,IAAIzE,CAAK,IAAIyE,EAAO,IAAIzE,CAAK,IAAIA,CAAK;AAAA,IACjE,CAAS;AAAA,EACJ;AACL;AACA,SAAS4E,GAAiB1D,GAAYR,GAAK;AAEvC,QAAMqC,IAAO7B,EAAW,SAAS,IAAwBA,EAAW,SAASA,EAAW;AACxF,EAAIA,EAAW,WAAW,OAAO,SAAS,KACtCA,EAAW,YAAY,IAAIR,CAAG,KAC9BqC,KACAwB,GAAY1C,GAAIkB,GAAMrC,CAAG,GAAGQ,EAAW,WAAW,YAAYA,EAAW,OAAO;AAExF;AACA,SAAS2D,GAAiBpE,GAAQ;AAC9B,EAAIA,EAAO,SAAS,KAAyBA,EAAO,SAChDA,EAAO,KAAK,SACZA,EAAO,OAAO,QAAQ,CAACT,MAAU;AAC7B,IAAAS,EAAO,KAAK,IAAIa,GAAStB,CAAK,CAAC;AAAA,EAC3C,CAAS;AAET;AACA,SAAS8E,GAAgBrE,GAAQsE,GAAiBC,GAASC,GAAgB;AAKvE,MAJuBxE,EAAO,YAC1BA,EAAO,eACPA,EAAO,YAAY,OAAO,KAC1B,CAACA,EAAO,WACQ;AAChB,QAAIuE,KAAWC,GAAgB;AAC3B,YAAMC,IAAWxD,GAAQjB,CAAM;AAC/B,MAAIyE,KACAH,EAAgBtE,GAAQyE,GAAUF,GAASC,CAAc;AAAA,IAEhE;AACD,IAAAxE,EAAO,YAAY;AAAA,EACtB;AACL;AACA,SAAS0E,GAAiB1E,GAAQC,GAAKV,GAAO+E,GAAiB;AAC3D,QAAM7D,IAAaG,EAAcrB,CAAK;AACtC,EAAIkB,MAEKA,EAAW,cACZA,EAAW,YAAY,KAE3BA,EAAW,UAAU,KAAK,CAAC8D,GAASC,MAAmB;AACnD,QAAI9D;AACJ,UAAM4B,IAAOtC,EAAO,SAAS,IAAwBA,EAAO,SAASA,EAAO;AAC5E,QAAI2B,GAAQP,GAAIkB,GAAMrC,CAAG,GAAGV,CAAK,GAAG;AAChC,UAAI0E,IAAexD,EAAW;AAC9B,MAAIA,EAAW,SACXwD,IAAexD,EAAW,OAE9B2D,GAAiBpE,CAAM,GACvBqE,GAAgBrE,GAAQsE,GAAiBC,GAASC,CAAc,GAC5DxE,EAAO,QAAQ,qBACfA,EAAO,QAAQ,iBACVU,IAAKV,EAAO,QAAQ,mBAAmB,QAAQU,MAAO,SAASA,IAAK,oBAAI,QAAO,GACpFV,EAAO,QAAQ,cAAc,IAAIiE,GAAcxD,EAAW,QAAQ,IAGtEe,GAAIc,GAAMrC,GAAKgE,CAAY;AAAA,IAC9B;AAAA,EACb,CAAS,GACGjE,EAAO,QAAQ,oBAEXS,EAAW,eAAeT,EAAO,eACjCA,EAAO,QAAQ,mBAAmB,MAI1Cc,GAAYvB,GAAOS,EAAO,OAAO,KAEjCA,EAAO,WAAW,MAAM,KAAK,MAAM;AAC/B,UAAMsC,IAAOtC,EAAO,SAAS,IAAwBA,EAAO,SAASA,EAAO;AAC5E,IAAI2B,GAAQP,GAAIkB,GAAMrC,CAAG,GAAGV,CAAK,KAC7B4E,GAAiBnE,GAAQC,CAAG;AAAA,EAE5C,CAAS;AAET;AAEA,SAAS0E,GAAqBC,GAAYH,GAAUF,GAASC,GAAgBxC,GAAa;AACtF,MAAI,EAAE,UAAAU,GAAU,aAAAmC,GAAa,SAAA9D,EAAO,IAAK6D,GACrCtC,IAAOsC,EAAW;AACtB,EAAItC,EAAK,SAASI,EAAS,WACvB,CAACA,GAAUJ,CAAI,IAAI,CAACA,GAAMI,CAAQ,GAClC,CAAC6B,GAASC,CAAc,IAAI,CAACA,GAAgBD,CAAO;AAExD,WAASnC,IAAQ,GAAGA,IAAQM,EAAS,QAAQN,KAAS;AAClD,QAAIyC,EAAY,IAAIzC,EAAM,SAAU,CAAA,KAAKE,EAAKF,CAAK,MAAMM,EAASN,CAAK,GAAG;AACtE,YAAM0C,IAAQL,EAAS,OAAO,CAACrC,CAAK,CAAC,GAC/BlB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,MAAAuC,EAAQ,KAAK;AAAA,QACT,IAAI9E,EAAU;AAAA,QACd,MAAAyB;AAAA;AAAA,QAEA,OAAO8B,GAAcV,EAAKF,CAAK,CAAC;AAAA,MAChD,CAAa,GACDoC,EAAe,KAAK;AAAA,QAChB,IAAI/E,EAAU;AAAA,QACd,MAAAyB;AAAA;AAAA,QAEA,OAAO8B,GAAcN,EAASN,CAAK,CAAC;AAAA,MACpD,CAAa;AAAA,IACJ;AAEL,WAASA,IAAQM,EAAS,QAAQN,IAAQE,EAAK,QAAQF,KAAS,GAAG;AAC/D,UAAM0C,IAAQL,EAAS,OAAO,CAACrC,CAAK,CAAC,GAC/BlB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,IAAAuC,EAAQ,KAAK;AAAA,MACT,IAAI9E,EAAU;AAAA,MACd,MAAAyB;AAAA;AAAA,MAEA,OAAO8B,GAAcV,EAAKF,CAAK,CAAC;AAAA,IAC5C,CAAS;AAAA,EACJ;AACD,MAAIM,EAAS,SAASJ,EAAK,QAAQ;AAI/B,UAAM,EAAE,uBAAAyC,IAAwB,OAAShE,EAAQ;AACjD,QAAIgE,GAAuB;AACvB,YAAMD,IAAQL,EAAS,OAAO,CAAC,QAAQ,CAAC,GAClCvD,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,MAAAwC,EAAe,KAAK;AAAA,QAChB,IAAI/E,EAAU;AAAA,QACd,MAAAyB;AAAA,QACA,OAAOwB,EAAS;AAAA,MAChC,CAAa;AAAA,IACJ;AAEG,eAASN,IAAQE,EAAK,QAAQI,EAAS,SAASN,GAAOA,KAAS,GAAG;AAC/D,cAAM0C,IAAQL,EAAS,OAAO,CAACrC,IAAQ,CAAC,CAAC,GACnClB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,QAAAwC,EAAe,KAAK;AAAA,UAChB,IAAI/E,EAAU;AAAA,UACd,MAAAyB;AAAA,QACpB,CAAiB;AAAA,MACJ;AAAA,EAER;AACL;AACA,SAAS8D,GAA4B,EAAE,UAAAtC,GAAU,MAAAJ,GAAM,aAAAuC,EAAa,GAAEJ,GAAUF,GAASC,GAAgBxC,GAAa;AAClH,EAAA6C,EAAY,QAAQ,CAACI,GAAehF,MAAQ;AACxC,UAAMiF,IAAgB9D,GAAIsB,GAAUzC,CAAG,GACjCV,IAAQyD,GAAc5B,GAAIkB,GAAMrC,CAAG,CAAC,GACpCkF,IAAMF,IAENlF,GAAI2C,GAAUzC,CAAG,IACbR,EAAU,UACVA,EAAU,MAHdA,EAAU;AAIhB,QAAIkC,GAAQuD,GAAe3F,CAAK,KAAK4F,MAAO1F,EAAU;AAClD;AACJ,UAAMqF,IAAQL,EAAS,OAAOxE,CAAG,GAC3BiB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,IAAAuC,EAAQ,KAAKY,MAAO1F,EAAU,SAAS,EAAE,IAAA0F,GAAI,MAAAjE,EAAI,IAAK,EAAE,IAAAiE,GAAI,MAAAjE,GAAM,OAAA3B,EAAO,CAAA,GACzEiF,EAAe,KAAKW,MAAO1F,EAAU,MAC/B,EAAE,IAAIA,EAAU,QAAQ,MAAAyB,EAAM,IAC9BiE,MAAO1F,EAAU,SACb,EAAE,IAAIA,EAAU,KAAK,MAAAyB,GAAM,OAAOgE,EAAe,IACjD,EAAE,IAAIzF,EAAU,SAAS,MAAAyB,GAAM,OAAOgE,EAAa,CAAE;AAAA,EACvE,CAAK;AACL;AACA,SAASE,GAAmB,EAAE,UAAA1C,GAAU,MAAAJ,EAAI,GAAImC,GAAUF,GAASC,GAAgBxC,GAAa;AAC5F,MAAII,IAAQ;AACZ,EAAAM,EAAS,QAAQ,CAACnD,MAAU;AACxB,QAAI,CAAC+C,EAAK,IAAI/C,CAAK,GAAG;AAClB,YAAMuF,IAAQL,EAAS,OAAO,CAACrC,CAAK,CAAC,GAC/BlB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,MAAAuC,EAAQ,KAAK;AAAA,QACT,IAAI9E,EAAU;AAAA,QACd,MAAAyB;AAAA,QACA,OAAA3B;AAAA,MAChB,CAAa,GACDiF,EAAe,QAAQ;AAAA,QACnB,IAAI/E,EAAU;AAAA,QACd,MAAAyB;AAAA,QACA,OAAA3B;AAAA,MAChB,CAAa;AAAA,IACJ;AACD,IAAA6C,KAAS;AAAA,EACjB,CAAK,GACDA,IAAQ,GACRE,EAAK,QAAQ,CAAC/C,MAAU;AACpB,QAAI,CAACmD,EAAS,IAAInD,CAAK,GAAG;AACtB,YAAMuF,IAAQL,EAAS,OAAO,CAACrC,CAAK,CAAC,GAC/BlB,IAAOa,GAAW+C,GAAO9C,CAAW;AAC1C,MAAAuC,EAAQ,KAAK;AAAA,QACT,IAAI9E,EAAU;AAAA,QACd,MAAAyB;AAAA,QACA,OAAA3B;AAAA,MAChB,CAAa,GACDiF,EAAe,QAAQ;AAAA,QACnB,IAAI/E,EAAU;AAAA,QACd,MAAAyB;AAAA,QACA,OAAA3B;AAAA,MAChB,CAAa;AAAA,IACJ;AACD,IAAA6C,KAAS;AAAA,EACjB,CAAK;AACL;AACA,SAASkC,GAAgBM,GAAYH,GAAUF,GAASC,GAAgB;AACpE,QAAM,EAAE,aAAAxC,IAAc,GAAI,IAAK4C,EAAW,QAAQ;AAClD,UAAQA,EAAW,MAAI;AAAA,IACnB,KAAK;AAAA,IACL,KAAK;AACD,aAAOI,GAA4BJ,GAAYH,GAAUF,GAASC,GAAgBxC,CAAW;AAAA,IACjG,KAAK;AACD,aAAO2C,GAAqBC,GAAYH,GAAUF,GAASC,GAAgBxC,CAAW;AAAA,IAC1F,KAAK;AACD,aAAOoD,GAAmBR,GAAYH,GAAUF,GAASC,GAAgBxC,CAAW;AAAA,EAC3F;AACL;AAEA,IAAIqD,KAAW;AACf,MAAMC,KAAgB,CAAC/F,GAAOwB,GAASwE,IAAuB,OAAU;AACpE,MAAI,OAAOhG,KAAU,YACjBA,MAAU,SACT,CAACuB,GAAYvB,GAAOwB,CAAO,KAAKwE,MACjC,CAACF;AACD,UAAM,IAAI,MAAM,4FAA4F;AAEpH,GA2CMG,KAAa;AAAA,EACf,IAAI,OAAO;AAEP,WADgBhF,GAAOI,EAAc,IAAI,CAAC,EAC3B;AAAA,EAClB;AAAA,EACD,IAAIX,GAAK;AACL,WAAOO,GAAOI,EAAc,IAAI,CAAC,EAAE,IAAIX,CAAG;AAAA,EAC7C;AAAA,EACD,IAAIA,GAAKV,GAAO;AACZ,UAAMS,IAASY,EAAc,IAAI,GAC3B6E,IAASjF,GAAOR,CAAM;AAC5B,YAAI,CAACyF,EAAO,IAAIxF,CAAG,KAAK,CAAC0B,GAAQ8D,EAAO,IAAIxF,CAAG,GAAGV,CAAK,OACnDqD,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GAClBA,EAAO,YAAY,IAAIC,GAAK,EAAI,GAChCD,EAAO,KAAK,IAAIC,GAAKV,CAAK,GAC1BmF,GAAiB1E,GAAQC,GAAKV,GAAO+E,EAAe,IAEjD;AAAA,EACV;AAAA,EACD,OAAOrE,GAAK;AACR,QAAI,CAAC,KAAK,IAAIA,CAAG;AACb,aAAO;AAEX,UAAMD,IAASY,EAAc,IAAI;AACjC,WAAAgC,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GACdA,EAAO,SAAS,IAAIC,CAAG,IACvBD,EAAO,YAAY,IAAIC,GAAK,EAAK,IAGjCD,EAAO,YAAY,OAAOC,CAAG,GAEjCD,EAAO,KAAK,OAAOC,CAAG,GACf;AAAA,EACV;AAAA,EACD,QAAQ;AACJ,UAAMD,IAASY,EAAc,IAAI;AACjC,QAAK,KAAK,MAEV;AAAA,MAAAgC,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GAClBA,EAAO,cAAc,oBAAI;AACzB,iBAAW,CAACC,CAAG,KAAKD,EAAO;AACvB,QAAAA,EAAO,YAAY,IAAIC,GAAK,EAAK;AAErC,MAAAD,EAAO,KAAK;;EACf;AAAA,EACD,QAAQ0F,GAAUC,GAAS;AACvB,UAAM3F,IAASY,EAAc,IAAI;AACjC,IAAAJ,GAAOR,CAAM,EAAE,QAAQ,CAAC4F,GAAQC,MAAS;AACrC,MAAAH,EAAS,KAAKC,GAAS,KAAK,IAAIE,CAAI,GAAGA,GAAM,IAAI;AAAA,IAC7D,CAAS;AAAA,EACJ;AAAA,EACD,IAAI5F,GAAK;AACL,QAAIS,GAAIoF;AACR,UAAM9F,IAASY,EAAc,IAAI,GAC3BrB,IAAQiB,GAAOR,CAAM,EAAE,IAAIC,CAAG,GAC9B8F,MAAYD,KAAMpF,IAAKV,EAAO,SAAS,UAAU,QAAQ8F,MAAO,SAAS,SAASA,EAAG,KAAKpF,GAAInB,GAAOM,EAAS,OAAOA,GAAU;AAWrI,QAVIG,EAAO,QAAQ,UACfsF,GAAc/F,GAAOS,EAAO,SAAS+F,CAAO,GAE5CA,KAGA/F,EAAO,aAAa,CAACc,GAAYvB,GAAOS,EAAO,OAAO,KAItDT,MAAUS,EAAO,SAAS,IAAIC,CAAG;AACjC,aAAOV;AAEX,UAAMyG,IAAQlG,GAAS,YAAY;AAAA,MAC/B,UAAUP;AAAA,MACV,aAAaS;AAAA,MACb,KAAAC;AAAA,MACA,YAAYD,EAAO;AAAA,MACnB,SAASA,EAAO;AAAA,IAC5B,CAAS;AACD,WAAA4C,EAAkB5C,CAAM,GACxBA,EAAO,KAAK,IAAIC,GAAK+F,CAAK,GACnBA;AAAA,EACV;AAAA,EACD,OAAO;AACH,WAAOxF,GAAOI,EAAc,IAAI,CAAC,EAAE,KAAI;AAAA,EAC1C;AAAA,EACD,SAAS;AACL,UAAMqF,IAAW,KAAK;AACtB,WAAO;AAAA,MACH,CAACrG,EAAc,GAAG,MAAM,KAAK,OAAQ;AAAA,MACrC,MAAM,MAAM;AACR,cAAMsG,IAASD,EAAS;AACxB,eAAIC,EAAO,OACAA,IAEJ;AAAA,UACH,MAAM;AAAA,UACN,OAHU,KAAK,IAAIA,EAAO,KAAK;AAAA,QAInD;AAAA,MACa;AAAA,IACb;AAAA,EACK;AAAA,EACD,UAAU;AACN,UAAMD,IAAW,KAAK;AACtB,WAAO;AAAA,MACH,CAACrG,EAAc,GAAG,MAAM,KAAK,QAAS;AAAA,MACtC,MAAM,MAAM;AACR,cAAMsG,IAASD,EAAS;AACxB,YAAIC,EAAO;AACP,iBAAOA;AACX,cAAM3G,IAAQ,KAAK,IAAI2G,EAAO,KAAK;AACnC,eAAO;AAAA,UACH,MAAM;AAAA,UACN,OAAO,CAACA,EAAO,OAAO3G,CAAK;AAAA,QAC/C;AAAA,MACa;AAAA,IACb;AAAA,EACK;AAAA,EACD,CAACK,EAAc,IAAI;AACf,WAAO,KAAK;EACf;AACL,GACMuG,KAAiB,QAAQ,QAAQX,EAAU,GAE3CY,KAAkB,CAACpG,GAAQiG,GAAU,EAAE,kBAAAI,EAAkB,MAAK,MAAM;AACtE,MAAI3F,GAAIoF;AACR,QAAMI,IAASD,EAAS;AACxB,MAAIC,EAAO;AACP,WAAOA;AACX,QAAMjG,IAAMiG,EAAO;AACnB,MAAI3G,IAAQS,EAAO,OAAO,IAAIC,CAAG;AACjC,QAAMqG,IAAe1F,EAAcrB,CAAK,GAClCwG,MAAYD,KAAMpF,IAAKV,EAAO,SAAS,UAAU,QAAQ8F,MAAO,SAAS,SAASA,EAAG,KAAKpF,GAAInB,GAAOM,EAAS,OAAOA,GAAU;AAIrI,MAHIG,EAAO,QAAQ,UACfsF,GAAcrF,GAAKD,EAAO,SAAS+F,CAAO,GAE1C,CAACA,KACD,CAACO,KACDxF,GAAYb,GAAKD,EAAO,OAAO,KAC/B,CAACA,EAAO,aACRA,EAAO,SAAS,IAAIC,CAAG,GAAG;AAE1B,UAAMsG,IAAQzG,GAAS,YAAY;AAAA,MAC/B,UAAUG;AAAA,MACV,aAAaD;AAAA,MACb,KAAAC;AAAA,MACA,YAAYD,EAAO;AAAA,MACnB,SAASA,EAAO;AAAA,IAC5B,CAAS;AACD,IAAAA,EAAO,OAAO,IAAIC,GAAKsG,CAAK,GAC5BhH,IAAQgH;AAAA,EACX;AACI,IAAID,MAEL/G,IAAQ+G,EAAa;AAEzB,SAAO;AAAA,IACH,MAAM;AAAA,IACN,OAAOD,IAAmB9G,IAAQ,CAACA,GAAOA,CAAK;AAAA,EACvD;AACA,GACMiH,KAAa;AAAA,EACf,IAAI,OAAO;AAEP,WADe5F,EAAc,IAAI,EACnB,OAAO;AAAA,EACxB;AAAA,EACD,IAAIrB,GAAO;AACP,UAAMS,IAASY,EAAc,IAAI;AAEjC,QAAIZ,EAAO,OAAO,IAAIT,CAAK;AACvB,aAAO;AACX,IAAAqD,EAAkB5C,CAAM;AACxB,UAAMyG,IAAkB7F,EAAcrB,CAAK;AAE3C,WAAI,GAAAkH,KAAmBzG,EAAO,OAAO,IAAIyG,EAAgB,QAAQ;AAAA,EAGpE;AAAA,EACD,IAAIlH,GAAO;AACP,UAAMS,IAASY,EAAc,IAAI;AACjC,WAAK,KAAK,IAAIrB,CAAK,MACfqD,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GAClBA,EAAO,YAAY,IAAIT,GAAO,EAAI,GAClCS,EAAO,OAAO,IAAIT,GAAOA,CAAK,GAC9BmF,GAAiB1E,GAAQT,GAAOA,GAAO+E,EAAe,IAEnD;AAAA,EACV;AAAA,EACD,OAAO/E,GAAO;AACV,QAAI,CAAC,KAAK,IAAIA,CAAK;AACf,aAAO;AAEX,UAAMS,IAASY,EAAc,IAAI;AACjC,IAAAgC,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM;AAClB,UAAMyG,IAAkB7F,EAAcrB,CAAK;AAC3C,WAAIkH,KAAmBzG,EAAO,OAAO,IAAIyG,EAAgB,QAAQ,KAE7DzG,EAAO,YAAY,IAAIyG,EAAgB,UAAU,EAAK,GAC/CzG,EAAO,OAAO,OAAOyG,EAAgB,QAAQ,MAEpD,CAACA,KAAmBzG,EAAO,OAAO,IAAIT,CAAK,IAE3CS,EAAO,YAAY,IAAIT,GAAO,EAAK,IAInCS,EAAO,YAAY,OAAOT,CAAK,GAG5BS,EAAO,OAAO,OAAOT,CAAK;AAAA,EACpC;AAAA,EACD,QAAQ;AACJ,QAAI,CAAC,KAAK;AACN;AACJ,UAAMS,IAASY,EAAc,IAAI;AACjC,IAAAgC,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM;AAClB,eAAWT,KAASS,EAAO;AACvB,MAAAA,EAAO,YAAY,IAAIT,GAAO,EAAK;AAEvC,IAAAS,EAAO,OAAO;EACjB;AAAA,EACD,SAAS;AACL,UAAMA,IAASY,EAAc,IAAI;AACjC,IAAAgC,EAAkB5C,CAAM;AACxB,UAAMiG,IAAWjG,EAAO,OAAO,KAAI;AACnC,WAAO;AAAA,MACH,CAAC,OAAO,QAAQ,GAAG,MAAM,KAAK,OAAQ;AAAA,MACtC,MAAMoG,GAAgBpG,GAAQiG,GAAU,EAAE,kBAAkB,IAAM;AAAA,IAC9E;AAAA,EACK;AAAA,EACD,UAAU;AACN,UAAMjG,IAASY,EAAc,IAAI;AACjC,IAAAgC,EAAkB5C,CAAM;AACxB,UAAMiG,IAAWjG,EAAO,OAAO,KAAI;AACnC,WAAO;AAAA,MACH,CAAC,OAAO,QAAQ,GAAG,MAAM,KAAK,QAAS;AAAA,MACvC,MAAMoG,GAAgBpG,GAAQiG,GAAU;AAAA,QACpC,kBAAkB;AAAA,MAClC,CAAa;AAAA,IACb;AAAA,EACK;AAAA,EACD,OAAO;AACH,WAAO,KAAK;EACf;AAAA,EACD,CAACrG,EAAc,IAAI;AACf,WAAO,KAAK;EACf;AAAA,EACD,QAAQ8F,GAAUC,GAAS;AACvB,UAAMM,IAAW,KAAK;AACtB,QAAIC,IAASD,EAAS;AACtB,WAAO,CAACC,EAAO;AACX,MAAAR,EAAS,KAAKC,GAASO,EAAO,OAAOA,EAAO,OAAO,IAAI,GACvDA,IAASD,EAAS;EAEzB;AACL;AACI,IAAI,UAAU,cAKd,OAAO,OAAOO,IAAY;AAAA,EACtB,aAAaE,GAAO;AAChB,WAAO,IAAI,UAAU,aAAa,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EACvE;AAAA,EACD,MAAMA,GAAO;AACT,WAAO,IAAI,UAAU,MAAM,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EAChE;AAAA,EACD,WAAWA,GAAO;AACd,WAAO,IAAI,UAAU,WAAW,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EACrE;AAAA,EACD,oBAAoBA,GAAO;AACvB,WAAO,IAAI,UAAU,oBAAoB,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EAC9E;AAAA,EACD,WAAWA,GAAO;AACd,WAAO,IAAI,UAAU,WAAW,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EACrE;AAAA,EACD,aAAaA,GAAO;AAChB,WAAO,IAAI,UAAU,aAAa,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EACvE;AAAA,EACD,eAAeA,GAAO;AAClB,WAAO,IAAI,UAAU,eAAe,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAK;AAAA,EACzE;AACT,CAAK;AAEL,MAAMC,KAAiB,QAAQ,QAAQH,EAAU,GAE3CI,KAAe;AAAA,EACjB,IAAI5G,GAAQC,GAAK4G,GAAU;AACvB,QAAInG,GAAIoF;AACR,UAAMxD,KAAQ5B,IAAKV,EAAO,UAAU,QAAQU,MAAO,SAAS,SAASA,EAAGT,CAAG;AAE3E,QAAIqC,KAAQtC,EAAO,WAAW,YAAY,IAAIsC,CAAI;AAC9C,aAAOA;AAEX,QAAIrC,MAAQP;AACR,aAAOM;AACX,QAAIgB;AACJ,QAAIhB,EAAO,QAAQ,MAAM;AAGrB,YAAMT,IAAQU,MAAQ,WACjBD,EAAO,oBAAoB,OAAOA,EAAO,oBAAoB,OAC5D,QAAQ,IAAIA,EAAO,UAAUC,CAAG,IAChC,QAAQ,IAAID,EAAO,UAAUC,GAAK4G,CAAQ;AAEhD,UADA7F,IAAahB,EAAO,QAAQ,KAAKT,GAAOM,EAAS,GAC7CmB,MAAenB,GAAU;AACzB,eAAIG,EAAO,QAAQ,UACfsF,GAAc/F,GAAOS,EAAO,SAAS,EAAI,GAEtCT;AAAA,IAEd;AACD,UAAMkG,IAASjF,GAAOR,CAAM;AAC5B,QAAIyF,aAAkB,OAAOU,GAAe,SAASlG,CAAG;AACpD,aAAIA,MAAQ,SACD,OAAO,yBAAyBuF,IAAY,MAAM,EAAE,IAAI,KAAKxF,EAAO,KAAK,IAErEwF,GAAWvF,CAAG,EACf,KAAKD,EAAO,KAAK;AAEnC,QAAIyF,aAAkB,OAAOkB,GAAe,SAAS1G,CAAG;AACpD,aAAIA,MAAQ,SACD,OAAO,yBAAyBuG,IAAY,MAAM,EAAE,IAAI,KAAKxG,EAAO,KAAK,IAErEwG,GAAWvG,CAAG,EACf,KAAKD,EAAO,KAAK;AAEnC,QAAI,CAACD,GAAI0F,GAAQxF,CAAG,GAAG;AACnB,YAAMsC,IAAOrC,GAAcuF,GAAQxF,CAAG;AACtC,aAAOsC,IACD,WAAWA,IACPA,EAAK;AAAA;AAAA,SAEFuD,IAAKvD,EAAK,SAAS,QAAQuD,MAAO,SAAS,SAASA,EAAG,KAAK9F,EAAO,KAAK;AAAA,UAC/E;AAAA,IACT;AACD,UAAMT,IAAQkG,EAAOxF,CAAG;AAIxB,QAHID,EAAO,QAAQ,UACfsF,GAAc/F,GAAOS,EAAO,OAAO,GAEnCA,EAAO,aAAa,CAACc,GAAYvB,GAAOS,EAAO,OAAO;AACtD,aAAOT;AAGX,QAAIA,MAAUkC,GAAKzB,EAAO,UAAUC,CAAG,GAAG;AAUtC,UATA2C,EAAkB5C,CAAM,GACxBA,EAAO,KAAKC,CAAG,IAAI6G,GAAY;AAAA,QAC3B,UAAU9G,EAAO,SAASC,CAAG;AAAA,QAC7B,aAAaD;AAAA,QACb,KAAKA,EAAO,SAAS,IAA0B,OAAOC,CAAG,IAAIA;AAAA,QAC7D,YAAYD,EAAO;AAAA,QACnB,SAASA,EAAO;AAAA,MAChC,CAAa,GAEG,OAAOgB,KAAe,YAAY;AAClC,cAAM+F,IAAgBnG,EAAcZ,EAAO,KAAKC,CAAG,CAAC;AACpD,eAAA2C,EAAkBmE,CAAa,GAE/B9D,GAAY8D,CAAa,GAClBA,EAAc;AAAA,MACxB;AACD,aAAO/G,EAAO,KAAKC,CAAG;AAAA,IACzB;AACD,WAAIU,GAAQpB,CAAK,KACbS,EAAO,WAAW,YAAY,IAAIT,CAAK,GAEpCA;AAAA,EACV;AAAA,EACD,IAAIS,GAAQC,GAAKV,GAAO;AACpB,QAAImB;AACJ,QAAIV,EAAO,SAAS,KAAyBA,EAAO,SAAS;AACzD,YAAM,IAAI,MAAM,yDAAyD;AAE7E,QAAI6F;AACJ,QAAI7F,EAAO,SAAS,KAChBC,MAAQ,YACR,EAAE,OAAO,UAAW4F,IAAO,OAAO5F,CAAG,CAAG,KACpC4F,KAAQ,MACP5F,MAAQ,KAAK4F,MAAS,KAAK,OAAOA,CAAI,MAAM,OAAO5F,CAAG;AAC3D,YAAM,IAAI,MAAM,gEAAgE;AAEpF,UAAMsC,IAAOrC,GAAcM,GAAOR,CAAM,GAAGC,CAAG;AAC9C,QAAIsC,KAAS,QAAmCA,EAAK;AAEjD,aAAAA,EAAK,IAAI,KAAKvC,EAAO,OAAOT,CAAK,GAC1B;AAEX,UAAMyH,IAAUvF,GAAKjB,GAAOR,CAAM,GAAGC,CAAG,GAClCgH,IAAoBrG,EAAcoG,CAAO;AAC/C,WAAIC,KAAqBtF,GAAQsF,EAAkB,UAAU1H,CAAK,KAE9DS,EAAO,KAAKC,CAAG,IAAIV,GACnBS,EAAO,eAAeU,IAAKV,EAAO,iBAAiB,QAAQU,MAAO,SAASA,IAAK,oBAAI,IAAG,GACvFV,EAAO,YAAY,IAAIC,GAAK,EAAK,GAC1B,OAGP0B,GAAQpC,GAAOyH,CAAO,MACrBzH,MAAU,UAAaQ,GAAIC,EAAO,UAAUC,CAAG,OAEpD2C,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GACdD,GAAIC,EAAO,UAAUC,CAAG,KAAK0B,GAAQpC,GAAOS,EAAO,SAASC,CAAG,CAAC,IAEhED,EAAO,YAAY,OAAOC,CAAG,IAG7BD,EAAO,YAAY,IAAIC,GAAK,EAAI,GAEpCD,EAAO,KAAKC,CAAG,IAAIV,GACnBmF,GAAiB1E,GAAQC,GAAKV,GAAO+E,EAAe,IAC7C;AAAA,EACV;AAAA,EACD,IAAItE,GAAQC,GAAK;AACb,WAAOA,KAAOO,GAAOR,CAAM;AAAA,EAC9B;AAAA,EACD,QAAQA,GAAQ;AACZ,WAAO,QAAQ,QAAQQ,GAAOR,CAAM,CAAC;AAAA,EACxC;AAAA,EACD,yBAAyBA,GAAQC,GAAK;AAClC,UAAMwF,IAASjF,GAAOR,CAAM,GACtBI,IAAa,QAAQ,yBAAyBqF,GAAQxF,CAAG;AAC/D,WAAKG,KAEE;AAAA,MACH,UAAU;AAAA,MACV,cAAcJ,EAAO,SAAS,KAA2BC,MAAQ;AAAA,MACjE,YAAYG,EAAW;AAAA,MACvB,OAAOqF,EAAOxF,CAAG;AAAA,IAC7B;AAAA,EACK;AAAA,EACD,eAAeD,GAAQ;AACnB,WAAO,QAAQ,eAAeA,EAAO,QAAQ;AAAA,EAChD;AAAA,EACD,iBAAiB;AACb,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC7D;AAAA,EACD,iBAAiB;AACb,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC7D;AAAA,EACD,eAAeA,GAAQC,GAAK;AACxB,QAAIS;AACJ,WAAIV,EAAO,SAAS,IACT4G,GAAa,IAAI,KAAK,MAAM5G,GAAQC,GAAK,QAAWD,EAAO,KAAK,KAEvEyB,GAAKzB,EAAO,UAAUC,CAAG,MAAM,UAAaA,KAAOD,EAAO,YAE1D4C,EAAkB5C,CAAM,GACxBiD,GAAYjD,CAAM,GAClBA,EAAO,YAAY,IAAIC,GAAK,EAAK,MAGjCD,EAAO,eAAeU,IAAKV,EAAO,iBAAiB,QAAQU,MAAO,SAASA,IAAK,oBAAI,IAAG,GAEvFV,EAAO,YAAY,OAAOC,CAAG,IAE7BD,EAAO,QACP,OAAOA,EAAO,KAAKC,CAAG,GACnB;AAAA,EACV;AACL;AACA,SAAS6G,GAAYI,GAAoB;AACrC,QAAM,EAAE,UAAAxE,GAAU,aAAAyE,GAAa,KAAAlH,GAAK,YAAAmH,GAAY,SAAArG,EAAS,IAAGmG,GACtDtD,IAAOrC,GAAQmB,CAAQ,GACvBjC,IAAa;AAAA,IACf,MAAAmD;AAAA,IACA,WAAW;AAAA,IACX,QAAQuD;AAAA,IACR,UAAAzE;AAAA,IACA,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAA0E;AAAA,IACA,SAAArG;AAAA;AAAA,IAEA,QAAQ6C,MAAS,IACX,IAAI,IAAIlB,EAAS,SAAS,IAC1B;AAAA,EACd;AAEI,GAAIzC,KAAO,SAASiH,OAChBzG,EAAW,MAAMR;AAErB,QAAM,EAAE,OAAAsG,GAAO,QAAAc,EAAM,IAAK,MAAM,UAAUzD,MAAS,IAA0B,OAAO,OAAO,CAAA,GAAInD,CAAU,IAAIA,GAAYmG,EAAY;AAGrI,MAFAQ,EAAW,OAAO,KAAKC,CAAM,GAC7B5G,EAAW,QAAQ8F,GACfY,GAAa;AACb,UAAMnH,IAASmH;AACf,IAAAnH,EAAO,WAAW,MAAM,KAAK,CAACuE,GAASC,MAAmB;AACtD,UAAI9D,GAAIoF;AACR,YAAMwB,IAAgB1G,EAAc2F,CAAK;AAEzC,UAAIjE,IAAOtC,EAAO,SAAS,IAAwBA,EAAO,SAASA,EAAO;AAC1E,YAAMgG,IAAQ5E,GAAIkB,GAAMrC,CAAG,GACrBQ,IAAaG,EAAcoF,CAAK;AACtC,UAAIvF,GAAY;AAEZ,YAAIwD,IAAexD,EAAW;AAC9B,QAAIA,EAAW,aACXwD,IAAepD,GAASmF,CAAK,IAEjC5B,GAAiB3D,CAAU,GAC3B4D,GAAgB5D,GAAY6D,IAAiBC,GAASC,CAAc,GAChExE,EAAO,QAAQ,qBACfA,EAAO,QAAQ,iBACVU,IAAKV,EAAO,QAAQ,mBAAmB,QAAQU,MAAO,SAASA,IAAK,oBAAI,QAAO,GACpFV,EAAO,QAAQ,cAAc,IAAIiE,GAAcxD,EAAW,QAAQ,IAGtEe,GAAIc,GAAMrC,GAAKgE,CAAY;AAAA,MAC9B;AAED,OAAC6B,IAAKwB,EAAc,eAAe,QAAQxB,MAAO,UAAkBA,EAAG,QAAQ,CAACJ,MAAa;AACzF,QAAAA,EAASnB,GAASC,CAAc;AAAA,MAChD,CAAa;AAAA,IACb,CAAS;AAAA,EACJ,OACI;AAED,UAAMxE,IAASY,EAAc2F,CAAK;AAClC,IAAAvG,EAAO,WAAW,MAAM,KAAK,CAACuE,GAASC,MAAmB;AACtD,MAAAJ,GAAiBpE,CAAM,GACvBqE,GAAgBrE,GAAQsE,IAAiBC,GAASC,CAAc;AAAA,IAC5E,CAAS;AAAA,EACJ;AACD,SAAO+B;AACX;AACAzG,GAAS,cAAcgH;AACvB,SAASS,GAAcrB,GAAQsB,GAAejD,GAASC,GAAgBiD,GAAkB;AACrF,MAAI/G;AACJ,QAAMD,IAAaG,EAAcsF,CAAM,GACjCxD,KAAYhC,IAAKD,KAAe,OAAgC,SAASA,EAAW,cAAc,QAAQC,MAAO,SAASA,IAAKwF,GAC/HwB,IAAmB,CAAC,CAACF,EAAc;AACzC,MAAI/G,KAAe,QAAyCA,EAAW;AACnE,WAAOA,EAAW,WAAW,MAAM,SAAS;AAExC,MADiBA,EAAW,WAAW,MAAM,IAAG,EACvC8D,GAASC,CAAc;AAGxC,QAAM9C,IAAQgG,IACRF,EAAc,CAAC,IACf/G,IACIA,EAAW,WACPA,EAAW,OACXA,EAAW,WACfyF;AACV,SAAIzF,KACAqB,GAAYrB,CAAU,GACtBgH,KACAtE,GAAWzB,GAAOA,GAAOjB,KAAe,OAAgC,SAASA,EAAW,QAAQ,aAAa,GAE9G;AAAA,IACHiB;AAAA,IACA6C,KAAWmD,IACL,CAAC,EAAE,IAAIjI,EAAU,SAAS,MAAM,CAAE,GAAE,OAAO+H,EAAc,CAAC,GAAG,IAC7DjD;AAAA,IACNC,KAAkBkD,IACZ,CAAC,EAAE,IAAIjI,EAAU,SAAS,MAAM,IAAI,OAAOiD,GAAU,IACrD8B;AAAA,EACd;AACA;AAEA,SAASmD,GAASC,GAAW7G,GAAS;AAClC,MAAIL;AACJ,QAAM0G,IAAa;AAAA,IACf,OAAO,CAAE;AAAA,IACT,QAAQ,CAAE;AAAA,IACV,YAAY,oBAAI,QAAS;AAAA,IACzB,aAAa,oBAAI,QAAS;AAAA,EAClC;AACI,MAAI7C,GACAC;AACJ,EAAIzD,EAAQ,kBACRwD,IAAU,CAAA,GACVC,IAAiB,CAAA;AAIrB,QAAMwB,MAFctF,IAAKK,EAAQ,UAAU,QAAQL,MAAO,SAAS,SAASA,EAAG,KAAKK,GAAS6G,GAAW/H,EAAS,OAAOA,GAAU,WAC9H,CAACiB,GAAY8G,GAAW7G,CAAO,IAE7B6G,IACAd,GAAY;AAAA,IACV,UAAUc;AAAA,IACV,aAAa;AAAA,IACb,YAAAR;AAAA,IACA,SAAArG;AAAA,EACZ,CAAS;AACL,SAAO;AAAA,IACHiF;AAAA,IACA,CAACwB,IAAgB,CAAA,MAAO;AACpB,YAAM,CAACK,GAAgBC,GAAkBC,CAAuB,IAAIR,GAAcvB,GAAOwB,GAAejD,GAASC,GAAgBzD,EAAQ,gBAAgB;AACzJ,aAAQA,EAAQ,gBACV,CAAC8G,GAAgBC,GAAkBC,CAAuB,IAC1DF;AAAA,IACT;AAAA,EACT;AACA;AAEA,SAASG,GAAkBjH,GAAS;AAChC,QAAM,EAAE,WAAAkH,GAAW,OAAA1I,GAAO,cAAA2I,IAAe,IAAO,QAAAC,IAAS,GAAM,IAAGpH;AAClE,EAAA2C,GAAQnE,GAAO,CAACU,GAAKiC,GAAMuD,MAAW;AAClC,UAAMhF,IAAaG,EAAcsB,CAAI;AAErC,QAAIzB,KACAwH,KACAxH,EAAW,eAAewH,EAAU,YAAY;AAChD,MAAAlH,EAAQ,iBAAiB;AACzB,YAAMqH,IAAe3H,EAAW;AAEhC,UAAIgF,aAAkB,KAAK;AACvB,cAAM4C,IAAM,MAAM,KAAK5C,CAAM;AAC7B,QAAAA,EAAO,MAAK,GACZ4C,EAAI,QAAQ,CAACpG,MAAUwD,EAAO,IAAIxF,MAAQgC,IAAQmG,IAAenG,CAAK,CAAC;AAAA,MAC1E;AAEG,QAAAT,GAAIiE,GAAQxF,GAAKmI,CAAY;AAAA,IAEpC;AACI,MAAI,OAAOlG,KAAS,YAAYA,MAAS,SAC1CnB,EAAQ,QAAQmB,GAChBnB,EAAQ,SAAS,IACjBiH,GAAkBjH,CAAO;AAAA,EAErC,CAAK,GACGoH,MACKpH,EAAQ,kBACT,QAAQ,KAAK,wHAAwH,GACrImH,KACA,QAAQ,KAAK,4FAA4F;AAGrH;AACA,SAASI,GAAWtI,GAAQ;AACxB,MAAIU;AACJ,QAAMD,IAAaG,EAAcZ,CAAM;AACvC,MAAI,CAACc,GAAYd,GAAQS,KAAe,OAAgC,SAASA,EAAW,OAAO;AAC/F,WAAOT;AACX,QAAM4D,IAAOrC,GAAQvB,CAAM;AAC3B,MAAIS,KAAc,CAACA,EAAW;AAC1B,WAAOA,EAAW;AACtB,MAAI2H;AACJ,WAASxF,IAAoB;AACzB,IAAAwF,IACIxE,MAAS,IACFrD,GAAkBP,CAAM,IAErB,IAAI,IAAIA,CAAM,IADd,KAAK,OAAO,eAAeA,CAAM,GAAE,YAAaA,CAAM,IAE1D4D,MAAS,IACL,MAAM,KAAKnD,EAAW,OAAO,OAAM,CAAE,IACrCgC,GAAYzC,GAAQS,KAAe,OAAgC,SAASA,EAAW,OAAO;AAAA,EAC/G;AACD,MAAIA,GAAY;AAEZ,IAAAA,EAAW,YAAY;AACvB,QAAI;AACA,MAAAmC;IACH,UACO;AACJ,MAAAnC,EAAW,YAAY;AAAA,IAC1B;AAAA,EACJ;AAIG,IAAA2H,IAAepI;AAYnB,MAVA0D,GAAQ0E,GAAc,CAACnI,GAAKV,MAAU;AAClC,QAAIkB,KAAckB,GAAQP,GAAIX,EAAW,UAAUR,CAAG,GAAGV,CAAK;AAC1D;AACJ,UAAMgJ,IAAWD,GAAW/I,CAAK;AACjC,IAAIgJ,MAAahJ,MACT6I,MAAiBpI,KACjB4C,KACJpB,GAAI4G,GAAcnI,GAAKsI,CAAQ;AAAA,EAE3C,CAAK,GACG3E,MAAS,GAAuB;AAChC,UAAMrE,KAASmB,IAAKD,KAAe,OAAgC,SAASA,EAAW,cAAc,QAAQC,MAAO,SAASA,IAAK0H;AAClI,WAAQ/H,GAAkBd,CAAK,IAEzB,IAAI,IAAI6I,CAAY,IADpB,KAAK,OAAO,eAAe7I,CAAK,GAAE,YAAa6I,CAAY;AAAA,EAEpE;AACD,SAAOA;AACX;AACA,SAASpB,GAAQhH,GAAQ;AACrB,MAAI,CAACW,GAAQX,CAAM;AACf,UAAM,IAAI,MAAM,gDAAgDA,CAAM,EAAE;AAE5E,SAAOsI,GAAWtI,CAAM;AAC5B;AA0BA,MAAMwI,KAAc,CAACC,MAAQ;AACzB,MAAIA,MAAQ,UACR,OAAO,UAAU,SAAS,KAAKA,CAAG,MAAM;AACxC,UAAM,IAAI,MAAM,oBAAoB,OAAOA,CAAG,CAAC,kCAAkC;AAErF,SAAO,SAASC,EAAOC,GAAMC,GAAMC,GAAM;AACrC,QAAInI,GAAIoF,GAAIgD;AACZ,QAAI,OAAOH,KAAS,cAAc,OAAOC,KAAS;AAC9C,aAAO,SAAUzG,MAAS4G,GAAM;AAC5B,eAAOL,EAAOvG,GAAM,CAAC6D,MAAU2C,EAAK,KAAK,MAAM3C,GAAO,GAAG+C,CAAI,GAAGH,CAAI;AAAA,MACpF;AAEQ,UAAMzG,IAAOwG,GACPK,IAASJ;AACf,QAAI7H,IAAU8H;AAId,QAHI,OAAOD,KAAS,eAChB7H,IAAU6H,IAEV7H,MAAY,UACZ,OAAO,UAAU,SAAS,KAAKA,CAAO,MAAM;AAC5C,YAAM,IAAI,MAAM,oBAAoBA,CAAO,kCAAkC;AAEjF,IAAAA,IAAU,OAAO,OAAO,OAAO,OAAO,IAAI0H,CAAG,GAAG1H,CAAO;AACvD,UAAMW,IAAQf,GAAQwB,CAAI,IAAI6E,GAAQ7E,CAAI,IAAIA,GACxC8G,IAAO,MAAM,QAAQlI,EAAQ,IAAI,IAChC,CAACxB,GAAO2J,MAAU;AACjB,iBAAWD,KAAQlI,EAAQ,MAAM;AAC7B,YAAI,OAAOkI,KAAS;AAChB,gBAAM,IAAI,MAAM,iBAAiBA,CAAI,gCAAgC;AAEzE,cAAM/C,IAAS+C,EAAK1J,GAAO2J,CAAK;AAChC,YAAIhD;AACA,iBAAOA;AAAA,MAEd;AAAA,IAEJ,IACCnF,EAAQ,MACRoI,KAAiBzI,IAAKK,EAAQ,mBAAmB,QAAQL,MAAO,SAASA,IAAK,IAC9E0I,KAAUtD,IAAK/E,EAAQ,YAAY,QAAQ+E,MAAO,SAASA,IAAK,IAEhEuD,IAAW;AAAA,MACb,mBAFsBP,IAAK/H,EAAQ,sBAAsB,QAAQ+H,MAAO,SAASA,IAAK;AAAA,MAGtF,MAAAG;AAAA,MACA,QAAAG;AAAA,MACA,eAAAD;AAAA,IACZ;AACQ,QAAI,CAACrI,GAAYY,GAAO2H,CAAQ,KAC5B,OAAO3H,KAAU,YACjBA,MAAU;AACV,YAAM,IAAI,MAAM,4HAA4H;AAEhJ,UAAM,CAACsE,GAAOsD,CAAQ,IAAI3B,GAASjG,GAAO2H,CAAQ;AAClD,QAAI,OAAOT,KAAS,YAAY;AAC5B,UAAI,CAAC9H,GAAYY,GAAO2H,CAAQ;AAC5B,cAAM,IAAI,MAAM,4HAA4H;AAEhJ,aAAO,CAACrD,GAAOsD,CAAQ;AAAA,IAC1B;AACD,QAAIpD;AACJ,QAAI;AACA,MAAAA,IAAS8C,EAAOhD,CAAK;AAAA,IACxB,SACM3G,GAAO;AACV,YAAAyC,GAAYlB,EAAcoF,CAAK,CAAC,GAC1B3G;AAAA,IACT;AACD,UAAMkK,IAAc,CAAChK,MAAU;AAC3B,YAAMkB,IAAaG,EAAcoF,CAAK;AACtC,UAAI,CAACrF,GAAQpB,CAAK,GAAG;AACjB,YAAIA,MAAU,UACV,CAACoC,GAAQpC,GAAOyG,CAAK,MACpBvF,KAAe,QAAyCA,EAAW;AACpE,gBAAM,IAAI,MAAM,mHAAmH;AAEvI,cAAM+I,IAAiBjK,KAAU,OAA2B,SAASA,EAAMI,EAAiB;AAC5F,YAAI6J,GAAgB;AAChB,gBAAM5D,IAAS4D,EAAe,CAAC;AAC/B,iBAAIH,EAAS,UAAU,OAAO9J,KAAU,YAAYA,MAAU,QAC1DyI,GAAkB;AAAA,YACd,WAAWvH;AAAA,YACX,OAAAlB;AAAA,YACA,cAAc;AAAA,UAC1C,CAAyB,GAEE+J,EAAS,CAAC1D,CAAM,CAAC;AAAA,QAC3B;AACD,YAAIrG,MAAU;AACV,iBAAI,OAAOA,KAAU,YAAYA,MAAU,QACvCyI,GAAkB,EAAE,WAAWvH,GAAY,OAAAlB,EAAO,CAAA,GAE/C+J,EAAS,CAAC/J,CAAK,CAAC;AAAA,MAE9B;AACD,UAAIA,MAAUyG,KAASzG,MAAU;AAC7B,eAAO+J,EAAS,CAAA,CAAE;AAEtB,YAAMG,IAAqB7I,EAAcrB,CAAK;AAC9C,UAAI8J,MAAaI,EAAmB,SAAS;AACzC,YAAIA,EAAmB;AACnB,gBAAM,IAAI,MAAM,uCAAuC;AAE3D,eAAOH,EAAS,CAACtC,GAAQzH,CAAK,CAAC,CAAC;AAAA,MACnC;AACD,aAAO+J,EAAS,CAAC/J,CAAK,CAAC;AAAA,IACnC;AACQ,WAAI2G,aAAkB,UACXA,EAAO,KAAKqD,GAAa,CAAClK,MAAU;AACvC,YAAAyC,GAAYlB,EAAcoF,CAAK,CAAC,GAC1B3G;AAAA,IACtB,CAAa,IAEEkK,EAAYrD,CAAM;AAAA,EACjC;AACA,GAwBMwC,IAASF,GAAW;AAwLA,OAAO,UAAU,YAAY,SAAQ;AC3sDlD,MAAAkB,KAAwB,CAACC,MAA8B;ANH7D,MAAAjJ,GAAAoF,GAAAgD;AMIL,MAAIa,KAAA,QAAAA,EAAK;AACP,WAAOA,EAAI;AAIb,QAAMC,IAAaD,KAAA,gBAAAA,EAAK;AACxB,MAAIC,GAAY;AACd,UAAMC,IAAW,OAAO,KAAKD,CAAU,EAAE,CAAC;AAC1C,QAAIC,OAAYnJ,IAAAkJ,EAAWC,CAAQ,MAAnB,QAAAnJ,EAAsB;AAE7B,aAAAiJ,EAAI,UAAU,QAAQ;AAAA,EAEjC;AAGA,UAAI7D,IAAA6D,KAAA,gBAAAA,EAAK,SAAL,QAAA7D,EAAW,YAAY,SAAOgD,IAAAa,KAAA,gBAAAA,EAAK,SAAL,gBAAAb,EAAW,WAAW,WAC/C,MAIF;AACT,GAMagB,KAAyB,CAACH,MAA+B;AACpE,MAAIA,KAAA,QAAAA,EAAK;AACP,WAAOA,EAAI;AAGb,QAAMI,IAAWJ,KAAA,gBAAAA,EAAK;AAGtB,SAAII,KAAA,QAAAA,EAAU,SAASA,KAAA,QAAAA,EAAU,kBAAkBA,KAAA,QAAAA,EAAU,UAEpDJ,EAAI,QAAQ,QAAQ,QAIzB,MAAM,QAAQI,KAAA,gBAAAA,EAAU,OAAO,KAAKJ,KAAA,QAAAA,EAAK,cAAcA,KAAA,QAAAA,EAAK,UACvD,MAIL,QAAOI,KAAA,gBAAAA,EAAU,WAAW,WACvB,MAILA,KAAA,QAAAA,EAAU,aACL,QAILA,KAAA,QAAAA,EAAU,OACL,QAIF;AACT,GC1DM7L,KAAa8L,GAAkB,KAAK,GAE7BC,KAAqC,OAChDN,GAOAO,MACgB;AAChB,MAAI,CAACP;AACG,UAAA;AAGJ,MAAA,CAACA,EAAI,SAAS;AACV,UAAAQ,IAAkBT,GAAsBC,CAAG;AAC3C,IAAAA,IAAAjB,EAAOiB,GAAK,CAAC3D,MAAc;AAC/B,MAAAA,EAAM,UAAUmE;AAAA,IAAA,CACjB;AAAA,EACH;AACA,MAAI,CAACD;AACG,UAAA;AAGR,MAAI3M,EAAgB2M,GAAenO,EAAsB,IAAI;AAEvD,QAAA;AAeK,aADU,OAbJ,MAAMmC,GACjB,mDAAmDgM,CAAa,IAChE;AAAA,QACE,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM,KAAK,UAAUP,CAAG;AAAA,QACxB,SAAS;AAAA,UACP,gBAAgB;AAAA,QACjB;AAAA,MAAA,CACF,GAEyB;aAErBS,GAAK;AACN,YAAA,mDAAmDF,CAAa,KAAKE,CAAG;AAAA,IAChF;AAOK,SAJkBC,GACvBV,GACAO,CAAa;AAGjB,GAEaI,KAA4C,OACvDX,MAQOM,GAAmCN,GAAK5N,EAAsB,GAGjEsO,KAAmD,CACvDV,GAMAO,MAKyB;AACzB,MAAI,CAACP;AACG,UAAA;AAGJ,MAAA,CAACA,EAAI,SAAS;AACV,UAAAQ,IAAkBT,GAAsBC,CAAG;AAC3C,IAAAA,IAAAjB,EAAOiB,GAAK,CAAC3D,MAAc;AAC/B,MAAAA,EAAM,UAAUmE;AAAA,IAAA,CACjB;AAAA,EACH;AAEI,MAAAI,IAAiBC,GAA2Bb,EAAI,OAAO;AAC3D,MAAIY,MAAmBL;AACd,WAAAP;AAGT,MAAIc,IAIuBd;AAE3B,SAAOY,MAAmBL;AACxB,YAAQK,GAAgB;AAAA,MACtB,KAAK,OAAO;AACV,YAAIhN,EAAgB2M,GAAeK,CAAc,IAAI;AACnD,UAAAE,IAAoBC,GAClBD,CAA0C,GAE3BF,IAAAC,GACfC,EAAkB,OAAO;AAAA;AAGrB,gBAAA,+BAA+BF,CAAc,OAAOL,CAAa;AAEzE;AAAA,MACF;AAAA,MACA,KAAK,OAAO;AACV,QAAI3M,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBE,GAClBF,CAA0C,GAE3BF,IAAAC,GACfC,EAAkB,OAAO,MAG3BA,IAAoBG,GAClBH,CAA0C,GAE3BF,IAAAC,GACfC,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,QAAIlN,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBI,GAClBJ,CAAyC,GAE1BF,IAAAC,GACfC,EAAkB,OAAO,MAG3BA,IAAoBK,GAClBL,CAAyC,GAE1BF,IAAAC,GACfC,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,YAAIlN,EAAgB2M,GAAeK,CAAc,IAAI;AAC7C,gBAAA,+BAA+BA,CAAc,OAAOL,CAAa;AAEvE,QAAAO,IAAoBM,GAClBN,CAAyC,GAE1BF,IAAAC,GACfC,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA;AACQ,cAAA,kBAAkBF,CAAc,OAAOL,CAAa;AAAA,IAC9D;AAEK,SAAAO;AACT,GAEMC,KAA0B,CAC9BM,MAEOtC,EAA8BsC,GAAK,CAAChF,MAAgC;AAEzE,EAAAA,EAAM,UAAU;AAAA,CACjB,GAGG4E,KAA0B,CAC9BI,MAEOtC,EAA8BsC,GAAK,CAAChF,MAAgC;AAEzE,EAAAA,EAAM,UAAU;AAAA,CACjB,GAGG2E,KAAwB,CAC5BhB,MAEOjB,EAA6BiB,GAAK,CAAC3D,MAAS;AAEjD,QAAMiF,IAASjF;AACf,SAAOiF,EAAO,SACdA,EAAO,UAAU;AAAA,CAClB,GAGGH,KAAwB,CAC5BnB,MAEOjB,EAAOiB,GAAK,CAAC3D,OAElBA,EAAM,UAAU,OACTA,EACR,GAGG+E,KAAsB,CAC1BpB,MAEOjB,EAAOiB,GAAK,CAAC3D,MAA+B;APhO9C,MAAAtF,GAAAoF;AOmOH,SAAAE,EAAM,UAAU,MACZtF,IAAAsF,KAAA,gBAAAA,EAAO,SAAP,QAAAtF,EAAa,SACiBsF,EAAA,KAAM,WAAWA,EAAM,KAAK,MAC5D,OAAOA,EAAM,KAAM,QAEjBF,IAAAE,KAAA,gBAAAA,EAAO,SAAP,QAAAF,EAAa,YACdE,EAA+B,KAAM,SAASA,EAAM,KAAK,QAAQ,CAAC,GACnE,OAAQA,EAA+B,KAAM,UAExCA;AAAA,CACR,GAGG6E,KAAsB,CAC1BlB,MAEOjB,EAAOiB,GAAK,CAAC3D,MAA+B;APnP9C,MAAAtF,GAAAoF;AOsPH,SAAAE,EAAM,UAAU,MAEZtF,IAAAsF,KAAA,gBAAAA,EAAO,SAAP,QAAAtF,EAAa,aACiBsF,EAAA,KAAM,OAAOA,EAAM,KAAK,UACxD,OAAQA,EAA+B,KAAM,YAE3CF,IAAAE,KAAA,gBAAAA,EAAO,SAAP,QAAAF,EAAa,WACdE,EAA+B,KAAM,UAAU,CAACA,EAAM,KAAK,MAAM,GAClE,OAAQA,EAA+B,KAAM,SAGxCA;AAAA,CACR,GAGUwE,KAA6B,CACxCjO,MACoB;AACpB,MAAI,CAACA;AACG,UAAA;AAER,MAAIA,MAAY;AACP,WAAAR;AACE,MAAAwB,EAAgBhB,GAAS,KAAK,IAAI;AAC3C,UAAM,oBAAoBA,CAAO;AACnC,MACEgB,EAAgBhB,GAAS,KAAK,KAAK,KACnCgB,EAAgBhB,GAAS,KAAK,IAAI;AAE3B,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,KAAK,KAAK;AACrC,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,GAAG,KAAK;AACnC,WAAA;AACT,MAAWA,MAAY;AACd,WAAA;AAGP,QAAM,oBAAoBA,CAAO;AAErC,GC7QM2B,KAAa8L,GAAkB,KAAK,GAQ7BkB,KAAsB,CACjCC,MACgC;AAChC,MAAKA,GACD;AAAA,QAAA,MAAM,QAAQA,CAAU,GAAG;AAC7B,YAAMjF,IAA2B,CAAA;AACjC,iBAAWjG,KAAOkL;AACT,QAAAjF,EAAAjG,CAAG,IAAI;AAET,aAAAiG;AAAA,IACT;AACO,WAAAiF;AAAA;AACT,GAWaC,KAAsC,OACjDzB,GACAO,MACgB;AAChB,MAAI,CAACP;AACG,UAAA;AAGJ,MAAA,CAACA,EAAI,SAAS;AACV,UAAAQ,IAAkBL,GAAuBH,CAAG;AAC5C,IAAAA,IAAAjB,EAAOiB,GAAK,CAAC3D,MAAc;AAC/B,MAAAA,EAAM,UAAUmE;AAAA,IAAA,CACjB;AAAA,EACH;AACA,MAAI,CAACD;AACG,UAAA;AAGR,MAAI3M,EAAgB2M,GAAepO,EAAuB,IAAI;AAExD,QAAA;AAeK,aADU,OAbJ,MAAMoC,GACjB,oDAAoDgM,CAAa,IACjE;AAAA,QACE,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM,KAAK,UAAUP,CAAG;AAAA,QACxB,SAAS;AAAA,UACP,gBAAgB;AAAA,QACjB;AAAA,MAAA,CACF,GAEyB;aAErBS,GAAK;AACN,YAAA,mDAAmDF,CAAa,KAAKE,CAAG;AAAA,IAChF;AAOK,SAJkBiB,GACvB1B,GACAO,CAAa;AAGjB,GAEaoB,KAA6C,OACxD3B,MAEOyB,GAAoCzB,GAAK7N,EAAuB,GAGnEuP,KAAoD,CACxD1B,GACAO,MAC0B;AAC1B,MAAI,CAACP;AACG,UAAA;AAGJ,MAAA,CAACA,EAAI,SAAS;AACV,UAAAQ,IAAkBL,GAAuBH,CAAG;AAC5C,IAAAA,IAAAjB,EAAOiB,GAAK,CAAC3D,MAAc;AAC/B,MAAAA,EAAM,UAAUmE;AAAA,IAAA,CACjB;AAAA,EACH;AAEI,MAAAI,IAAiBgB,GAA4B5B,EAAI,OAAO;AAC5D,MAAIY,MAAmBL;AACd,WAAAP;AAGT,MAAIc,IAA4Cd;AAGhD,SAAOY,MAAmBL;AACxB,YAAQK,GAAgB;AAAA,MACtB,KAAK,OAAO;AACV,YAAIhN,EAAgB2M,GAAeK,CAAc,IAAI;AACnD,UAAAE,IAAoBe,GAClBf,CAA2C,GAE5BF,IAAAgB,GACfd,EAAkB,OAAO;AAAA;AAGrB,gBAAA,+BAA+BF,CAAc,OAAOL,CAAa;AAEzE;AAAA,MACF;AAAA,MACA,KAAK,OAAO;AACV,QAAI3M,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBgB,GAClBhB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO,MAG3BA,IAAoBiB,GAClBjB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,OAAO;AACV,QAAIlN,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBkB,GAClBlB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO,MAG3BA,IAAoBmB,GAClBnB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,OAAO;AACV,QAAIlN,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBoB,GAClBpB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO,MAG3BA,IAAoBqB,GAClBrB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,QAAIlN,EAAgB2M,GAAeK,CAAc,IAAI,KACnDE,IAAoBI,GAClBJ,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO,MAG3BA,IAAoBsB,GAClBtB,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,YAAIlN,EAAgB2M,GAAeK,CAAc,IAAI;AAC7C,gBAAA,+BAA+BA,CAAc,OAAOL,CAAa;AAEvE,QAAAO,IAAoBM,GAClBN,CAA0C,GAE3BF,IAAAgB,GACfd,EAAkB,OAAO;AAG7B;AAAA,MACF;AAAA,MACA;AACQ,cAAA,kBAAkBF,CAAc,OAAOL,CAAa;AAAA,IAC9D;AAEK,SAAAO;AACT,GAEauB,KAAuC,OAClDC,GAEAC,MAC4C;AAC5C,MAAI,CAACD;AACH;AAEI,QAAAE,IAAY,MAAMb,GAA2CW,CAAC;AAEpE,SAAIE,KAAA,QAAAA,EAAW,eACHA,EAAA,aAAajB,GAAoBiB,EAAU,UAAU,IAE1DA;AACT,GAEMT,KAA0B,CAAC/B,MACxBjB,EAAOiB,GAAK,CAAC3D,MAAgC;AAClD,EAAAA,EAAM,UAAU,OAChB,OAAOA,EAAM;AAAA,CACd,GAGGwF,KAA0B,CAAC7B,MACxBjB,EAAOiB,GAAK,CAAC3D,MAAiC;AACnD,EAAAA,EAAM,UAAU;AAAA,CACjB,GAGGyF,KAA0B,CAAC9B,MACxBjB,EAAOiB,GAAK,CAAC3D,MAAgC;AAE9C,MADJA,EAAM,UAAU,OACZ,EAACA,KAAA,QAAAA,EAAO;AACV;AAEI,QAAAoG,IAAQpG,EAAM,SAAS;AAC7B,SAAOA,EAAM,SAAS,OACrBA,EAAgC,SAAU,OAAOoG;AAE5C,QAAAC,IAAiBrG,EAAM,SAAS;AACtC,SAAOA,EAAM,SAAS,gBACrBA,EAAgC,SAAU,cAAcqG;AAEnD,QAAAC,IAAWtG,EAAM,SAAS;AAChC,SAAOA,EAAM,SAAS,UACrBA,EAAgC,SAAU,OAAOsG;AAAA,CACnD,GAGGV,KAA0B,CAACjC,MACxBjB,EAAOiB,GAAK,CAAC3D,MAAgC;AAE9C,MADJA,EAAM,UAAU,OACZ,EAACA,KAAA,QAAAA,EAAO;AACV;AAEI,QAAAvC,IAAOuC,EAAM,SAAS;AAC5B,SAAOA,EAAM,SAAS,MACrBA,EAAgC,SAAS,QAAQvC;AAE5C,QAAA8I,IAAavG,EAAM,SAAS;AAClC,SAAOA,EAAM,SAAS,aACrBA,EAAgC,SAAS,iBAAiBuG;AAErD,QAAAC,IAAOxG,EAAM,SAAS;AAC5B,SAAOA,EAAM,SAAS,MACrBA,EAAgC,SAAS,WAAWwG;AAAA,CACtD,GAIGX,KAAwB,CAC5BlC,MAEOjB,EAAOiB,GAAK,CAAC3D,MAAgC;ARjT/C,MAAAtF;AQkTH,EAAAsF,EAAM,UAAU,MACZtF,IAAAsF,KAAA,gBAAAA,EAAO,aAAP,QAAAtF,EAAiB,cACnB,OAAOsF,EAAM,SAAS;AACxB,CACD,GAIG+F,KAAwB,CAC5BpC,MAEOjB,EAAOiB,GAAK,CAAC3D,MAAgC;AR7T/C,MAAAtF;AQ8TH,EAAAsF,EAAM,UAAU,QACZtF,IAAAsF,KAAA,gBAAAA,EAAO,aAAP,QAAAtF,EAAiB,cACnB,OAAOsF,EAAM,SAAS;AACxB,CACD,GAGG+E,KAAsB,CAC1BpB,MAEOjB,EAAOiB,GAAK,CAAC3D,MAAgC;ARxU/C,MAAAtF,GAAAoF;AQyUH,SAAAE,EAAM,UAAU,MACZtF,IAAAsF,KAAA,gBAAAA,EAAO,aAAP,QAAAtF,EAAiB,YAElBsF,EAAgC,SAAS,UACxCF,IAAAE,KAAA,gBAAAA,EAAO,aAAP,gBAAAF,EAAiB,QAAQ,IAC3B,OAAOE,EAAM,SAAS,UAEjBA;AAAA,CACR,GAGG6E,KAAsB,CAC1BlB,MAEOjB,EAAOiB,GAAK,CAAC3D,MAAgC;ARvV/C,MAAAtF;AQwVH,SAAAsF,EAAM,UAAU,MACZtF,IAAAsF,KAAA,gBAAAA,EAAO,aAAP,QAAAtF,EAAiB,WAElBsF,EAAgC,SAAS,UAAU;AAAA,IAClDA,EAAM,SAAS;AAAA,EAAA,GAEjB,OAAOA,EAAM,SAAS,SAEjBA;AAAA,CACR,GAMG2F,KAA0B,CAC9BlG,MAEOiD,EAAOjD,GAAQ,CAACO,MAAgC;AR1WlD,MAAAtF;AQ2WH,EAAAsF,EAAM,UAAU,QACXtF,IAAAsF,KAAA,gBAAAA,EAAiC,aAAjC,QAAAtF,EAA2C,cAC9C,OAAQsF,EAAgC,SAAU;AACpD,CACD,GAMG8F,KAA0B,CAC9BrG,MAEOiD,EACLjD,GACA,CAACO,MAAgC;AR1X9B,MAAAtF;AQ2XD,EAAAsF,EAAM,UAAU,QACZtF,IAAAsF,KAAA,gBAAAA,EAAO,aAAP,QAAAtF,EAAiB,cACnB,OAAOsF,EAAM,SAAS;AACxB,CACD,GAKQuF,KAA8B,CACzChP,MACqB;AACrB,MAAI,CAACA;AACG,UAAA;AAER,MAAIA,MAAY;AACP,WAAAT;AACE,MAAAyB,EAAgBhB,GAAS,KAAK,IAAI;AAC3C,UAAM,oBAAoBA,CAAO;AACxB,MAAAgB,EAAgBhB,GAAS,KAAK,KAAK;AACrC,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,KAAK,KAAK;AACrC,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,KAAK,KAAK;AACrC,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,KAAK,KAAK;AACrC,WAAA;AACE,MAAAgB,EAAgBhB,GAAS,GAAG,KAAK;AACnC,WAAA;AACT,MAAWA,MAAY;AACd,WAAA;AAGP,QAAM,oBAAoBA,CAAO;AAErC;AC5ZA,IAAIkQ,KAAQ,oEAERC,KAAS,OAAO,aAAe,MAAc,CAAE,IAAG,IAAI,WAAW,GAAG;AACxE,SAASrP,KAAI,GAAGA,KAAIoP,GAAM,QAAQpP;AAC9B,EAAAqP,GAAOD,GAAM,WAAWpP,EAAC,CAAC,IAAIA;AAkBlC,IAAIsP,KAAS,SAAUC,GAAQ;AAC3B,MAAIC,IAAeD,EAAO,SAAS,MAAME,IAAMF,EAAO,QAAQvP,GAAG0P,IAAI,GAAGC,GAAUC,GAAUC,GAAUC;AACtG,EAAIP,EAAOA,EAAO,SAAS,CAAC,MAAM,QAC9BC,KACID,EAAOA,EAAO,SAAS,CAAC,MAAM,OAC9BC;AAGR,MAAIO,IAAc,IAAI,YAAYP,CAAY,GAAGQ,IAAQ,IAAI,WAAWD,CAAW;AACnF,OAAK/P,IAAI,GAAGA,IAAIyP,GAAKzP,KAAK;AACtB,IAAA2P,IAAWN,GAAOE,EAAO,WAAWvP,CAAC,CAAC,GACtC4P,IAAWP,GAAOE,EAAO,WAAWvP,IAAI,CAAC,CAAC,GAC1C6P,IAAWR,GAAOE,EAAO,WAAWvP,IAAI,CAAC,CAAC,GAC1C8P,IAAWT,GAAOE,EAAO,WAAWvP,IAAI,CAAC,CAAC,GAC1CgQ,EAAMN,GAAG,IAAKC,KAAY,IAAMC,KAAY,GAC5CI,EAAMN,GAAG,KAAME,IAAW,OAAO,IAAMC,KAAY,GACnDG,EAAMN,GAAG,KAAMG,IAAW,MAAM,IAAMC,IAAW;AAErD,SAAOC;AACX;AC9CK,MAACE,KAAI;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,cAAc;AAAA;AAAA,EAEd,aAAa;AAAA;AAAA,EAEb,KAAK;AACP,GAAGC,IAAI;AAAA,EACL,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AACP,GAAGC,KAAK,OAAO,IAAI,0BAA0B,GAAkDC,KAAI,OAAO,UAAU7Q,KAAI;AAAA,EACtH,SAAS;AAAA,EACT,WAAW;AACb,GAAG8Q,KAAK,CAAG;AACX,SAASC,GAAEC,GAAG/Q,GAAG;AACf,SAAO+Q,aAAa,MAAMA,EAAE,IAAI/Q,CAAC,IAAI,OAAO,UAAU,eAAe,KAAK+Q,GAAG/Q,CAAC;AAChF;AACA,SAASgR,GAAGD,GAAG/Q,GAAG;AAChB,MAAIA,KAAK+Q,GAAG;AACV,QAAIE,IAAI,QAAQ,eAAeF,CAAC;AAChC,WAAOE,KAAK;AACV,YAAMxQ,IAAI,QAAQ,yBAAyBwQ,GAAGjR,CAAC;AAC/C,UAAIS;AACF,eAAOA;AACT,MAAAwQ,IAAI,QAAQ,eAAeA,CAAC;AAAA,IAC7B;AAAA,EACF;AACH;AACA,SAASC,GAAGH,GAAG;AACb,SAAO,OAAO,eAAeA,CAAC,MAAM,IAAI;AAC1C;AACA,SAASI,GAAGJ,GAAG;AACb,SAAO,OAAO,eAAeA,CAAC,MAAM,IAAI;AAC1C;AACA,SAASK,GAAEL,GAAG;AACZ,MAAI/Q;AACJ,UAAQA,IAAI+Q,EAAE,UAAU,QAAQ/Q,MAAM,SAASA,IAAI+Q,EAAE;AACvD;AACA,SAASM,GAAEN,GAAG;AACZ,SAAO,CAAC,CAACO,EAAEP,CAAC;AACd;AACA,SAASO,EAAEP,GAAG;AACZ,SAAO,OAAOA,KAAK,WAAW,OAAOA,KAAK,OAAO,SAASA,EAAEJ,EAAE;AAChE;AACA,SAASY,GAAGR,GAAG;AACb,MAAI/Q;AACJ,QAAMiR,IAAIK,EAAEP,CAAC;AACb,SAAOE,KAAKjR,IAAIiR,EAAE,UAAU,QAAQjR,MAAM,SAASA,IAAIiR,EAAE,WAAWF;AACtE;AACA,SAASS,GAAET,GAAG/Q,GAAG;AACf,MAAI,CAAC+Q,KAAK,OAAOA,KAAK;AACpB,WAAO;AACT,MAAIE;AACJ,SAAO,OAAO,eAAeF,CAAC,MAAM,OAAO,aAAa,MAAM,QAAQA,CAAC,KAAKA,aAAa,OAAOA,aAAa,OAAO,CAAC,EAAE/Q,KAAK,QAAQA,EAAE,WAAWiR,IAAIjR,EAAE,KAAK+Q,GAAGhR,EAAC,OAAOA,GAAE,aAAa,OAAOkR,KAAK;AACpM;AACA,SAASQ,GAAGV,GAAG/Q,IAAI,IAAI;AACrB,MAAI,OAAO,eAAe,KAAK+Q,GAAG,KAAK,GAAG;AACxC,UAAME,IAAIF,EAAE,OAAO,MAAMtQ,IAAI6Q,EAAEI,GAAET,GAAGF,EAAE,GAAG,CAAC;AAC1C,QAAItQ,MAAM,SAASA,KAAK,OAAO,SAASA,EAAE,cAAcsQ,EAAE;AACxD,aAAO;AACT,UAAMY,IAAIZ,EAAE,OAAO,SAAS,GAAG7Q,IAAIyR,IAAI,MAAM,KAAKZ,EAAE,OAAO,OAAO,KAAI,CAAE,EAAE,QAAQA,EAAE,GAAG,IAAIA,EAAE;AAC7F,QAAI,EAAEY,KAAKV,EAAE,OAAO/Q,KAAK4Q,GAAEG,GAAG/Q,CAAC;AAC7B,aAAO;AACT,IAAAF,EAAE,KAAKE,CAAC;AAAA,EACT;AACD,MAAI6Q,EAAE;AACJ,WAAOU,GAAGV,EAAE,QAAQ/Q,CAAC;AACvB,EAAAA,EAAE,QAAO;AACT,MAAI;AACF,IAAA4R,GAAGb,EAAE,MAAM/Q,CAAC;AAAA,EAChB,QAAU;AACN,WAAO;AAAA,EACR;AACD,SAAOA;AACT;AACA,SAAS6R,GAAEd,GAAG;AACZ,SAAO,MAAM,QAAQA,CAAC,IAAI,IAAIA,aAAa,MAAM,IAAIA,aAAa,MAAM,IAAI;AAC9E;AACA,SAASW,GAAEX,GAAG/Q,GAAG;AACf,SAAO6R,GAAEd,CAAC,MAAM,IAAIA,EAAE,IAAI/Q,CAAC,IAAI+Q,EAAE/Q,CAAC;AACpC;AACA,SAAS8R,GAAEf,GAAG/Q,GAAGiR,GAAG;AAClBY,EAAAA,GAAEd,CAAC,MAAM,IAAIA,EAAE,IAAI/Q,GAAGiR,CAAC,IAAIF,EAAE/Q,CAAC,IAAIiR;AACpC;AACA,SAASc,GAAEhB,GAAG/Q,GAAG;AACf,QAAMiR,IAAIK,EAAEP,CAAC;AACb,UAAQE,IAAIG,GAAEH,CAAC,IAAIF,GAAG/Q,CAAC;AACzB;AACA,SAASgS,GAAEjB,GAAG/Q,GAAG;AACf,SAAO+Q,MAAM/Q,IAAI+Q,MAAM,KAAK,IAAIA,MAAM,IAAI/Q,IAAI+Q,MAAMA,KAAK/Q,MAAMA;AACjE;AAMA,SAASiS,GAAElB,GAAG/Q,GAAG;AACf,SAAOA,IAAI+Q,IAAI,CAAC,EAAE,EAAE,OAAOA,CAAC,EAAE,IAAI,CAACE,MAAM;AACvC,UAAMxQ,IAAI,GAAGwQ,CAAC;AACd,WAAOxQ,EAAE,QAAQ,GAAG,MAAM,MAAMA,EAAE,QAAQ,GAAG,MAAM,KAAKA,IAAIA,EAAE,QAAQ,MAAM,IAAI,EAAE,QAAQ,OAAO,IAAI;AAAA,EACzG,CAAG,EAAE,KAAK,GAAG;AACb;AACA,SAASmR,GAAGb,GAAG/Q,GAAG;AAChB,WAASiR,IAAI,GAAGA,IAAIjR,EAAE,SAAS,GAAGiR,KAAK,GAAG;AACxC,UAAMxQ,IAAIT,EAAEiR,CAAC;AACb,QAAIF,IAAIW,GAAEG,GAAEd,CAAC,MAAM,IAAI,MAAM,KAAKA,CAAC,IAAIA,GAAGtQ,CAAC,GAAG,OAAOsQ,KAAK;AACxD,YAAM,IAAI,MAAM,4BAA4B/Q,EAAE,KAAK,GAAG,CAAC,IAAI;AAAA,EAC9D;AACD,SAAO+Q;AACT;AACA,SAASmB,GAAGnB,GAAG;AACb,QAAM/Q,IAAI,OAAO,OAAO,OAAO,eAAe+Q,CAAC,CAAC;AAChD,SAAO,QAAQ,QAAQA,CAAC,EAAE,QAAQ,CAACE,MAAM;AACvC,QAAIxQ,IAAI,QAAQ,yBAAyBsQ,GAAGE,CAAC;AAC7C,QAAIxQ,EAAE,cAAcA,EAAE,gBAAgBA,EAAE,UAAU;AAChD,MAAAT,EAAEiR,CAAC,IAAIF,EAAEE,CAAC;AACV;AAAA,IACD;AACD,IAAAxQ,EAAE,aAAaA,EAAE,WAAW,IAAIA,EAAE,eAAe,MAAMA,EAAE,OAAOA,EAAE,SAASA,IAAI;AAAA,MAC7E,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAYA,EAAE;AAAA,MACd,OAAOsQ,EAAEE,CAAC;AAAA,IAChB,IAAQ,QAAQ,eAAejR,GAAGiR,GAAGxQ,CAAC;AAAA,EACnC,CAAA,GAAGT;AACN;AACA,MAAMmS,KAAK,OAAO,UAAU;AAC5B,SAASC,GAAGrB,GAAG/Q,GAAG;AAChB,MAAIiR;AACJ,MAAI,MAAM,QAAQF,CAAC;AACjB,WAAO,MAAM,UAAU,OAAO,KAAKA,CAAC;AACtC,MAAIA,aAAa,KAAK;AACpB,QAAI,CAACG,GAAGH,CAAC,GAAG;AACV,YAAMtQ,IAAI,OAAO,eAAesQ,CAAC,EAAE;AACnC,aAAO,IAAItQ,EAAEsQ,EAAE,OAAQ,CAAA;AAAA,IACxB;AACD,WAAO,IAAI,UAAU,aAAa,IAAI,UAAU,WAAW,KAAKA,GAAmB,oBAAI,IAAK,CAAA,IAAI,IAAI,IAAIA,EAAE,OAAM,CAAE;AAAA,EACtH,WAAaA,aAAa,KAAK;AAC3B,QAAI,CAACI,GAAGJ,CAAC,GAAG;AACV,YAAMtQ,IAAI,OAAO,eAAesQ,CAAC,EAAE;AACnC,aAAO,IAAItQ,EAAEsQ,CAAC;AAAA,IACf;AACD,WAAO,IAAI,IAAIA,CAAC;AAAA,EACpB,WAAa/Q,KAAK,QAAQA,EAAE,SAASiR,IAAIjR,EAAE,KAAK+Q,GAAGhR,EAAC,GAAGkR,MAAM,WAAWA,MAAMlR,GAAE,SAAS;AACrF,QAAIkR,MAAMlR,GAAE;AACV,aAAOmS,GAAGnB,CAAC;AACb,QAAI,OAAOE,KAAK,YAAY;AAC1B,UAAIjR,EAAE,iBAAiBA,EAAE;AACvB,cAAM,IAAI,MAAM,yDAAyD;AAC3E,aAAOiR,EAAC;AAAA,IACT;AACD,UAAM,IAAI,MAAM,4BAA4BA,CAAC,EAAE;AAAA,EACnD,WAAa,OAAOF,KAAK,YAAY,OAAO,eAAeA,CAAC,MAAM,OAAO,WAAW;AAChF,UAAMtQ,IAAI,CAAA;AACV,WAAO,OAAO,KAAKsQ,CAAC,EAAE,QAAQ,CAACY,MAAM;AACnC,MAAAlR,EAAEkR,CAAC,IAAIZ,EAAEY,CAAC;AAAA,IAChB,CAAK,GAAG,OAAO,sBAAsBZ,CAAC,EAAE,QAAQ,CAACY,MAAM;AACjD,MAAAQ,GAAG,KAAKpB,GAAGY,CAAC,MAAMlR,EAAEkR,CAAC,IAAIZ,EAAEY,CAAC;AAAA,IAC7B,CAAA,GAAGlR;AAAA,EACL;AACC,UAAM,IAAI,MAAM,8EAA8E;AAClG;AACA,SAASN,EAAE4Q,GAAG;AACZ,EAAAA,EAAE,SAASA,EAAE,OAAOqB,GAAGrB,EAAE,UAAUA,EAAE,OAAO;AAC9C;AACA,SAASsB,GAAEtB,GAAG;AACZ,MAAI,CAACS,GAAET,CAAC;AACN,WAAOQ,GAAGR,CAAC;AACb,MAAI,MAAM,QAAQA,CAAC;AACjB,WAAOA,EAAE,IAAIsB,EAAC;AAChB,MAAItB,aAAa,KAAK;AACpB,UAAME,IAAI,MAAM,KAAKF,EAAE,SAAS,EAAE,IAAI,CAAC,CAACtQ,GAAGkR,CAAC,MAAM;AAAA,MAChDlR;AAAA,MACA4R,GAAEV,CAAC;AAAA,IACT,CAAK;AACD,QAAI,CAACR,GAAGJ,CAAC,GAAG;AACV,YAAMtQ,IAAI,OAAO,eAAesQ,CAAC,EAAE;AACnC,aAAO,IAAItQ,EAAEwQ,CAAC;AAAA,IACf;AACD,WAAO,IAAI,IAAIA,CAAC;AAAA,EACjB;AACD,MAAIF,aAAa,KAAK;AACpB,UAAME,IAAI,MAAM,KAAKF,CAAC,EAAE,IAAIsB,EAAC;AAC7B,QAAI,CAACnB,GAAGH,CAAC,GAAG;AACV,YAAMtQ,IAAI,OAAO,eAAesQ,CAAC,EAAE;AACnC,aAAO,IAAItQ,EAAEwQ,CAAC;AAAA,IACf;AACD,WAAO,IAAI,IAAIA,CAAC;AAAA,EACjB;AACD,QAAMjR,IAAI,OAAO,OAAO,OAAO,eAAe+Q,CAAC,CAAC;AAChD,aAAWE,KAAKF;AACd,IAAA/Q,EAAEiR,CAAC,IAAIoB,GAAEtB,EAAEE,CAAC,CAAC;AACf,SAAOjR;AACT;AACA,SAASsS,GAAEvB,GAAG;AACZ,SAAOM,GAAEN,CAAC,IAAIsB,GAAEtB,CAAC,IAAIA;AACvB;AACA,SAASwB,GAAExB,GAAG;AACZ,MAAI/Q;AACJ,EAAA+Q,EAAE,eAAe/Q,IAAI+Q,EAAE,iBAAiB,QAAQ/Q,MAAM,SAASA,IAAoB,oBAAI,IAAG,GAAI+Q,EAAE,aAAaA,EAAE,WAAW,IAAIA,EAAE,UAAUwB,GAAExB,EAAE,MAAM;AACtJ;AAkDA,SAASyB,GAAGzB,GAAG/Q,GAAG;AAChB,QAAMiR,IAAIY,GAAEd,CAAC;AACb,MAAIE,MAAM;AACR,YAAQ,QAAQF,CAAC,EAAE,QAAQ,CAACtQ,MAAM;AAChC,MAAAT,EAAES,GAAGsQ,EAAEtQ,CAAC,GAAGsQ,CAAC;AAAA,IAClB,CAAK;AAAA,WACME,MAAM,GAAG;AAChB,QAAIxQ,IAAI;AACR,eAAWkR,KAAKZ;AACd,MAAA/Q,EAAES,GAAGkR,GAAGZ,CAAC,GAAGtQ,KAAK;AAAA,EACpB;AACC,IAAAsQ,EAAE,QAAQ,CAACtQ,GAAGkR,MAAM3R,EAAE2R,GAAGlR,GAAGsQ,CAAC,CAAC;AAClC;AACA,SAAS0B,GAAG1B,GAAG/Q,GAAGiR,GAAG;AACnB,MAAII,GAAEN,CAAC,KAAK,CAACS,GAAET,GAAGE,CAAC,KAAKjR,EAAE,IAAI+Q,CAAC,KAAK,OAAO,SAASA,CAAC;AACnD;AACF,QAAMtQ,IAAIsQ,aAAa,KAAKY,IAAIlR,IAAoB,oBAAI,QAAQ;AAChE,MAAIT,EAAE,IAAI+Q,CAAC,GAAGyB,GAAGzB,GAAG,CAAC7Q,GAAGM,MAAM;AAC5B,QAAIkS;AACJ,QAAIrB,GAAE7Q,CAAC,GAAG;AACR,YAAMX,IAAIyR,EAAE9Q,CAAC;AACb,MAAAL,EAAEN,CAAC;AACH,YAAM8S,IAAI,GAAGD,IAAI7S,EAAE,iBAAiB,QAAQ6S,MAAM,WAAWA,EAAE,QAAQ7S,EAAE,WAAWA,EAAE,OAAOA,EAAE;AAC/FiS,MAAAA,GAAErR,IAAIkR,IAAIZ,GAAG7Q,GAAGyS,CAAC;AAAA,IAClB;AACC,MAAAF,GAAGjS,GAAGR,GAAGiR,CAAC;AAAA,EACb,CAAA,GAAGU,GAAG;AACL,UAAMzR,IAAI6Q,GAAGvQ,IAAI,MAAM,KAAKN,CAAC;AAC7B,IAAAA,EAAE,MAAO,GAAEM,EAAE,QAAQ,CAACkS,MAAM;AAC1B,MAAAxS,EAAE,IAAIyR,EAAE,IAAIe,CAAC,IAAIf,EAAE,IAAIe,CAAC,IAAIA,CAAC;AAAA,IACnC,CAAK;AAAA,EACF;AACH;AACA,SAASE,GAAG7B,GAAG/Q,GAAG;AAChB,QAAMiR,IAAIF,EAAE,SAAS,IAAIA,EAAE,SAASA,EAAE;AACtC,EAAAA,EAAE,WAAW,OAAO,SAAS,KAAKA,EAAE,YAAY,IAAI/Q,CAAC,KAAKiR,KAAKwB,GAAGf,GAAET,GAAGjR,CAAC,GAAG+Q,EAAE,WAAW,YAAYA,EAAE,OAAO;AAC/G;AACA,SAAS8B,GAAE9B,GAAG;AACZ,EAAAA,EAAE,SAAS,KAAKA,EAAE,SAASA,EAAE,KAAK,MAAO,GAAEA,EAAE,OAAO,QAAQ,CAAC/Q,MAAM;AACjE,IAAA+Q,EAAE,KAAK,IAAIQ,GAAGvR,CAAC,CAAC;AAAA,EACjB,CAAA;AACH;AACA,SAASkG,GAAE6K,GAAG/Q,GAAGiR,GAAGxQ,GAAG;AACrB,MAAIsQ,EAAE,YAAYA,EAAE,eAAeA,EAAE,YAAY,OAAO,KAAK,CAACA,EAAE,WAAW;AACzE,QAAIE,KAAKxQ,GAAG;AACV,YAAMP,IAAIuR,GAAGV,CAAC;AACd,MAAA7Q,KAAKF,EAAE+Q,GAAG7Q,GAAG+Q,GAAGxQ,CAAC;AAAA,IAClB;AACD,IAAAsQ,EAAE,YAAY;AAAA,EACf;AACH;AACA,SAAS+B,GAAG/B,GAAG/Q,GAAGiR,GAAGxQ,GAAG;AACtB,QAAMkR,IAAIL,EAAEL,CAAC;AACb,EAAAU,MAAMA,EAAE,cAAcA,EAAE,YAAY,CAAA,IAAKA,EAAE,UAAU,KAAK,CAACzR,GAAGM,MAAM;AAClE,QAAIkS;AACJ,UAAM7S,IAAIkR,EAAE,SAAS,IAAIA,EAAE,SAASA,EAAE;AACtC,QAAIiB,GAAEN,GAAE7R,GAAGG,CAAC,GAAGiR,CAAC,GAAG;AACjB,UAAI0B,IAAIhB,EAAE;AACV,MAAAA,EAAE,SAASgB,IAAIhB,EAAE,OAAOkB,GAAE9B,CAAC,GAAG7K,GAAE6K,GAAGtQ,GAAGP,GAAGM,CAAC,GAAGuQ,EAAE,QAAQ,qBAAqBA,EAAE,QAAQ,iBAAiB2B,IAAI3B,EAAE,QAAQ,mBAAmB,QAAQ2B,MAAM,SAASA,IAAoB,oBAAI,QAAS,GAAE3B,EAAE,QAAQ,cAAc,IAAI4B,GAAGhB,EAAE,QAAQ,IAAIG,GAAEjS,GAAGG,GAAG2S,CAAC;AAAA,IACzP;AAAA,EACF,CAAA,GAAG5B,EAAE,QAAQ,oBAAoBY,EAAE,eAAeZ,EAAE,eAAeA,EAAE,QAAQ,mBAAmB,MAAMS,GAAEP,GAAGF,EAAE,OAAO,KAAKA,EAAE,WAAW,MAAM,KAAK,MAAM;AACtJ,UAAM7Q,IAAI6Q,EAAE,SAAS,IAAIA,EAAE,SAASA,EAAE;AACtCiB,IAAAA,GAAEN,GAAExR,GAAGF,CAAC,GAAGiR,CAAC,KAAK2B,GAAG7B,GAAG/Q,CAAC;AAAA,EAC5B,CAAG;AACH;AACA,SAAS+S,GAAGhC,GAAG/Q,GAAGiR,GAAGxQ,GAAGkR,GAAG;AACzB,MAAI,EAAE,UAAUzR,GAAG,aAAaM,GAAG,SAASkS,EAAC,IAAK3B,GAAGlR,IAAIkR,EAAE;AAC3D,EAAAlR,EAAE,SAASK,EAAE,WAAW,CAACA,GAAGL,CAAC,IAAI,CAACA,GAAGK,CAAC,GAAG,CAAC+Q,GAAGxQ,CAAC,IAAI,CAACA,GAAGwQ,CAAC;AACvD,WAAS0B,IAAI,GAAGA,IAAIzS,EAAE,QAAQyS,KAAK;AACjC,QAAInS,EAAE,IAAImS,EAAE,SAAU,CAAA,KAAK9S,EAAE8S,CAAC,MAAMzS,EAAEyS,CAAC,GAAG;AACxC,YAAM,IAAI3S,EAAE,OAAO,CAAC2S,CAAC,CAAC,GAAGzC,IAAI+B,GAAE,GAAGN,CAAC;AACnC,MAAAV,EAAE,KAAK;AAAA,QACL,IAAIP,EAAE;AAAA,QACN,MAAMR;AAAA;AAAA,QAEN,OAAOoC,GAAEzS,EAAE8S,CAAC,CAAC;AAAA,MACrB,CAAO,GAAGlS,EAAE,KAAK;AAAA,QACT,IAAIiQ,EAAE;AAAA,QACN,MAAMR;AAAA;AAAA,QAEN,OAAOoC,GAAEpS,EAAEyS,CAAC,CAAC;AAAA,MACrB,CAAO;AAAA,IACF;AACH,WAASA,IAAIzS,EAAE,QAAQyS,IAAI9S,EAAE,QAAQ8S,KAAK,GAAG;AAC3C,UAAM,IAAI3S,EAAE,OAAO,CAAC2S,CAAC,CAAC,GAAGzC,IAAI+B,GAAE,GAAGN,CAAC;AACnC,IAAAV,EAAE,KAAK;AAAA,MACL,IAAIP,EAAE;AAAA,MACN,MAAMR;AAAA;AAAA,MAEN,OAAOoC,GAAEzS,EAAE8S,CAAC,CAAC;AAAA,IACnB,CAAK;AAAA,EACF;AACD,MAAIzS,EAAE,SAASL,EAAE,QAAQ;AACvB,UAAM,EAAE,uBAAuB8S,IAAI,GAAI,IAAGD,EAAE;AAC5C,QAAIC,GAAG;AACL,YAAM,IAAI3S,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAGkQ,IAAI+B,GAAE,GAAGN,CAAC;AAC1C,MAAAlR,EAAE,KAAK;AAAA,QACL,IAAIiQ,EAAE;AAAA,QACN,MAAMR;AAAA,QACN,OAAOhQ,EAAE;AAAA,MACjB,CAAO;AAAA,IACF;AACC,eAAS,IAAIL,EAAE,QAAQK,EAAE,SAAS,GAAG,KAAK,GAAG;AAC3C,cAAMgQ,IAAIlQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAGgF,IAAIiN,GAAE/B,GAAGyB,CAAC;AACvC,QAAAlR,EAAE,KAAK;AAAA,UACL,IAAIiQ,EAAE;AAAA,UACN,MAAM1L;AAAA,QAChB,CAAS;AAAA,MACF;AAAA,EACJ;AACH;AACA,SAASgO,GAAG,EAAE,UAAUjC,GAAG,MAAM/Q,GAAG,aAAaiR,EAAG,GAAExQ,GAAGkR,GAAGzR,GAAGM,GAAG;AAChE,EAAAyQ,EAAE,QAAQ,CAACyB,GAAG7S,MAAM;AAClB,UAAM8S,IAAIjB,GAAEX,GAAGlR,CAAC,GAAG,IAAIyS,GAAEZ,GAAE1R,GAAGH,CAAC,CAAC,GAAGqQ,IAAIwC,IAAI5B,GAAEC,GAAGlR,CAAC,IAAI6Q,EAAE,UAAUA,EAAE,MAAMA,EAAE;AAC3E,QAAIsB,GAAEW,GAAG,CAAC,KAAKzC,MAAMQ,EAAE;AACrB;AACF,UAAM1L,IAAIvE,EAAE,OAAOZ,CAAC,GAAGoT,IAAIhB,GAAEjN,GAAGxE,CAAC;AACjC,IAAAmR,EAAE,KAAKzB,MAAMQ,EAAE,SAAS,EAAE,IAAIR,GAAG,MAAM+C,EAAC,IAAK,EAAE,IAAI/C,GAAG,MAAM+C,GAAG,OAAO,EAAG,CAAA,GAAG/S,EAAE,KAAKgQ,MAAMQ,EAAE,MAAM,EAAE,IAAIA,EAAE,QAAQ,MAAMuC,EAAC,IAAK/C,MAAMQ,EAAE,SAAS,EAAE,IAAIA,EAAE,KAAK,MAAMuC,GAAG,OAAON,EAAC,IAAK,EAAE,IAAIjC,EAAE,SAAS,MAAMuC,GAAG,OAAON,EAAG,CAAA;AAAA,EACzN,CAAG;AACH;AACA,SAASO,GAAG,EAAE,UAAUnC,GAAG,MAAM/Q,EAAG,GAAEiR,GAAGxQ,GAAGkR,GAAGzR,GAAG;AAChD,MAAIM,IAAI;AACR,EAAAuQ,EAAE,QAAQ,CAAC2B,MAAM;AACf,QAAI,CAAC1S,EAAE,IAAI0S,CAAC,GAAG;AACb,YAAM7S,IAAIoR,EAAE,OAAO,CAACzQ,CAAC,CAAC,GAAGmS,IAAIV,GAAEpS,GAAGK,CAAC;AACnC,MAAAO,EAAE,KAAK;AAAA,QACL,IAAIiQ,EAAE;AAAA,QACN,MAAMiC;AAAA,QACN,OAAOD;AAAA,MACf,CAAO,GAAGf,EAAE,QAAQ;AAAA,QACZ,IAAIjB,EAAE;AAAA,QACN,MAAMiC;AAAA,QACN,OAAOD;AAAA,MACf,CAAO;AAAA,IACF;AACD,IAAAlS,KAAK;AAAA,EACT,CAAG,GAAGA,IAAI,GAAGR,EAAE,QAAQ,CAAC0S,MAAM;AAC1B,QAAI,CAAC3B,EAAE,IAAI2B,CAAC,GAAG;AACb,YAAM7S,IAAIoR,EAAE,OAAO,CAACzQ,CAAC,CAAC,GAAGmS,IAAIV,GAAEpS,GAAGK,CAAC;AACnC,MAAAO,EAAE,KAAK;AAAA,QACL,IAAIiQ,EAAE;AAAA,QACN,MAAMiC;AAAA,QACN,OAAOD;AAAA,MACf,CAAO,GAAGf,EAAE,QAAQ;AAAA,QACZ,IAAIjB,EAAE;AAAA,QACN,MAAMiC;AAAA,QACN,OAAOD;AAAA,MACf,CAAO;AAAA,IACF;AACD,IAAAlS,KAAK;AAAA,EACT,CAAG;AACH;AACA,SAAS2S,GAAEpC,GAAG/Q,GAAGiR,GAAGxQ,GAAG;AACrB,QAAM,EAAE,aAAakR,IAAI,GAAE,IAAKZ,EAAE,QAAQ;AAC1C,UAAQA,EAAE,MAAI;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AACH,aAAOiC,GAAGjC,GAAG/Q,GAAGiR,GAAGxQ,GAAGkR,CAAC;AAAA,IACzB,KAAK;AACH,aAAOoB,GAAGhC,GAAG/Q,GAAGiR,GAAGxQ,GAAGkR,CAAC;AAAA,IACzB,KAAK;AACH,aAAOuB,GAAGnC,GAAG/Q,GAAGiR,GAAGxQ,GAAGkR,CAAC;AAAA,EAC1B;AACH;AACA,IAAIyB,KAAK;AACT,MAAMC,KAAI,CAACtC,GAAG/Q,GAAGiR,IAAI,OAAO;AAC1B,MAAI,OAAOF,KAAK,YAAYA,MAAM,SAAS,CAACS,GAAET,GAAG/Q,CAAC,KAAKiR,MAAM,CAACmC;AAC5D,UAAM,IAAI,MAAM,4FAA4F;AAChH,GAAGE,KAAK;AAAA,EACN,IAAI,OAAO;AACT,WAAOlC,GAAEE,EAAE,IAAI,CAAC,EAAE;AAAA,EACnB;AAAA,EACD,IAAIP,GAAG;AACL,WAAOK,GAAEE,EAAE,IAAI,CAAC,EAAE,IAAIP,CAAC;AAAA,EACxB;AAAA,EACD,IAAIA,GAAG/Q,GAAG;AACR,UAAMiR,IAAIK,EAAE,IAAI,GAAG7Q,IAAI2Q,GAAEH,CAAC;AAC1B,YAAQ,CAACxQ,EAAE,IAAIsQ,CAAC,KAAK,CAACiB,GAAEvR,EAAE,IAAIsQ,CAAC,GAAG/Q,CAAC,OAAOG,EAAE8Q,CAAC,GAAGsB,GAAEtB,CAAC,GAAGA,EAAE,YAAY,IAAIF,GAAG,EAAE,GAAGE,EAAE,KAAK,IAAIF,GAAG/Q,CAAC,GAAG8S,GAAG7B,GAAGF,GAAG/Q,GAAGmT,EAAC,IAAI;AAAA,EACpH;AAAA,EACD,OAAOpC,GAAG;AACR,QAAI,CAAC,KAAK,IAAIA,CAAC;AACb,aAAO;AACT,UAAM/Q,IAAIsR,EAAE,IAAI;AAChB,WAAOnR,EAAEH,CAAC,GAAGuS,GAAEvS,CAAC,GAAGA,EAAE,SAAS,IAAI+Q,CAAC,IAAI/Q,EAAE,YAAY,IAAI+Q,GAAG,EAAE,IAAI/Q,EAAE,YAAY,OAAO+Q,CAAC,GAAG/Q,EAAE,KAAK,OAAO+Q,CAAC,GAAG;AAAA,EAC9G;AAAA,EACD,QAAQ;AACN,UAAMA,IAAIO,EAAE,IAAI;AAChB,QAAI,KAAK,MAAM;AACb,MAAAnR,EAAE4Q,CAAC,GAAGwB,GAAExB,CAAC,GAAGA,EAAE,cAA8B,oBAAI;AAChD,iBAAW,CAAC/Q,CAAC,KAAK+Q,EAAE;AAClB,QAAAA,EAAE,YAAY,IAAI/Q,GAAG,EAAE;AACzB,MAAA+Q,EAAE,KAAK;IACR;AAAA,EACF;AAAA,EACD,QAAQA,GAAG/Q,GAAG;AACZ,UAAMiR,IAAIK,EAAE,IAAI;AAChBF,IAAAA,GAAEH,CAAC,EAAE,QAAQ,CAACxQ,GAAGkR,MAAM;AACrB,MAAAZ,EAAE,KAAK/Q,GAAG,KAAK,IAAI2R,CAAC,GAAGA,GAAG,IAAI;AAAA,IACpC,CAAK;AAAA,EACF;AAAA,EACD,IAAIZ,GAAG;AACL,QAAI/Q,GAAGiR;AACP,UAAMxQ,IAAI6Q,EAAE,IAAI,GAAGK,IAAIP,GAAE3Q,CAAC,EAAE,IAAIsQ,CAAC,GAAG7Q,MAAM+Q,KAAKjR,IAAIS,EAAE,SAAS,UAAU,QAAQwQ,MAAM,SAAS,SAASA,EAAE,KAAKjR,GAAG2R,GAAG5R,EAAC,OAAOA,GAAE;AAC/H,QAAIU,EAAE,QAAQ,UAAU4S,GAAE1B,GAAGlR,EAAE,SAASP,CAAC,GAAGA,KAAKO,EAAE,aAAa,CAAC+Q,GAAEG,GAAGlR,EAAE,OAAO,KAAKkR,MAAMlR,EAAE,SAAS,IAAIsQ,CAAC;AACxG,aAAOY;AACT,UAAMnR,IAAIqQ,GAAG,YAAY;AAAA,MACvB,UAAUc;AAAA,MACV,aAAalR;AAAA,MACb,KAAKsQ;AAAA,MACL,YAAYtQ,EAAE;AAAA,MACd,SAASA,EAAE;AAAA,IACjB,CAAK;AACD,WAAON,EAAEM,CAAC,GAAGA,EAAE,KAAK,IAAIsQ,GAAGvQ,CAAC,GAAGA;AAAA,EAChC;AAAA,EACD,OAAO;AACL,WAAO4Q,GAAEE,EAAE,IAAI,CAAC,EAAE,KAAI;AAAA,EACvB;AAAA,EACD,SAAS;AACP,UAAMP,IAAI,KAAK;AACf,WAAO;AAAA,MACL,CAACH,EAAC,GAAG,MAAM,KAAK,OAAQ;AAAA,MACxB,MAAM,MAAM;AACV,cAAM5Q,IAAI+Q,EAAE;AACZ,eAAO/Q,EAAE,OAAOA,IAAI;AAAA,UAClB,MAAM;AAAA,UACN,OAAO,KAAK,IAAIA,EAAE,KAAK;AAAA,QACjC;AAAA,MACO;AAAA,IACP;AAAA,EACG;AAAA,EACD,UAAU;AACR,UAAM+Q,IAAI,KAAK;AACf,WAAO;AAAA,MACL,CAACH,EAAC,GAAG,MAAM,KAAK,QAAS;AAAA,MACzB,MAAM,MAAM;AACV,cAAM5Q,IAAI+Q,EAAE;AACZ,YAAI/Q,EAAE;AACJ,iBAAOA;AACT,cAAMiR,IAAI,KAAK,IAAIjR,EAAE,KAAK;AAC1B,eAAO;AAAA,UACL,MAAM;AAAA,UACN,OAAO,CAACA,EAAE,OAAOiR,CAAC;AAAA,QAC5B;AAAA,MACO;AAAA,IACP;AAAA,EACG;AAAA,EACD,CAACL,EAAC,IAAI;AACJ,WAAO,KAAK;EACb;AACH,GAAG2C,KAAK,QAAQ,QAAQD,EAAE,GAAGE,KAAK,CAACzC,GAAG/Q,GAAG,EAAE,kBAAkBiR,EAAG,MAAK,MAAM;AACzE,MAAIxQ,GAAGkR;AACP,QAAMzR,IAAIF,EAAE;AACZ,MAAIE,EAAE;AACJ,WAAOA;AACT,QAAMM,IAAIN,EAAE;AACZ,MAAIwS,IAAI3B,EAAE,OAAO,IAAIvQ,CAAC;AACtB,QAAMX,IAAIyR,EAAEoB,CAAC,GAAGC,MAAMhB,KAAKlR,IAAIsQ,EAAE,SAAS,UAAU,QAAQY,MAAM,SAAS,SAASA,EAAE,KAAKlR,GAAGiS,GAAG3S,EAAC,OAAOA,GAAE;AAC3G,MAAIgR,EAAE,QAAQ,UAAUsC,GAAE7S,GAAGuQ,EAAE,SAAS4B,CAAC,GAAG,CAACA,KAAK,CAAC9S,KAAK2R,GAAEhR,GAAGuQ,EAAE,OAAO,KAAK,CAACA,EAAE,aAAaA,EAAE,SAAS,IAAIvQ,CAAC,GAAG;AAC5G,UAAM,IAAIqQ,GAAG,YAAY;AAAA,MACvB,UAAUrQ;AAAA,MACV,aAAauQ;AAAA,MACb,KAAKvQ;AAAA,MACL,YAAYuQ,EAAE;AAAA,MACd,SAASA,EAAE;AAAA,IACjB,CAAK;AACD,IAAAA,EAAE,OAAO,IAAIvQ,GAAG,CAAC,GAAGkS,IAAI;AAAA,EACzB;AAAM,IAAA7S,MAAM6S,IAAI7S,EAAE;AACnB,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAOoR,IAAIyB,IAAI,CAACA,GAAGA,CAAC;AAAA,EACxB;AACA,GAAGe,KAAI;AAAA,EACL,IAAI,OAAO;AACT,WAAOnC,EAAE,IAAI,EAAE,OAAO;AAAA,EACvB;AAAA,EACD,IAAIP,GAAG;AACL,UAAM/Q,IAAIsR,EAAE,IAAI;AAChB,QAAItR,EAAE,OAAO,IAAI+Q,CAAC;AAChB,aAAO;AACT,IAAA5Q,EAAEH,CAAC;AACH,UAAMiR,IAAIK,EAAEP,CAAC;AACb,WAAO,CAAC,EAAEE,KAAKjR,EAAE,OAAO,IAAIiR,EAAE,QAAQ;AAAA,EACvC;AAAA,EACD,IAAIF,GAAG;AACL,UAAM/Q,IAAIsR,EAAE,IAAI;AAChB,WAAO,KAAK,IAAIP,CAAC,MAAM5Q,EAAEH,CAAC,GAAGuS,GAAEvS,CAAC,GAAGA,EAAE,YAAY,IAAI+Q,GAAG,EAAE,GAAG/Q,EAAE,OAAO,IAAI+Q,GAAGA,CAAC,GAAG+B,GAAG9S,GAAG+Q,GAAGA,GAAGoC,EAAC,IAAI;AAAA,EACnG;AAAA,EACD,OAAOpC,GAAG;AACR,QAAI,CAAC,KAAK,IAAIA,CAAC;AACb,aAAO;AACT,UAAM/Q,IAAIsR,EAAE,IAAI;AAChB,IAAAnR,EAAEH,CAAC,GAAGuS,GAAEvS,CAAC;AACT,UAAMiR,IAAIK,EAAEP,CAAC;AACb,WAAOE,KAAKjR,EAAE,OAAO,IAAIiR,EAAE,QAAQ,KAAKjR,EAAE,YAAY,IAAIiR,EAAE,UAAU,EAAE,GAAGjR,EAAE,OAAO,OAAOiR,EAAE,QAAQ,MAAM,CAACA,KAAKjR,EAAE,OAAO,IAAI+Q,CAAC,IAAI/Q,EAAE,YAAY,IAAI+Q,GAAG,EAAE,IAAI/Q,EAAE,YAAY,OAAO+Q,CAAC,GAAG/Q,EAAE,OAAO,OAAO+Q,CAAC;AAAA,EACzM;AAAA,EACD,QAAQ;AACN,QAAI,CAAC,KAAK;AACR;AACF,UAAMA,IAAIO,EAAE,IAAI;AAChB,IAAAnR,EAAE4Q,CAAC,GAAGwB,GAAExB,CAAC;AACT,eAAW/Q,KAAK+Q,EAAE;AAChB,MAAAA,EAAE,YAAY,IAAI/Q,GAAG,EAAE;AACzB,IAAA+Q,EAAE,OAAO;EACV;AAAA,EACD,SAAS;AACP,UAAMA,IAAIO,EAAE,IAAI;AAChB,IAAAnR,EAAE4Q,CAAC;AACH,UAAM/Q,IAAI+Q,EAAE,OAAO,KAAI;AACvB,WAAO;AAAA,MACL,CAAC,OAAO,QAAQ,GAAG,MAAM,KAAK,OAAQ;AAAA,MACtC,MAAMyC,GAAGzC,GAAG/Q,GAAG,EAAE,kBAAkB,IAAI;AAAA,IAC7C;AAAA,EACG;AAAA,EACD,UAAU;AACR,UAAM+Q,IAAIO,EAAE,IAAI;AAChB,IAAAnR,EAAE4Q,CAAC;AACH,UAAM/Q,IAAI+Q,EAAE,OAAO,KAAI;AACvB,WAAO;AAAA,MACL,CAAC,OAAO,QAAQ,GAAG,MAAM,KAAK,QAAS;AAAA,MACvC,MAAMyC,GAAGzC,GAAG/Q,GAAG;AAAA,QACb,kBAAkB;AAAA,MAC1B,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EACD,OAAO;AACL,WAAO,KAAK;EACb;AAAA,EACD,CAAC4Q,EAAC,IAAI;AACJ,WAAO,KAAK;EACb;AAAA,EACD,QAAQG,GAAG/Q,GAAG;AACZ,UAAMiR,IAAI,KAAK;AACf,QAAIxQ,IAAIwQ,EAAE;AACV,WAAO,CAACxQ,EAAE;AACR,MAAAsQ,EAAE,KAAK/Q,GAAGS,EAAE,OAAOA,EAAE,OAAO,IAAI,GAAGA,IAAIwQ,EAAE,KAAI;AAAA,EAChD;AACH;AACA,IAAI,UAAU,cAAc,OAAO,OAAOwC,IAAG;AAAA,EAC3C,aAAa1C,GAAG;AACd,WAAO,IAAI,UAAU,aAAa,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EACjE;AAAA,EACD,MAAMA,GAAG;AACP,WAAO,IAAI,UAAU,MAAM,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EAC1D;AAAA,EACD,WAAWA,GAAG;AACZ,WAAO,IAAI,UAAU,WAAW,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EAC/D;AAAA,EACD,oBAAoBA,GAAG;AACrB,WAAO,IAAI,UAAU,oBAAoB,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EACxE;AAAA,EACD,WAAWA,GAAG;AACZ,WAAO,IAAI,UAAU,WAAW,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EAC/D;AAAA,EACD,aAAaA,GAAG;AACd,WAAO,IAAI,UAAU,aAAa,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EACjE;AAAA,EACD,eAAeA,GAAG;AAChB,WAAO,IAAI,UAAU,eAAe,KAAK,IAAI,IAAI,KAAK,OAAM,CAAE,GAAGA,CAAC;AAAA,EACnE;AACH,CAAC;AACD,MAAM2C,KAAK,QAAQ,QAAQD,EAAC,GAAGE,KAAK;AAAA,EAClC,IAAI5C,GAAG/Q,GAAGiR,GAAG;AACX,QAAIxQ,GAAGkR;AACP,UAAMzR,KAAKO,IAAIsQ,EAAE,UAAU,QAAQtQ,MAAM,SAAS,SAASA,EAAET,CAAC;AAC9D,QAAIE,KAAK6Q,EAAE,WAAW,YAAY,IAAI7Q,CAAC;AACrC,aAAOA;AACT,QAAIF,MAAM2Q;AACR,aAAOI;AACT,QAAIvQ;AACJ,QAAIuQ,EAAE,QAAQ,MAAM;AAClB,YAAM4B,IAAI3S,MAAM,WAAW+Q,EAAE,oBAAoB,OAAOA,EAAE,oBAAoB,OAAO,QAAQ,IAAIA,EAAE,UAAU/Q,CAAC,IAAI,QAAQ,IAAI+Q,EAAE,UAAU/Q,GAAGiR,CAAC;AAC9I,UAAIzQ,IAAIuQ,EAAE,QAAQ,KAAK4B,GAAG5S,EAAC,GAAGS,MAAMT,GAAE;AACpC,eAAOgR,EAAE,QAAQ,UAAUsC,GAAEV,GAAG5B,EAAE,SAAS,EAAE,GAAG4B;AAAA,IACnD;AACD,UAAMD,IAAItB,GAAEL,CAAC;AACb,QAAI2B,aAAa,OAAOa,GAAG,SAASvT,CAAC;AACnC,aAAOA,MAAM,SAAS,OAAO,yBAAyBsT,IAAI,MAAM,EAAE,IAAI,KAAKvC,EAAE,KAAK,IAAIuC,GAAGtT,CAAC,EAAE,KAAK+Q,EAAE,KAAK;AAC1G,QAAI2B,aAAa,OAAOgB,GAAG,SAAS1T,CAAC;AACnC,aAAOA,MAAM,SAAS,OAAO,yBAAyByT,IAAG,MAAM,EAAE,IAAI,KAAK1C,EAAE,KAAK,IAAI0C,GAAEzT,CAAC,EAAE,KAAK+Q,EAAE,KAAK;AACxG,QAAI,CAACD,GAAE4B,GAAG1S,CAAC,GAAG;AACZ,YAAM2S,IAAI3B,GAAG0B,GAAG1S,CAAC;AACjB,aAAO2S,IAAI,WAAWA,IAAIA,EAAE;AAAA;AAAA,SAEzBhB,IAAIgB,EAAE,SAAS,QAAQhB,MAAM,SAAS,SAASA,EAAE,KAAKZ,EAAE,KAAK;AAAA,UAC5D;AAAA,IACL;AACD,UAAMlR,IAAI6S,EAAE1S,CAAC;AACb,QAAI+Q,EAAE,QAAQ,UAAUsC,GAAExT,GAAGkR,EAAE,OAAO,GAAGA,EAAE,aAAa,CAACS,GAAE3R,GAAGkR,EAAE,OAAO;AACrE,aAAOlR;AACT,QAAIA,MAAMkS,GAAEhB,EAAE,UAAU/Q,CAAC,GAAG;AAC1B,UAAIG,EAAE4Q,CAAC,GAAGA,EAAE,KAAK/Q,CAAC,IAAI4T,GAAG;AAAA,QACvB,UAAU7C,EAAE,SAAS/Q,CAAC;AAAA,QACtB,aAAa+Q;AAAA,QACb,KAAKA,EAAE,SAAS,IAAI,OAAO/Q,CAAC,IAAIA;AAAA,QAChC,YAAY+Q,EAAE;AAAA,QACd,SAASA,EAAE;AAAA,MACnB,CAAO,GAAG,OAAOvQ,KAAK,YAAY;AAC1B,cAAMmS,IAAIrB,EAAEP,EAAE,KAAK/Q,CAAC,CAAC;AACrB,eAAOG,EAAEwS,CAAC,GAAGJ,GAAEI,CAAC,GAAGA,EAAE;AAAA,MACtB;AACD,aAAO5B,EAAE,KAAK/Q,CAAC;AAAA,IAChB;AACD,WAAOqR,GAAExR,CAAC,KAAKkR,EAAE,WAAW,YAAY,IAAIlR,CAAC,GAAGA;AAAA,EACjD;AAAA,EACD,IAAIkR,GAAG/Q,GAAGiR,GAAG;AACX,QAAIxQ;AACJ,QAAIsQ,EAAE,SAAS,KAAKA,EAAE,SAAS;AAC7B,YAAM,IAAI,MAAM,yDAAyD;AAC3E,QAAIY;AACJ,QAAIZ,EAAE,SAAS,KAAK/Q,MAAM,YAAY,EAAE,OAAO,UAAU2R,IAAI,OAAO3R,CAAC,CAAC,KAAK2R,KAAK,MAAM3R,MAAM,KAAK2R,MAAM,KAAK,OAAOA,CAAC,MAAM,OAAO3R,CAAC;AAChI,YAAM,IAAI,MAAM,gEAAgE;AAClF,UAAME,IAAI8Q,GAAGI,GAAEL,CAAC,GAAG/Q,CAAC;AACpB,QAAIE,KAAK,QAAQA,EAAE;AACjB,aAAOA,EAAE,IAAI,KAAK6Q,EAAE,OAAOE,CAAC,GAAG;AACjC,UAAMzQ,IAAIuR,GAAEX,GAAEL,CAAC,GAAG/Q,CAAC,GAAG0S,IAAIpB,EAAE9Q,CAAC;AAC7B,WAAOkS,KAAKV,GAAEU,EAAE,UAAUzB,CAAC,KAAKF,EAAE,KAAK/Q,CAAC,IAAIiR,GAAGF,EAAE,eAAetQ,IAAIsQ,EAAE,iBAAiB,QAAQtQ,MAAM,SAASA,IAAoB,oBAAI,IAAK,GAAEsQ,EAAE,YAAY,IAAI/Q,GAAG,EAAE,GAAG,OAAOgS,GAAEf,GAAGzQ,CAAC,MAAMyQ,MAAM,UAAUH,GAAEC,EAAE,UAAU/Q,CAAC,OAAOG,EAAE4Q,CAAC,GAAGwB,GAAExB,CAAC,GAAGD,GAAEC,EAAE,UAAU/Q,CAAC,KAAKgS,GAAEf,GAAGF,EAAE,SAAS/Q,CAAC,CAAC,IAAI+Q,EAAE,YAAY,OAAO/Q,CAAC,IAAI+Q,EAAE,YAAY,IAAI/Q,GAAG,EAAE,GAAG+Q,EAAE,KAAK/Q,CAAC,IAAIiR,GAAG6B,GAAG/B,GAAG/Q,GAAGiR,GAAGkC,EAAC,IAAI;AAAA,EAC3W;AAAA,EACD,IAAIpC,GAAG/Q,GAAG;AACR,WAAOA,KAAKoR,GAAEL,CAAC;AAAA,EAChB;AAAA,EACD,QAAQA,GAAG;AACT,WAAO,QAAQ,QAAQK,GAAEL,CAAC,CAAC;AAAA,EAC5B;AAAA,EACD,yBAAyBA,GAAG/Q,GAAG;AAC7B,UAAMiR,IAAIG,GAAEL,CAAC,GAAGtQ,IAAI,QAAQ,yBAAyBwQ,GAAGjR,CAAC;AACzD,WAAOS,KAAK;AAAA,MACV,UAAU;AAAA,MACV,cAAcsQ,EAAE,SAAS,KAAK/Q,MAAM;AAAA,MACpC,YAAYS,EAAE;AAAA,MACd,OAAOwQ,EAAEjR,CAAC;AAAA,IAChB;AAAA,EACG;AAAA,EACD,eAAe+Q,GAAG;AAChB,WAAO,QAAQ,eAAeA,EAAE,QAAQ;AAAA,EACzC;AAAA,EACD,iBAAiB;AACf,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC3D;AAAA,EACD,iBAAiB;AACf,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC3D;AAAA,EACD,eAAeA,GAAG/Q,GAAG;AACnB,QAAIiR;AACJ,WAAOF,EAAE,SAAS,IAAI4C,GAAG,IAAI,KAAK,MAAM5C,GAAG/Q,GAAG,QAAQ+Q,EAAE,KAAK,KAAKgB,GAAEhB,EAAE,UAAU/Q,CAAC,MAAM,UAAUA,KAAK+Q,EAAE,YAAY5Q,EAAE4Q,CAAC,GAAGwB,GAAExB,CAAC,GAAGA,EAAE,YAAY,IAAI/Q,GAAG,EAAE,MAAM+Q,EAAE,eAAeE,IAAIF,EAAE,iBAAiB,QAAQE,MAAM,SAASA,IAAoB,oBAAI,IAAK,GAAEF,EAAE,YAAY,OAAO/Q,CAAC,IAAI+Q,EAAE,QAAQ,OAAOA,EAAE,KAAK/Q,CAAC,GAAG;AAAA,EAClT;AACH;AACA,SAAS4T,GAAG7C,GAAG;AACb,QAAM,EAAE,UAAU/Q,GAAG,aAAaiR,GAAG,KAAKxQ,GAAG,YAAYkR,GAAG,SAASzR,EAAC,IAAK6Q,GAAGvQ,IAAIqR,GAAE7R,CAAC,GAAG0S,IAAI;AAAA,IAC1F,MAAMlS;AAAA,IACN,WAAW;AAAA,IACX,QAAQyQ;AAAA,IACR,UAAUjR;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY2R;AAAA,IACZ,SAASzR;AAAA;AAAA,IAET,QAAQM,MAAM,IAAI,IAAI,IAAIR,EAAE,QAAO,CAAE,IAAI;AAAA,EAC7C;AACE,GAACS,KAAK,SAASsQ,OAAO2B,EAAE,MAAMjS;AAC9B,QAAM,EAAE,OAAOZ,GAAG,QAAQ8S,EAAG,IAAG,MAAM,UAAUnS,MAAM,IAAI,OAAO,OAAO,CAAE,GAAEkS,CAAC,IAAIA,GAAGiB,EAAE;AACtF,MAAIhC,EAAE,OAAO,KAAKgB,CAAC,GAAGD,EAAE,QAAQ7S,GAAGoR,GAAG;AACpC,UAAM,IAAIA;AACV,MAAE,WAAW,MAAM,KAAK,CAACf,GAAGlL,MAAM;AAChC,UAAIiO,GAAGY;AACP,YAAM9O,IAAIuM,EAAEzR,CAAC;AACb,UAAIiU,IAAI,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE;AACpC,YAAM1E,IAAIsC,GAAEoC,GAAGrT,CAAC,GAAGsT,IAAIzC,EAAElC,CAAC;AAC1B,UAAI2E,GAAG;AACL,YAAIC,IAAID,EAAE;AACV,QAAAA,EAAE,aAAaC,IAAIzC,GAAGnC,CAAC,IAAIyD,GAAEkB,CAAC,GAAG7N,GAAE6N,GAAGZ,IAAGjD,GAAGlL,CAAC,GAAG,EAAE,QAAQ,qBAAqB,EAAE,QAAQ,iBAAiBiO,IAAI,EAAE,QAAQ,mBAAmB,QAAQA,MAAM,SAASA,IAAoB,oBAAI,QAAS,GAAE,EAAE,QAAQ,cAAc,IAAIe,GAAGD,EAAE,QAAQ,IAAIjC,GAAEgC,GAAGrT,GAAGuT,CAAC;AAAA,MAC5P;AACD,OAACH,IAAI9O,EAAE,eAAe,QAAQ8O,MAAM,UAAUA,EAAE,QAAQ,CAACG,MAAM;AAC7D,QAAAA,EAAE9D,GAAGlL,CAAC;AAAA,MACd,CAAO;AAAA,IACP,CAAK;AAAA,EACL,OAAS;AACL,UAAM,IAAIsM,EAAEzR,CAAC;AACb,MAAE,WAAW,MAAM,KAAK,CAACqQ,GAAGlL,MAAM;AAChC6N,MAAAA,GAAE,CAAC,GAAG3M,GAAE,GAAGiN,IAAGjD,GAAGlL,CAAC;AAAA,IACxB,CAAK;AAAA,EACF;AACD,SAAOnF;AACT;AACAgR,GAAG,cAAc+C;AAgKjB,OAAO,UAAU,YAAY;AACxB,MAACK,KAAK,CAAClD,MAAM,OAAOA,KAAK,YAAYA,EAAE,WAAW,OAAO,GAAGmD,KAAI,CAACnD,MAAM;AAC1E,QAAM/Q,IAAI+Q,EAAE,MAAM,eAAe;AACjC,SAAO/Q,IAAIA,EAAE,CAAC,IAAIyQ,GAAE;AACtB,GAAG0D,KAAK,CAACpD,MAAM;AACb,MAAItQ;AACJ,QAAMT,IAAI,CAAE,GAAEiR,KAAKxQ,IAAIsQ,EAAE,MAAM,sBAAsB,MAAM,OAAO,SAAStQ,EAAE,CAAC;AAC9E,SAAOwQ,KAAKA,EAAE,MAAM,GAAG,EAAE,QAAQ,CAACU,MAAM;AACtC,UAAM,CAACzR,GAAGM,CAAC,IAAImR,EAAE,MAAM,GAAG;AAC1B,IAAAzR,KAAKM,MAAMR,EAAEE,CAAC,IAAIM;AAAA,EACnB,CAAA,GAAGR;AACN,GAMGoU,KAAK,CAACrD,MAAM;AACb,QAAM/Q,IAAI,IAAI,WAAW+Q,CAAC,GAAGE,IAAI,KAAK,OAAO,aAAa,GAAGjR,CAAC,CAAC;AAC/D,SAAO,QAAQyQ,GAAE,YAAY,WAAWQ,CAAC;AAC3C,GAAGoD,KAAK,CAACtD,GAAG/Q,MAAM;AAChB,QAAMiR,IAAIF,EAAE,QAAQtQ,IAAI,IAAI,WAAWwQ,CAAC,GAAGU,IAAI,KAAK,OAAO,aAAa,GAAGlR,CAAC,CAAC;AAC7E,SAAO,QAAQgQ,GAAE,WAAW,GAAGzQ,CAAC,WAAW2R,CAAC;AAC9C,GAAG2C,KAAI,OAAOvD,GAAG/Q,MAAM;AACrB,MAAIuU,GAAGxD,CAAC,GAAG;AACT,UAAMvQ,IAAIgU,GAAGzD,CAAC;AACd,QAAI,CAACvQ;AACH,YAAM,IAAI,MAAM,sBAAsB;AACxC,UAAMkS,IAAI,MAAM,MAAMlS,GAAG,EAAE,GAAGR,GAAG,UAAU,SAAQ,CAAE;AACrD,QAAI,CAAC0S,EAAE;AACL,YAAM,IAAI,MAAM,mBAAmBlS,CAAC,KAAKkS,EAAE,UAAU,EAAE;AACzD,WAAOA,EAAE;EACV;AACD,QAAMzB,IAAIF,EAAE,QAAQ,GAAG;AACvB,MAAIE,MAAM;AACR,UAAM,IAAI,MAAM,yBAAyB;AAC3C,QAAMxQ,IAAIsQ,EAAE,UAAU,GAAGE,CAAC,GAAGU,IAAIZ,EAAE,UAAUE,IAAI,CAAC;AAClD,MAAIxQ,EAAE,SAAS,SAAS,GAAG;AACzB,QAAI,CAACkR;AACH,aAAO,IAAI,YAAY,CAAC;AAC1B,UAAMnR,IAAI,KAAKmR,CAAC,GAAGe,IAAI,IAAI,WAAWlS,EAAE,MAAM;AAC9C,aAASX,IAAI,GAAGA,IAAIW,EAAE,QAAQX;AAC5B,MAAA6S,EAAE7S,CAAC,IAAIW,EAAE,WAAWX,CAAC;AACvB,WAAO6S,EAAE;AAAA,EACb,OAAS;AACL,UAAMlS,IAAImR,IAAI,mBAAmBA,CAAC,IAAI;AACtC,WAAO,IAAI,YAAa,EAAC,OAAOnR,CAAC,EAAE;AAAA,EACpC;AACH,GAMGiU,KAAK,OAAO1D,GAAG/Q,MAAM;AACtB,QAAMS,IAAI0T,GAAGpD,CAAC,EAAE;AAChB,MAAI,CAACtQ;AACH,UAAM,IAAI,MAAM,0CAA0C;AAC5D,QAAMkR,IAAI,MAAM2C,GAAEvD,GAAG/Q,CAAC,GAAGE,IAAI,WAAWO,CAAC;AACzC,SAAO,IAAIP,EAAEyR,CAAC;AAChB,GAiBG6C,KAAK,CAACzD,MAAMmD,GAAEnD,CAAC,MAAMN,GAAE,MAAM,OAAO,mBAAmBM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,GAAGwD,KAAK,CAACxD,MAAMmD,GAAEnD,CAAC,MAAMN,GAAE;AAqEnG,IAAIiE,KAAK,oEAAoEC,KAAK,OAAO,aAAa,MAAM,KAAK,IAAI,WAAW,GAAG;AACnI,SAASC,KAAI,GAAGA,KAAIF,GAAG,QAAQE;AAC7B,EAAAD,GAAGD,GAAG,WAAWE,EAAC,CAAC,IAAIA;AACzB,IAAIC;AAAAA,CACH,SAAS9D,GAAG;AACX,EAAAA,EAAE,SAAS,UAAUA,EAAE,MAAM,OAAOA,EAAE,OAAO,QAAQA,EAAE,OAAO,QAAQA,EAAE,MAAM;AAChF,GAAG8D,OAAMA,KAAI,CAAE,EAAC;AAChB,MAAMC,KAAK,OAAO,KAAKD,EAAC,EAAE,OAAO,CAAC9D,MAAM,MAAM,OAAOA,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI+D,EAAE;AACVD,GAAE;AAQF,IAAI,YAAa;ACrhCjB,MAAME,KAAqB,CAACrS,MAC1BA,aAAiB,eACjBA,aAAiB,QACjB,YAAY,OAAOA,CAAK,GAGpBsS,KAAuB,CAACtS,MACxB,OAAOA,KAAU,WAAiBA,EAAM,WAAW,OAAO,IAC1D,GAAAA,KAAS,OAAOA,KAAU,aACxBA,EAAM,OAAO,MAAQA,EAAM,MAC3BA,EAAM,QAAQ,YAAYA,EAAM,KAU3BuS,KAAkB,OAC7BC,MAC8B;AACxB,QAAAxO,IAAO,OAAO,KAAKwO,CAAM,GACzBC,IAA4B,CAAA;AAClC,aAAW/R,KAAOsD;AACZ,IAAAqO,GAAmBG,EAAO9R,CAAG,CAAC,KAAG+R,EAAgB,KAAK/R,CAAG;AAE/D,MAAI+R,EAAgB,WAAW;AAAU,WAAAD;AAEnC,QAAA7L,IAA4B,EAAE,GAAG6L;AACvC,aAAW9R,KAAO+R;AAChB,IAAA9L,EAAOjG,CAAG,IAAI,MAAMgS,GAAgCF,EAAO9R,CAAG,CAAC;AAE1D,SAAAiG;AACT,GAOagM,KAAoB,OAC/BH,MAC8B;AACxB,QAAAxO,IAAO,OAAO,KAAKwO,CAAM,GACzBI,IAA8B,CAAA;AACpC,aAAWlS,KAAOsD;AACZ,IAAAsO,GAAqBE,EAAO9R,CAAG,CAAC,KAAGkS,EAAkB,KAAKlS,CAAG;AAEnE,MAAIkS,EAAkB,WAAW;AAAU,WAAAJ;AAErC,QAAA7L,IAA4B,EAAE,GAAG6L;AACvC,aAAW9R,KAAOkS;AAChB,IAAAjM,EAAOjG,CAAG,IAAI,MAAMmS,GAAkCL,EAAO9R,CAAG,CAAC;AAE5D,SAAAiG;AACT,GAwBMmM,yBAAqC,IAAI;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAA,GAMYJ,KAAkC,OAC7C1S,MACuB;AACvB,MACEA,aAAiB,aACjBA,aAAiB,cACjBA,aAAiB,qBACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiB,gBACjBA,aAAiB;AAEjB,WAAO+S,GACL/S,GACAA,EAAM,YAAY,IAAsB;AAE5C,MAAWA,aAAiB,MAAM;AAC1B,UAAAgT,IAAc,MAAMhT,EAAM,eAC1B8N,IAAQ,IAAI,WAAWkF,CAAW,GAClC3F,IAAS,KAAK,OAAO,aAAa,GAAGS,CAAK,CAAC,GAC3CmF,IAAWjT,EAAM,QAAQ,4BACzBkE,IAAO,mBAAmBlE,EAAM,IAAI;AACnC,WAAA,QAAQiT,CAAQ,mBAAmB/O,CAAI,iBAAiBlE,EAAM,YAAY,WAAWqN,CAAM;AAAA,EAAA,WACzFrN,aAAiB,MAAM;AAC1B,UAAAgT,IAAc,MAAMhT,EAAM,eAC1B8N,IAAQ,IAAI,WAAWkF,CAAW,GAClC3F,IAAS,KAAK,OAAO,aAAa,GAAGS,CAAK,CAAC;AAE1C,WAAA,QADU9N,EAAM,QAAQ,0BACR,qBAAqBqN,CAAM;AAAA,EAAA,WACzCrN,aAAiB;AAC1B,WAAOkT,GAAgBlT,CAAK;AAEvB,SAAAA;AACT,GASa6S,KAAoC,OAC/C7S,MAGImT,GAAUnT,CAAK,IACVoT,GAAmBpT,CAAK,IAG7B,CAACA,KAAS,OAAOA,KAAU,WACtBA,IAILA,EAAM,OAAO,MAAQA,EAAM,KACtBqT,GAA0BrT,CAAK,IAIpCA,EAAM,QAAQ,YAAYA,EAAM,IAC3BsT,GAAqBtT,CAAK,IAI5BA,GAOIuT,KAAmC,OAC9CvT,MAC6B;AACvB,QAAAwT,IAAe,MAAMX,GAAkC7S,CAAK;AAClE,MAAIwT,aAAwB;AACnB,WAAAA;AAET,MAAIA,aAAwB;AACnB,WAAA,IAAI,KAAK,CAACA,CAAY,GAAG,QAAQ,EAAE,MAAMA,EAAa,KAAA,CAAM;AAErE,MAAIA,aAAwB;AAC1B,WAAO,IAAI,KAAK,CAACA,CAAY,GAAG,QAAQ;AAAA,MACtC,MAAM;AAAA,IAAA,CACP;AAEC,MAAA,YAAY,OAAOA,CAAY;AACjC,WAAO,IAAI,KAAK,CAACA,EAAa,MAAqB,GAAG,QAAQ;AAAA,MAC5D,MAAM;AAAA,IAAA,CACP;AAGL,GAEaC,KAAc,OACzBzT,GACA0T,GACAlS,MACiB;AAOjB,MANQxB,IAAA,MAAM6S,GAAkC7S,CAAK,GACrDwB,IAAUA,KAAW,IAChBA,EAAQ,SACXA,EAAQ,OAAO,6BAGbxB,aAAiB;AACnB,WAAO,IAAI,KAAK,CAACA,CAAK,GAAG0T,GAAUlS,CAAO;AAExC,MAAAxB,aAAiB,QAAQA,aAAiB,MAAM;AAC5C,UAAA2T,IAAS,MAAM3T,EAAM;AAC3B,WAAIA,aAAiB,SACnBwB,EAAQ,OAAOxB,EAAM,OAEhB,IAAI,KAAK,CAAC2T,CAAM,GAAGD,GAAUlS,CAAO;AAAA,EAC7C;AACI,MAAA,YAAY,OAAOxB,CAAK;AAC1B,WAAO,IAAI,KAAK,CAACA,EAAM,MAAqB,GAAG0T,GAAUlS,CAAO;AAE9D,MAAA,OAAOxB,KAAU,UAAU;AACvB4T,UAAAA,IAAO,IAAI,KAAK,CAAC5T,CAAK,GAAG,EAAE,MAAM,aAAA,CAAc;AACrD,WAAAwB,EAAQ,OAAO,cACR,IAAI,KAAK,CAACoS,CAAI,GAAGF,GAAUlS,CAAO;AAAA,EAC3C;AACI,MAAA,OAAOxB,KAAU,UAAU;AACvB4T,UAAAA,IAAO,IAAI,KAAK,CAAC,KAAK,UAAU5T,CAAK,CAAC,GAAG;AAAA,MAC7C,MAAM;AAAA,IAAA,CACP;AACD,WAAAwB,EAAQ,OAAO,oBACR,IAAI,KAAK,CAACoS,CAAI,GAAGF,GAAUlS,CAAO;AAAA,EAC3C;AAEM,QAAAoS,IAAO,IAAI,KAAK,CAAC5T,CAAe,GAAG,EAAE,MAAM,aAAA,CAAc;AAC/D,SAAAwB,EAAQ,OAAO,cACR,IAAI,KAAK,CAACoS,CAAI,GAAGF,GAAUlS,CAAO;AAC3C;AAIA,eAAe4R,GAAmBS,GAAe;AACzC,QAAAC,IAASC,GAAcF,CAAO;AAGpC,MAAIC,EAAO,QAAQhB,GAAkB,IAAIgB,EAAO,IAAI;AAClD,WAAOE,GAAoBH,CAAO;AAIhC,MAAAC,EAAO,SAAS,QAAQ;AAC1B,UAAM5P,IAAO4P,EAAO,OAAO,mBAAmBA,EAAO,IAAI,IAAI,QACvDG,IAAeH,EAAO,eACxB,SAASA,EAAO,cAAc,EAAE,IAChC,QACEb,IAAWiB,GAAYL,CAAO,GAC9BF,IAAS,MAAMQ,GAAgBN,CAAO;AACrC,WAAA,IAAI,KAAK,CAACF,CAAM,GAAGzP,GAAM,EAAE,MAAM+O,GAAU,cAAAgB,EAAA,CAAc;AAAA,EAClE;AAGI,MAAAH,EAAO,SAAS,QAAQ;AACpB,UAAAb,IAAWiB,GAAYL,CAAO,GAC9BF,IAAS,MAAMQ,GAAgBN,CAAO;AACrC,WAAA,IAAI,KAAK,CAACF,CAAM,GAAG,EAAE,MAAMV,GAAU;AAAA,EAC9C;AAGI,SAAAY,EAAQ,WAAW,uCAAuC,IAErDM,GAAgBN,CAAO,IAGzBA;AACT;AAEA,SAASR,GAA0BrT,GAAwB;AACzD,QAAMuJ,IAAKvJ,EAAM;AACjB,MAAIuJ,MAAO,QAAQ;AACjB,UAAMlM,IAAI2C;AACV,WAAO,IAAI,KAAK,CAACoN,GAAOpN,EAAM,KAAK,CAAC,GAAG,EAAE,MAAM3C,EAAE,SAAU,CAAA;AAAA,EAAA,WAClDkM,MAAO,QAAQ;AACxB,UAAMlM,IAAI2C;AACH,WAAA,IAAI,KAAK,CAACoN,GAAOpN,EAAM,KAAK,CAAC,GAAG3C,EAAE,MAAM;AAAA,MAC7C,MAAMA,EAAE;AAAA,MACR,cAAcA,EAAE;AAAA,IAAA,CACjB;AAAA,EAAA,WACQkM,MAAO;AACT,WAAA6D,GAAOpN,EAAM,KAAK;AAGrB,QAAAgT,IAAc5F,GAAOpN,EAAM,KAAK;AAClC,MAAA8S,GAAkB,IAAIvJ,CAAE;AACtB,QAAA;AAEF,aAAO,IAAI,WAAWA,CAAE,EAAEyJ,CAAW;AAAA,YAC3B;AAAA,IAAC;AAER,SAAAhT;AACT;AAEA,SAASsT,GAAqBtT,GAK7B;AACC,QAAMuJ,IAAKvJ,EAAM;AACjB,MAAIuJ,MAAO;AACT,WAAO,IAAI,KAAK,CAAC6D,GAAOpN,EAAM,KAAK,CAAC,GAAG;AAAA,MACrC,MAAMA,EAAM,YAAY;AAAA,IAAA,CACzB;AACH,MAAWuJ,MAAO;AACT,WAAA,IAAI,KAAK,CAAC6D,GAAOpN,EAAM,KAAK,CAAC,GAAGA,EAAM,QAAQ,QAAQ;AAAA,MAC3D,MAAMA,EAAM,YAAY;AAAA,MACxB,cAAcA,EAAM,gBAAgB;AAAA,IAAA,CACrC;AACH,MAAWuJ,MAAO;AACT,WAAA6D,GAAOpN,EAAM,KAAK;AAGrB,QAAAgT,IAAc5F,GAAOpN,EAAM,KAAK;AAClC,MAAA8S,GAAkB,IAAIvJ,CAAE;AACtB,QAAA;AAEF,aAAO,IAAI,WAAWA,CAAE,EAAEyJ,CAAW;AAAA,YAC3B;AAAA,IAAC;AAER,SAAAhT;AACT;AClVY,IAAAoU;AAAA,CAAZ,SAAYA,GAAc;AACxBA,EAAAA,EAAA,SAAA,UACAA,EAAA,UAAA,WACAA,EAAA,QAAA,SAGAA,EAAA,aAAA,cAEAA,EAAA,mBAAA,oBACAA,EAAA,QAAA,SACAA,EAAA,UAAA,WAEAA,EAAA,gBAAA,iBAEAA,EAAA,UAAA;AACF,GAfYA,MAAAA,IAeX,CAAA,EAAA;ACbW,IAAAC;AAAA,CAAZ,SAAYA,GAAuB;AACjCA,EAAAA,EAAA,eAAA,gBACAA,EAAA,gBAAA,iBACAA,EAAA,2BAAA,4BACAA,EAAA,+BAAA,gCAEAA,EAAA,mBAAA;AACF,GAPYA,MAAAA,IAOX,CAAA,EAAA;AAEW,IAAAC;AAAA,CAAZ,SAAYA,GAAwB;AAClCA,EAAAA,EAAA,eAAA,gBACAA,EAAA,aAAA,cACAA,EAAA,4BAAA;AACF,GAJYA,OAAAA,KAIX,CAAA,EAAA;ACkCM,MAAMC,KAAc,QAEdC,KAAkB,QAElBC,KAAmB,QAEnBC,KAAiB,QAEjBC,KAAiB;AAOxB,SAAUC,GAAY3V,GAAsB;AAChD,UAAQ,OAAOA,GAAO;AAAA,IACpB,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACH,aAAOA,IAAQ,KAAK;AAAA,IACtB,KAAK;AAEH,aADaA,MAAU,QAErB,QAAQ,KAAK,+CAA+C,GACrD,MAEA;AAAA,IAEX;AACS,aAAA;AAAA,EACX;AACF;;;ACnFA,MAAIuB,IAAM,OAAO,UAAU,gBACvBqU,IAAS;AASb,WAASC,IAAS;AAAA,EAAE;AASpB,EAAI,OAAO,WACTA,EAAO,YAAY,uBAAO,OAAO,IAAI,GAMhC,IAAIA,EAAM,EAAG,cAAWD,IAAS;AAYxC,WAASE,EAAGC,GAAIC,GAASC,GAAM;AAC7B,SAAK,KAAKF,GACV,KAAK,UAAUC,GACf,KAAK,OAAOC,KAAQ;AAAA,EACrB;AAaD,WAASC,EAAYC,GAASC,GAAOL,GAAIC,GAASC,GAAM;AACtD,QAAI,OAAOF,KAAO;AAChB,YAAM,IAAI,UAAU,iCAAiC;AAGvD,QAAIM,IAAW,IAAIP,EAAGC,GAAIC,KAAWG,GAASF,CAAI,GAC9CK,IAAMV,IAASA,IAASQ,IAAQA;AAEpC,WAAKD,EAAQ,QAAQG,CAAG,IACdH,EAAQ,QAAQG,CAAG,EAAE,KAC1BH,EAAQ,QAAQG,CAAG,IAAI,CAACH,EAAQ,QAAQG,CAAG,GAAGD,CAAQ,IADxBF,EAAQ,QAAQG,CAAG,EAAE,KAAKD,CAAQ,KAD1CF,EAAQ,QAAQG,CAAG,IAAID,GAAUF,EAAQ,iBAI7DA;AAAA,EACR;AASD,WAASI,EAAWJ,GAASG,GAAK;AAChC,IAAI,EAAEH,EAAQ,iBAAiB,IAAGA,EAAQ,UAAU,IAAIN,MACnD,OAAOM,EAAQ,QAAQG,CAAG;AAAA,EAChC;AASD,WAASE,IAAe;AACtB,SAAK,UAAU,IAAIX,KACnB,KAAK,eAAe;AAAA,EACrB;AASD,EAAAW,EAAa,UAAU,aAAa,WAAsB;AACxD,QAAIC,IAAQ,CAAE,GACVC,GACAzR;AAEJ,QAAI,KAAK,iBAAiB;AAAG,aAAOwR;AAEpC,SAAKxR,KAASyR,IAAS,KAAK;AAC1B,MAAInV,EAAI,KAAKmV,GAAQzR,CAAI,KAAGwR,EAAM,KAAKb,IAAS3Q,EAAK,MAAM,CAAC,IAAIA,CAAI;AAGtE,WAAI,OAAO,wBACFwR,EAAM,OAAO,OAAO,sBAAsBC,CAAM,CAAC,IAGnDD;AAAA,EACT,GASAD,EAAa,UAAU,YAAY,SAAmBJ,GAAO;AAC3D,QAAIE,IAAMV,IAASA,IAASQ,IAAQA,GAChCO,IAAW,KAAK,QAAQL,CAAG;AAE/B,QAAI,CAACK;AAAU,aAAO;AACtB,QAAIA,EAAS;AAAI,aAAO,CAACA,EAAS,EAAE;AAEpC,aAAS9X,IAAI,GAAG+X,IAAID,EAAS,QAAQhF,IAAK,IAAI,MAAMiF,CAAC,GAAG/X,IAAI+X,GAAG/X;AAC7D,MAAA8S,EAAG9S,CAAC,IAAI8X,EAAS9X,CAAC,EAAE;AAGtB,WAAO8S;AAAA,EACT,GASA6E,EAAa,UAAU,gBAAgB,SAAuBJ,GAAO;AACnE,QAAIE,IAAMV,IAASA,IAASQ,IAAQA,GAChCS,IAAY,KAAK,QAAQP,CAAG;AAEhC,WAAKO,IACDA,EAAU,KAAW,IAClBA,EAAU,SAFM;AAAA,EAGzB,GASAL,EAAa,UAAU,OAAO,SAAcJ,GAAOU,GAAIC,GAAIC,GAAIC,GAAIC,GAAI;AACrE,QAAIZ,IAAMV,IAASA,IAASQ,IAAQA;AAEpC,QAAI,CAAC,KAAK,QAAQE,CAAG;AAAG,aAAO;AAE/B,QAAIO,IAAY,KAAK,QAAQP,CAAG,GAC5BhI,IAAM,UAAU,QAChB/D,GACA1L;AAEJ,QAAIgY,EAAU,IAAI;AAGhB,cAFIA,EAAU,QAAM,KAAK,eAAeT,GAAOS,EAAU,IAAI,QAAW,EAAI,GAEpEvI,GAAG;AAAA,QACT,KAAK;AAAG,iBAAOuI,EAAU,GAAG,KAAKA,EAAU,OAAO,GAAG;AAAA,QACrD,KAAK;AAAG,iBAAOA,EAAU,GAAG,KAAKA,EAAU,SAASC,CAAE,GAAG;AAAA,QACzD,KAAK;AAAG,iBAAOD,EAAU,GAAG,KAAKA,EAAU,SAASC,GAAIC,CAAE,GAAG;AAAA,QAC7D,KAAK;AAAG,iBAAOF,EAAU,GAAG,KAAKA,EAAU,SAASC,GAAIC,GAAIC,CAAE,GAAG;AAAA,QACjE,KAAK;AAAG,iBAAOH,EAAU,GAAG,KAAKA,EAAU,SAASC,GAAIC,GAAIC,GAAIC,CAAE,GAAG;AAAA,QACrE,KAAK;AAAG,iBAAOJ,EAAU,GAAG,KAAKA,EAAU,SAASC,GAAIC,GAAIC,GAAIC,GAAIC,CAAE,GAAG;AAAA,MAC1E;AAED,WAAKrY,IAAI,GAAG0L,IAAO,IAAI,MAAM+D,IAAK,CAAC,GAAGzP,IAAIyP,GAAKzP;AAC7C,QAAA0L,EAAK1L,IAAI,CAAC,IAAI,UAAUA,CAAC;AAG3B,MAAAgY,EAAU,GAAG,MAAMA,EAAU,SAAStM,CAAI;AAAA,IAC9C,OAAS;AACL,UAAI4M,IAASN,EAAU,QACnBO;AAEJ,WAAKvY,IAAI,GAAGA,IAAIsY,GAAQtY;AAGtB,gBAFIgY,EAAUhY,CAAC,EAAE,QAAM,KAAK,eAAeuX,GAAOS,EAAUhY,CAAC,EAAE,IAAI,QAAW,EAAI,GAE1EyP,GAAG;AAAA,UACT,KAAK;AAAG,YAAAuI,EAAUhY,CAAC,EAAE,GAAG,KAAKgY,EAAUhY,CAAC,EAAE,OAAO;AAAG;AAAA,UACpD,KAAK;AAAG,YAAAgY,EAAUhY,CAAC,EAAE,GAAG,KAAKgY,EAAUhY,CAAC,EAAE,SAASiY,CAAE;AAAG;AAAA,UACxD,KAAK;AAAG,YAAAD,EAAUhY,CAAC,EAAE,GAAG,KAAKgY,EAAUhY,CAAC,EAAE,SAASiY,GAAIC,CAAE;AAAG;AAAA,UAC5D,KAAK;AAAG,YAAAF,EAAUhY,CAAC,EAAE,GAAG,KAAKgY,EAAUhY,CAAC,EAAE,SAASiY,GAAIC,GAAIC,CAAE;AAAG;AAAA,UAChE;AACE,gBAAI,CAACzM;AAAM,mBAAK6M,IAAI,GAAG7M,IAAO,IAAI,MAAM+D,IAAK,CAAC,GAAG8I,IAAI9I,GAAK8I;AACxD,gBAAA7M,EAAK6M,IAAI,CAAC,IAAI,UAAUA,CAAC;AAG3B,YAAAP,EAAUhY,CAAC,EAAE,GAAG,MAAMgY,EAAUhY,CAAC,EAAE,SAAS0L,CAAI;AAAA,QACnD;AAAA,IAEJ;AAED,WAAO;AAAA,EACT,GAWAiM,EAAa,UAAU,KAAK,SAAYJ,GAAOL,GAAIC,GAAS;AAC1D,WAAOE,EAAY,MAAME,GAAOL,GAAIC,GAAS,EAAK;AAAA,EACpD,GAWAQ,EAAa,UAAU,OAAO,SAAcJ,GAAOL,GAAIC,GAAS;AAC9D,WAAOE,EAAY,MAAME,GAAOL,GAAIC,GAAS,EAAI;AAAA,EACnD,GAYAQ,EAAa,UAAU,iBAAiB,SAAwBJ,GAAOL,GAAIC,GAASC,GAAM;AACxF,QAAIK,IAAMV,IAASA,IAASQ,IAAQA;AAEpC,QAAI,CAAC,KAAK,QAAQE,CAAG;AAAG,aAAO;AAC/B,QAAI,CAACP;AACH,aAAAQ,EAAW,MAAMD,CAAG,GACb;AAGT,QAAIO,IAAY,KAAK,QAAQP,CAAG;AAEhC,QAAIO,EAAU;AACZ,MACEA,EAAU,OAAOd,MAChB,CAACE,KAAQY,EAAU,UACnB,CAACb,KAAWa,EAAU,YAAYb,MAEnCO,EAAW,MAAMD,CAAG;AAAA,SAEjB;AACL,eAASzX,IAAI,GAAG6X,IAAS,CAAA,GAAIS,IAASN,EAAU,QAAQhY,IAAIsY,GAAQtY;AAClE,SACEgY,EAAUhY,CAAC,EAAE,OAAOkX,KACnBE,KAAQ,CAACY,EAAUhY,CAAC,EAAE,QACtBmX,KAAWa,EAAUhY,CAAC,EAAE,YAAYmX,MAErCU,EAAO,KAAKG,EAAUhY,CAAC,CAAC;AAO5B,MAAI6X,EAAO,SAAQ,KAAK,QAAQJ,CAAG,IAAII,EAAO,WAAW,IAAIA,EAAO,CAAC,IAAIA,IACpEH,EAAW,MAAMD,CAAG;AAAA,IAC1B;AAED,WAAO;AAAA,EACT,GASAE,EAAa,UAAU,qBAAqB,SAA4BJ,GAAO;AAC7E,QAAIE;AAEJ,WAAIF,KACFE,IAAMV,IAASA,IAASQ,IAAQA,GAC5B,KAAK,QAAQE,CAAG,KAAGC,EAAW,MAAMD,CAAG,MAE3C,KAAK,UAAU,IAAIT,KACnB,KAAK,eAAe,IAGf;AAAA,EACT,GAKAW,EAAa,UAAU,MAAMA,EAAa,UAAU,gBACpDA,EAAa,UAAU,cAAcA,EAAa,UAAU,IAK5DA,EAAa,WAAWZ,GAKxBY,EAAa,eAAeA,GAM1BhX,EAAA,UAAiBgX;;;AC9UnB,SAASjI,GAAE,GAAG;AACZ,SAAO,KAAK,EAAE,cAAc,OAAO,UAAU,eAAe,KAAK,GAAG,SAAS,IAAI,EAAE,UAAU;AAC/F;AACA,IAAIiD,KAAI,SAAS,GAAGnT,GAAG;AACrB,EAAAA,MAAMA,IAAI,KAAK,OAAOA,KAAK,eAAeA,IAAI,EAAE,KAAKA,EAAC;AACtD,MAAIS,IAAI,OAAOT,EAAE,UAAU,YAAYA,EAAE,SAAS,IAAI+Q,IAAI/Q,EAAE,OAAuB,yBAASH,GAAG;AAC7F,WAAO,SAASK,GAAG;AACjB,aAAO,SAASwS,GAAG6F,GAAG;AACpB,YAAI7H,IAAI,EAAE,KAAKgC,GAAG,OAAOxS,EAAEwS,CAAC,EAAC,GAAIlS,IAAI,EAAE,KAAK+X,GAAG,OAAOrY,EAAEqY,CAAC;AACzD,eAAO1Y,EAAE6Q,GAAGlQ,CAAC;AAAA,MACrB;AAAA,IACA;AAAA,EACG,EAACR,EAAE,GAAG,GAAG2R,IAAI,CAAA;AACd,SAAO,SAAS9R,EAAEK,GAAG;AACnB,QAAIA,KAAKA,EAAE,UAAU,OAAOA,EAAE,UAAU,eAAeA,IAAIA,EAAE,OAAM,IAAKA,MAAM,QAAQ;AACpF,UAAI,OAAOA,KAAK;AAAU,eAAO,SAASA,CAAC,IAAI,KAAKA,IAAI;AACxD,UAAI,OAAOA,KAAK;AAAU,eAAO,KAAK,UAAUA,CAAC;AACjD,UAAIwS,GAAG6F;AACP,UAAI,MAAM,QAAQrY,CAAC,GAAG;AACpB,aAAKqY,IAAI,KAAK7F,IAAI,GAAGA,IAAIxS,EAAE,QAAQwS;AACjC,UAAAA,MAAM6F,KAAK,MAAMA,KAAK1Y,EAAEK,EAAEwS,CAAC,CAAC,KAAK;AACnC,eAAO6F,IAAI;AAAA,MACZ;AACD,UAAIrY,MAAM;AAAM,eAAO;AACvB,UAAIyR,EAAE,QAAQzR,CAAC,MAAM,IAAI;AACvB,YAAIO;AAAG,iBAAO,KAAK,UAAU,WAAW;AACxC,cAAM,IAAI,UAAU,uCAAuC;AAAA,MAC5D;AACD,UAAIiQ,IAAIiB,EAAE,KAAKzR,CAAC,IAAI,GAAGM,IAAI,OAAO,KAAKN,CAAC,EAAE,KAAK6Q,KAAKA,EAAE7Q,CAAC,CAAC;AACxD,WAAKqY,IAAI,IAAI7F,IAAI,GAAGA,IAAIlS,EAAE,QAAQkS,KAAK;AACrC,YAAI,IAAIlS,EAAEkS,CAAC,GAAGvS,IAAIN,EAAEK,EAAE,CAAC,CAAC;AACxB,QAAAC,MAAMoY,MAAMA,KAAK,MAAMA,KAAK,KAAK,UAAU,CAAC,IAAI,MAAMpY;AAAA,MACvD;AACD,aAAOwR,EAAE,OAAOjB,GAAG,CAAC,GAAG,MAAM6H,IAAI;AAAA,IAClC;AAAA,EACF,EAAC,CAAC;AACL;AACK,MAACS,KAAoB,gBAAA9I,GAAEiD,EAAC,GAAG3B,KAAI,CAAC,MAAMqD,GAAEmE,GAAE,CAAC,CAAC,GAAG/G,KAAI,CAAC,MAAM;AAC7D,MAAI,KAAK,EAAE,SAAS;AAClB,QAAI;AACF,aAAO,KAAK,MAAMjN,GAAE,CAAC,CAAC;AAAA,IAC5B,QAAY;AACN,aAAO,KAAK,MAAM,mBAAmB,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAAA,IAClE;AACL,GAAG6P,KAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,GAAG7P,KAAI,CAAC,MAAM;AACpD,MAAI;AACF,WAAO,mBAAmB,KAAK,CAAC,CAAC;AAAA,EACrC,QAAU;AACN,WAAO,mBAAmB,KAAK,mBAAmB,CAAC,CAAC,CAAC;AAAA,EACtD;AACH,GAAG6M,KAAI,CAAC,MAAM;AACZ,QAAM7R,IAAI,aAAa,MAAM,IAAI,IAAI,IAAI,CAAC;AAC1C,SAAOiZ,GAAEjZ,EAAE,IAAI;AACjB,GAAGiZ,KAAI,CAAC,MAAM;AACZ,MAAIjZ,IAAI;AACR,SAAOA,EAAE,WAAW,GAAG;AACrB,IAAAA,IAAIA,EAAE,UAAU,CAAC;AACnB,QAAMS,IAAIT,EAAE,QAAQ,GAAG;AACvB,MAAIS,MAAM;AACR,WAAO,CAACT,GAAG,CAAA,CAAE;AACf,QAAM+Q,IAAI/Q,EAAE,UAAU,GAAGS,CAAC;AAC1B,EAAAT,IAAIA,EAAE,UAAUS,IAAI,CAAC;AACrB,QAAMkR,IAAI,CAAA;AACV,SAAO3R,EAAE,MAAM,GAAG,EAAE,OAAO,CAACH,MAAMA,EAAE,SAAS,CAAC,EAAE,IAAI,CAACA,MAAM;AACzD,UAAMK,IAAIL,EAAE,QAAQ,GAAG;AACvB,QAAIK,MAAM;AACR,aAAO,CAACL,GAAG,EAAE;AACf,UAAM6S,IAAI7S,EAAE,UAAU,GAAGK,CAAC,GAAGqY,IAAI1Y,EAAE,UAAUK,IAAI,CAAC;AAClD,WAAO,CAACwS,GAAG6F,CAAC;AAAA,EACb,CAAA,EAAE,QAAQ,CAAC,CAAC1Y,GAAGK,CAAC,MAAM;AACrB,IAAAyR,EAAE9R,CAAC,IAAIK;AAAA,EACX,CAAG,GAAG,OAAO,KAAKyR,CAAC,EAAE,QAAQ,CAAC9R,MAAM;AAChC,IAAA8R,EAAE9R,CAAC,IAAI8R,EAAE9R,CAAC;AAAA,EACd,CAAG,GAAG,CAACkR,GAAGY,CAAC;AACX,GAAGuH,KAAI,CAAC,GAAGlZ,MAAM;AACf,QAAM,CAACS,GAAGsQ,CAAC,IAAIc,GAAE,CAAC;AAClB,SAAOd,EAAE/Q,CAAC;AACZ,GAAGsR,KAAI,MAAM,OAAO,SAAS,OAAO,OAAO,WAAW,WAAW,KAAKe,KAAI,CAAC,MAAM;AAC/E,MAAIf,GAAG;AACL,WAAOyC,GAAG,EAAC,CAAC,EAAE,CAAC;AACnB,GAAGA,KAAI,MAAMzC,GAAC,IAAKO,GAAE,WAAW,SAAS,IAAI,IAAI,CAAC,IAAI,CAAE,CAAA,GAAGC,KAAI,CAAC,GAAG9R,GAAGS,MAAM;AAC1E,MAAI,CAAC6Q,GAAG;AACN;AACF,QAAMP,IAAI,WAAW,SAAS,KAAK,WAAW,GAAG,IAAI,WAAW,SAAS,KAAK,UAAU,CAAC,IAAI,WAAW,SAAS,MAAMY,IAAI5R,GAAEgR,GAAG,GAAG/Q,CAAC;AACpI,EAAA2R,MAAMZ,MAAMtQ,KAAK,QAAQA,EAAE,gBAAgB,WAAW,SAAS,OAAOkR,KAAK,WAAW,QAAQ,aAAa,MAAM,OAAO,WAAW,MAAM,SAAS,QAAQ,IAAI,GAAG,WAAW,SAAS,QAAQ,GAAG,WAAW,SAAS,MAAM,GAAGA,EAAE,WAAW,GAAG,IAAI,KAAK,GAAG,GAAGA,CAAC,EAAE,GAAG,WAAW,cAAc,IAAI,gBAAgB,YAAY,CAAC;AAC9T,GAAG5R,KAAI,CAAC,GAAGC,GAAGS,MAAM;AAClB,QAAM,CAACsQ,GAAGY,CAAC,IAAIsH,GAAE,CAAC;AAClB,MAAIpZ,IAAI;AACR,MAAI8R,EAAE,eAAe3R,CAAC,KAAKS,MAAM,QAAQA,MAAM,UAAU,OAAOkR,EAAE3R,CAAC,GAAGH,IAAI,MAAM8R,EAAE3R,CAAC,MAAMS,MAAMkR,EAAE3R,CAAC,IAAIS,GAAGZ,IAAI,KAAK,CAACA;AACjH,WAAO;AACT,QAAMK,IAAI,OAAO,KAAKyR,CAAC;AACvB,EAAAzR,EAAE,KAAI;AACN,QAAMwS,IAAIxS,EAAE,IAAI,CAACqY,GAAG7H,MAAM;AACxB,UAAMlQ,IAAImR,EAAE4G,CAAC;AACb,WAAO,yBAAyB,KAAK/X,CAAC,KAAKA,EAAE,SAAS,GAAG,GAAG+X,CAAC,IAAI/X,CAAC;AAAA,EACtE,CAAG,EAAE,KAAK,GAAG;AACX,SAAO,CAACuQ,KAAK,CAAC2B,IAAI,KAAK,GAAG3B,KAAK,EAAE,GAAG2B,IAAI,MAAMA,IAAI,EAAE;AACtD,GA+BGtD,KAAI,CAAC,GAAGpP,GAAGS,MAAM;AAClB,QAAMsQ,IAAI,aAAa,MAAM,IAAI,IAAI,IAAI,CAAC,GAAGY,IAAI5R,GAAEgR,EAAE,MAAM/Q,GAAGS,CAAC;AAC/D,SAAOsQ,EAAE,OAAOY,GAAGZ;AACrB,GAOGwB,KAAI,CAAC,GAAGvS,MAAM;AACf,QAAMS,IAAIyY,GAAE,GAAGlZ,CAAC;AAChB,MAAIS,KAAKA,MAAM;AACb,WAAOwR,GAAExR,CAAC;AACd,GAIGyF,KAAI,CAAC,GAAGlG,GAAGS,MAAM;AAClB,QAAMsQ,IAAI/Q,IAAIwR,GAAExR,CAAC,IAAI;AACrB,EAAA8R,GAAE,GAAGf,GAAGtQ,CAAC;AACX,GAAGuR,KAAI,CAAC,MAAM;AACZ,MAAIV,GAAG;AACL,WAAOiB,GAAE,WAAW,SAAS,MAAM,CAAC;AACxC,GAGwD9B,KAAI,CAAC,GAAGzQ,MAAM;AACpE,QAAMS,IAAIyY,GAAE,GAAGlZ,CAAC;AAChB,SAAOS,IAAI,WAAWA,CAAC,IAAI;AAC7B,GAAGgT,KAAI,CAAC,GAAGzT,GAAGS,MAAM;AAClB,EAAAqR,GAAE,GAAG9R,KAAK,OAAOA,EAAE,aAAa,QAAQS,CAAC;AAC3C,GAAG6T,KAAI,CAAC,MAAM;AACZ,MAAIhD,GAAG;AACL,WAAOb,GAAE,WAAW,SAAS,MAAM,CAAC;AACxC,GAAgEsI,KAAI,CAAC,GAAG/Y,MAAM;AAC5E,QAAMS,IAAIyY,GAAE,GAAGlZ,CAAC;AAChB,SAAOS,IAAI,SAASA,CAAC,IAAI;AAC3B,GAAGoS,KAAI,CAAC,GAAG7S,GAAGS,MAAM;AAClB,EAAAgT,GAAE,GAAGzT,GAAGS,CAAC;AACX,GAAG2Q,KAAI,CAAC,MAAM;AACZ,MAAIE,GAAG;AACL,WAAOyH,GAAE,WAAW,SAAS,MAAM,CAAC;AACxC,GAAkDI,KAAI,CAAC,GAAGnZ,MAAMkZ,GAAE,GAAGlZ,CAAC,MAAM,QAAQ4Q,KAAI,CAAC,GAAG5Q,GAAGS,MAAM;AACnG,EAAAqR,GAAE,GAAG9R,IAAI,SAAS,QAAQS,CAAC;AAC7B,GAAG2Y,KAAI,CAAC,MAAM;AACZ,MAAI9H,GAAG;AACL,WAAO6H,GAAE,WAAW,SAAS,MAAM,CAAC;AACxC,GAAGjF,KAAI,CAAC,GAAGlU,GAAGS,MAAM2O,GAAE,GAAGpP,GAAGS,KAAK,OAAO,SAASoU,GAAEpU,CAAC,CAAC,GAAG4Q,KAAI,CAAC,GAAGrR,MAAM;AACpE,QAAMS,IAAIyY,GAAE,GAAGlZ,CAAC;AAChB,SAAOS,KAAKA,MAAM,KAAKuE,GAAEvE,CAAC,IAAI;AAChC,GAAG6R,KAAI,CAAC,GAAGtS,GAAGS,MAAM;AAClB,QAAMsQ,IAAI/Q,KAAK,OAAO,SAAS6U,GAAE7U,CAAC;AAClC,EAAA8R,GAAE,GAAGf,GAAGtQ,CAAC;AACX,GAAG4Y,KAAK,CAAC,MAAM;AACb,MAAI/H,GAAG;AACL,WAAOD,GAAE,WAAW,SAAS,MAAM,CAAC;AACxC;ACvLA,IAAAiI,KAAiB,SAAUC,GAAMlK,GAAM;AACnC,EAAKA,MAAMA,IAAO,KACd,OAAOA,KAAS,eAAYA,IAAO,EAAE,KAAKA;AAC9C,MAAImK,IAAU,OAAOnK,EAAK,UAAW,YAAaA,EAAK,SAAS,IAE5DoK,IAAMpK,EAAK,OAAQ,SAAUsD,GAAG;AAChC,WAAO,SAAU+G,GAAM;AACnB,aAAO,SAAU,GAAGvZ,GAAG;AACnB,YAAIwZ,IAAO,EAAE,KAAK,GAAG,OAAOD,EAAK,CAAC,KAC9BE,IAAO,EAAE,KAAKzZ,GAAG,OAAOuZ,EAAKvZ,CAAC;AAClC,eAAOwS,EAAEgH,GAAMC,CAAI;AAAA,MACnC;AAAA,IACA;AAAA,EACA,EAAOvK,EAAK,GAAG,GAEPwK,IAAO,CAAA;AACX,SAAQ,SAASC,EAAWJ,GAAM;AAK9B,QAJIA,KAAQA,EAAK,UAAU,OAAOA,EAAK,UAAW,eAC9CA,IAAOA,EAAK,WAGZA,MAAS,QACb;AAAA,UAAI,OAAOA,KAAQ;AAAU,eAAO,SAASA,CAAI,IAAI,KAAKA,IAAO;AACjE,UAAI,OAAOA,KAAS;AAAU,eAAO,KAAK,UAAUA,CAAI;AAExD,UAAIlZ,GAAGuZ;AACP,UAAI,MAAM,QAAQL,CAAI,GAAG;AAErB,aADAK,IAAM,KACDvZ,IAAI,GAAGA,IAAIkZ,EAAK,QAAQlZ;AACzB,UAAIA,MAAGuZ,KAAO,MACdA,KAAOD,EAAUJ,EAAKlZ,CAAC,CAAC,KAAK;AAEjC,eAAOuZ,IAAM;AAAA,MAChB;AAED,UAAIL,MAAS;AAAM,eAAO;AAE1B,UAAIG,EAAK,QAAQH,CAAI,MAAM,IAAI;AAC3B,YAAIF;AAAQ,iBAAO,KAAK,UAAU,WAAW;AAC7C,cAAM,IAAI,UAAU,uCAAuC;AAAA,MAC9D;AAED,UAAIQ,IAAYH,EAAK,KAAKH,CAAI,IAAI,GAC9BhT,IAAO,OAAO,KAAKgT,CAAI,EAAE,KAAKD,KAAOA,EAAIC,CAAI,CAAC;AAElD,WADAK,IAAM,IACDvZ,IAAI,GAAGA,IAAIkG,EAAK,QAAQlG,KAAK;AAC9B,YAAI4C,IAAMsD,EAAKlG,CAAC,GACZkC,IAAQoX,EAAUJ,EAAKtW,CAAG,CAAC;AAE/B,QAAKV,MACDqX,MAAKA,KAAO,MAChBA,KAAO,KAAK,UAAU3W,CAAG,IAAI,MAAMV;AAAA,MACtC;AACD,aAAAmX,EAAK,OAAOG,GAAW,CAAC,GACjB,MAAMD,IAAM;AAAA;AAAA,EACtB,EAAER,CAAI;AACX;;ACpDY,IAAAU;AAAA,CAAZ,SAAYA,GAAkB;AAC5BA,EAAAA,EAAA,WAAA;AACF,GAFYA,OAAAA,KAEX,CAAA,EAAA;AAEM,MAAMC,KAAW,MAAc;AAEhC,MAAA;AACF,WAAO,WAAW,OAAO;AAAA,UACT;AACT,WAAA;AAAA,EACT;AACF,GAEaC,KAAuD;AAAA,EAClE,YAAY,CAAE;;AAGV,MAAOC,WAAuBjC,GAAAA,aAEnC;AAAA,EAIC,cAAA;aAFA,KAAW,cAAuBgC,IAIhC,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AAAA,EACnD;AAAA,EAEO,MAAM5M,GAAQ;AACb,UAAA;AAAA,EACR;AAAA,EACO,gBAAa;AAClB,WAAO,KAAK;AAAA,EACd;AACD;AC1BY,MAAA8M,KAAQ,CACnBlQ,GACAmQ,MAEKA,IAGEzO,EAA0B1B,GAAS,CAAChB,MAA4B;AACrE,SAAO,KAAKmR,CAAS,EAAE,QAAQ,CAACC,MAAkB;AAG5C,IAAAD,EAAUC,CAAM,MAAM,SACxB,OAAOpR,EAAMoR,CAAM,IAEbpR,EAAAoR,CAAM,IAAID,EAAUC,CAAM;AAAA,EAClC,CACD;AAAA,CACF,IAZQpQ,GAeEqQ,KAAc,CAACpX,MACrB,iCAAY,SAAS,SAGnB,IAAI,gBAAgB,WAAW,SAAS,MAAM,EAAE,IAAIA,CAAG,IAFrD,MAKEqX,KAAmB,MACvB,IAAI,gBAAgB,WAAW,SAAS,MAAM,EAAE,IACrDR,GAAmB,QAAQ,GAIlBS,KAAwB,MAAc;AnB5C5C,MAAA7W;AmB6CC,QAAA8W,IAAQ,IAAI,iBAAgB9W,IAAA,yCAAY,aAAZ,gBAAAA,EAAsB,MAAM,EAAE,IAC9DoW,GAAmB,QAAQ;AAEtB,SAAAU,MAAU,UAAUA,MAAU;AACvC,GAEaC,KAAsB,CAAC9B,IAAiB,MAC5C+B,GAAW/B,CAAM,GAGbgC,KAAqB,CAAChC,IAAiB,MAC3C+B,GAAW/B,CAAM,GAGbiC,KAAgB,CAACjC,IAAiB,MACtC+B,GAAW/B,CAAM,GAGpBkC,KAAU,wCACHH,KAAa,CAAC/B,IAAiB,MAAa;AAGvD,WAFIzP,IAAS,IACT4R,IAAmBD,GAAQ,QACtBxa,IAAI,GAAGA,IAAIsY,GAAQtY;AAChB,IAAA6I,KAAA2R,GAAQ,OAAO,KAAK,MAAM,KAAK,OAAM,IAAKC,CAAgB,CAAC;AAEhE,SAAA5R;AACT,GAEa6R,KAAM,CAACvJ,GAAQwJ,GAAgBC,MAA4B;AACtE,EAAAD,IAAQA,KAAgB,OACpBA,KAASA,EAAM,KAAM,KAAI,OACnBA,IAAA;AAEN,MAAAtb;AASJ,MARI,OAAO8R,KAAM,WACX9R,IAAA8R,IACK,OAAOA,KAAM,WACtB9R,IAAI8R,IAAI,KAER9R,IAAI,KAAK,UAAU8R,GAAG,MAAM,IAAI,GAG9BwJ,KAASA,EAAM,KAAM,KAAI,IAAI;AAC3B,QAAAE,IAAY,WAAWF,CAAK;AAChC,IAAIC,MACUC,IAAA,GAAGA,CAAS,kBAAkBD,CAAe,KAE3Dvb,IAAI,KAAKA,CAAC,IACC,WAAA,QAAQ,IAAIA,GAAGwb,CAAS;AAAA,EAAA;AAExB,eAAA,QAAQ,IAAIxb,CAAC;AAE5B,GAEayb,KAAc,CAACC,MACnBC,GAASC,GAASF,CAAG,CAAC,GAGlBE,KAAW,CAACF,MAAuB;AAE9C,MAAIG,IAAO;AACX,WAASlb,IAAI,GAAGA,IAAI+a,EAAI,QAAQ/a;AAC9B,IAAAkb,IAAOH,EAAI,WAAW/a,CAAC,MAAMkb,KAAQ,KAAKA;AAErC,SAAAA;AACT,GAEaF,KAAW,CAAChb,MAAqB;AAC5C,MAAIkS,KAAKlS,IAAI,UAAY,SAAS,EAAE,EAAE;AACtC,SAAO,QAAQ,UAAU,GAAG,IAAIkS,EAAE,MAAM,IAAIA;AAC9C,GAEaiJ,KAAe,MAAc;AnBrHnC,MAAA9X,GAAAoF;AmBsHL,WACEpF,IAAA,yCAAY,aAAZ,gBAAAA,EAAsB,eAAc,gBACpCoF,IAAA,yCAAY,aAAZ,gBAAAA,EAAsB,eAAc;AAKxC,GAEa2S,KAAa,YACpBD,OACK,QAAQ,YAEV,IAAI,QAAQ,CAAC3Z,MAAW;AAC7B,MAAI2Z,MAAgB;;AAElB;AAAA,EACF;AACA,MAAIE,IAAS;AACD,mCAAA,iBAAiB,QAAQ,MAAK;AACxC,IAAIA,MAGKA,IAAA;MAIG,WAAW,MAAK;AACxB,IAAA,CAACA,KAAUF,SACJE,IAAA;KAGV,GAAG;AAAA,CACP,GAGUC,KAAwB,OAAOC,MAAgC;AACpE,QAAAC,IAAclC,GAAUiC,CAAQ;AAC/B,SAAA,MAAME,GAAeD,CAAW;AACzC,GAEaE,KAAkC,OAC7CH,MACE;AACF,QAAMC,IAAclC,GAAU;AAAA,IAC5B,SAASiC,EAAS;AAAA,IAClB,YAAYA,EAAS;AAAA,EAAA,CACtB;AACM,SAAA,MAAME,GAAeD,CAAW;AACzC;AAEA,eAAeC,GAAeV,GAAW;AAEjC,QAAAhC,IADU,IAAI,cACC,OAAOgC,CAAG,GACzBG,IAAO,MAAM,OAAO,OAAO,OAAO,WAAWnC,CAAI;AAChD,SAAA,KAAK,OAAO,aAAa,GAAG,IAAI,WAAWmC,CAAI,CAAC,CAAC;AAC1D;AC1IY,IAAAS;AAAA,CAAZ,SAAYA,GAAqB;AAC/BA,EAAAA,EAAA,qBAAA,sBACAA,EAAA,+BAAA,gCACAA,EAAA,QAAA;AACF,GAJYA,OAAAA,KAIX,CAAA,EAAA;AAEW,IAAAC;AAAA,CAAZ,SAAYA,GAAe;AACzBA,EAAAA,EAAA,YAAA,aACAA,EAAA,QAAA,SACAA,EAAA,QAAA,SACAA,EAAA,SAAA,UACAA,EAAA,UAAA;AACF,GANYA,MAAAA,IAMX,CAAA,EAAA;AAMK,MAAOC,WAAkBlE,GAAAA,aAE9B;AAAA,EAkCC,YAAYjU,GAA0B;AA8ChC,iBApEN,KAAgB,mBAAsB,IACtC,KAAiB,oBAAsB,IAIvC,KAAA,SAAgCiY,GAAsB,oBACtD,KAAiB,oBAAG,GAEpB,KAAK,QAAYzB,MAMjB,KAA8B,iCAAY,IAM1C,KAAA,KAAa,OAAO,MAIlB,KAAK,QAAQA,MACb,KAAK,YAAYR,MAEjB,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,QAAQ,KAAK,MAAM,KAAK,IAAI,GACjC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,GAC7B,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,6BACH,KAAK,2BAA2B,KAAK,IAAI,GAC3C,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,OAAO,KAAK,KAAK,KAAK,IAAI,GAC/B,KAAK,oCACH,KAAK,kCAAkC,KAAK,IAAI,GAClD,KAAK,4BAA4B,KAAK,0BAA0B,KAAK,IAAI,GACzE,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,+BACH,KAAK,6BAA6B,KAAK,IAAI,GAC7C,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GAEvD,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI,GAC7D,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI,GAC3D,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI,GACzD,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GACrD,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI,GAC7D,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI,GAC3D,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI,GACzD,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GACrD,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GAEjD,CAAC,KAAK,WAAW;AAInB,WAAK,IAAI,wCAAwC;AACjD;AAAA,IACF;AAEA,UAAMoC,IAAU;AAGJ,IAAAV,GAAA,EAAC,KAAK,MAAK;AACrB,WAAK,IAAI,YAAY,GACd,OAAA,iBAAiB,WAAW,KAAK,SAAS,GAEzCU,EAAA,QAAQvF,EAAwB,0BAA0B;AAAA,QAChE,SAASsF,GAAU;AAAA,MAAA,CACpB,GACDC,EAAQ,SAASH,GAAsB;AAAA,IAAA,CACxC,GAEKjY,KAAWA,EAAQ,0BAChB,OAAA,iBAAiB,cAAc,KAAK,gBAAgB;AAAA,EAE/D;AAAA,EAEA,kCAAkCsS,GAAqC;AACjE,QAAA,KAAK,WAAW2F,GAAsB;AAClC,YAAA;AAGR,KAAC,YACM,KAAK,YAoER,KAAK,IACH,mEAAmE,KApErE,KAAK,iBAAiB3F,EAAO,SACxB,KAAA,QAAQ8E,GAAY,KAAK,EAAE,GAChC,KAAK,YAAY9E,EAAO,UACnB,KAAA,IACH,YAAY,KAAK,SAAS,MACxB,KAAK,iBAAiB,KAAK,iBAAiB,SAC9C,cAAc,GAGZA,EAAO,SAASA,EAAO,MAAM,WAC3B,KAAK,iCACP,KAAK,mBAAmB,MAAMnB,GAC5BmB,EAAO,MAAM,MAAM,IAGhB,KAAA,mBAAmBA,EAAO,MAAM,SAYzC,KAAK,SAAS2F,GAAsB,OAE/B,KAAA,QAAQpF,EAAwB,8BAA8B;AAAA,MACjE,SAASsF,GAAU;AAAA,IAAA,CACpB,GAKC,KAAK,oBACL,OAAO,KAAK,KAAK,gBAAgB,EAAE,SAAS,MAE5C,KAAK,KAAKD,EAAgB,QAAQ,KAAK,gBAAgB,GACnD,KAAK,cAAcA,EAAgB,KAAK,IAAI,KAC9C,OAAO,KAAK,KAAK,gBAAgB,EAAE,QAAQ,CAAC7B,MAC1C,KAAK,KACH6B,EAAgB,OAChB7B,GACA,KAAK,iBAAiBA,CAAM,CAAC,CAC9B,IAaF,KAAA,KAAK6B,EAAgB,SAAS,GAGnC,KAAK,QACHrF,EAAwB,eACxB,KAAK,iBAAiB;AAAA,EAQ9B;AAAA,EAEA,cAAW;AACF,WAAA,KAAK,WAAWoF,GAAsB;AAAA,EAC/C;AAAA,EAEA,MAAM,YAAS;AACb,WAAO,IAAI,QAAQ,CAACna,GAAS0P,MAAK;AAC5B,UAAA,KAAK,WAAWyK,GAAsB,OAAO;;AAE/C;AAAA,MACF;AACI,UAAAI;AACJ,MAAAA,IAAW,KAAK,0BACdH,EAAgB,WAChB,MAAK;;OAGJ;AAAA,IAAA,CAEJ;AAAA,EACH;AAAA,EAEA,0BACErE,GACAC,GAA2B;AAErB,iBAAA,YAAYD,GAAOC,CAAQ,GAChB,MAAK;AACd,YAAA,eAAeD,GAAOC,CAAQ;AAAA,IAAA;AAAA,EAGxC;AAAA,EAEO,IAAIrG,GAAQwJ,GAAgBC,GAAwB;AACrD,IAAC,KAAK,SAGV,KAAK,YAAYzJ,GAAGwJ,KAAgB,KAAK,KAAK;AAAA,EAChD;AAAA,EAEO,KAAKxJ,GAAM;AACZ,IAAC,KAAK,SAGV,KAAK,YAAYA,GAAG,OAAO,KAAK,KAAK;AAAA,EACvC;AAAA,EAEO,MAAMpE,GAAQ;AACnB,SAAK,YAAYA,GAAK,KAAK,OAAO,KAAK;AAAA,EACzC;AAAA,EAEA,YAAYoE,GAAQwJ,GAAgBC,GAAwB;AACtD,QAAAvb;AACA,IAAA,OAAO8R,KAAM,WACX9R,IAAA8R,IACK,OAAOA,KAAM,WACtB9R,IAAI8R,IAAI,KAEJ9R,IAAA,KAAK,UAAU8R,CAAC,GAGdwJ,IAAAA,KAAQA,IAAQ,IAEnBtb,KAAA,KAAK,KAAK,aAAa,KAAK,EAAE,OAAO,MAAM,GAAGA,CAAC,IACnC2c,GAAA3c,GAAGsb,GAAOC,CAAe;AAAA,EAC5C;AAAA,EAEO,UAAO;AACZ,UAAM,mBAAkB,GACjB,OAAA,oBAAoB,WAAW,KAAK,SAAS,GACpD,KAAK,6BAA4B,GAEjC,KAAK,mBAAmB,QAExB,KAAK,oBAAoB;AAAA,EAC3B;AAAA,EAEO,YACLrD,GACAC,GAA2B;AAErB,iBAAA,YAAYD,GAAOC,CAAQ,GAK7BD,MAAUqE,EAAgB,UAC5B,OAAO,WAAW,MAAK;AACrB,MAAI,KAAK,oBACPpE,EAAS,KAAK,gBAAgB;AAAA,OAE/B,CAAC,GAEC;AAAA,EACT;AAAA,EAEO,QAAQuC,GAAyBvC,GAAa;AACnD,WAAO,KAAK,0BACVoE,EAAgB,OAChB,CAACK,GAAuB/Z,MAAc;AACpC,MAAI6X,MAAWkC,KACbzE,EAAStV,CAAK;AAAA,IAChB,CACD;AAAA,EAEL;AAAA,EAEO,SAASsV,GAAwC;AAK/C,WAJU,KAAK,0BACpBoE,EAAgB,QAChBpE,CAAQ;AAAA,EAGZ;AAAA,EAQO,SAASuC,GAAyBjE,GAAS;AAChD,QAAIpB,IAA4B,CAAA;AAChC,IAAAA,EAAOqF,CAAM,IAAIjE,GACjB,KAAK,UAAUpB,CAAM;AAAA,EACvB;AAAA,EASO,MAAM,UAAUA,GAAyB;AAC9C,IAAI,KAAK,mCACEA,IAAA,MAAMG,GAAkBH,CAAM,IAEpC,KAAA,QAAQ6B,EAAwB,cAAc7B,CAAM;AAAA,EAC3D;AAAA,EAEA,MAAM,2BAA2BA,GAAyB;AAExD,IAAI,KAAK,mCACEA,IAAA,MAAMG,GAAkBH,CAAM;AAGzC,UAAMwH,IAAiBxH;AAEnB,QADJ,KAAK,mBAAmBmF,GAAM,KAAK,kBAAkBnF,CAAM,GACvD,KAAK,qBAAqBwH,GAI9B;AAAA,aAAO,KAAKxH,CAAM,EAAE,QAAQ,CAACqF,MAAU;AACjC,YAAA;AAEF,eAAK,KAAK6B,EAAgB,OAAO7B,GAAQrF,EAAOqF,CAAM,CAAC;AAAA,iBAChDhN,GAAK;AACZ,kBAAQ,MAAM,wBAAwBgN,CAAM,KAAKhN,CAAG,EAAE,GACtD,KAAK,KACH6O,EAAgB,OAChB,wBAAwB7B,CAAM,KAAKhN,CAAG,EAAE;AAAA,QAE5C;AAAA,MAAA,CACD;AACG,UAAA;AACG,aAAA,KAAK6O,EAAgB,QAAQlH,CAAM;AAAA,eACjC3H,GAAK;AACJ,gBAAA,MAAM,0BAA0BA,CAAG,EAAE,GAC7C,KAAK,KAAK6O,EAAgB,OAAO,0BAA0B7O,CAAG,EAAE;AAAA,MAClE;AAAA;AAAA,EACF;AAAA,EAEO,SAASgN,GAAuB;AAC7B,mBAAA,OAAO,CAAC,CAACA,CAAM,GAChB,KAAK,iBAAiBA,CAAM;AAAA,EACrC;AAAA,EAEO,YAAS;AACd,WAAO,KAAK;AAAA,EACd;AAAA,EAOO,UAAUA,GAAyBoC,GAAe;AAC/C,YAAA,OAAO,CAAC,CAACpC,CAAM;AAEvB,QAAIqC,IAA6B,CAAA;AACjC,IAAAA,EAAQrC,CAAM,IAAIoC,GAElB,KAAK,WAAWC,CAAO;AAAA,EACzB;AAAA,EAEO,MAAM,WAAWA,GAA0B;AAChD,IAAI,KAAK,mCACGA,IAAA,MAAM3H,GAAgB2H,CAAO;AAGzC,UAAMC,IAAkBD;AAEpB,IADJ,KAAK,oBAAoBvC,GAAM,KAAK,mBAAmBuC,CAAO,GAC1D,KAAK,sBAAsBC,KAK3B,KAAK,WAAWV,GAAsB,SACnC,KAAA,QAAQpF,EAAwB,eAAe6F,CAAO;AAAA,EAE/D;AAAA,EAOO,+BAA4B;AAC1B,WAAA,oBAAoB,cAAc,KAAK,gBAAgB;AAAA,EAChE;AAAA,EAOA,iBAAiBlL,GAAM;AACrB,UAAMoL,IAAsC;AAAA,MAC1C,MAAM,OAAO,SAAS;AAAA,MACtB,WAAW,KAAK;AAAA,IAAA;AAEb,SAAA,QAAQ/F,EAAwB,kBAAkB+F,CAAO;AAAA,EAChE;AAAA,EAEA,QAAQC,GAAiCvG,GAAW;AAClD,QAAI,KAAK,WAAW;AAClB,YAAM7T,IAAqC;AAAA,QACzC,SAAS;AAAA,QACT,IAAI,EAAE,KAAK;AAAA,QACX,QAAAoa;AAAA,QACA,QAAAvG;AAAA,QACA,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,MAAA;AAEjB,MAAI,OAAO,UACF,OAAA,OAAO,YAAY7T,GAAS,GAAG;AAAA,IACxC;AAEA,WAAK,IACH,iGAAiG;AAAA,EAGvG;AAAA,EAEA,UAAU,GAAe;AACnB,QAAA,OAAO,EAAE,QAAS,UAAU;AAC9B,UAAIqa,IAAqC,EAAE;AACvC,UAAAA,EAAQ,YAAY,OAAO;AAE7B,YAAID,IAASC,EAAQ;AAEnB,YAAA,EACED,KAAU,+BACTC,EAAQ,YAAY,KAAK,aAAaA,EAAQ,YAAY,KAAK,KAElE;AACA,eAAK,IACH,4CAA4CD,CAAM,0BAA0BC,EAAQ,QAAQ,cAAc,KAAK,SAAS,qBAAqBA,EAAQ,QAAQ,OAAO,KAAK,EAAE,EAAE;AAE/K;AAAA,QACF;AAEA,gBAAQD,GAAQ;AAAA,UACd,KAAK/F,GAAyB;AACvB,iBAAA,kCAAkCgG,EAAQ,MAAM;AACrD;AAAA,UACF,KAAKhG,GAAyB;AACxB,gBAAA,KAAK,WAAWmF,GAAsB;AAClC,oBAAA;AAEH,iBAAA,2BAA2Ba,EAAQ,OAAO,MAAM;AACrD;AAAA,UACF,KAAKhG,GAAyB;AAC5B,YAAI,KAAK,SAAO,KAAK,IAAI,QAAQ,KAAK,UAAUgG,CAAO,CAAC,EAAE;AAC1D;AAAA,UACF;AACE,YAAI,KAAK,SACP,KAAK,IACH,4CAA4C,KAAK,UAC/CA,CAAO,CACR,EAAE;AAEP;AAAA,QACJ;AAEA,QAAI,KAAK,cAAcZ,EAAgB,OAAO,IAAI,KAC3C,KAAA,KAAKA,EAAgB,SAASY,CAAO;AAAA,MAE9C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,aAAa5Z,GAAaV,GAAU;AAClCua,IAAAA,GAAqB7Z,GAAKV,CAAK;AAAA,EACjC;AAAA,EAEA,aAAaU,GAAW;AACtB,WAAO8Z,GAAuB9Z,CAAG;AAAA,EACnC;AAAA,EAEA,oBAAoBA,GAAaV,GAA0B;AACzDya,IAAAA,GAAiC/Z,GAAKV,CAAK;AAAA,EAC7C;AAAA,EAEA,oBAAoBU,GAAW;AAC7B,WAAOga,GAAmCha,CAAG;AAAA,EAC/C;AAAA,EAEA,iBAAiBA,GAAaV,GAAU;AACtC2a,IAAAA,GAA8Bja,GAAKV,CAAK;AAAA,EAC1C;AAAA,EAEA,iBAAoBU,GAAW;AAC7B,WAAOka,GAAmCla,CAAG;AAAA,EAC/C;AAAA,EAEA,mBAAmBA,GAAaV,GAAyB;AACvD6a,IAAAA,GAAuCna,GAAKV,CAAK;AAAA,EACnD;AAAA,EAEA,mBAAmBU,GAAW;AAC5B,WAAOoa,GAAyCpa,CAAG;AAAA,EACrD;AAAA,EAEA,kBAAkBA,GAAaV,GAAyB;AACtD+a,IAAAA,GAA+Bra,GAAKV,CAAK;AAAA,EAC3C;AAAA,EAEA,kBAAkBU,GAAW;AAC3B,WAAOsa,GAAiCta,CAAG;AAAA,EAC7C;AAAA,EAEA,gBAAgBA,GAAaV,GAAyB;AACpDib,IAAAA,GAA6Bva,GAAKV,CAAK;AAAA,EACzC;AAAA,EAEA,gBAAgBU,GAAW;AACzB,WAAOwa,GAA+Bxa,CAAG;AAAA,EAC3C;AAAA,EAEA,gBAAgBA,GAAW;AACzB6Z,IAAAA,GAAqB7Z,GAAK,MAAS;AAAA,EACrC;;AA1hBuBiZ,GAAO,UAAG9c;AAEV8c,GAAA,QAAQD,EAAgB;AACxBC,GAAA,YAAYD,EAAgB;AAC5BC,GAAA,QAAQD,EAAgB;AACxBC,GAAA,SAASD,EAAgB;AACzBC,GAAA,UAAUD,EAAgB;AAEnCC,GAAiB,oBAAGhH;AACpBgH,GAAe,kBAAGpH;;ACnElC,MAAM4I,KAAY,SACZC,KAAe,KAAKD,EAAS,KAM7BE,KAAc,OACdC,KAAe,OACfC,KAAgB,OAChBC,KAAgB,OAChBC,KAAW,SACXC,KAAQ,QACRC,KAAa,MAAMH,EAAa,OAChCI,KAAe,QAAQJ,EAAa,KACpCK,KAAa,GAAGR,EAAW,QAAQM,EAAU,IAC7CG,KAAS,MAAMT,EAAW,KAC1BU,KAAU,MAAMH,EAAY,GAAGC,EAAU,KACzCG,KAAe,MAAMX,EAAW,QAAQM,EAAU,KAClDM,KAAgB,MAAMJ,EAAU,KAChCK,KAAe,MAAMV,EAAa,KAClCW,KAAO,GAAGT,EAAK,MACfU,KAAM,KAENC,KAAc;AAAA,EAClB,aAAAhB;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAE;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAP;AAAA,EACA,KAAAQ;AACF,GAMME,KAAgB;AAAA,EACpB,GAAGD;AAAA,EAEH,eAAe,IAAIlB,EAAS;AAAA,EAC5B,OAAOC;AAAA,EACP,MAAM,GAAGA,EAAY;AAAA,EACrB,YAAY,GAAGC,EAAW,YAAYF,EAAS;AAAA,EAC/C,QAAQ,MAAME,EAAW;AAAA,EACzB,SAAS,YAAYF,EAAS,KAAKE,EAAW,YAAYF,EAAS;AAAA,EACnE,cAAc,MAAME,EAAW,YAAYF,EAAS;AAAA,EACpD,eAAe,MAAME,EAAW,YAAYF,EAAS;AAAA,EACrD,cAAc,MAAMA,EAAS;AAAA,EAC7B,cAAc,SAASA,EAAS;AAAA,EAChC,YAAY,OAAOA,EAAS;AAAA,EAC5B,KAAK;AACP,GAMMoB,KAAqB;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AACV;AAEA,IAAAC,KAAiB;AAAA,EACf,YAAY,OAAO;AAAA,EACrB,oBAAED;AAAAA;AAAAA,EAGA,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,6BAA6B;AAAA,EAC7B,4BAA4B;AAAA,EAC5B,wBAAwB;AAAA;AAAA,EAGxB,cAAc;AAAA,IACZ,WAAW;AAAA,IACX,OAAO;AAAA,IACP,SAAS;AAAA,IACT,YAAY;AAAA,EACb;AAAA;AAAA,EAGD,QAAQ;AAAA;AAAA,EACR,QAAQ;AAAA;AAAA;AAAA,EAGR,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAElB,uBAAuB;AAAA;AAAA,EACvB,wBAAwB;AAAA;AAAA,EAExB,eAAe;AAAA;AAAA;AAAA,EAGf,gBAAgB;AAAA;AAAA,EAChB,SAAS;AAAA;AAAA,EACT,qBAAqB;AAAA;AAAA,EACrB,sBAAsB;AAAA;AAAA,EACtB,wBAAwB;AAAA;AAAA,EACxB,YAAY;AAAA;AAAA,EACZ,YAAY;AAAA;AAAA,EACZ,UAAU;AAAA;AAAA,EACV,mBAAmB;AAAA;AAAA,EACnB,YAAY;AAAA;AAAA,EACZ,uBAAuB;AAAA;AAAA,EACvB,gBAAgB;AAAA;AAAA,EAChB,oBAAoB;AAAA;AAAA,EACpB,mBAAmB;AAAA;AAAA,EACnB,WAAW;AAAA;AAAA,EACX,mBAAmB;AAAA;AAAA,EACnB,yBAAyB;AAAA;AAAA,EACzB,uBAAuB;AAAA;AAAA,EACvB,0BAA0B;AAAA;AAAA,EAC1B,gBAAgB;AAAA;AAAA,EAChB,qBAAqB;AAAA;AAAA,EACrB,cAAc;AAAA;AAAA,EACd,WAAW;AAAA;AAAA,EACX,oBAAoB;AAAA;AAAA,EACpB,0BAA0B;AAAA;AAAA,EAC1B,wBAAwB;AAAA;AAAA,EACxB,2BAA2B;AAAA;AAAA,EAC3B,gBAAgB;AAAA;AAAA,EAChB,mBAAmB;AAAA;AAAA,EACnB,YAAY;AAAA;AAAA,EACZ,UAAU;AAAA;AAAA,EACV,iBAAiB;AAAA;AAAA,EACjB,oBAAoB;AAAA;AAAA,EACpB,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,aAAarP,GAAO;AAClB,WAAO;AAAA,MACL,KAAK,EAAE,MAAM,UAAU,MAAM,aAAa,OAAO,KAAKA,EAAM,IAAI,IAAK;AAAA,MACrE,KAAK,EAAE,MAAM,SAAS,MAAM,OAAO,OAAO,KAAM;AAAA,MAChD,KAAK,EAAE,MAAM,QAAQ,MAAM,OAAO,OAAO,KAAM;AAAA,MAC/C,KAAK,EAAE,MAAM,QAAQ,MAAM,OAAO,OAAO,KAAM;AAAA,MAC/C,KAAK,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO,IAAK;AAAA,IAClD;AAAA,EACG;AAAA;AAAA;AAAA;AAAA,EAMD,UAAUuP,GAAO;AACf,WAAOA,MAAU,KAAOH,KAAgBD;AAAA,EACzC;AACH;AAAA;AChLA,QAAM;AAAA,IACJ,iBAAAK;AAAA,IACA,wBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,4BAAAC;AAAA,EACD,IAAGC;AAEJ,EAAAC,EAAA,WAAmB,CAAAC,MAAOA,MAAQ,QAAQ,OAAOA,KAAQ,YAAY,CAAC,MAAM,QAAQA,CAAG,GACvFD,EAAwB,gBAAA,CAAAlE,MAAO+D,EAAoB,KAAK/D,CAAG,GAC3DkE,EAAA,cAAsB,CAAAlE,MAAOA,EAAI,WAAW,KAAKkE,EAAQ,cAAclE,CAAG,GAC1EkE,EAAsB,cAAA,CAAAlE,MAAOA,EAAI,QAAQgE,GAA4B,MAAM,GAC3EE,EAAyB,iBAAA,CAAAlE,MAAOA,EAAI,QAAQ6D,GAAiB,GAAG,GAEhEK,EAAA,YAAoB,MAAM;AACxB,QAAI,OAAO,YAAc,OAAe,UAAU,UAAU;AAC1D,YAAME,IAAW,UAAU,SAAS,YAAW;AAC/C,aAAOA,MAAa,WAAWA,MAAa;AAAA,IAC7C;AAED,WAAI,OAAO,UAAY,OAAe,QAAQ,WACrC,QAAQ,aAAa,UAGvB;AAAA,EACT,GAEAF,EAAA,oBAA4B,CAAAlE,MACnBA,EAAI,QAAQ8D,GAAwB,CAAA1f,MAClCA,MAAU,OAAO,KAAKA,CAC9B,GAGH8f,EAAA,aAAqB,CAAC9d,GAAOie,GAAMC,MAAY;AAC7C,UAAMC,IAAMne,EAAM,YAAYie,GAAMC,CAAO;AAC3C,WAAIC,MAAQ,KAAWne,IACnBA,EAAMme,IAAM,CAAC,MAAM,OAAaL,EAAQ,WAAW9d,GAAOie,GAAME,IAAM,CAAC,IACpE,GAAGne,EAAM,MAAM,GAAGme,CAAG,CAAC,KAAKne,EAAM,MAAMme,CAAG,CAAC;AAAA,EACpD,GAEAL,EAAA,eAAuB,CAAC9d,GAAOkD,IAAQ,CAAA,MAAO;AAC5C,QAAIkb,IAASpe;AACb,WAAIoe,EAAO,WAAW,IAAI,MACxBA,IAASA,EAAO,MAAM,CAAC,GACvBlb,EAAM,SAAS,OAEVkb;AAAA,EACT,GAEAN,EAAqB,aAAA,CAAC9d,GAAOkD,IAAQ,CAAE,GAAEX,IAAU,OAAO;AACxD,UAAM8b,IAAU9b,EAAQ,WAAW,KAAK,KAClC+b,IAAS/b,EAAQ,WAAW,KAAK;AAEvC,QAAI6b,IAAS,GAAGC,CAAO,MAAMre,CAAK,IAAIse,CAAM;AAC5C,WAAIpb,EAAM,YAAY,OACpBkb,IAAS,UAAUA,CAAM,UAEpBA;AAAA,EACT,GAEAN,EAAmB,WAAA,CAACpb,GAAM,EAAE,SAAA6b,EAAO,IAAK,CAAA,MAAO;AAC7C,UAAMC,IAAO9b,EAAK,MAAM6b,IAAU,UAAU,GAAG,GACzCE,IAAOD,EAAKA,EAAK,SAAS,CAAC;AAEjC,WAAIC,MAAS,KACJD,EAAKA,EAAK,SAAS,CAAC,IAGtBC;AAAA;;ACpET,MAAMC,KAAQb,IACR;AAAA,EACJ,eAAAc;AAAA;AAAA,EACA,SAAAC;AAAA;AAAA,EACA,qBAAAC;AAAA;AAAA,EACA,YAAAC;AAAA;AAAA,EACA,UAAAC;AAAA;AAAA,EACA,uBAAAC;AAAA;AAAA,EACA,oBAAAC;AAAA;AAAA,EACA,uBAAAC;AAAA;AAAA,EACA,uBAAAC;AAAA;AAAA,EACA,0BAAAC;AAAA;AAAA,EACA,WAAAC;AAAA;AAAA,EACA,oBAAAC;AAAA;AAAA,EACA,wBAAAC;AAAA;AAAA,EACA,wBAAAC;AAAA;AAAA,EACA,2BAAAC;AAAA;AACF,IAAIC,IAEEC,KAAkB,CAAAC,MACfA,MAASX,MAAsBW,MAASf,IAG3CgB,KAAQ,CAAAC,MAAS;AACrB,EAAIA,EAAM,aAAa,OACrBA,EAAM,QAAQA,EAAM,aAAa,QAAW;AAEhD,GAmBMC,KAAO,CAAC/f,GAAOuC,MAAY;AAC/B,QAAMmL,IAAOnL,KAAW,IAElB4U,IAASnX,EAAM,SAAS,GACxBggB,IAAYtS,EAAK,UAAU,MAAQA,EAAK,cAAc,IACtDuS,IAAU,CAAA,GACVC,IAAS,CAAA,GACTC,IAAQ,CAAA;AAEd,MAAIvG,IAAM5Z,GACN4D,IAAQ,IACRwc,IAAQ,GACRC,IAAY,GACZC,IAAU,IACVC,IAAY,IACZC,IAAS,IACTC,IAAY,IACZC,IAAa,IACbC,IAAe,IACfC,IAAc,IACdC,IAAU,IACVC,IAAiB,IACjBC,IAAW,IACXC,IAAS,GACTC,GACArB,GACAE,IAAQ,EAAE,OAAO,IAAI,OAAO,GAAG,QAAQ;AAE3C,QAAMoB,IAAM,MAAMtd,KAASuT,GACrBlU,IAAO,MAAM2W,EAAI,WAAWhW,IAAQ,CAAC,GACrCud,IAAU,OACdF,IAAOrB,GACAhG,EAAI,WAAW,EAAEhW,CAAK;AAG/B,SAAOA,IAAQuT,KAAQ;AACrB,IAAAyI,IAAOuB,EAAO;AACd,QAAIC;AAEJ,QAAIxB,MAASf,IAAqB;AAChC,MAAA+B,IAAcd,EAAM,cAAc,IAClCF,IAAOuB,EAAO,GAEVvB,MAASV,OACXyB,IAAe;AAEjB;AAAA,IACD;AAED,QAAIA,MAAiB,MAAQf,MAASV,IAAuB;AAG3D,WAFA8B,KAEOE,EAAG,MAAO,OAAStB,IAAOuB,EAAS,MAAG;AAC3C,YAAIvB,MAASf,IAAqB;AAChC,UAAA+B,IAAcd,EAAM,cAAc,IAClCqB;AACA;AAAA,QACD;AAED,YAAIvB,MAASV,IAAuB;AAClC,UAAA8B;AACA;AAAA,QACD;AAED,YAAIL,MAAiB,MAAQf,MAASb,OAAaa,IAAOuB,EAAS,OAAMpC,IAAU;AAKjF,cAJAuB,IAAUR,EAAM,UAAU,IAC1BU,IAASV,EAAM,SAAS,IACxBiB,IAAW,IAEPf,MAAc;AAChB;AAGF;AAAA,QACD;AAED,YAAIW,MAAiB,MAAQf,MAASd,IAAY;AAKhD,cAJAwB,IAAUR,EAAM,UAAU,IAC1BU,IAASV,EAAM,SAAS,IACxBiB,IAAW,IAEPf,MAAc;AAChB;AAGF;AAAA,QACD;AAED,YAAIJ,MAASL,OACXyB,KAEIA,MAAW,IAAG;AAChB,UAAAL,IAAe,IACfL,IAAUR,EAAM,UAAU,IAC1BiB,IAAW;AACX;AAAA,QACD;AAAA,MAEJ;AAED,UAAIf,MAAc;AAChB;AAGF;AAAA,IACD;AAED,QAAIJ,MAASX,IAAoB;AAK/B,UAJAgB,EAAQ,KAAKrc,CAAK,GAClBsc,EAAO,KAAKJ,CAAK,GACjBA,IAAQ,EAAE,OAAO,IAAI,OAAO,GAAG,QAAQ,MAEnCiB,MAAa;AAAM;AACvB,UAAIE,MAASlC,MAAYnb,MAAWwc,IAAQ,GAAI;AAC9C,QAAAA,KAAS;AACT;AAAA,MACD;AAED,MAAAC,IAAYzc,IAAQ;AACpB;AAAA,IACD;AAED,QAAI8J,EAAK,UAAU,OACKkS,MAASP,MAC1BO,MAAShB,MACTgB,MAASjB,MACTiB,MAASN,MACTM,MAASZ,QAEQ,MAAQ/b,EAAI,MAAOkc,IAAuB;AAQ9D,UAPAqB,IAASV,EAAM,SAAS,IACxBW,IAAYX,EAAM,YAAY,IAC9BiB,IAAW,IACPnB,MAASZ,MAAyBpb,MAAUwc,MAC9CU,IAAiB,KAGfd,MAAc,IAAM;AACtB,eAAOkB,EAAG,MAAO,OAAStB,IAAOuB,EAAS,MAAG;AAC3C,cAAIvB,MAASf,IAAqB;AAChC,YAAA+B,IAAcd,EAAM,cAAc,IAClCF,IAAOuB,EAAO;AACd;AAAA,UACD;AAED,cAAIvB,MAASJ,IAAwB;AACnC,YAAAgB,IAASV,EAAM,SAAS,IACxBiB,IAAW;AACX;AAAA,UACD;AAAA,QACF;AACD;AAAA,MACD;AACD;AAAA,IACD;AAGH,QAAInB,MAASjB,IAAe;AAK1B,UAJIsC,MAAStC,OAAe+B,IAAaZ,EAAM,aAAa,KAC5DU,IAASV,EAAM,SAAS,IACxBiB,IAAW,IAEPf,MAAc;AAChB;AAEF;AAAA,IACD;AAED,QAAIJ,MAASN,IAAoB;AAI/B,UAHAkB,IAASV,EAAM,SAAS,IACxBiB,IAAW,IAEPf,MAAc;AAChB;AAEF;AAAA,IACD;AAED,QAAIJ,MAASR,IAA0B;AACrC,aAAO8B,EAAG,MAAO,OAASE,IAAOD,EAAS,MAAG;AAC3C,YAAIC,MAASvC,IAAqB;AAChC,UAAA+B,IAAcd,EAAM,cAAc,IAClCqB;AACA;AAAA,QACD;AAED,YAAIC,MAAS3B,IAA2B;AACtC,UAAAc,IAAYT,EAAM,YAAY,IAC9BU,IAASV,EAAM,SAAS,IACxBiB,IAAW;AACX;AAAA,QACD;AAAA,MACF;AAED,UAAIf,MAAc;AAChB;AAGF;AAAA,IACD;AAED,QAAItS,EAAK,aAAa,MAAQkS,MAASZ,MAAyBpb,MAAUwc,GAAO;AAC/E,MAAAS,IAAUf,EAAM,UAAU,IAC1BM;AACA;AAAA,IACD;AAED,QAAI1S,EAAK,YAAY,MAAQkS,MAAST,IAAuB;AAG3D,UAFAqB,IAASV,EAAM,SAAS,IAEpBE,MAAc,IAAM;AACtB,eAAOkB,EAAG,MAAO,OAAStB,IAAOuB,EAAS,MAAG;AAC3C,cAAIvB,MAAST,IAAuB;AAClC,YAAAyB,IAAcd,EAAM,cAAc,IAClCF,IAAOuB,EAAO;AACd;AAAA,UACD;AAED,cAAIvB,MAASJ,IAAwB;AACnC,YAAAuB,IAAW;AACX;AAAA,UACD;AAAA,QACF;AACD;AAAA,MACD;AACD;AAAA,IACD;AAED,QAAIP,MAAW,IAAM;AAGnB,UAFAO,IAAW,IAEPf,MAAc;AAChB;AAGF;AAAA,IACD;AAAA,EACF;AAED,EAAItS,EAAK,UAAU,OACjB+S,IAAY,IACZD,IAAS;AAGX,MAAI7c,IAAOiW,GACPhE,IAAS,IACTyL,IAAO;AAEX,EAAIjB,IAAQ,MACVxK,IAASgE,EAAI,MAAM,GAAGwG,CAAK,GAC3BxG,IAAMA,EAAI,MAAMwG,CAAK,GACrBC,KAAaD,IAGXzc,KAAQ6c,MAAW,MAAQH,IAAY,KACzC1c,IAAOiW,EAAI,MAAM,GAAGyG,CAAS,GAC7BgB,IAAOzH,EAAI,MAAMyG,CAAS,KACjBG,MAAW,MACpB7c,IAAO,IACP0d,IAAOzH,KAEPjW,IAAOiW,GAGLjW,KAAQA,MAAS,MAAMA,MAAS,OAAOA,MAASiW,KAC9C+F,GAAgBhc,EAAK,WAAWA,EAAK,SAAS,CAAC,CAAC,MAClDA,IAAOA,EAAK,MAAM,GAAG,EAAE,IAIvB+J,EAAK,aAAa,OAChB2T,MAAMA,IAAO3C,GAAM,kBAAkB2C,CAAI,IAEzC1d,KAAQid,MAAgB,OAC1Bjd,IAAO+a,GAAM,kBAAkB/a,CAAI;AAIvC,QAAMT,KAAQ;AAAA,IACZ,QAAA0S;AAAA,IACA,OAAA5V;AAAA,IACA,OAAAogB;AAAA,IACA,MAAAzc;AAAA,IACA,MAAA0d;AAAA,IACA,SAAAf;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAG;AAAA,IACA,gBAAAC;AAAA,EACJ;AAUE,MARIpT,EAAK,WAAW,OAClBxK,GAAM,WAAW,GACZyc,GAAgBC,CAAI,KACvBM,EAAO,KAAKJ,CAAK,GAEnB5c,GAAM,SAASgd,IAGbxS,EAAK,UAAU,MAAQA,EAAK,WAAW,IAAM;AAC/C,QAAI4T;AAEJ,aAASnD,IAAM,GAAGA,IAAM8B,EAAQ,QAAQ9B,KAAO;AAC7C,YAAM9f,KAAIijB,IAAYA,IAAY,IAAIlB,GAChCvhB,KAAIohB,EAAQ9B,CAAG,GACfpd,KAAQf,EAAM,MAAM3B,IAAGQ,EAAC;AAC9B,MAAI6O,EAAK,WACHyQ,MAAQ,KAAKiC,MAAU,KACzBF,EAAO/B,CAAG,EAAE,WAAW,IACvB+B,EAAO/B,CAAG,EAAE,QAAQvI,KAEpBsK,EAAO/B,CAAG,EAAE,QAAQpd,IAEtB8e,GAAMK,EAAO/B,CAAG,CAAC,GACjBjb,GAAM,YAAYgd,EAAO/B,CAAG,EAAE,SAE5BA,MAAQ,KAAKpd,OAAU,OACzBof,EAAM,KAAKpf,EAAK,GAElBugB,IAAYziB;AAAA,IACb;AAED,QAAIyiB,KAAaA,IAAY,IAAIthB,EAAM,QAAQ;AAC7C,YAAMe,IAAQf,EAAM,MAAMshB,IAAY,CAAC;AACvC,MAAAnB,EAAM,KAAKpf,CAAK,GAEZ2M,EAAK,WACPwS,EAAOA,EAAO,SAAS,CAAC,EAAE,QAAQnf,GAClC8e,GAAMK,EAAOA,EAAO,SAAS,CAAC,CAAC,GAC/Bhd,GAAM,YAAYgd,EAAOA,EAAO,SAAS,CAAC,EAAE;AAAA,IAE/C;AAED,IAAAhd,GAAM,UAAU+c,GAChB/c,GAAM,QAAQid;AAAA,EACf;AAED,SAAOjd;AACT;AAEA,IAAAqe,KAAiBxB;ACpYjB,MAAMxC,KAAYM,IACZa,KAAQgB,IAMR;AAAA,EACJ,YAAA8B;AAAA,EACA,oBAAAlE;AAAA,EACA,yBAAAmE;AAAA,EACA,6BAAAC;AAAA,EACA,cAAAC;AACF,IAAIpE,IAMEqE,KAAc,CAACrX,GAAMhI,MAAY;AACrC,MAAI,OAAOA,EAAQ,eAAgB;AACjC,WAAOA,EAAQ,YAAY,GAAGgI,GAAMhI,CAAO;AAG7C,EAAAgI,EAAK,KAAI;AACT,QAAMxJ,IAAQ,IAAIwJ,EAAK,KAAK,GAAG,CAAC;AAEhC,MAAI;AAEF,QAAI,OAAOxJ,CAAK;AAAA,EACjB,QAAY;AACX,WAAOwJ,EAAK,IAAI,CAAAnM,MAAKsgB,GAAM,YAAYtgB,CAAC,CAAC,EAAE,KAAK,IAAI;AAAA,EACrD;AAED,SAAO2C;AACT,GAMM8gB,KAAc,CAACzc,GAAM6Y,MAClB,WAAW7Y,CAAI,MAAM6Y,CAAI,gBAAgBA,CAAI,iCAUhD6D,KAAQ,CAAC9hB,GAAOuC,MAAY;AAChC,MAAI,OAAOvC,KAAU;AACnB,UAAM,IAAI,UAAU,mBAAmB;AAGzC,EAAAA,IAAQ2hB,GAAa3hB,CAAK,KAAKA;AAE/B,QAAM0N,IAAO,EAAE,GAAGnL,KACZwf,IAAM,OAAOrU,EAAK,aAAc,WAAW,KAAK,IAAI8T,IAAY9T,EAAK,SAAS,IAAI8T;AAExF,MAAIlT,IAAMtO,EAAM;AAChB,MAAIsO,IAAMyT;AACR,UAAM,IAAI,YAAY,iBAAiBzT,CAAG,qCAAqCyT,CAAG,EAAE;AAGtF,QAAMC,IAAM,EAAE,MAAM,OAAO,OAAO,IAAI,QAAQtU,EAAK,WAAW,MACxDwS,IAAS,CAAC8B,CAAG,GAEbC,IAAUvU,EAAK,UAAU,KAAK,MAG9BwU,IAAiB3E,GAAU,UAAU7P,EAAK,OAAO,GACjDyU,IAAgB5E,GAAU,aAAa2E,CAAc,GAErD;AAAA,IACJ,aAAA9F;AAAA,IACA,cAAAC;AAAA,IACA,eAAAE;AAAA,IACA,UAAAC;AAAA,IACA,YAAAI;AAAA,IACA,QAAAC;AAAA,IACA,cAAAE;AAAA,IACA,eAAAC;AAAA,IACA,OAAAP;AAAA,IACA,cAAAQ;AAAA,IACA,MAAAC;AAAA,IACA,cAAAP;AAAA,EACD,IAAGuF,GAEEE,IAAW,CAAA1U,MACR,IAAIuU,CAAO,SAAStF,CAAY,GAAGjP,EAAK,MAAMkP,IAAaR,CAAW,UAGzEiG,IAAQ3U,EAAK,MAAM,KAAKmP,GACxByF,IAAa5U,EAAK,MAAM+O,IAAQQ;AACtC,MAAIsF,IAAO7U,EAAK,SAAS,KAAO0U,EAAS1U,CAAI,IAAIwP;AAEjD,EAAIxP,EAAK,YACP6U,IAAO,IAAIA,CAAI,MAIb,OAAO7U,EAAK,SAAU,cACxBA,EAAK,YAAYA,EAAK;AAGxB,QAAMxK,IAAQ;AAAA,IACZ,OAAAlD;AAAA,IACA,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAK0N,EAAK,QAAQ;AAAA,IAClB,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAAwS;AAAA,EACJ;AAEE,EAAAlgB,IAAQ0e,GAAM,aAAa1e,GAAOkD,CAAK,GACvCoL,IAAMtO,EAAM;AAEZ,QAAMwiB,IAAW,CAAA,GACXxB,IAAS,CAAA,GACTlc,IAAQ,CAAA;AACd,MAAImc,IAAOe,GACPjhB;AAMJ,QAAMmgB,KAAM,MAAMhe,EAAM,UAAUoL,IAAM,GAClCrL,IAAOC,EAAM,OAAO,CAAC7E,IAAI,MAAM2B,EAAMkD,EAAM,QAAQ7E,CAAC,GACpD8iB,IAAUje,EAAM,UAAU,MAAMlD,EAAM,EAAEkD,EAAM,KAAK,KAAK,IACxDuf,KAAY,MAAMziB,EAAM,MAAMkD,EAAM,QAAQ,CAAC,GAC7Cwf,KAAU,CAAC3hB,IAAQ,IAAI4hB,IAAM,MAAM;AACvC,IAAAzf,EAAM,YAAYnC,GAClBmC,EAAM,SAASyf;AAAA,EACnB,GAEQrE,KAAS,CAAAwB,MAAS;AACtB,IAAA5c,EAAM,UAAU4c,EAAM,UAAU,OAAOA,EAAM,SAASA,EAAM,OAC5D4C,GAAQ5C,EAAM,KAAK;AAAA,EACvB,GAEQ8C,KAAS,MAAM;AACnB,QAAIC,IAAQ;AAEZ,WAAO5f,EAAM,MAAK,QAAQA,EAAK,CAAC,MAAM,OAAOA,EAAK,CAAC,MAAM;AACvD,MAAAke,KACAje,EAAM,SACN2f;AAGF,WAAIA,IAAQ,MAAM,IACT,MAGT3f,EAAM,UAAU,IAChBA,EAAM,SACC;AAAA,EACX,GAEQ4f,KAAY,CAAA1d,MAAQ;AACxB,IAAAlC,EAAMkC,CAAI,KACVN,EAAM,KAAKM,CAAI;AAAA,EACnB,GAEQ2d,KAAY,CAAA3d,MAAQ;AACxB,IAAAlC,EAAMkC,CAAI,KACVN,EAAM,IAAG;AAAA,EACb,GAUQke,IAAO,CAAAC,MAAO;AAClB,QAAIhC,EAAK,SAAS,YAAY;AAC5B,YAAMX,IAAUpd,EAAM,SAAS,MAAM+f,EAAI,SAAS,WAAWA,EAAI,SAAS,UACpExC,IAAYwC,EAAI,YAAY,MAAST,EAAS,WAAWS,EAAI,SAAS,UAAUA,EAAI,SAAS;AAEnG,MAAIA,EAAI,SAAS,WAAWA,EAAI,SAAS,WAAW,CAAC3C,KAAW,CAACG,MAC/Dvd,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAAC+d,EAAK,OAAO,MAAM,GACxDA,EAAK,OAAO,QACZA,EAAK,QAAQ,KACbA,EAAK,SAASsB,GACdrf,EAAM,UAAU+d,EAAK;AAAA,IAExB;AAOD,QALIuB,EAAS,UAAUS,EAAI,SAAS,YAClCT,EAASA,EAAS,SAAS,CAAC,EAAE,SAASS,EAAI,SAGzCA,EAAI,SAASA,EAAI,WAAQ3E,GAAO2E,CAAG,GACnChC,KAAQA,EAAK,SAAS,UAAUgC,EAAI,SAAS,QAAQ;AACvD,MAAAhC,EAAK,UAAUA,EAAK,UAAUA,EAAK,SAASgC,EAAI,OAChDhC,EAAK,SAASgC,EAAI;AAClB;AAAA,IACD;AAED,IAAAA,EAAI,OAAOhC,GACXf,EAAO,KAAK+C,CAAG,GACfhC,IAAOgC;AAAA,EACX,GAEQC,KAAc,CAAC9d,GAAMrE,MAAU;AACnC,UAAM+e,IAAQ,EAAE,GAAGqC,EAAcphB,CAAK,GAAG,YAAY,GAAG,OAAO;AAE/D,IAAA+e,EAAM,OAAOmB,GACbnB,EAAM,SAAS5c,EAAM,QACrB4c,EAAM,SAAS5c,EAAM;AACrB,UAAMkb,KAAU1Q,EAAK,UAAU,MAAM,MAAMoS,EAAM;AAEjD,IAAAgD,GAAU,QAAQ,GAClBE,EAAK,EAAE,MAAA5d,GAAM,OAAArE,GAAO,QAAQmC,EAAM,SAAS,KAAKsZ,EAAQ,CAAE,GAC1DwG,EAAK,EAAE,MAAM,SAAS,SAAS,IAAM,OAAO7B,EAAO,GAAI,QAAA/C,EAAM,CAAE,GAC/DoE,EAAS,KAAK1C,CAAK;AAAA,EACvB,GAEQqD,KAAe,CAAArD,MAAS;AAC5B,QAAI1B,IAAS0B,EAAM,SAASpS,EAAK,UAAU,MAAM,KAC7C0V;AAEJ,QAAItD,EAAM,SAAS,UAAU;AAC3B,UAAIuD,IAAcd;AAUlB,UARIzC,EAAM,SAASA,EAAM,MAAM,SAAS,KAAKA,EAAM,MAAM,SAAS,GAAG,MACnEuD,IAAcjB,EAAS1U,CAAI,KAGzB2V,MAAgBd,KAAQrB,GAAG,KAAM,QAAQ,KAAKuB,GAAS,CAAE,OAC3DrE,IAAS0B,EAAM,QAAQ,OAAOuD,CAAW,KAGvCvD,EAAM,MAAM,SAAS,GAAG,MAAMsD,IAAOX,GAAS,MAAO,eAAe,KAAKW,CAAI,GAAG;AAMlF,cAAME,IAAaxB,GAAMsB,GAAM,EAAE,GAAG7gB,GAAS,WAAW,IAAO,EAAE;AAEjE,QAAA6b,IAAS0B,EAAM,QAAQ,IAAIwD,CAAU,IAAID,CAAW;AAAA,MACrD;AAED,MAAIvD,EAAM,KAAK,SAAS,UACtB5c,EAAM,iBAAiB;AAAA,IAE1B;AAED,IAAA8f,EAAK,EAAE,MAAM,SAAS,SAAS,IAAM,OAAAjiB,GAAO,QAAAqd,EAAM,CAAE,GACpD2E,GAAU,QAAQ;AAAA,EACtB;AAME,MAAIrV,EAAK,cAAc,MAAS,CAAC,sBAAsB,KAAK1N,CAAK,GAAG;AAClE,QAAI4gB,IAAc,IAEdxC,IAASpe,EAAM,QAAQ0hB,IAA6B,CAACjU,GAAG8V,GAAKtV,GAAOuV,GAAOJ,GAAMxf,OAC/E4f,MAAU,QACZ5C,IAAc,IACPnT,KAGL+V,MAAU,MACRD,IACKA,IAAMC,KAASJ,IAAO3G,EAAM,OAAO2G,EAAK,MAAM,IAAI,MAEvDxf,OAAU,IACL0e,KAAcc,IAAO3G,EAAM,OAAO2G,EAAK,MAAM,IAAI,MAEnD3G,EAAM,OAAOxO,EAAM,MAAM,IAG9BuV,MAAU,MACLpH,EAAY,OAAOnO,EAAM,MAAM,IAGpCuV,MAAU,MACRD,IACKA,IAAMC,KAASJ,IAAOb,IAAO,MAE/BA,IAEFgB,IAAM9V,IAAI,KAAKA,CAAC,EACxB;AAYD,WAVImT,MAAgB,OACdlT,EAAK,aAAa,KACpB0Q,IAASA,EAAO,QAAQ,OAAO,EAAE,IAEjCA,IAASA,EAAO,QAAQ,QAAQ,CAAA3Q,MACvBA,EAAE,SAAS,MAAM,IAAI,SAAUA,IAAI,OAAO,EAClD,IAID2Q,MAAWpe,KAAS0N,EAAK,aAAa,MACxCxK,EAAM,SAASlD,GACRkD,MAGTA,EAAM,SAASwb,GAAM,WAAWN,GAAQlb,GAAOX,CAAO,GAC/CW;AAAA,EACR;AAMD,SAAO,CAACge,GAAG,KAAI;AAGb,QAFAngB,IAAQogB,EAAO,GAEXpgB,MAAU;AACZ;AAOF,QAAIA,MAAU,MAAM;AAClB,YAAMqgB,IAAOne;AAMb,UAJIme,MAAS,OAAO1T,EAAK,SAAS,MAI9B0T,MAAS,OAAOA,MAAS;AAC3B;AAGF,UAAI,CAACA,GAAM;AACT,QAAArgB,KAAS,MACTiiB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,MACD;AAGD,YAAM/C,IAAQ,OAAO,KAAKykB,GAAW,CAAA;AACrC,UAAIxC,IAAU;AAgBd,UAdIjiB,KAASA,EAAM,CAAC,EAAE,SAAS,MAC7BiiB,IAAUjiB,EAAM,CAAC,EAAE,QACnBkF,EAAM,SAAS+c,GACXA,IAAU,MAAM,MAClBlf,KAAS,QAIT2M,EAAK,aAAa,KACpB3M,IAAQogB,EAAO,IAEfpgB,KAASogB,EAAO,GAGdje,EAAM,aAAa,GAAG;AACxB,QAAA8f,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,MACD;AAAA,IACF;AAOD,QAAImC,EAAM,WAAW,MAAMnC,MAAU,OAAOkgB,EAAK,UAAU,OAAOA,EAAK,UAAU,OAAO;AACtF,UAAIvT,EAAK,UAAU,MAAS3M,MAAU,KAAK;AACzC,cAAM0iB,IAAQxC,EAAK,MAAM,MAAM,CAAC;AAChC,YAAIwC,EAAM,SAAS,GAAG,MACpBxC,EAAK,QAAQ,IAETwC,EAAM,SAAS,GAAG,IAAG;AACvB,gBAAMtF,IAAM8C,EAAK,MAAM,YAAY,GAAG,GAChCyC,IAAMzC,EAAK,MAAM,MAAM,GAAG9C,CAAG,GAC7BiF,IAAOnC,EAAK,MAAM,MAAM9C,IAAM,CAAC,GAC/BwF,IAAQrG,GAAmB8F,CAAI;AACrC,cAAIO,GAAO;AACT,YAAA1C,EAAK,QAAQyC,IAAMC,GACnBzgB,EAAM,YAAY,IAClBie,KAEI,CAACa,EAAI,UAAU9B,EAAO,QAAQe,CAAI,MAAM,MAC1Ce,EAAI,SAASxF;AAEf;AAAA,UACD;AAAA,QACF;AAAA,MAEJ;AAED,OAAKzb,MAAU,OAAOkC,QAAW,OAASlC,MAAU,OAAOkC,QAAW,SACpElC,IAAQ,KAAKA,CAAK,KAGhBA,MAAU,QAAQkgB,EAAK,UAAU,OAAOA,EAAK,UAAU,UACzDlgB,IAAQ,KAAKA,CAAK,KAGhB2M,EAAK,UAAU,MAAQ3M,MAAU,OAAOkgB,EAAK,UAAU,QACzDlgB,IAAQ,MAGVkgB,EAAK,SAASlgB,GACdud,GAAO,EAAE,OAAAvd,EAAK,CAAE;AAChB;AAAA,IACD;AAOD,QAAImC,EAAM,WAAW,KAAKnC,MAAU,KAAK;AACvC,MAAAA,IAAQ2d,GAAM,YAAY3d,CAAK,GAC/BkgB,EAAK,SAASlgB,GACdud,GAAO,EAAE,OAAAvd,EAAK,CAAE;AAChB;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,MAAAmC,EAAM,SAASA,EAAM,WAAW,IAAI,IAAI,GACpCwK,EAAK,eAAe,MACtBsV,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAE9B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,MAAA+hB,GAAU,QAAQ,GAClBE,EAAK,EAAE,MAAM,SAAS,OAAAjiB,EAAO,CAAA;AAC7B;AAAA,IACD;AAED,QAAIA,MAAU,KAAK;AACjB,UAAImC,EAAM,WAAW,KAAKwK,EAAK,mBAAmB;AAChD,cAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AAGnD,YAAM+B,IAAUpB,EAASA,EAAS,SAAS,CAAC;AAC5C,UAAIoB,KAAW1gB,EAAM,WAAW0gB,EAAQ,SAAS,GAAG;AAClD,QAAAT,GAAaX,EAAS,IAAG,CAAE;AAC3B;AAAA,MACD;AAED,MAAAQ,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAQmC,EAAM,SAAS,MAAM,MAAK,CAAE,GACjE6f,GAAU,QAAQ;AAClB;AAAA,IACD;AAMD,QAAIhiB,MAAU,KAAK;AACjB,UAAI2M,EAAK,cAAc,MAAQ,CAAC+U,KAAY,SAAS,GAAG,GAAG;AACzD,YAAI/U,EAAK,cAAc,MAAQA,EAAK,mBAAmB;AACrD,gBAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AAGnD,QAAA9gB,IAAQ,KAAKA,CAAK;AAAA,MAC1B;AACQ,QAAA+hB,GAAU,UAAU;AAGtB,MAAAE,EAAK,EAAE,MAAM,WAAW,OAAAjiB,EAAO,CAAA;AAC/B;AAAA,IACD;AAED,QAAIA,MAAU,KAAK;AACjB,UAAI2M,EAAK,cAAc,MAASuT,KAAQA,EAAK,SAAS,aAAaA,EAAK,MAAM,WAAW,GAAI;AAC3F,QAAA+B,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQ,KAAKA,CAAK,GAAE,CAAE;AAClD;AAAA,MACD;AAED,UAAImC,EAAM,aAAa,GAAG;AACxB,YAAIwK,EAAK,mBAAmB;AAC1B,gBAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AAGnD,QAAAmB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQ,KAAKA,CAAK,GAAE,CAAE;AAClD;AAAA,MACD;AAED,MAAAgiB,GAAU,UAAU;AAEpB,YAAMc,IAAY5C,EAAK,MAAM,MAAM,CAAC;AAUpC,UATIA,EAAK,UAAU,MAAQ4C,EAAU,CAAC,MAAM,OAAO,CAACA,EAAU,SAAS,GAAG,MACxE9iB,IAAQ,IAAIA,CAAK,KAGnBkgB,EAAK,SAASlgB,GACdud,GAAO,EAAE,OAAAvd,EAAK,CAAE,GAIZ2M,EAAK,oBAAoB,MAASgR,GAAM,cAAcmF,CAAS;AACjE;AAGF,YAAMC,IAAUpF,GAAM,YAAYuC,EAAK,KAAK;AAK5C,UAJA/d,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAAC+d,EAAK,MAAM,MAAM,GAInDvT,EAAK,oBAAoB,IAAM;AACjC,QAAAxK,EAAM,UAAU4gB,GAChB7C,EAAK,QAAQ6C;AACb;AAAA,MACD;AAGD,MAAA7C,EAAK,QAAQ,IAAIgB,CAAO,GAAG6B,CAAO,IAAI7C,EAAK,KAAK,KAChD/d,EAAM,UAAU+d,EAAK;AACrB;AAAA,IACD;AAMD,QAAIlgB,MAAU,OAAO2M,EAAK,YAAY,IAAM;AAC1C,MAAAoV,GAAU,QAAQ;AAElB,YAAMiB,IAAO;AAAA,QACX,MAAM;AAAA,QACN,OAAAhjB;AAAA,QACA,QAAQ;AAAA,QACR,aAAamC,EAAM,OAAO;AAAA,QAC1B,aAAaA,EAAM,OAAO;AAAA,MAClC;AAEM,MAAA8d,EAAO,KAAK+C,CAAI,GAChBf,EAAKe,CAAI;AACT;AAAA,IACD;AAED,QAAIhjB,MAAU,KAAK;AACjB,YAAMijB,IAAQhD,EAAOA,EAAO,SAAS,CAAC;AAEtC,UAAItT,EAAK,YAAY,MAAQ,CAACsW,GAAO;AACnC,QAAAhB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQA,EAAK,CAAE;AAC3C;AAAA,MACD;AAED,UAAIqd,IAAS;AAEb,UAAI4F,EAAM,SAAS,IAAM;AACvB,cAAMna,IAAMqW,EAAO,SACb+D,IAAQ,CAAA;AAEd,iBAASplB,IAAIgL,EAAI,SAAS,GAAGhL,KAAK,MAChCqhB,EAAO,IAAG,GACNrW,EAAIhL,CAAC,EAAE,SAAS,UAFeA;AAKnC,UAAIgL,EAAIhL,CAAC,EAAE,SAAS,UAClBolB,EAAM,QAAQpa,EAAIhL,CAAC,EAAE,KAAK;AAI9B,QAAAuf,IAASwD,GAAYqC,GAAOvW,CAAI,GAChCxK,EAAM,YAAY;AAAA,MACnB;AAED,UAAI8gB,EAAM,UAAU,MAAQA,EAAM,SAAS,IAAM;AAC/C,cAAM5L,IAAMlV,EAAM,OAAO,MAAM,GAAG8gB,EAAM,WAAW,GAC7CE,IAAOhhB,EAAM,OAAO,MAAM8gB,EAAM,WAAW;AACjD,QAAAA,EAAM,QAAQA,EAAM,SAAS,OAC7BjjB,IAAQqd,IAAS,OACjBlb,EAAM,SAASkV;AACf,mBAAW9I,KAAK4U;AACd,UAAAhhB,EAAM,UAAWoM,EAAE,UAAUA,EAAE;AAAA,MAElC;AAED,MAAA0T,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAAqd,EAAQ,CAAA,GACrC2E,GAAU,QAAQ,GAClB/B,EAAO,IAAG;AACV;AAAA,IACD;AAMD,QAAIjgB,MAAU,KAAK;AACjB,MAAIyhB,EAAS,SAAS,KACpBA,EAASA,EAAS,SAAS,CAAC,EAAE,cAEhCQ,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,UAAIqd,IAASrd;AAEb,YAAMijB,IAAQhD,EAAOA,EAAO,SAAS,CAAC;AACtC,MAAIgD,KAASlf,EAAMA,EAAM,SAAS,CAAC,MAAM,aACvCkf,EAAM,QAAQ,IACd5F,IAAS,MAGX4E,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAAqd,EAAQ,CAAA;AACrC;AAAA,IACD;AAMD,QAAIrd,MAAU,KAAK;AAKjB,UAAIkgB,EAAK,SAAS,SAAS/d,EAAM,UAAUA,EAAM,QAAQ,GAAG;AAC1D,QAAAA,EAAM,QAAQA,EAAM,QAAQ,GAC5BA,EAAM,WAAW,IACjBA,EAAM,SAAS,IACfgd,EAAO,IAAG,GACVe,IAAOe;AACP;AAAA,MACD;AAED,MAAAgB,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAQwb,EAAa,CAAE;AACpD;AAAA,IACD;AAMD,QAAIxb,MAAU,KAAK;AACjB,UAAImC,EAAM,SAAS,KAAK+d,EAAK,SAAS,OAAO;AAC3C,QAAIA,EAAK,UAAU,QAAKA,EAAK,SAAS7E;AACtC,cAAM4H,IAAQhD,EAAOA,EAAO,SAAS,CAAC;AACtC,QAAAC,EAAK,OAAO,QACZA,EAAK,UAAUlgB,GACfkgB,EAAK,SAASlgB,GACdijB,EAAM,OAAO;AACb;AAAA,MACD;AAED,UAAK9gB,EAAM,SAASA,EAAM,WAAY,KAAK+d,EAAK,SAAS,SAASA,EAAK,SAAS,SAAS;AACvF,QAAA+B,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQqb,EAAW,CAAE;AACjD;AAAA,MACD;AAED,MAAA4G,EAAK,EAAE,MAAM,OAAO,OAAAjiB,GAAO,QAAQqb,EAAW,CAAE;AAChD;AAAA,IACD;AAMD,QAAIrb,MAAU,KAAK;AAEjB,UAAI,EADYkgB,KAAQA,EAAK,UAAU,QACvBvT,EAAK,cAAc,MAAQzK,EAAM,MAAK,OAAOA,EAAK,CAAC,MAAM,KAAK;AAC5E,QAAAigB,GAAY,SAASniB,CAAK;AAC1B;AAAA,MACD;AAED,UAAIkgB,KAAQA,EAAK,SAAS,SAAS;AACjC,cAAMG,IAAOne;AACb,YAAImb,IAASrd;AAEb,SAAKkgB,EAAK,UAAU,OAAO,CAAC,SAAS,KAAKG,CAAI,KAAOA,MAAS,OAAO,CAAC,eAAe,KAAKqB,GAAW,CAAA,OACnGrE,IAAS,KAAKrd,CAAK,KAGrBiiB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAAqd,EAAQ,CAAA;AACpC;AAAA,MACD;AAED,UAAI1Q,EAAK,QAAQ,OAASuT,EAAK,SAAS,WAAWA,EAAK,SAAS,QAAQ;AACvE,QAAA+B,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAQkc,EAAY,CAAE;AACnD;AAAA,MACD;AAED,MAAA+F,EAAK,EAAE,MAAM,SAAS,OAAAjiB,GAAO,QAAQ0b,EAAK,CAAE;AAC5C;AAAA,IACD;AAMD,QAAI1b,MAAU,KAAK;AACjB,UAAI2M,EAAK,cAAc,MAAQzK,EAAI,MAAO,QACpCA,EAAK,CAAC,MAAM,OAAO,CAAC,SAAS,KAAKA,EAAK,CAAC,CAAC,IAAG;AAC9C,QAAAigB,GAAY,UAAUniB,CAAK;AAC3B;AAAA,MACD;AAGH,UAAI2M,EAAK,aAAa,MAAQxK,EAAM,UAAU,GAAG;AAC/C,QAAA0f;AACA;AAAA,MACD;AAAA,IACF;AAMD,QAAI7hB,MAAU,KAAK;AACjB,UAAI2M,EAAK,cAAc,MAAQzK,EAAI,MAAO,OAAOA,EAAK,CAAC,MAAM,KAAK;AAChE,QAAAigB,GAAY,QAAQniB,CAAK;AACzB;AAAA,MACD;AAED,UAAKkgB,KAAQA,EAAK,UAAU,OAAQvT,EAAK,UAAU,IAAO;AACxD,QAAAsV,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQsb,EAAY,CAAE;AAClD;AAAA,MACD;AAED,UAAK4E,MAASA,EAAK,SAAS,aAAaA,EAAK,SAAS,WAAWA,EAAK,SAAS,YAAa/d,EAAM,SAAS,GAAG;AAC7G,QAAA8f,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,MACD;AAED,MAAAiiB,EAAK,EAAE,MAAM,QAAQ,OAAO3G,EAAc,CAAA;AAC1C;AAAA,IACD;AAMD,QAAItb,MAAU,KAAK;AACjB,UAAI2M,EAAK,cAAc,MAAQzK,EAAI,MAAO,OAAOA,EAAK,CAAC,MAAM,KAAK;AAChE,QAAA+f,EAAK,EAAE,MAAM,MAAM,SAAS,IAAM,OAAAjiB,GAAO,QAAQ,GAAE,CAAE;AACrD;AAAA,MACD;AAED,MAAAiiB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,OAAIA,MAAU,OAAOA,MAAU,SAC7BA,IAAQ,KAAKA,CAAK;AAGpB,YAAM/C,IAAQyjB,GAAwB,KAAKgB,GAAW,CAAA;AACtD,MAAIzkB,MACF+C,KAAS/C,EAAM,CAAC,GAChBkF,EAAM,SAASlF,EAAM,CAAC,EAAE,SAG1BglB,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAIkgB,MAASA,EAAK,SAAS,cAAcA,EAAK,SAAS,KAAO;AAC5D,MAAAA,EAAK,OAAO,QACZA,EAAK,OAAO,IACZA,EAAK,SAASlgB,GACdkgB,EAAK,SAASsB,GACdrf,EAAM,YAAY,IAClBA,EAAM,WAAW,IACjBwf,GAAQ3hB,CAAK;AACb;AAAA,IACD;AAED,QAAIqiB,IAAOX;AACX,QAAI/U,EAAK,cAAc,MAAQ,UAAU,KAAK0V,CAAI,GAAG;AACnD,MAAAF,GAAY,QAAQniB,CAAK;AACzB;AAAA,IACD;AAED,QAAIkgB,EAAK,SAAS,QAAQ;AACxB,UAAIvT,EAAK,eAAe,IAAM;AAC5B,QAAAgV,GAAQ3hB,CAAK;AACb;AAAA,MACD;AAED,YAAMojB,IAAQlD,EAAK,MACbmD,IAASD,EAAM,MACfE,IAAUF,EAAM,SAAS,WAAWA,EAAM,SAAS,OACnDG,IAAYF,MAAWA,EAAO,SAAS,UAAUA,EAAO,SAAS;AAEvE,UAAI1W,EAAK,SAAS,OAAS,CAAC2W,KAAYjB,EAAK,CAAC,KAAKA,EAAK,CAAC,MAAM,MAAO;AACpE,QAAAJ,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQ,GAAE,CAAE;AACxC;AAAA,MACD;AAED,YAAMuf,IAAUpd,EAAM,SAAS,MAAMihB,EAAM,SAAS,WAAWA,EAAM,SAAS,UACxE1D,KAAY+B,EAAS,WAAW2B,EAAM,SAAS,UAAUA,EAAM,SAAS;AAC9E,UAAI,CAACE,KAAWF,EAAM,SAAS,WAAW,CAAC7D,KAAW,CAACG,IAAW;AAChE,QAAAuC,EAAK,EAAE,MAAM,QAAQ,OAAAjiB,GAAO,QAAQ,GAAE,CAAE;AACxC;AAAA,MACD;AAGD,aAAOqiB,EAAK,MAAM,GAAG,CAAC,MAAM,SAAO;AACjC,cAAMmB,KAAQvkB,EAAMkD,EAAM,QAAQ,CAAC;AACnC,YAAIqhB,MAASA,OAAU;AACrB;AAEF,QAAAnB,IAAOA,EAAK,MAAM,CAAC,GACnBV,GAAQ,OAAO,CAAC;AAAA,MACjB;AAED,UAAIyB,EAAM,SAAS,SAASjD,GAAG,GAAI;AACjC,QAAAD,EAAK,OAAO,YACZA,EAAK,SAASlgB,GACdkgB,EAAK,SAASmB,EAAS1U,CAAI,GAC3BxK,EAAM,SAAS+d,EAAK,QACpB/d,EAAM,WAAW,IACjBwf,GAAQ3hB,CAAK;AACb;AAAA,MACD;AAED,UAAIojB,EAAM,SAAS,WAAWA,EAAM,KAAK,SAAS,SAAS,CAACG,KAAapD,MAAO;AAC9E,QAAAhe,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,EAAEihB,EAAM,SAASlD,EAAK,QAAQ,MAAM,GACzEkD,EAAM,SAAS,MAAMA,EAAM,MAAM,IAEjClD,EAAK,OAAO,YACZA,EAAK,SAASmB,EAAS1U,CAAI,KAAKA,EAAK,gBAAgB,MAAM,QAC3DuT,EAAK,SAASlgB,GACdmC,EAAM,WAAW,IACjBA,EAAM,UAAUihB,EAAM,SAASlD,EAAK,QACpCyB,GAAQ3hB,CAAK;AACb;AAAA,MACD;AAED,UAAIojB,EAAM,SAAS,WAAWA,EAAM,KAAK,SAAS,SAASf,EAAK,CAAC,MAAM,KAAK;AAC1E,cAAMoB,KAAMpB,EAAK,CAAC,MAAM,SAAS,OAAO;AAExC,QAAAlgB,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,EAAEihB,EAAM,SAASlD,EAAK,QAAQ,MAAM,GACzEkD,EAAM,SAAS,MAAMA,EAAM,MAAM,IAEjClD,EAAK,OAAO,YACZA,EAAK,SAAS,GAAGmB,EAAS1U,CAAI,CAAC,GAAG6O,CAAa,IAAIA,CAAa,GAAGiI,EAAG,KACtEvD,EAAK,SAASlgB,GAEdmC,EAAM,UAAUihB,EAAM,SAASlD,EAAK,QACpC/d,EAAM,WAAW,IAEjBwf,GAAQ3hB,IAAQogB,EAAO,CAAE,GAEzB6B,EAAK,EAAE,MAAM,SAAS,OAAO,KAAK,QAAQ,GAAE,CAAE;AAC9C;AAAA,MACD;AAED,UAAImB,EAAM,SAAS,SAASf,EAAK,CAAC,MAAM,KAAK;AAC3C,QAAAnC,EAAK,OAAO,YACZA,EAAK,SAASlgB,GACdkgB,EAAK,SAAS,QAAQ1E,CAAa,IAAI6F,EAAS1U,CAAI,CAAC,GAAG6O,CAAa,KACrErZ,EAAM,SAAS+d,EAAK,QACpB/d,EAAM,WAAW,IACjBwf,GAAQ3hB,IAAQogB,EAAO,CAAE,GACzB6B,EAAK,EAAE,MAAM,SAAS,OAAO,KAAK,QAAQ,GAAE,CAAE;AAC9C;AAAA,MACD;AAGD,MAAA9f,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAAC+d,EAAK,OAAO,MAAM,GAGxDA,EAAK,OAAO,YACZA,EAAK,SAASmB,EAAS1U,CAAI,GAC3BuT,EAAK,SAASlgB,GAGdmC,EAAM,UAAU+d,EAAK,QACrB/d,EAAM,WAAW,IACjBwf,GAAQ3hB,CAAK;AACb;AAAA,IACD;AAED,UAAM+e,IAAQ,EAAE,MAAM,QAAQ,OAAA/e,GAAO,QAAQwhB;AAE7C,QAAI7U,EAAK,SAAS,IAAM;AACtB,MAAAoS,EAAM,SAAS,QACXmB,EAAK,SAAS,SAASA,EAAK,SAAS,aACvCnB,EAAM,SAASuC,IAAQvC,EAAM,SAE/BkD,EAAKlD,CAAK;AACV;AAAA,IACD;AAED,QAAImB,MAASA,EAAK,SAAS,aAAaA,EAAK,SAAS,YAAYvT,EAAK,UAAU,IAAM;AACrF,MAAAoS,EAAM,SAAS/e,GACfiiB,EAAKlD,CAAK;AACV;AAAA,IACD;AAED,KAAI5c,EAAM,UAAUA,EAAM,SAAS+d,EAAK,SAAS,WAAWA,EAAK,SAAS,WACpEA,EAAK,SAAS,SAChB/d,EAAM,UAAU6Z,GAChBkE,EAAK,UAAUlE,KAENrP,EAAK,QAAQ,MACtBxK,EAAM,UAAU8Z,GAChBiE,EAAK,UAAUjE,MAGf9Z,EAAM,UAAUmf,GAChBpB,EAAK,UAAUoB,IAGbpf,EAAM,MAAK,QACbC,EAAM,UAAUsZ,GAChByE,EAAK,UAAUzE,KAInBwG,EAAKlD,CAAK;AAAA,EACX;AAED,SAAO5c,EAAM,WAAW,KAAG;AACzB,QAAIwK,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AACnF,IAAA3e,EAAM,SAASwb,GAAM,WAAWxb,EAAM,QAAQ,GAAG,GACjD6f,GAAU,UAAU;AAAA,EACrB;AAED,SAAO7f,EAAM,SAAS,KAAG;AACvB,QAAIwK,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AACnF,IAAA3e,EAAM,SAASwb,GAAM,WAAWxb,EAAM,QAAQ,GAAG,GACjD6f,GAAU,QAAQ;AAAA,EACnB;AAED,SAAO7f,EAAM,SAAS,KAAG;AACvB,QAAIwK,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYmU,GAAY,WAAW,GAAG,CAAC;AACnF,IAAA3e,EAAM,SAASwb,GAAM,WAAWxb,EAAM,QAAQ,GAAG,GACjD6f,GAAU,QAAQ;AAAA,EACnB;AAOD,MALIrV,EAAK,kBAAkB,OAASuT,EAAK,SAAS,UAAUA,EAAK,SAAS,cACxE+B,EAAK,EAAE,MAAM,eAAe,OAAO,IAAI,QAAQ,GAAGzG,CAAa,IAAK,CAAA,GAIlErZ,EAAM,cAAc,IAAM;AAC5B,IAAAA,EAAM,SAAS;AAEf,eAAW4c,KAAS5c,EAAM;AACxB,MAAAA,EAAM,UAAU4c,EAAM,UAAU,OAAOA,EAAM,SAASA,EAAM,OAExDA,EAAM,WACR5c,EAAM,UAAU4c,EAAM;AAAA,EAG3B;AAED,SAAO5c;AACT;AAQA4e,GAAM,YAAY,CAAC9hB,GAAOuC,MAAY;AACpC,QAAMmL,IAAO,EAAE,GAAGnL,KACZwf,IAAM,OAAOrU,EAAK,aAAc,WAAW,KAAK,IAAI8T,IAAY9T,EAAK,SAAS,IAAI8T,IAClFlT,IAAMtO,EAAM;AAClB,MAAIsO,IAAMyT;AACR,UAAM,IAAI,YAAY,iBAAiBzT,CAAG,qCAAqCyT,CAAG,EAAE;AAGtF,EAAA/hB,IAAQ2hB,GAAa3hB,CAAK,KAAKA;AAG/B,QAAM;AAAA,IACJ,aAAAoc;AAAA,IACA,eAAAG;AAAA,IACA,UAAAC;AAAA,IACA,YAAAI;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAE;AAAA,IACA,MAAAE;AAAA,IACA,cAAAP;AAAA,EACD,IAAGY,GAAU,UAAU7P,EAAK,OAAO,GAE9B2U,IAAQ3U,EAAK,MAAMoP,IAAUD,GAC7B4H,IAAW/W,EAAK,MAAMsP,IAAgBH,GACtCoF,IAAUvU,EAAK,UAAU,KAAK,MAC9BxK,IAAQ,EAAE,SAAS,IAAO,QAAQ,GAAE;AAC1C,MAAIqf,IAAO7U,EAAK,SAAS,KAAO,QAAQwP;AAExC,EAAIxP,EAAK,YACP6U,IAAO,IAAIA,CAAI;AAGjB,QAAMH,IAAW,CAAA1U,MACXA,EAAK,eAAe,KAAa6U,IAC9B,IAAIN,CAAO,SAAStF,CAAY,GAAGjP,EAAK,MAAMkP,IAAaR,CAAW,UAGzElS,IAAS,CAAA0P,MAAO;AACpB,YAAQA,GAAG;AAAA,MACT,KAAK;AACH,eAAO,GAAGyI,CAAK,GAAG7F,CAAQ,GAAG+F,CAAI;AAAA,MAEnC,KAAK;AACH,eAAO,GAAGnG,CAAW,GAAGI,CAAQ,GAAG+F,CAAI;AAAA,MAEzC,KAAK;AACH,eAAO,GAAGF,CAAK,GAAGE,CAAI,GAAGnG,CAAW,GAAGI,CAAQ,GAAG+F,CAAI;AAAA,MAExD,KAAK;AACH,eAAO,GAAGF,CAAK,GAAGE,CAAI,GAAGhG,CAAa,GAAGC,CAAQ,GAAGiI,CAAQ,GAAGlC,CAAI;AAAA,MAErE,KAAK;AACH,eAAOF,IAAQD,EAAS1U,CAAI;AAAA,MAE9B,KAAK;AACH,eAAO,MAAM2U,CAAK,GAAGD,EAAS1U,CAAI,CAAC,GAAG6O,CAAa,KAAKkI,CAAQ,GAAGjI,CAAQ,GAAG+F,CAAI;AAAA,MAEpF,KAAK;AACH,eAAO,MAAMF,CAAK,GAAGD,EAAS1U,CAAI,CAAC,GAAG6O,CAAa,KAAKkI,CAAQ,GAAGlC,CAAI,GAAGnG,CAAW,GAAGI,CAAQ,GAAG+F,CAAI;AAAA,MAEzG,KAAK;AACH,eAAO,MAAMF,CAAK,GAAGD,EAAS1U,CAAI,CAAC,GAAG6O,CAAa,KAAKH,CAAW,GAAGI,CAAQ,GAAG+F,CAAI;AAAA,MAEvF,SAAS;AACP,cAAMvkB,IAAQ,iBAAiB,KAAK4b,CAAG;AACvC,YAAI,CAAC5b;AAAO;AAEZ,cAAMiJ,IAASiD,EAAOlM,EAAM,CAAC,CAAC;AAC9B,eAAKiJ,IAEEA,IAASmV,IAAcpe,EAAM,CAAC,IAFxB;AAAA,MAGd;AAAA,IACF;AAAA,EACL,GAEQogB,IAASM,GAAM,aAAa1e,GAAOkD,CAAK;AAC9C,MAAI+D,IAASiD,EAAOkU,CAAM;AAE1B,SAAInX,KAAUyG,EAAK,kBAAkB,OACnCzG,KAAU,GAAGsV,CAAa,MAGrBtV;AACT;AAEA,IAAAyd,KAAiB5C;AC1jCjB,MAAM/B,KAAOlC,IACPiE,KAAQpC,IACRhB,KAAQiG,IACRpH,KAAYqH,IACZC,KAAW,CAAA9G,MAAOA,KAAO,OAAOA,KAAQ,YAAY,CAAC,MAAM,QAAQA,CAAG,GAwBtE+G,IAAY,CAACzD,GAAM9e,GAASwiB,IAAc,OAAU;AACxD,MAAI,MAAM,QAAQ1D,CAAI,GAAG;AACvB,UAAM2D,IAAM3D,EAAK,IAAI,CAAArhB,MAAS8kB,EAAU9kB,GAAOuC,GAASwiB,CAAW,CAAC;AAQpE,WAPqB,CAAAnL,MAAO;AAC1B,iBAAWqL,KAAWD,GAAK;AACzB,cAAM9hB,IAAQ+hB,EAAQrL,CAAG;AACzB,YAAI1W;AAAO,iBAAOA;AAAA,MACnB;AACD,aAAO;AAAA,IACb;AAAA,EAEG;AAED,QAAMgiB,IAAUL,GAASxD,CAAI,KAAKA,EAAK,UAAUA,EAAK;AAEtD,MAAIA,MAAS,MAAO,OAAOA,KAAS,YAAY,CAAC6D;AAC/C,UAAM,IAAI,UAAU,2CAA2C;AAGjE,QAAMxX,IAAOnL,KAAW,IAClBohB,IAAQjW,EAAK,SACbyX,IAAQD,IACVJ,EAAU,UAAUzD,GAAM9e,CAAO,IACjCuiB,EAAU,OAAOzD,GAAM9e,GAAS,IAAO,EAAI,GAEzCW,IAAQiiB,EAAM;AACpB,SAAOA,EAAM;AAEb,MAAIC,IAAY,MAAM;AACtB,MAAI1X,EAAK,QAAQ;AACf,UAAM2X,IAAa,EAAE,GAAG9iB,GAAS,QAAQ,MAAM,SAAS,MAAM,UAAU;AACxE,IAAA6iB,IAAYN,EAAUpX,EAAK,QAAQ2X,GAAYN,CAAW;AAAA,EAC3D;AAED,QAAMO,IAAU,CAACtlB,GAAOulB,IAAe,OAAU;AAC/C,UAAM,EAAE,SAAAN,GAAS,OAAAjnB,GAAO,QAAAogB,EAAM,IAAK0G,EAAU,KAAK9kB,GAAOmlB,GAAO5iB,GAAS,EAAE,MAAA8e,GAAM,OAAAsC,EAAO,CAAA,GAClFjc,IAAS,EAAE,MAAA2Z,GAAM,OAAAne,GAAO,OAAAiiB,GAAO,OAAAxB,GAAO,OAAA3jB,GAAO,QAAAoe,GAAQ,OAAApgB,GAAO,SAAAinB;AAMlE,WAJI,OAAOvX,EAAK,YAAa,cAC3BA,EAAK,SAAShG,CAAM,GAGlBud,MAAY,MACdvd,EAAO,UAAU,IACV6d,IAAe7d,IAAS,MAG7B0d,EAAUplB,CAAK,KACb,OAAO0N,EAAK,YAAa,cAC3BA,EAAK,SAAShG,CAAM,GAEtBA,EAAO,UAAU,IACV6d,IAAe7d,IAAS,OAG7B,OAAOgG,EAAK,WAAY,cAC1BA,EAAK,QAAQhG,CAAM,GAEd6d,IAAe7d,IAAS;AAAA,EACnC;AAEE,SAAIqd,MACFO,EAAQ,QAAQpiB,IAGXoiB;AACT;AAmBAR,EAAU,OAAO,CAAC9kB,GAAOmlB,GAAO5iB,GAAS,EAAE,MAAA8e,GAAM,OAAAsC,EAAO,IAAG,OAAO;AAChE,MAAI,OAAO3jB,KAAU;AACnB,UAAM,IAAI,UAAU,+BAA+B;AAGrD,MAAIA,MAAU;AACZ,WAAO,EAAE,SAAS,IAAO,QAAQ,GAAE;AAGrC,QAAM0N,IAAOnL,KAAW,IAClBijB,IAAS9X,EAAK,WAAWiW,IAAQjF,GAAM,iBAAiB;AAC9D,MAAI1gB,IAAQgC,MAAUqhB,GAClBjD,IAAUpgB,KAASwnB,IAAUA,EAAOxlB,CAAK,IAAIA;AAEjD,SAAIhC,MAAU,OACZogB,IAASoH,IAASA,EAAOxlB,CAAK,IAAIA,GAClChC,IAAQogB,MAAWiD,KAGjBrjB,MAAU,MAAS0P,EAAK,YAAY,QAClCA,EAAK,cAAc,MAAQA,EAAK,aAAa,KAC/C1P,IAAQ8mB,EAAU,UAAU9kB,GAAOmlB,GAAO5iB,GAASohB,CAAK,IAExD3lB,IAAQmnB,EAAM,KAAK/G,CAAM,IAItB,EAAE,SAAS,EAAQpgB,GAAQ,OAAAA,GAAO,QAAAogB;AAC3C;AAgBA0G,EAAU,YAAY,CAAC9kB,GAAOqhB,GAAM9e,OACpB8e,aAAgB,SAASA,IAAOyD,EAAU,OAAOzD,GAAM9e,CAAO,GAC/D,KAAKmc,GAAM,SAAS1e,CAAK,CAAC;AAoBzC8kB,EAAU,UAAU,CAAClL,GAAK6L,GAAUljB,MAAYuiB,EAAUW,GAAUljB,CAAO,EAAEqX,CAAG;AAgBhFkL,EAAU,QAAQ,CAACY,GAASnjB,MACtB,MAAM,QAAQmjB,CAAO,IAAUA,EAAQ,IAAI,CAAAnX,MAAKuW,EAAU,MAAMvW,GAAGhM,CAAO,CAAC,IACxEuf,GAAM4D,GAAS,EAAE,GAAGnjB,GAAS,WAAW,GAAK,CAAE;AA8BxDuiB,EAAU,OAAO,CAAC9kB,GAAOuC,MAAYwd,GAAK/f,GAAOuC,CAAO;AAcxDuiB,EAAU,YAAY,CAAC5hB,GAAOX,GAASojB,IAAe,IAAOZ,IAAc,OAAU;AACnF,MAAIY,MAAiB;AACnB,WAAOziB,EAAM;AAGf,QAAMwK,IAAOnL,KAAW,IAClB8b,IAAU3Q,EAAK,WAAW,KAAK,KAC/B4Q,IAAS5Q,EAAK,WAAW,KAAK;AAEpC,MAAIzG,IAAS,GAAGoX,CAAO,MAAMnb,EAAM,MAAM,IAAIob,CAAM;AACnD,EAAIpb,KAASA,EAAM,YAAY,OAC7B+D,IAAS,OAAOA,CAAM;AAGxB,QAAMke,IAAQL,EAAU,QAAQ7d,GAAQ1E,CAAO;AAC/C,SAAIwiB,MAAgB,OAClBI,EAAM,QAAQjiB,IAGTiiB;AACT;AAqBAL,EAAU,SAAS,CAAC9kB,GAAOuC,IAAU,CAAE,GAAEojB,IAAe,IAAOZ,IAAc,OAAU;AACrF,MAAI,CAAC/kB,KAAS,OAAOA,KAAU;AAC7B,UAAM,IAAI,UAAU,6BAA6B;AAGnD,MAAI4lB,IAAS,EAAE,SAAS,IAAO,WAAW,GAAI;AAE9C,SAAIrjB,EAAQ,cAAc,OAAUvC,EAAM,CAAC,MAAM,OAAOA,EAAM,CAAC,MAAM,SACnE4lB,EAAO,SAAS9D,GAAM,UAAU9hB,GAAOuC,CAAO,IAG3CqjB,EAAO,WACVA,IAAS9D,GAAM9hB,GAAOuC,CAAO,IAGxBuiB,EAAU,UAAUc,GAAQrjB,GAASojB,GAAcZ,CAAW;AACvE;AAmBAD,EAAU,UAAU,CAAC7d,GAAQ1E,MAAY;AACvC,MAAI;AACF,UAAMmL,IAAOnL,KAAW;AACxB,WAAO,IAAI,OAAO0E,GAAQyG,EAAK,UAAUA,EAAK,SAAS,MAAM,GAAG;AAAA,EACjE,SAAQ9B,GAAK;AACZ,QAAIrJ,KAAWA,EAAQ,UAAU;AAAM,YAAMqJ;AAC7C,WAAO;AAAA,EACR;AACH;AAOAkZ,EAAU,YAAYvH;AAMtB,IAAAsI,KAAiBf,GClVjBnB,KAAiB9F;mCCqBXne,KAAa8L,GAAkB,KAAK,GAE7Bsa,KAA+B,OAC1CC,GACAhoB,MAC+B;AACzB,QAAAioB,IAAc,IAAI,IAAID,CAAG;AACnB,EAAAC,EAAA,WACVA,EAAY,YACXA,EAAY,SAAS,SAAS,GAAG,IAAI,kBAAkB;AAMpD,QAAAC,IAAa,OALF,MAAMvmB,GAAWsmB,EAAY,MAAM;AAAA,IAClD,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,EAAA,CACb,GACiC;AAK3B,SAJqB,MAAMva,GAChCwa,GACAloB,KAAWR,EAAsB;AAGrC,GAEa2oB,KAAgC,OAC3CH,GACAhoB,MAOE;AAME,MAJAgoB,EAAI,WAAW,OAAO,KAItBA,EAAI,WAAW,yBAAyB;AACnC;AAGH,QAAAI,IAAe,IAAI,IAAIJ,CAAG;AAChC,MAAII,EAAa,OAAO,SAAS,cAAc;AACtC;AAIL,MAAAC,IACFC,GAA6BF,GAAc,YAAY;AAEzD,MAAIC;AACF,WAAO5Y,GAAqC4Y,CAAoB;AAIlE,EAAAD,EAAa,OAAO,IAGfA,EAAa,SAAS,SAAS,gBAAgB,MACrCA,EAAA,WACXA,EAAa,YACZA,EAAa,SAAS,SAAS,GAAG,IAC/B,mBACA;AAEJ,MAAA;AACF,UAAMzlB,IAAW,MAAMhB,GAAWymB,EAAa,MAAM;AAAA,MACnD,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,IAAA,CACb;AACG,QAAAzlB,EAAS,WAAW;AACf;AAEH,UAAAulB,IAAa,MAAMvlB,EAAS;AAK3B,WAJqB,MAAMkM,GAChCqZ,GACAloB,KAAWT,EAAuB;AAAA,WAG7BuD,GAAO;AACN,YAAA,MACN,4CAA4CslB,EAAa,KAAK,UAAU,GAAG,GAAG,CAAC,IAC/EtlB,CAAK;AAEA;AAAA,EACT;AACF,GAEaylB,KAA6B,CACxCL,MAKKA,IAGD,EAAAA,KAAA,QAAAA,EAAY,UAAU,OAAO,KAAKA,EAAW,MAAM,EAAE,SAAS,KAG9DA,KAAA,QAAAA,EAAY,WAAW,OAAO,KAAKA,EAAW,OAAO,EAAE,SAAS,KAGhEA,KAAA,QAAAA,EAAY,SAGZA,KAAA,QAAAA,EAAY,YAAY,OAAO,KAAKA,EAAW,QAAQ,EAAE,SAAS,KAX7D;ACnFL,MAAOM,WAAgC/P,GAAAA,aAE5C;AAAA,EAsBC,YACE4D,GACA2L,GACAS,GACAC,GACAC,GACAC,IAAiB,IAAK;AAOlB,iBA1BN,KAAM,SAAsB,IAC5B,KAAO,UAAsB,IAC7B,KAAY,eAAe,IAC3B,KAAa,gBAAyC,IACtD,KAAO,UAAY,IACnB,KAAS,YAAe,IAGxB,KAA4B,+BAAY,IAqNxC,KAAA,2BAGI;AAAA,MACF,UAAU;AAAA,MACV,QAAQ;AAAA,IAAA,GAwCV,KAAA,4BAA4B;AAAA,MAC1B,UAAU;AAAA,MACV,QAAQ;AAAA,IAAA,GAlPJ,CAACZ,EAAI,WAAW,OAAO,KAAK,CAACA,EAAI,WAAW,MAAM,GAAG;AAChD,aAAAA,EAAI,WAAW,GAAG;AACjB,QAAAA,IAAAA,EAAI,UAAU,CAAC;AAEvB,MAAAA,IACE,OAAO,SAAS,WAChB,OACA,OAAO,SAAS,YACf,OAAO,SAAS,QAAQ,OAAO,SAAS,QAAQ,KAC7C,MAAM,OAAO,SAAS,OACtB,MACJ,MACAA;AAAA,IACJ;AAKA,QAJA,KAAK,MAAMA,GACX,KAAK,YAAY3L,GACjB,KAAK,SAASuM,GAEVA,GAAO;AACT,UAAIC,IAAU,IAAI,IAAI,KAAK,GAAG;AAC9B,MAAAA,EAAQ,aAAa,IAAItO,GAAmB,UAAU,MAAM,GAC5D,KAAK,MAAMsO,EAAQ;AAAA,IACrB;AAEA,SAAK,KAAKJ,GACV,KAAK,YAAYC,GACZ,KAAA,SAAS9M,GAAY,KAAK,EAAE,GACjC,KAAK,0BAA0B+M,GAG1B,KAAA,UAAU,SAAS,cAAc,QAAQ,GACzC,KAAA,QAAQ,OAAO,KAAK;AACzB,UAAMG,IAAW;AACjB,SAAK,SAAS,IAAI,QAAQ,CAACxmB,MAAW;WAGvB,KAAK,YAAW;A5B3G5B,YAAA6B,GAAAoF,GAAAgD,GAAAwc;A4B8GC,YAAID,EAAS,SAAS;AAMpB,eAAIC,KAAAxc,KAAAhD,KAAApF,IAAA,KAAK,cAAL,gBAAAA,EAAgB,gBAAhB,gBAAAoF,EAA6B,eAA7B,gBAAAgD,EAA0C,KAAK,QAA/C,QAAAwc,EAAoD;AAC7C,YAAAD,EAAA,QAAQ,QACf,KAAK,UAAU,YAAY,WAAW,KAAK,EAAE,EAAE,OAC7C,KAAK,UACP,KAAK,IACH,YAAYA,EAAS,QAAQ,KAAK,mCAAmC;AAAA,eAGpE;AAEL,gBAAIT,IACFC,GAA6B,KAAK,KAAK,YAAY;AAQjD,gBANJD,IACEA,MAAwBA,KAAA,QAAAA,EAAsB,WAC1C,MAAM5Y,GACJ4Y,CAAoB,IAEtB,QACF,CAACS,EAAS;AAEZ;AAEF,gBAAIT,KAAA,QAAAA,EAAsB;AACf,cAAAS,EAAA,QAAQ,QAAQT,EAAqB;AAAA,iBACzC;AAED,kBAAAW,IACF,MAAMF,EAAS;AAYb,kBAXA,KAAK,UACP,KAAK,IAAI,mBAAmB,KAAK,UAAUE,CAAY,CAAC,EAAE,GAE5DA,IACEA,MAAgBA,KAAA,QAAAA,EAAc,WAC1B,MAAMvZ,GAAqCuZ,CAAY,IACvD,QAEF,KAAK,UACP,KAAK,IAAI,mBAAmB,KAAK,UAAUA,CAAY,CAAC,EAAE,GAExD,CAACF,EAAS;AAEZ;AAEE,cAAAE,KAAgBA,EAAa,UACtBF,EAAA,QAAQ,QAAQE,EAAa;AAAA,YAE1C;AAAA,UACF;AAEA,UAAI,KAAK,UACF,KAAA,IAAI,YAAYF,EAAS,QAAQ,KAAK,SAAS,KAAK,GAAG,EAAE,GAEvDA,EAAA,QAAQ,MAAM,KAAK,KAC5BxmB,EAAQwmB,EAAS,OAAO;AAAA,QAC1B;AAAA,MAAA,CACD;AAAA,IAAA,CACF,GAED,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,GAC7B,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,GAC7B,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,0BAA0B,KAAK,wBAAwB,KAAK,IAAI,GACrE,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GACrD,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,4BAA4B,KAAK,0BAA0B,KAAK,IAAI,GACzE,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAAA,EAC7C;AAAA,EAEA,0BACEzQ,GACAC,GAA2B;AAErB,iBAAA,YAAYD,GAAOC,CAAQ,GAChB,MAAK;AACd,YAAA,eAAeD,GAAOC,CAAQ;AAAA,IAAA;AAAA,EAGxC;AAAA,EAEO,YAAY+D,GAAwB;AACzC,gBAAK,YAAYA,GACV;AAAA,EACT;AAAA,EAEO,mBAAgB;AACrB,QAAI2L,IAAM,IAAI,IAAI,KAAK,GAAG;AACtB,WAAAA,EAAA,WACFA,EAAI,YACHA,EAAI,SAAS,SAAS,GAAG,IAAI,mBAAmB,oBAC5CA,EAAI;AAAA,EACb;AAAA,EAUO,MAAM,gBAAa;AACxB,QAAI,KAAK;AACP,aAAO,KAAK;AAGV,QAAA;AACF,YAAMgB,IAAe,MAAMb,GAA8B,KAAK,GAAG;AACjE,UAAIa;AACF,oBAAK,cAAcA,GACZ,KAAK;AAAA,aAEPnb,GAAc;AAEjB,UAAAma,IAAM,KAAK;AAEf,WAAK,KACH5Q,EAAe,SACf,+BAA+B4Q,CAAG;AAAA,SAC/Bna,KAAA,QAAAA,EAAe,UAAWA,KAAA,gBAAAA,EAAe,UAAUA,KAAA,gBAAAA,EAAK,UAC3D,EAAE;AAAA,IAEN;AAAA,EACF;AAAA,EAEO,SAAS3G,GAAuB+hB,GAAc;AAC3C,YAAA,OAAO,CAAC,CAAC/hB,CAAI;AACrB,QAAIsO,IAA4B,CAAA;AAChC,IAAAA,EAAOtO,CAAI,IAAI+hB,GACf,KAAK,UAAUzT,CAAM;AAAA,EACvB;AAAA,EAYO,UAAU0T,GAAiC;AAChD,SAAK,IAAI,EAAE,GAAG,2BAA2B,QAAQA,GAAgB;AAEjE,UAAMlM,IAAiBkM;AAEnB,QADJ,KAAK,SAASvO,GAAM,KAAK,QAAQuO,CAAc,GAC3C,KAAK,WAAWlM;AACX,aAAA;AAgBT,QAbK,KAAK,YACR,KAAK,+BAA+B,KAMlC,KAAK,QAAQ,cAAc,KAAK,WAClC,KAAK,WAAWkM,CAAc,GAIhC,KAAK,KAAK9R,EAAe,QAAQ,KAAK,MAAM,GACxC,KAAK,UAAU,cAAcA,EAAe,MAAM,IAAI,GAAG;AAC3D,UAAI+R,IAAsC,CAAA;AAC9B,MAAAA,EAAA,KAAK,EAAE,IAAID,GACvB,KAAK,UAAU,KAAK9R,EAAe,QAAQ+R,CAAW;AAAA,IACxD;AAEO,WAAA;AAAA,EACT;AAAA,EAEO,UAAUtO,GAAyBoC,GAAe;AAC/C,YAAA,OAAO,CAAC,CAACpC,CAAM;AACvB,QAAIqC,IAA6B,CAAA;AACjC,IAAAA,EAAQrC,CAAM,IAAIoC,GAClB,KAAK,WAAWC,CAAO;AAAA,EACzB;AAAA,EAMO,WAAWkM,GAAkC;AAClD,UAAMjM,IAAkBiM;AAEpB,QADJ,KAAK,UAAUzO,GAAM,KAAK,SAASyO,CAAe,GAC9C,KAAK,YAAYjM;AACZ,aAAA;AAKT,QAFK,KAAA,KAAK/F,EAAe,SAASgS,CAAe,GAE7C,KAAK,UAAU,cAAchS,EAAe,OAAO,IAAI,GAAG;AAC5D,UAAIiS,IAAwC,CAAA;AAC9B,MAAAA,EAAA,KAAK,EAAE,IAAID,GACzB,KAAK,UAAU,KAAKhS,EAAe,SAASiS,CAAa;AAAA,IAC3D;AAAA,EACF;AAAA,EAEO,SAASpW,GAAiC;AAC/C,WAAO,KAAK,0BAA0BmE,EAAe,QAAQnE,CAAC;AAAA,EAChE;AAAA,EAEO,QAAQqW,GAA2BrW,GAAmB;AACvD,QAAAsW,IAAQ,SAAU/T,GAAyB;AACzC,MAAAA,EAAO,eAAe8T,CAAQ,KAC9BrW,EAAAuC,EAAO8T,CAAQ,CAAC;AAAA,IACpB;AAEF,WAAO,KAAK,0BAA0BlS,EAAe,QAAQmS,CAAK;AAAA,EACpE;AAAA,EAEO,UAAUtW,GAAiC;AAChD,WAAO,KAAK,0BAA0BmE,EAAe,SAASnE,CAAC;AAAA,EACjE;AAAA,EAEO,SAASqW,GAA2BrW,GAAmB;AACxD,QAAAsW,IAAQ,SAAUrM,GAA0B;AAC1C,MAAAA,EAAQ,eAAeoM,CAAQ,KAC/BrW,EAAAiK,EAAQoM,CAAQ,CAAC;AAAA,IACrB;AAEF,WAAO,KAAK,0BAA0BlS,EAAe,SAASmS,CAAK;AAAA,EACrE;AAAA,EAEO,aAAU;AACf,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA,EAEO,UAAO;AAEZ,SADA,MAAM,mBAAkB,GACjB,KAAK,gBAAgB,KAAK,aAAa,SAAS,KAAG;AAClD,YAAAvJ,IAAM,KAAK,aAAa;AAC9B,MAAIA;IAGN;AAEA,SAAK,gBAAgB,QAErB,KAAK,SAAS,QAEd,KAAK,UAAU,QAEX,KAAK,WAAW,KAAK,QAAQ,cAC/B,KAAK,QAAQ,WAAW,YAAY,KAAK,OAAO,GAGlD,KAAK,UAAU,QAEf,KAAK,kBAAkB,QACnB,KAAK,mBACA,OAAA,cAAc,KAAK,cAAc,GAExC,KAAK,iBAAiB,SAGxB,KAAK,YAAY;AAAA,EACnB;AAAA,EAQO,WAAQ;AACb,QAAIrd,IAA0C;AAAA,MAC5C,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,OAAO;AAAA,QACL,QAAQ,KAAK;AAAA,MACd;AAAA,MACD,SAAS/C;AAAA,IAAA;AAEN,SAAA,gBACH0X,GAAyB,2BACzB3U,CAAQ;AAAA,EAEZ;AAAA,EAEO,WAAW3C,GAA0B;AAE1C,QADA,KAAK,IAAI,EAAE,GAAG,sCAAsC,QAAQ,KAAK,QAAQ,GACrE,MAAK,SAGT;AAAA,UAAI,CAACA;AACG,cAAA;AAIR,WAFA,KAAK,UAAUA,GACf,KAAK,UAAU,IACR,KAAK,aAAa,KAAK,UAAU,SAAS;AAC1C,aAAA,UAAU;AAMjB,MAAI,KAAK,gCACF,KAAA,WAAW,KAAK,MAAM;AAAA;AAAA,EAE/B;AAAA,EAEA,MAAM,WAAWwV,GAAyB;AACxC,IAAKA,MAGIA,IAAA,MAAMD,GAAgBC,CAAM,GACjC,MAAK,gBAGJ,KAAA,QAAQ8B,GAAyB,cAAc;AAAA,MAClD,QAAA9B;AAAA,MACA,UAAU,KAAK;AAAA,IAAA,CAChB;AAAA,EACH;AAAA,EAEO,QAAQ6H,GAAgBvG,GAAW;A5BjcrC,QAAA3S,GAAAoF;A4BkcH,SAAIpF,IAAA,6BAAM,YAAN,QAAAA,EAAe,cAAc,KAAK;AAC/B,WAAA,gBAAgBkZ,GAAQvG,CAAM;AAAA,SAC9B;AACC,OAAAvN,IAAA,6BAAA,cAAA,QAAAA,EAAW,MAAM;AACvB,YAAMigB,IAAQ;AACR,2BAAA,UAAU,KAAK,MAAK;AAClB,QAAAA,EAAA,gBAAgBnM,GAAQvG,CAAM;AAAA,MAAA;AAAA,IAExC;AAAA,EACF;AAAA,EAEO,IAAI7T,GAAY;AACrB,QAAI,KAAK,QAAQ;AACf,WAAK,IAAI,wCAAwC;AACjD,UAAIma,IAAyC;AAAA,QAC3C,SAAAna;AAAA,MAAA;AAEG,WAAA,QAAQqU,GAAyB,YAAY8F,CAAO;AAAA,IAC3D;AAAA,EACF;AAAA,EAEO,IAAInL,GAAM;AACX,IAAC,KAAK,UAGV,KAAK,YAAYA,CAAC;AAAA,EACpB;AAAA,EAEA,YAAYA,GAAM;AACZ,QAAA;AACA,IAAA,OAAOA,KAAM,WACX,IAAAA,IACK,OAAOA,KAAM,WACtB,IAAIA,IAAI,KAEJ,IAAA,KAAK,UAAUA,CAAC,GAEtB6K,GACE,YAAY,KAAK,SAAS,eAAe,KAAK,EAAE,KAAK,CAAC,IACtD,KAAK,QACL,KAAK,uBAAuB;AAAA,EAEhC;AAAA,EAEA,gBAAgBO,GAAgBvG,GAAW;AACzC,UAAM2S,IAAyC;AAAA,MAC7C,IAAI;AAAA,MACJ,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,QAAApM;AAAA,MACA,QAAAvG;AAAA,MACA,UAAU,KAAK;AAAA,IAAA;AAEjB,IAAI,KAAK,UACP,KAAK,wBAAwB2S,CAAW,IAEpC,KAAK,YACF,KAAA,UAAU,MACb,2CAA2C,KAAK,UAC9CA,CAAW,EACX,UAAU,GAAG,GAAG,CAAC,EAAE,IAGf,QAAA,MACN,2CAA2C,KAAK,UAC9CA,CAAW,EACX,UAAU,GAAG,GAAG,CAAC,EAAE;AAAA,EAI7B;AAAA,EAIA,wBAAwBxmB,GAAY;AAClC,QAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,WAAK,QAAQ,cAAc,YAAYA,GAAS,KAAK,GAAG;AAAA,aAEnD,KAAK;AAcH,WAAA,gBAAgB,KAAKA,CAAO;AAAA,SAdR;AACpB,WAAA,kBAAkB,CAACA,CAAO;AAC/B,YAAMumB,IAAQ;AACT,WAAA,iBAAiB,OAAO,YAAY,WAAA;AACvC,QAAIA,EAAM,WAAWA,EAAM,QAAQ,kBAC3BA,EAAA,gBAAiB,QAAQ,CAAC9Z,MAC9B8Z,EAAM,QAAS,cAAe,YAAY9Z,GAAG8Z,EAAM,GAAG,CAAC,GAElD,OAAA,cAAcA,EAAM,cAAc,GACzCA,EAAM,iBAAiB,QACvBA,EAAM,kBAAkB;AAAA,SAEzB,CAAC;AAAA,IAAA;AAAA,EAKV;AACD;ACjeD,MAAME,KAA4Bvd,EAChC;AAAA,EACE,YAAY;AAAA,IACV,QAAQ,CAAE;AAAA,IACV,SAAS,CAAE;AAAA,EACZ;AACF,GACD,CAAC1C,MAAUA,CAAK,GAGLkgB,KAA4B,CACvC3pB,MAEOiO,GAA2BjO,CAAO,GAG9B4pB,KAAY,CAACC,GAAoB3gB,MAGxC,IAACA,KAAUA,MAAW,QAMtB2gB,MAAe3gB,KAKf6d,GAAU,QAAQ8C,GAAY3gB,CAAM,IAkCpC4gB,KAAmC;AAEnC,MAAOC,WAAiBrP,GAAc;AAAA,EAgBnC,aAAa,KAClBsP,GACAra,GAA0B;AAE1B,QAAIqa,KAAe;AACX,YAAA;AAEJ,QAAA,OAAOA,KAAgB;AACrB,UAAA;AACY,QAAAA,IAAA,KAAK,MAAMA,CAAW;AAAA,cACxB;AACN,cAAA;AAAA,MACR;AAGE,QAAA3N,IAAW,IAAI0N;AACV,WAAA1N,EAAA,SAAQ1M,KAAA,gBAAAA,EAAM,UAAS,IACzB0M,EAAS,cAAc2N,CAAW;AAAA,EAC3C;AAAA,EAkEA,YAAYra,GAAwB;aA/DpC,KAAM,SAAkB+Z,IACxB,KAAA,cAAgCvd,EAAO,CAAI,GAAA,CAAC1C,MAAUA,CAAK,GAE3D,KAAK,QAAYuR,MAKjB,KAAyB,4BAErB,IAGJ,KAA0B,6BAEtB,IAEJ,KAAgB,mBAEZ,IAEJ,KAAqB,wBAEjB,IAGJ,KAA+B,kCAAW,GAG1C,KAAA,wBAA8C7O,EAC5C,CACA,GAAA,CAAC1C,MAAUA,CAAK,GAElB,KAAS,YAEL,IA8BF,KAAK,MAAMkG,KAAQA,EAAK,KAAKA,EAAK,KAAKyL,MACvC,KAAK,0BACHzL,KAAQA,EAAK,QAAQA,EAAK,QAAQma,IAEpC,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GAErC,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI,GAC7D,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GACrD,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI,GAC3D,KAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI,GACjE,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,GAC7B,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,GACrD,KAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI,GACjE,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,UAAU,KAAK,QAAQ,KAAK,IAAI,GACrC,KAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI,GAC7D,KAAK,uCACH,KAAK,qCAAqC,KAAK,IAAI,GACrD,KAAK,qCACH,KAAK,mCAAmC,KAAK,IAAI,GACnD,KAAK,0CACH,KAAK,wCAAwC,KAAK,IAAI,GACxD,KAAK,wCACH,KAAK,sCAAsC,KAAK,IAAI,GACtD,KAAK,sCACH,KAAK,oCAAoC,KAAK,IAAI,GACpD,KAAK,2CACH,KAAK,yCAAyC,KAAK,IAAI,GACzD,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,4CACH,KAAK,0CAA0C,KAAK,IAAI,GAC1D,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvC,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI,GAC/D,KAAK,6BACH,KAAK,2BAA2B,KAAK,IAAI,GAI/B5N,GAAA,EAAC,KAAK,MAAK;AACjB,MAAA,KAAK,iBAGF,OAAA,iBAAiB,WAAW,KAAK,SAAS,GACjD,KAAK,IAAI,aAAa;AAAA,IAAA,CACvB;AAAA,EACH;AAAA,EAEO,aAAU;AACf,WAAO,KAAK,gBAAgB;AAAA,EAC9B;AAAA,EAEA,0BACE7D,GACAC,GAA2B;AAErB,iBAAA,YAAYD,GAAOC,CAAQ,GAChB,MAAK;AACd,YAAA,eAAeD,GAAOC,CAAQ;AAAA,IAAA;AAAA,EAGxC;AAAA,EAEA,SAAS2R,GAA4C;AACnD,WAAO,KAAK,0BAA0B7S,EAAe,QAAQ6S,CAAE;AAAA,EACjE;AAAA,EAEA,UAAUA,GAA6C;AACrD,WAAO,KAAK,0BAA0B7S,EAAe,SAAS6S,CAAE;AAAA,EAClE;AAAA,EAEA,QAAQA,GAAkC;AACxC,WAAO,KAAK,0BAA0B7S,EAAe,OAAO6S,CAAE;AAAA,EAChE;AAAA,EAEO,wBAAqB;AAC1B,UAAMjC,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACnC,gBAAA,QAAQ,CAAC,SAAS,UAAU,EAAE,OAAO,CAACkC,GAAQC,MAE/CD,KACAlC,EAAI,aAAa,IAAImC,CAAI,MAAM,UAC/BnC,EAAI,aAAa,IAAImC,CAAI,MAAM,KAEhC,EAAK,GACD;AAAA,EACT;AAAA,EAEO,WAAQ;AACb,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,SAASC,GAAuB;AACrC,SAAK,SAASje,EAAsBie,GAAU,CAAC3gB,MAAUA,CAAK,GAC9D,KAAK,gBAAiB,EAAC,QAAQ,CAAC4gB,MAAe;A7BxV5C,UAAAlmB,GAAAoF;A6ByVI,OAAApF,IAAA,KAAA,aAAakmB,CAAW,MAAxB,QAAAlmB,EAA2B,UAC9B,KAAK,OAAO,WAAW,OAAOkmB,CAAW,KAEtC9gB,IAAA,KAAA,aAAa8gB,CAAW,MAAxB,QAAA9gB,EAA2B,WAC9B,KAAK,OAAO,WAAW,QAAQ8gB,CAAW;AAAA,IAAC,CAE9C,GAGC,KAAK,cAAcjT,EAAe,KAAK,IAAI,KAC3CsS,OAAe,KAAK,UAEpB,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM;AAAA,EAE/C;AAAA,EAEO,qBAAkB;AACvB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEO,gBAAa;AAClB,WAAO,KAAK;EACd;AAAA,EAUO,cAAckT,GAA6B;AAC5C,IAACA,KAAA,QAAAA,EAAS,gBAIP,OAAA,QAAQA,EAAQ,YAAY,EAAE,QAAQ,CAAC,CAACC,GAAeC,CAAM,MAAK;A7B9XtE,UAAArmB,GAAAoF;A6B+XK,YAAAkhB,IAAY,KAAK,YAAYF,CAAa;AAChD,UAAI,CAACE,GAAW;AACT,aAAA,IACH,yDAAyDF,CAAa,EAAE;AAE1E;AAAA,MACF;AAGA,MAAK,KAAK,iBAAiBA,CAAa,MACjC,KAAA,iBAAiBA,CAAa,IAAI,KAEpC,KAAK,sBAAsBA,CAAa,MACtC,KAAA,sBAAsBA,CAAa,IAAI,KAEzC,KAAK,0BAA0BA,CAAa,MAC1C,KAAA,0BAA0BA,CAAa,IAAI,KAE7C,KAAK,2BAA2BA,CAAa,MAC3C,KAAA,2BAA2BA,CAAa,IAAI;AAGnD,YAAMG,IAAa,IAAI,IAAID,EAAU,GAAG;AAGxC,MAAID,EAAO,cACF,OAAA,QAAQA,EAAO,UAAU,EAAE,QAAQ,CAAC,CAAC9mB,GAAKV,CAAK,MAAK;AAEzD,YAAI,EAAEU,KAAO,KAAK,0BAA0B6mB,CAAa,IAAI;AAErD,gBAAA5hB,IAAgBgiB,GACpBD,GACAhnB,CAAG;AAEL,eAAK,0BAA0B6mB,CAAa,EAAE7mB,CAAG,IAC/CiF,KAAiB;AAAA,QACrB;AACA,aAAK,iBAAiB4hB,CAAa,EAAE7mB,CAAG,IAAIV;AAAA,MAAA,CAC7C,GAICwnB,EAAO,eACF,OAAA,QAAQA,EAAO,WAAW,EAAE,QAAQ,CAAC,CAAC9mB,GAAKV,CAAK,MAAK;AAE1D,YAAI,EAAEU,KAAO,KAAK,2BAA2B6mB,CAAa,IAAI;AAE5D,gBAAM5hB,IAAgB+hB,EAAW,aAAa,IAAIhnB,CAAG;AACrD,eAAK,2BAA2B6mB,CAAa,EAAE7mB,CAAG,IAChDiF,KAAiB;AAAA,QACrB;AACA,aAAK,sBAAsB4hB,CAAa,EAAE7mB,CAAG,IAAIV;AAAA,MAAA,CAClD;AAIH,UAAIglB,IAAW,IAAI,IAAIyC,EAAU,GAAG;AAG7B,aAAA,QAAQ,KAAK,iBAAiBF,CAAa,CAAC,EAAE,QACnD,CAAC,CAAC7mB,GAAKV,CAAK,MAAK;AACf,QAAAglB,IAAM,IAAI,IACR4C,GAAoC5C,EAAI,MAAMtkB,GAAKV,CAAK,CAAC;AAAA,MAAA,CAE5D,GAII,OAAA,QAAQ,KAAK,sBAAsBunB,CAAa,CAAC,EAAE,QACxD,CAAC,CAAC7mB,GAAKV,CAAK,MAAK;AACf,cAAM6nB,IAAU,KAAK,mBAAmB7nB,CAAK,CAAC;AAC1C,QAAAglB,EAAA,aAAa,IAAItkB,GAAKmnB,CAAO;AAAA,MAAA,CAClC,GAIHJ,EAAU,MAAMzC,EAAI,OAGhBze,KAAApF,IAAA,KAAK,gBAAL,gBAAAA,EAAkB,eAAlB,QAAAoF,EAA+BghB,OACjC,KAAK,cAAcpe,EAAO,KAAK,aAAa,CAAC1C,MAAS;AACpD,QAAAA,EAAM,WAAW8gB,CAAa,EAAE,MAAMvC,EAAI;AAAA,MAAA,CAC3C;AAAA,IACH,CACD;AAAA,EACH;AAAA,EAMQ,+BAA4B;AAClC,WACE,OAAO,KAAK,KAAK,gBAAgB,EAAE,WAAW,KAC9C,OAAO,KAAK,KAAK,qBAAqB,EAAE,WAAW,IAG5C,KAAK,cAIP7b,EAAO,KAAK,aAAa,CAAC1C,MAAS;AAOf,2BALY,IAAI;AAAA,QACvC,GAAG,OAAO,KAAK,KAAK,gBAAgB;AAAA,QACpC,GAAG,OAAO,KAAK,KAAK,qBAAqB;AAAA,MAAA,CAC1C,GAEwB,QAAQ,CAAC8gB,MAAiB;A7B3elD,YAAApmB;A6B4eC,YAAI,GAACA,IAAAsF,EAAM,eAAN,QAAAtF,EAAmBomB;AACtB;AAGI,cAAAE,IAAY,KAAK,YAAYF,CAAa;AAChD,YAAI,CAACE;AACH;AAGF,YAAIK,IAAWL,EAAU;AAGzB,cAAMM,IAAc,KAAK,iBAAiBR,CAAa,KAAK,CAAA,GACtDS,IACJ,KAAK,0BAA0BT,CAAa,KAAK,CAAA;AAEnD,eAAO,KAAKQ,CAAW,EAAE,QAAQ,CAACE,MAAa;AACvC,gBAAAtiB,IAAgBqiB,EAAmBC,CAAS;AAClD,cAAItiB,MAAkB,QAAW;AAEzB,kBAAAqf,IAAM,IAAI,IAAI8C,CAAQ;AAC5B,gBAAII,IAAUlD,EAAI,KAAK,WAAW,IAAI,IAClCA,EAAI,KAAK,MAAM,CAAC,IAChBA,EAAI,KAAK,MAAM,CAAC;AAEV,YAAAkD,IAAAA,EAAQ,QAAQ,OAAO,GAAG;AAC9B,kBAAAtc,IAAa,IAAI,gBAAgBsc,CAAO;AAC9C,YAAAtc,EAAW,OAAOqc,CAAS;AACrB,kBAAAE,IAAavc,EAAW;AAC1B,YAAAoZ,EAAA,OAAOmD,IACPnD,EAAI,KAAK,WAAW,IAAI,IACtB,IAAImD,CAAU,KACdA,IACF,IACJL,IAAW9C,EAAI;AAAA,UAAA,OACV;AAEL,kBAAMoD,IAAcR,GAClBE,GACAG,GACAtiB,CAAa;AAEf,YAAAmiB,IACE,OAAOM,KAAgB,WAAWA,IAAcA,EAAY;AAAA,UAChE;AAAA,QAAA,CACD;AAGD,cAAMC,IAAe,KAAK,sBAAsBd,CAAa,KAAK,CAAA,GAC5De,IACJ,KAAK,2BAA2Bf,CAAa,KAAK,CAAA;AAEpD,eAAO,KAAKc,CAAY,EAAE,QAAQ,CAACJ,MAAa;AACxC,gBAAAtiB,IAAgB2iB,EAAoBL,CAAS,GAC7CM,IAAU,IAAI,IAAIT,CAAQ;AAEhC,UAAIniB,MAAkB,SAEZ4iB,EAAA,aAAa,OAAON,CAAS,IAG7BM,EAAA,aAAa,IAAIN,GAAWtiB,CAAa,GAGnDmiB,IAAWS,EAAQ;AAAA,QAAA,CACpB,GAEK9hB,EAAA,WAAW8gB,CAAa,EAAE,MAAMO;AAAA,MAAA,CACvC;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAEQ,MAAM,iBACZ1d,GACAjI,GAAqB;AAMf,UAAAqmB,IACJ,MAAMzd,GAA0CX,CAAG;AAEjD,QAAA,KAAK;AACP,aAAO,EAAE,eAAAoe,GAAe,OAAO,CAAI,GAAA,SAAS,CAAE,EAAA;AAGhD,IAAIA,EAAc,cAChB,OAAO,KAAKA,EAAc,UAAU,EAAE,QAAQ,CAACnB,MAAe;AACxD,UAAAoB,IAAsBD,EAAc,WAAWnB,CAAW;AAC1D,UAAA,OAAOoB,KAAwB;AAC5B,mBAAA,iBAAiB,cAAcpB,CAAW,oBAAoB,GAC7D,cAAcA,CAAW;AAG7B,UAAA,CAACoB,EAAoB;AAClB,mBAAA,iBACH,cAAcpB,CAAW,sBAAsB,GAE3C,cAAcA,CAAW;AAAA,IACjC,CACD;AAIH,UAAMqB,IAAe,EAAE,GAAG,KAAK,oBACzBC,IAAoB,EAAE,GAAG,KAAK,yBAC9BC,IAAsB,EAAE,GAAG,KAAK,6BAChCC,IAA2B,EAAE,GAAG,KAAK;AAE3C,SAAK,cAAcL;AAGnB,UAAMM,IAAsD,CAAA;AAC5D,WAAO,KAAK,KAAK,WAAW,EAAE,QAAQ,CAACzB,MAAe;AACpD,OAAI,CAACmB,EAAc,cAAc,CAACA,EAAc,WAAWnB,CAAW,OACpEyB,EAAQzB,CAAW,IAAI,KAAK,YAAYA,CAAW;AAAA,IACrD,CACD,GAGD,OAAO,KAAKyB,CAAO,EAAE,QAAQ,CAACzB,MAAe;AAC3C,WAAK,gBAAgBA,CAAW;AAAA,IAAA,CACjC,GAGGllB,MACF,KAAK,SAASgH,EAAsBhH,GAAO,CAACsE,MAAUA,CAAK;AAI7D,UAAMsiB,IAAoD,CAAA;AAC1D,WAAIP,EAAc,cAChB,OAAO,KAAKA,EAAc,UAAU,EAAE,QAAQ,CAACQ,MAAkB;AAC/D,UAAI,CAAC,KAAK,YAAY,eAAeA,CAAc,GAAG;AAC9C,cAAAP,IAAsBD,EAAc,WAAWQ,CAAc,GAE7DC,IAAS,KAAK,aAAaD,GAAgBP,CAAmB;AACpE,QAAAM,EAAMC,CAAc,IAAIC;AAAA,MAC1B;AAAA,IAAA,CACD,wBAIkC,IAAI;AAAA,MACvC,GAAG,OAAO,KAAKP,CAAY;AAAA,MAC3B,GAAG,OAAO,KAAKC,CAAiB;AAAA,IAAA,CACjC,GAEwB,QAAQ,CAACpB,MAAiB;A7BjoBhD,UAAApmB,GAAAoF,GAAAgD,GAAAwc,GAAA7W;A6BkoBG,UAAA,KAAK,YAAYqY,CAAa,GAAG;AACnC,cAAMQ,IAAcW,EAAanB,CAAa,KAAK,CAAA,GAC7Cc,IAAeM,EAAkBpB,CAAa,KAAK,CAAA,GAGnDE,IAAY,KAAK,YAAYF,CAAa,GAC1C2B,KACJ3f,KAAAhD,KAAApF,IAAA,KAAK,gBAAL,gBAAAA,EAAkB,eAAlB,gBAAAoF,EAA+BghB,OAA/B,gBAAAhe,EAA+C;AACjD,YAAI,CAAC2f;AAAkB;AAEnB,YAAAlE,IAAM,IAAI,IAAIkE,CAAgB;AAIlC,YAAI,OAAO,KAAKnB,CAAW,EAAE,SAAS,GAAG;AACvC,gBAAMoB,IAAiBP,EAAoBrB,CAAa,KAAK,CAAA;AAC7D,iBAAO,KAAKQ,CAAW,EAAE,QAAQ,CAACE,MAAa;AAC7C,kBAAMmB,IAAgBzB,GACpB3C,EAAI,MACJiD,CAAS;AAEX,YAAAkB,EAAelB,CAAS,IAAImB;AAAA,UAAA,CAC7B,GACI,KAAA,iBAAiB7B,CAAa,IAAIQ,GAClC,KAAA,0BAA0BR,CAAa,IAAI4B;AAAA,QAClD;AAEA,YAAI,OAAO,KAAKd,CAAY,EAAE,SAAS,GAAG;AACxC,gBAAMC,IACJO,EAAyBtB,CAAa,KAAK,CAAA;AAC7C,iBAAO,KAAKc,CAAY,EAAE,QAAQ,CAACJ,MAAa;AAC9C,kBAAMmB,IAAgBpE,EAAI,aAAa,IAAIiD,CAAS;AAEhC,YAAAK,EAAAL,CAAS,IAAImB,KAAiB;AAAA,UAAA,CACnD,GACI,KAAA,sBAAsB7B,CAAa,IAAIc,GACvC,KAAA,2BAA2Bd,CAAa,IAAIe;AAAA,QACnD;AAGO,eAAA,QAAQP,CAAW,EAAE,QAAQ,CAAC,CAACrnB,GAAKV,CAAK,MAAK;AACnD,UAAAglB,IAAM,IAAI,IACR4C,GAAoC5C,EAAI,MAAMtkB,GAAKV,CAAK,CAAC;AAAA,QAAA,CAE5D,GAGM,OAAA,QAAQqoB,CAAY,EAAE,QAAQ,CAAC,CAAC3nB,GAAKV,CAAK,MAAK;AACpD,gBAAM6nB,IAAU,KAAK,mBAAmB7nB,CAAK,CAAC;AAC1C,UAAAglB,EAAA,aAAa,IAAItkB,GAAKmnB,CAAO;AAAA,QAAA,CAClC,GAEDJ,EAAU,MAAMzC,EAAI,OAGhB9V,KAAA6W,IAAA,KAAK,gBAAL,gBAAAA,EAAkB,eAAlB,QAAA7W,EAA+BqY,OACjC,KAAK,cAAcpe,EAAO,KAAK,aAAa,CAAC1C,MAAS;AACpD,UAAAA,EAAM,WAAW8gB,CAAa,EAAE,MAAMvC,EAAI;AAAA,QAAA,CAC3C;AAAA,MAEL;AAAA,IAAA,CACD,GAEM,EAAE,eAAAwD,GAAe,OAAAO,GAAO,SAAAD;EACjC;AAAA,EAEO,MAAM,cACX1e,GACAjI,GAAqB;AAKrB,UAAMknB,IAAqB,KAAK,aAE1B,EAAE,eAAAb,EAAe,IAAG,MAAM,KAAK,iBAAiBpe,GAAKjI,CAAK;AAE5D,WAAA,KAAK,eAEA,QAOLknB,MAAuB5R,MAGzB,OAAO,WAAW,MAAK;AACrB,MAAI,CAAC,KAAK,WAAA,KAAgB+Q,MAAkB,KAAK,gBAC/C,KAAK,qBAAoB,GAEvBrmB,KACA,KAAK,cAAciS,EAAe,KAAK,IAAI,KAC3CsS,OAAe,KAAK,UAEpB,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM;AAAA,OAG9C,CAAC,GAGC;AAAA,EACT;AAAA,EAEO,MAAM,iBACXhK,GACAjI,GAAqB;AAEf,UAAA,EAAE,OAAA4mB,GAAO,SAAAD,MAAY,MAAM,KAAK,iBAAiB1e,GAAKjI,CAAK;AAE7D,WAAA,KAAK,eACA,QAKT,OAAO,WAAW,MAAK;AACjB,UAAA,CAAC,KAAK,cAAc;AACjB,aAAA,2BAA2B4mB,GAAOD,CAAO;AACxC,cAAAQ,IACJ,OAAO,KAAKP,CAAK,EAAE,SAAS,KAAK,OAAO,KAAKD,CAAO,EAAE,SAAS;AACjE,QAAI,KAAK,cAAc1U,EAAe,KAAK,IAAI,MAE3CkV,KAAoBnnB,KAASukB,OAAe,KAAK,WAEjD,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM;AAAA,MAGjD;AAAA,OACC,CAAC,GAEG;AAAA,EACT;AAAA,EAEA,YAAY5J,GAA4B;AACtC,SAAK,cAAcrB,EAAO,KAAK,aAAa,CAAC1C,MAAS;AACpD,MAAAA,EAAM,OAAO+D;AAAA,IAAA,CACd,GACD,KAAK,qBAAoB;AAAA,EAC3B;AAAA,EAGA,uBAAoB;AAClB,QAAI,KAAK,cAAc4J,EAAe,UAAU,IAAI,GAAG;AACrD,YAAMiB,IAAiC;AAAA,QACrC,YAAY,KAAK,6BAA8B;AAAA,QAC/C,YAAY,KAAK;AAAA,MAAA;AAEd,WAAA,KAAKjB,EAAe,YAAYiB,CAAK;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,2BACN0T,GACAD,GAAmD;AAEnD,QAAI,KAAK,cAAc1U,EAAe,gBAAgB,IAAI,GAAG;AAC3D,YAAMiB,IAAuC;AAAA,QAC3C,YAAY,KAAK,6BAA8B;AAAA,QAC/C,YAAY;AAAA,UACV,SAAS,KAAK;AAAA,UACd,OAAA0T;AAAA,UACA,SAAAD;AAAA,QACD;AAAA,MAAA;AAEE,WAAA,KAAK1U,EAAe,kBAAkBiB,CAAK;AAAA,IAClD;AAAA,EACF;AAAA,EAGA,QAAQ5U,GAAqBxB,GAAgB;AAE3C,SAAK,YAAYkK,EAAO,KAAK,WAAW,CAAC1C,MAAS;AAC5C,MAACA,EAAMhG,CAAM,MACTgG,EAAAhG,CAAM,IAAI,KAEZgG,EAAAhG,CAAM,EAAE,KAAKxB,CAAK;AAAA,IAAA,CACzB;AAAA,EACH;AAAA,EAGA,gBAAgBooB,GAAwB;AACtC,IAAK,KAAK,YAAYA,CAAW,MAI5B,KAAA,YAAYA,CAAW,EAAE,WAE9B,KAAK,cAAcle,EAAO,KAAK,aAAa,CAAC1C,MAAS;AACpD,aAAOA,EAAM4gB,CAAW;AAAA,IAAA,CACzB,GAED,KAAK,SAASle,EAAO,KAAK,QAAQ,CAAC1C,MAAS;AACnC,aAAAA,EAAM,WAAW,OAAO4gB,CAAW,GACnC,OAAA5gB,EAAM,WAAW,QAAQ4gB,CAAW;AAAA,IAAA,CAC5C,GAED,KAAK,YAAYle,EAAO,KAAK,WAAW,CAAC1C,MAAS;AAChD,aAAOA,EAAM4gB,CAAW,GACxB,OAAO,KAAK5gB,CAAK,EAAE,QAAQ,CAAC8iB,MAAoB;AACxC,cAAAC,IAAa/iB,EAAM8iB,CAAgB;AACzC,YAAI1mB,IAAQ;AACL,eAAAA,KAAS2mB,EAAW;AACzB,UACEA,EAAW3mB,CAAK,KAChB2mB,EAAW3mB,CAAK,EAAE,cAAcwkB,IAErBmC,EAAA,OAAO3mB,GAAO,CAAC,IAE1BA;AAAA,MAEJ,CACD;AAAA,IAAA,CACF,GAGM,OAAA,KAAK,iBAAiBwkB,CAAW,GACjC,OAAA,KAAK,sBAAsBA,CAAW,GACtC,OAAA,KAAK,0BAA0BA,CAAW,GAC1C,OAAA,KAAK,2BAA2BA,CAAW,GAGlD,KAAK,wBAAwBle,EAAO,CAAI,GAAA,CAAC1C,MAAUA,CAAK;AAAA,EAC1D;AAAA,EAIA,YAAS;AACP,WAAO,KAAK,KAAK,WAAW,EAAE,QAAQ,CAACgjB,MACrC,KAAK,YAAYA,CAAE,EAAE,QAAS,CAAA,GAEhC,KAAK,cAActgB,EAAO,CAAI,GAAA,CAAC1C,MAAUA,CAAK,GAC9C,KAAK,SAASigB,IACd,KAAK,YAAYvd,EAAO,CAAI,GAAA,CAAC1C,MAAUA,CAAK,GAC5C,KAAK,wBAAwB0C,EAAO,CAAI,GAAA,CAAC1C,MAAUA,CAAK,GAExD,KAAK,mBAAmB,IACxB,KAAK,wBAAwB,IAC7B,KAAK,4BAA4B,IACjC,KAAK,6BAA6B;EACpC;AAAA,EAEO,aAAU;AACf,WAAO,KAAK;EACd;AAAA,EAEO,eAAY;AACjB,WAAO,KAAK;EACd;AAAA,EAEO,kBAAe;AACb,WAAA,OAAO,KAAK,KAAK,WAAW;AAAA,EACrC;AAAA,EAEO,gBAAa;AAGlB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,aAAagjB,GAAe;A7Bx4B9B,QAAAtoB;A6By4BI,YAAAA,IAAA,6BAAM,gBAAN,gBAAAA,EAAoBsoB;AAAA,EAC7B;AAAA,EAGA,aACEpC,GACAnC,GAA6B;AAE7B,QAAI,CAACmC;AACG,YAAA;AAGR,QAAI,CAACnC;AACG,YAAA;AAGJ,QAAA,KAAK,YAAYmC,CAAW;AACzB,iBAAA,iBAAiB,6BAA6BA,CAAW,EAAE,GAC1D,6BAA6BA,CAAW;AAG5C,QAAA,CAACnC,EAAW;AACT,iBAAA,iBACH,uCAAuCmC,CAAW,EAAE,GAEhD,uCAAuCA,CAAW;AAG1D,QAAIqC,IAAe,IAAIlE,GACrB,MACAN,EAAW,KACXmC,GACA,KAAK,KACL,KAAK,yBACL,KAAK,KAAK,EACV,YAAY,IAAI;AAClB,gBAAK,cAAcle,EACjB,KAAK,aACL,CAAC1C,MAA2B;AAC1B,MAAAA,EAAM4gB,CAAW,IAAIqC;AAAA,IAAA,CACtB,GAGHA,EAAa,YAAYtV,EAAe,OAAO,CAACvJ,MAAO;AAEhD,WAAA,KAAKuJ,EAAe,OAAO;AAAA,QAC9B,aAAasV,EAAa;AAAA,QAC1B,cAAcA,EAAa;AAAA,QAC3B,OAAO7e;AAAA,MAAA,CACR;AAAA,IAAA,CACF,GAGGqa,EAAW,UACFA,EAAA,OAAO,QAAQ,CAACjmB,MAAU,KAAK,QAAQooB,GAAapoB,CAAK,CAAC,GAIvEyqB,EAAa,UAAU,KAAK,OAAO,WAAW,OAAOrC,CAAW,CAAC,GAE1DqC;AAAA,EACT;AAAA,EAEO,UAAO;AACZ,SAAK,IAAI,WAAW,GACpB,MAAM,mBAAkB,GACjB,OAAA,oBAAoB,WAAW,KAAK,SAAS,GAChD,KAAK,eACP,OAAO,KAAK,KAAK,WAAW,EAAE,QAAQ,CAACrC,MACrC,KAAK,YAAYA,CAAW,EAAE,QAAS,CAAA,GAM3C,KAAK,MAAM,QAEX,KAAK,cAAc,QAEnB,KAAK,SAAS,QAEd,KAAK,wBAAwB,QAE7B,KAAK,YAAY;AAAA,EACnB;AAAA,EAEO,IAAIpY,GAAQwJ,GAAgBC,GAAwB;AACrD,IAAC,KAAK,SAGL,KAAA,YAAYzJ,GAAGwJ,GAAOC,CAAe;AAAA,EAC5C;AAAA,EAEO,MAAM7N,GAAQ;AACnB,SAAK,YAAYA,GAAK,OAAO,KAAK,uBAAuB,GACpD,KAAA,iBAAiB,GAAGA,CAAG,EAAE;AAAA,EAChC;AAAA,EAEO,iBAAiBA,GAAW;AAC5B,SAAA,KAAKuJ,EAAe,OAAOvJ,CAAG;AAAA,EACrC;AAAA,EAGA,oBACE3E,GAEAyjB,GAA6B;AAG7B,WAAK,KAAK,sBAAsBzjB,CAAM,MACpC,KAAK,wBAAwBiD,EAC3B,KAAK,uBACL,CAAC1C,MAA+B;AAC9B,MAAAA,EAAMP,CAAM,IAAIiD,EAAO,CAAI,GAAA,CAACygB,MAAOA,CAAE;AAAA,IAAA,CACtC,IAIA,KAAK,sBAAsB1jB,CAAM,EAAEyjB,CAAY,MAClD,KAAK,wBAAwBxgB,EAC3B,KAAK,uBACL,CAAC1C,MAA+B;AAC9B,UAAIojB,IAA6C,CAAA;AAC3C,MAAApjB,EAAAP,CAAM,EAAEyjB,CAAY,IAAIE,GAE9B,OAAO,KAAK,KAAK,SAAS,EAAE,QAAQ,CAACxC,MAAe;AAClD,QAAIA,MAAgBnhB,KAKpB,KAAK,UAAUmhB,CAAW,EAAE,QAAQ,CAACyC,MAAa;AAE5C,cAAAA,EAAU,cAAc5jB,KAGtB0gB,GAAU+C,GAAcG,EAAU,MAAM,GAAG;AAKzC,gBAAAC,IAAqBD,EAAU,UAAU;AAE3C,YAAA,CAACA,EAAU,UACXA,EAAU,OAAO,WAAW,GAAG,KAC/BA,EAAU,WAAW,KAERC,IAAAJ,IACJI,KAAcA,EAAW,SAAS,GAAG,MAC9CA,IAAaA,IAAaJ,IAE5BE,EAAQ,KAAK,EAAE,WAAWxC,GAAa,MAAM0C,GAAY;AAAA,UAC3D;AAAA,QACF,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF,IAIE,KAAK,sBAAsB7jB,CAAM,EAAEyjB,CAAY;AAAA,EACxD;AAAA,EAEA,sBAAsB1pB,GAAkC;AAClD,QAAAA,EAAQ,YAAY;AAGf,aAAA;AAGT,YADeA,EAAQ,QACP;AAAA,MACd,KAAKoU,EAAwB;AAEpB,eAAA;AAAA,MACT;AAEE,YAAIoR,IAAoCxlB,EAAQ;AAW9C,eAAAwlB,KACAxlB,EAAQ,aAAa,KAAK,OAC1B,CAAC,CAAC,KAAK,YAAYwlB,CAAQ;AAAA,IAEjC;AAAA,EACF;AAAA,EAWO,SACLA,GACAuE,GACAhqB,GAAsB;A7BvlCnB,QAAAmB,GAAAoF;A6BylCC,IAAA,OAAOkf,KAAa,WACtB,KAAK,wCAAwCA,CAAQ,IAC5C,OAAOuE,KAAgB,WAC3B,KAAA,qCAAqCvE,GAAUuE,GAAahqB,CAAK,IAEtE,KAAK,mCAAmCylB,GAAUuE,KAAe,CAAE,CAAA,GAGhE,KAAA,0CACHvE,GACAuE,GACAhqB,CAAK,IAIL,KAAK,cAAcoU,EAAe,KAAK,IAAI,KAC3C,KAAK,cAAcA,EAAe,MAAM,IAAI,MAExCsS,OAAe,KAAK,WACtB,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM,GAC3C,KAAK,KAAKA,EAAe,SAAQ7N,KAAApF,IAAA,KAAK,WAAL,gBAAAA,EAAa,eAAb,gBAAAoF,EAAyB,MAAM;AAAA,EAGtE;AAAA,EAEA,0CACEkf,GACAuE,GACAhqB,GAAsB;AAElB,QAAA,OAAOylB,KAAa,UAAU;AAChC,UAAIuE,KAAehqB;AACX,cAAA;AAER,YAAMwS,IAAciT;AACpB,aAAO,KAAKjT,CAAM,EAAE,QAAQ,CAACiX,MAAM;AACjC,YAAIpC,IAA2BoC,GAC3BQ,IAAkBzX,EAAO6U,CAAW;AACpC,YAAA,OAAO4C,KAAoB;AACvB,gBAAA;AAEJ,YAAAP,IAAe,KAAK,YAAYrC,CAAW;AAC/C,QAAIqC,IACFA,EAAa,UAAUO,CAAe,IAEtC,KAAK,MAAM,2BAA2B;AAAA,MACxC,CACD;AAAA,IAAA,WACQ,OAAOxE,KAAa,UAAU;AACjC,YAAAiE,IAAe,KAAK,YAAYjE,CAAQ;AAI1C,UAHAiE,KAAgB,QACb,KAAA,MAAM,gBAAgBjE,CAAQ,EAAE,GAEnC,OAAOuE,KAAgB;AACZ,QAAAN,EAAA,SAASM,GAAahqB,CAAK;AAAA,eAC/B,OAAOgqB,KAAgB;AAChC,QAAAN,EAAa,UAAUM,CAAW;AAAA;AAE5B,cAAA;AAAA,IACR;AAEM,YAAA;AAAA,EAEV;AAAA,EAEO,UACLvE,GACAuE,GACAhqB,GAAsB;AAEjB,SAAA,SAASylB,GAAUuE,GAAahqB,CAAK;AAAA,EAC5C;AAAA,EAEA,yCACEkqB,GAAsC;AAEjC,SAAA,wBAAwB,IAAOA,CAAc;AAAA,EACpD;AAAA,EAEA,sCACE7C,GACA2C,GACAhqB,GAAsB;AAEtB,SAAK,iCACH,IACAqnB,GACA2C,GACAhqB,CAAK;AAAA,EAET;AAAA,EAEA,oCACEqnB,GACA8C,GAAqC;AAEhC,SAAA,+BAA+B,IAAO9C,GAAa8C,CAAkB;AAAA,EAC5E;AAAA,EAEA,wCACED,GAAsC;AAEjC,SAAA,wBAAwB,IAAMA,CAAc;AAAA,EACnD;AAAA,EAEA,qCACE7C,GACA2C,GACAhqB,GAAsB;AAEtB,SAAK,iCACH,IACAqnB,GACA2C,GACAhqB,CAAK;AAAA,EAET;AAAA,EAEA,mCACEqnB,GACA8C,GAAqC;AAEhC,SAAA,+BAA+B,IAAM9C,GAAa8C,CAAkB;AAAA,EAC3E;AAAA,EAEA,iCACEC,GACA/C,GACAgD,GACArqB,GAAsB;AAEtB,SAAK,SAASmJ,EAAO,KAAK,QAAQ,CAAC1C,MAAwB;AAEzD,UAAI,CADgB,KAAK,YAAY,eAAe4gB,CAAW;AAE7D,cAAM,iBAAiBA,CAAW;AAEhC,MAAC5gB,EAAM,eACTA,EAAM,aAAa,EAAE,QAAQ,CAAA,GAAI,SAAS,CAAA,MAGxC2jB,IACG3jB,EAAM,WAAW,WACdA,EAAA,WAAW,SAAS,MAGvBA,EAAM,WAAW,YACdA,EAAA,WAAW,UAAU;AAI/B,UAAI6jB,IAAqBF,IACrB3jB,EAAM,WAAW,SACjBA,EAAM,WAAW;AAGrB,MAAA6jB,IAAqBA,KAAsB,IACxBA,EAAAjD,CAAW,IAAMiD,EAAmBjD,CAAW,IAC9DiD,EAAmBjD,CAAW,IAC7B,IAGDrnB,MAAU,SACL,OAAAsqB,EAAmBjD,CAAW,EAAEgD,CAAe,IAGnCC,EAAAjD,CAAW,EAAEgD,CAAe,IAAIrqB;AAAA,IACrD,CACD;AAAA,EACH;AAAA,EAEA,+BACEoqB,GACA/C,GACA8C,GAAqC;AAErC,IAAI,CAACA,KAAsB,OAAO,KAAKA,CAAkB,EAAE,WAAW,MAItE,KAAK,SAAShhB,EAAO,KAAK,QAAQ,CAAC1C,MAAwB;AAEzD,UAAI,CADgB,KAAK,YAAY,eAAe4gB,CAAW;AAE7D,cAAM,iBAAiBA,CAAW;AAGpC,UAAIiD,IAAqBF,IACrB3jB,EAAM,WAAW,SACjBA,EAAM,WAAW;AAGF,MAAA6jB,EAAAjD,CAAW,IAAIiD,EAAmBjD,CAAW,IAC5DiD,EAAmBjD,CAAW,IAC7B,IAEL,OAAO,KAAK8C,CAAkB,EAAE,QAAQ,CAACI,MAAoB;AAEvD,QAAAJ,EAAmBI,CAAgB,MAAM,SACpC,OAAAD,EAAmBjD,CAAW,EAAEkD,CAAgB,IAGvDD,EAAmBjD,CAAW,EAAEkD,CAAgB,IAC9CJ,EAAmBI,CAAgB;AAAA,MACvC,CACD;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAEA,wBACEH,GACAI,GAA2C;AAE3C,IAAI,CAACA,KAAuB,OAAO,KAAKA,CAAmB,EAAE,WAAW,MAIxE,KAAK,SAASrhB,EAAO,KAAK,QAAQ,CAAC1C,MAAwB;AACzD,aAAO,KAAK+jB,CAAmB,EAAE,QAAQ,CAACnD,MAAe;AACnD,YAAA8C,IACFK,EAAoBnD,CAAW;AAC7B,YAAA,OAAO8C,KAAuB;AAC1B,gBAAA;AAIR,YAAI,CADgB,KAAK,YAAY,eAAe9C,CAAW;AAEvD,gBAAA;AAGR,cAAMiD,IAAqBF,IACvB3jB,EAAM,WAAW,SACjBA,EAAM,WAAW;AAGF,QAAA6jB,EAAAjD,CAAW,IAAIiD,EAAmBjD,CAAW,IAC5DiD,EAAmBjD,CAAW,IAC7B,IAEL,OAAO,KAAK8C,CAAkB,EAAE,QAAQ,CAACI,MAAoB;AAEvD,UAAAJ,EAAmBI,CAAgB,MAAM,SACpC,OAAAD,EAAmBjD,CAAW,EAAEkD,CAAgB,IAGvDD,EAAmBjD,CAAW,EAAEkD,CAAgB,IAC9CJ,EAAmBI,CAAgB;AAAA,QACvC,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAQA,oBAAoBlD,GAA0BnN,GAA0B;AACtE,SAAK,iBAAiB;AAAA,MACpB,UAAUmN;AAAA,MACV,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,QAAQhT,EAAwB;AAAA,MAChC,IAAI;AAAA,MACJ,QAAQ6F;AAAA,IAAA,CACT;AAAA,EACH;AAAA,EAOA,WAAWA,GAA+B;AACpC,QAAC,KAAK;AAGV,iBAAWmN,KAAenN;AACxB,aAAK,oBAAoBmN,GAAanN,EAAQmN,CAAW,CAAC;AAAA,EAE9D;AAAA,EAEA,UAAU,GAAe;AAGnB,QAAA,OAAO,EAAE,QAAS,UAAU;AAC9B,YAAM/M,IAAU,EAAE;AAClB,UAAI,CAAC,KAAK,sBAAsBA,CAAO;AACrC;AAEF,WAAK,iBAAiBA,CAAO;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,iBAAiBA,GAAkC;AAEjD,QAAID,IAASC,EAAQ;AACrB,UAAM+M,IAAc/M,EAAQ;AAS5B,QANI,CAAC+M,KAOHhN,MAAW,8BACXC,EAAQ,aAAa,KAAK;AAE1B;AAGI,UAAAmN,IAAY,KAAK,aAAaJ,CAAW;AAC/C,QAAKI,GAeL;AAAA,cARiBnN,EAAA,gBAAmB,EAAE,KAAK,iCAEvC,KAAK,SACP,KAAK,IACH,cAAc,KAAK,UAAUA,GAAS,MAAM,IAAI,EAAE,UAAU,GAAG,GAAG,CAAC,EAAE,GAIjED,GAAQ;AAAA,QAMd,KAAKhG,EAAwB;AAC3B,UAAAoT,EAAU,SAAQ;AAClB;AAAA,QAGF,KAAKpT,EAAwB;AAE3B,cAAIoT,GAAW;AACb,kBAAM3T,IAASwG,EAAQ;AACb,YAAAmN,EAAA,WAAW3T,EAAO,OAAO;AAAA,UACrC;AACA;AAAA,QAEF,KAAKO,EAAwB;AAC3B,gBAAM6F,IAA6BI,EAAQ;AAC3C,cAAI,CAACJ,KAAW,OAAO,KAAKA,CAAO,EAAE,WAAW;AAC9C;AAGE,cAAA,KAAK,YAAYmN,CAAW,GAAG;AAC7B,gBAAAoD,IAAS,KAAK,YAAYpD,CAAW;AAGpC,iBAAA,oCAAoCA,GAAanN,CAAO,GAE7DuQ,EAAO,WAAWvQ,CAAO;AAKzB,gBAAIwQ,IAAW;AACT,kBAAAC,IAAa,OAAO,KAAKzQ,CAAO,GAChC0Q,IAA2D,CAAA;AACtD,YAAAD,EAAA,QAAQ,CAACE,GAAW/sB,MAAK;AAClC,oBAAM+rB,IACJ,KAAK,oBAAoBxC,GAAcwD,CAAS;AAE9C,cAAAhB,EAAQ,SAAS,KACXA,EAAA,QAAQ,CAACppB,MAAU;AACzB,gBAAKmqB,EAAiBnqB,EAAO,SAAS,MACnBmqB,EAAAnqB,EAAO,SAAS,IAAI,KAEvCmqB,EAAiBnqB,EAAO,SAAS,EAAEA,EAAO,IAAI,IAC5CyZ,EAAQ2Q,CAAS,GACRH,IAAA;AAAA,cAAA,CACZ;AAAA,YACH,CACD,GACGA,MACF,KAAK,wCAAwCE,CAAgB,GAC7D,OAAO,KAAKA,CAAgB,EAAE,QAAQ,CAACvD,MAAe;AACpD,mBAAK,YAAYA,CAAW,EAAE,UAC5BuD,EAAiBvD,CAAW,CAAC;AAAA,YAAA,CAGhC,IAID,KAAK,cAAcjT,EAAe,KAAK,IAAI,KAC3CsS,OAAe,KAAK,UAEpB,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM,GAEzC,KAAK,SACPqW,EAAO,IAAI,EAAE,SAAAnQ,GAAkB,OAAO,KAAK,QAAQ;AAAA,UACrD;AAEK,iBAAA,MAAM,qBAAqB+M,CAAW,EAAE;AAG/C;AAAA,QAEF,KAAKhT,EAAwB;AAK3B,cAAI7B,IAA4B8H,EAAQ;AACxC,UAAI,KAAK,SACF,KAAA,IAAI,UAAU,KAAK,UAAU9H,CAAM,CAAC,SAAS6U,CAAW,EAAE,GAC7D,KAAK,YAAYA,CAAW,KAIzB,KAAA,mCAAmCA,GAAa7U,CAAM,GAC3D,KAAK,YAAY6U,CAAW,EAAE,UAAU7U,CAAM,GAE5C,KAAK,cAAc4B,EAAe,KAAK,IAAI,KAC3CsS,OAAe,KAAK,UAEpB,KAAK,KAAKtS,EAAe,OAAO,KAAK,MAAM,GAGzC,KAAK,SACF,KAAA,YAAYiT,CAAW,EAAE,IAAI;AAAA,YAChC,SAAA/M;AAAA,YACA,OAAO,KAAK;AAAA,UAAA,CACb,MAGK,QAAA,MACN,yCAAyC+M,CAAW,GAAG,GAEpD,KAAA,MAAM,yCAAyCA,CAAW,GAAG;AAEpE;AAAA,QACF,KAAKhT,EAAwB;AAO3B,cAAIoT,GAAW;AAMb,kBAAMqD,IACJxQ,EAAQ,QACJiN,IAAgBuD,EAAwB;AAC9C,gBAAI9F,IAAM,IAAI,IAAIyC,EAAU,GAAG;AAC/B,YAAAzC,EAAI,OAAO8F,EAAwB,MAG/B,KAAK,iBAAiBvD,CAAa,KAC9B,OAAA,QAAQ,KAAK,iBAAiBA,CAAa,CAAC,EAAE,QACnD,CAAC,CAAC7mB,GAAKV,CAAK,MAAK;AACf,cAAAglB,IAAM,IAAI,IACR4C,GAAoC5C,EAAI,MAAMtkB,GAAKV,CAAK,CAAC;AAAA,YAAA,CAE5D,GAKD,KAAK,sBAAsBunB,CAAa,KACnC,OAAA,QAAQ,KAAK,sBAAsBA,CAAa,CAAC,EAAE,QACxD,CAAC,CAAC7mB,GAAKV,CAAK,MAAK;AACf,oBAAM6nB,IAAU,KAAK,mBAAmB7nB,CAAK,CAAC;AAC1C,cAAAglB,EAAA,aAAa,IAAItkB,GAAKmnB,CAAO;AAAA,YAAA,CAClC,GAKLJ,EAAU,MAAMzC,EAAI;AAIpB,gBAAI+F,IAAc/F,EAAI;AAGlB,gBAAA,KAAK,iBAAiBuC,CAAa,GAAG;AACxC,oBAAM4B,IACJ,KAAK,0BAA0B5B,CAAa,KAAK,CAAA;AAE5C,qBAAA,KAAK,KAAK,iBAAiBA,CAAa,CAAC,EAAE,QAChD,CAACU,MAAa;AACN,sBAAAtiB,IAAgBwjB,EAAelB,CAAS;AAC9C,oBAAItiB,MAAkB,QAAW;AAEzB,wBAAA4iB,IAAU,IAAI,IAAIwC,CAAW;AACnC,sBAAI7C,IAAUK,EAAQ,KAAK,WAAW,IAAI,IACtCA,EAAQ,KAAK,MAAM,CAAC,IACpBA,EAAQ,KAAK,MAAM,CAAC;AAEd,kBAAAL,IAAAA,EAAQ,QAAQ,OAAO,GAAG;AAC9B,wBAAAtc,IAAa,IAAI,gBAAgBsc,CAAO;AAC9C,kBAAAtc,EAAW,OAAOqc,CAAS;AACrB,wBAAAE,IAAavc,EAAW;AACtB,kBAAA2c,EAAA,OAAOJ,IACXI,EAAQ,KAAK,WAAW,IAAI,IAC1B,IAAIJ,CAAU,KACdA,IACF,IACJ4C,IAAcxC,EAAQ;AAAA,gBAAA,OACjB;AAEL,wBAAMH,IAAcR,GAClBmD,GACA9C,GACAtiB,CAAa;AAEf,kBAAAolB,IACE,OAAO3C,KAAgB,WACnBA,IACAA,EAAY;AAAA,gBACpB;AAAA,cAAA,CACD;AAAA,YAEL;AAGI,gBAAA,KAAK,sBAAsBb,CAAa,GAAG;AAC7C,oBAAMe,IACJ,KAAK,2BAA2Bf,CAAa,KAAK,CAAA;AAE7C,qBAAA,KAAK,KAAK,sBAAsBA,CAAa,CAAC,EAAE,QACrD,CAACU,MAAa;AACN,sBAAAtiB,IAAgB2iB,EAAoBL,CAAS,GAC7CM,IAAU,IAAI,IAAIwC,CAAW;AAEnC,gBAAIplB,MAAkB,SAEZ4iB,EAAA,aAAa,OAAON,CAAS,IAG7BM,EAAA,aAAa,IAAIN,GAAWtiB,CAAa,GAGnDolB,IAAcxC,EAAQ;AAAA,cAAA,CACvB;AAAA,YAEL;AAEM,kBAAAT,IAAW,IAAI,IAAIiD,CAAW;AAEpC,iBAAK,cAAc5hB,EACjB,KAAK,aACL,CAAC1C,MAAS;AACR,cAAAA,EAAM,WAAW8gB,CAAa,EAAE,MAAMO,EAAS;AAAA,YAAA,CAChD,GAGH,KAAK,qBAAoB;AAAA,UAC3B;AACA;AAAA,QACF;AACE,UAAI,KAAK,SACF,KAAA,IAAI,wBAAwBzN,CAAM,GAAG;AAAA,MAEhD;AACA,MAAI,KAAK,cAAcjG,EAAe,OAAO,IAAI,KAC1C,KAAA,KAAKA,EAAe,SAASkG,CAAO;AAAA;AAAA,EAE7C;AAAA,EAEA,YAAYrL,GAAQwJ,GAAgBC,GAAwB;AACxC,IAAAA,IAAAA,KAEd,KAAK;AACL,QAAAvb;AACA,IAAA,OAAO8R,KAAM,WACX9R,IAAA8R,IACK,OAAOA,KAAM,WACtB9R,IAAI8R,IAAI,KAEJ9R,IAAA,KAAK,UAAU8R,CAAC,GAEtB9R,IAAI,KAAK,MAAM,YAAY,KAAK,GAAG,KAAKA,CAAC,KAAKA,GAC7B2c,GAAA3c,GAAGsb,GAAOC,CAAe;AAAA,EAC5C;;AAjiDuBqO,GAAO,UAAGnqB;AAGVmqB,GAAA,aAAa3S,EAAe;AAC5B2S,GAAA,oBAAoB3S,EAAe;AACnC2S,GAAA,QAAQ3S,EAAe;AACvB2S,GAAA,SAAS3S,EAAe;AACxB2S,GAAA,UAAU3S,EAAe;AACzB2S,GAAA,UAAU3S,EAAe;AACzB2S,GAAA,QAAQ3S,EAAe;AAEhC2S,GAAiB,oBAAGpU;AACpBoU,GAAe,kBAAGxU;ACjH5B,SAAUyY,GAAmBhG,GAAW;AAC5C,SAAKA,EAAI,WAAW,OAAO,IAGpBA,EAAI,SAAS,uBAAuB,IAFlC;AAGX;AAGA,SAASiG,GAAe/F,GAA8B;AAEpD,QAAMgG,IAAY,KAAK,MAAM,KAAK,UAAUhG,CAAU,CAAC;AAEnD,EAACgG,EAAU,SACbA,EAAU,OAAO,KAGdA,EAAU,KAAK,YACRA,EAAA,KAAK,UAAU,KAGtBA,EAAU,KAAK,QAAQ,mBAAmB,MACnCA,EAAA,KAAK,QAAQ,mBAAmB,IAAI;AAAA,IAC5C,MAAM;AAAA,IACN,OAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,CAAC,IAAI,EAAE;AAAA,MACf,WAAW;AAAA,MACX,kBAAkB,CAAC,GAAG,CAAC;AAAA,IACxB;AAAA,IACD,QAAQ,CAAE;AAAA,EAAA;AAId,QAAMC,IAASD,EAAU,KAAK,QAAQ,mBAAmB;AAGzD,MAAIA,EAAU,YAAY;AACxB,WAAO,KAAKA,EAAU,UAAU,EAAE,QAAQ,CAAC7D,MAAe;AACpD,UAAA,CAAC8D,EAAO,OAAO,KAAK,CAACtV,MAAkBA,EAAE,MAAMwR,CAAW,GAAG;AACzD,cAAA+D,IACJD,EAAO,OAAO,SAAS,IACnB,KAAK,IACH,GAAGA,EAAO,OAAO,IACf,CAACtV,OAAmBA,EAAE,KAAK,MAAMA,EAAE,KAAK,EAAE,CAC3C,IAEH;AAEN,QAAAsV,EAAO,OAAO,KAAK;AAAA,UACjB9D;AAAA,UACA,GAAG;AAAA,UACH,GAAG+D;AAAA,UACH,GAAGD,EAAO,MAAM;AAAA,UAChB,GAAGH,GAAmBE,EAAU,WAAW7D,CAAW,EAAE,GAAG,IAAI,IAAI;AAAA,QAAA,CACpE;AAAA,MACH;AAAA,IAAA,CACD;AAGD,UAAMgE,IAAkB,IAAI,IAAI,OAAO,KAAKH,EAAU,UAAU,CAAC;AAC1D,IAAAC,EAAA,SAASA,EAAO,OAAO,OAAO,CAACtV,MACpCwV,EAAgB,IAAIxV,EAAE,CAAC,CAAC,GAInBsV,EAAA,OAAO,QAAQ,CAACtV,MAAiB;AACpC,MAAAA,EAAA,IAAIA,EAAE,KAAK,GACXA,EAAA,IAAIA,EAAE,KAAK,GACXA,EAAA,IAAIA,EAAE,KAAK,GACXA,EAAA,IAAIA,EAAE,KAAK;AAAA,IAAA,CACd;AAAA,EACH;AAEO,SAAAqV;AACT;AAEa,MAAAI,KAA2B,CACtCpG,MAME;A9BnHG,MAAA/jB,GAAAoF,GAAAgD;A8BqHL,QAAMgiB,KAAoBhlB,KAAApF,IAAA+jB,KAAA,gBAAAA,EAAY,SAAZ,gBAAA/jB,EAAkB,YAAlB,gBAAAoF,EAA4B,sBAChD4kB,IAASI,KAAA,gBAAAA,EAAmB;AAE9B,MAAA,CAACA,KAAqB,CAACJ;AACnB,UAAA,IAAI,MAAM,8CAA8C;AAI1D,QAAAK,wBAAuB,OAGvBC,IAAWN,EACd,IAAI,CAACxoB,GAAkBE,MAAiB;AACvC,UAAM4kB,IAAYvC,EAAW,WAAWviB,EAAK,CAAC;AAC9C,WAAO8kB,KAAauD,GAAmBvD,EAAU,GAAG,IAChD,EAAE,OAAA5kB,GAAO,GAAGF,EAAK,GAAG,IAAIA,EAAK,MAC7B;AAAA,EACL,CAAA,EACA,OACC,CAACA,MAA2DA,MAAS,IAAI;AAIzE,MAAA8oB,EAAS,SAAS,GAAG;AAEjB,UAAAC,IAAiBD,EAAS,OAC9B,CACEE,GACAlkB,MACIA,EAAQ,IAAIkkB,EAAO,IAAIlkB,IAAUkkB,CAAO,GAG1CC,MACJriB,IAAA4hB,EAAO,KAAK,CAACxoB,MAAqBA,EAAK,MAAM+oB,EAAe,EAAE,MAA9D,gBAAAniB,EAAiE,MAAK;AAGjE,IAAA4hB,EAAA,QAAQ,CAACxoB,MAAoB;AAC9B,MAAAA,EAAK,KAAKipB,KACKJ,EAAA,IAAI7oB,EAAK,CAAC;AAAA,IAC7B,CACD;AAAA,EACH;AAGA,QAAMkpB,IAAsB,OAAO,KAAK3G,EAAW,UAAU,EAAE,OAC7D,CAACmC,MAAgB,CAACmE,EAAiB,IAAInE,CAAW,CAAC,GAE/CyE,IAAqB,OAAO,KAAK5G,EAAW,UAAU,EAAE,OAC5D,CAACmC,MAAgBmE,EAAiB,IAAInE,CAAW,CAAC;AAIhD,MAAA0E,IAAqBZ,EAAO,OAAO,CAACxoB,MACtCkpB,EAAoB,SAASlpB,EAAK,CAAC,CAAC;AAGnB,EAAAopB,EAAA,KAAK,CAACvuB,GAAGC,MACtBD,EAAE,MAAMC,EAAE,IACLD,EAAE,IAAIC,EAAE,IAEVD,EAAE,IAAIC,EAAE,CAChB;AAGD,QAAMuuB,IAAyBD,EAAmB,OAChD,CAACE,GAAKtpB,MAAS,KAAK,IAAIspB,GAAKtpB,EAAK,IAAIA,EAAK,CAAC,GAC5C,CAAC;AAGI,SAAA;AAAA,IACL,oBAAAopB;AAAA,IACA,oBAAoB,IAAI,IAAID,CAAkB;AAAA,IAC9C,qBAAqB,IAAI,IAAID,CAAmB;AAAA,IAChD,wBAAAG;AAAA,EAAA;AAEJ;AAMA,eAAsBE,GAAeC,GAMpC;A9B5MM,MAAAhrB,GAAAoF,GAAAgD,GAAAwc;A8B8MD,MAAA,EAAE,KAAAf,GAAK,YAAAE,GAAY,WAAAkH,GAAW,SAAAC,GAAS,SAAA7qB,IAAU,CAAA,EAAO,IAAA2qB;AACxD,MAAA,CAACnH,KAAO,CAACE;AACL,UAAA,IAAI,MAAM,2CAA2C;AAE7D,MAAIF,KAAOE;AACH,UAAA,IAAI,MAAM,qDAAqD;AAOvE,MAJIF,MACWE,IAAA,MAAMH,GAA6BC,CAAG,IAGjD,CAACE;AACG,UAAA,IAAI,MAAM,qCAAqC;AAGvD,EAAAA,IAAa+F,GAAe/F,CAAU,GACzBA,IAAA,MAAMoH,GAAgBpH,CAAU,GAG7C,MAAMhM;AAGA,QAAAG,IAAW,IAAI0N;AACZ,EAAA1N,EAAA,QAAQ7X,EAAQ,SAAS;AAE9B,MAAA;AACI,UAAA6X,EAAS,cAAc,KAAK,MAAM,KAAK,UAAU6L,CAAU,CAAC,CAAC;AAAA,WAC5Dra,GAAK;AACZ,UAAAwO,EAAS,QAAO,GACV,IAAI,MAAM,sCAAsCxO,CAAG,EAAE;AAAA,EAC7D;AAGA,QAAM0hB,IAAwB,CAAA;AAE9B,EAAIH,KACFG,EAAU,KACRlT,EAAS,0BAA0BjF,EAAe,SAASgY,CAAS,CAAC;AAKzE,QAAMb,KAAoBhlB,KAAApF,IAAA+jB,KAAA,gBAAAA,EAAY,SAAZ,gBAAA/jB,EAAkB,YAAlB,gBAAAoF,EAA4B,sBAChD4kB,IAASI,KAAA,gBAAAA,EAAmB;AAE9B,MAAA,CAACA,KAAqB,CAACJ;AACnB,UAAA,IAAI,MAAM,8CAA8C;AAG5D,MAAA,EAAE,oBAAAY,GAAoB,oBAAAD,GAAoB,qBAAAD,EAAA,IAC5CP,GAAyBjS,EAAS,eAAe;AAG/C,MAAA0S,EAAmB,WAAW;AAEzB,WAAA;AAAA,MACL,UAAA1S;AAAA,MACA,WAAW,CAAC7G,MAAkC;AACxC,QAAC6G,EAAS,gBACZA,EAAS,UAAU7G,CAAM;AAAA,MAE7B;AAAA,MACA,YAAY,CAAC0H,MAAmC;AAC1C,QAACb,EAAS,gBACZA,EAAS,WAAWa,CAAO;AAAA,MAE/B;AAAA,MACA,SAAS,MAAK;AACZ,QAAAqS,EAAU,QAAQ,CAAC1S,MAAaA,EAAU,CAAA,GAC1CR,EAAS,QAAO;AAAA,MAClB;AAAA,IAAA;AAKe,EAAA0S,EAAA,KAAK,CAACvuB,GAAGC,MACtBD,EAAE,MAAMC,EAAE,IACLD,EAAE,IAAIC,EAAE,IAEVD,EAAE,IAAIC,EAAE,CAChB;AAGD,QAAM+uB,IAAY;AAAA,IAChB,SAAS;AAAA,IACT,qBAAqB;AAAA,IACrB,cAAc;AAAA,IACd,KAAK,KAAGjjB,IAAAgiB,EAAkB,MAAM,WAAxB,gBAAAhiB,EAAiC,OAAM,EAAE;AAAA,IACjD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,WAASwc,IAAAwF,EAAkB,MAAM,qBAAxB,gBAAAxF,EAA2C,OAAM;AAAA,IAC1D,WAAW;AAAA,IACX,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA,GAIN0G,IAAiB;AAAA,IACrB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,IACT,eAAe;AAAA,EAAA,GAIXC,IAAY,SAAS,cAAc,KAAK;AACvC,SAAA,OAAOA,EAAU,OAAOD,CAAc;AAGvC,QAAAE,IAAgB,SAAS,cAAc,KAAK;AAC3C,SAAA,OAAOA,EAAc,OAAOH,CAAS;AAG5C,QAAMI,IAAmC,CAAA;AAEzC,aAAWvF,KAAewE,GAAqB;AAC7C,UAAMgB,IAAa1B,EAAO,KACxB,CAACxoB,MAAqBA,EAAK,MAAM0kB,CAAW;AAE9C,QAAI,CAACwF;AAAY;AAEjB,UAAMpF,IAAYpO,EAAS,cAAe,EAACgO,CAAW,GAChDoD,IAAS,MAAMhD,EAAU;AAC/B,QAAI,CAACA;AAAW;AAGhB,IAAAmF,EAAmB,KAAKC,CAAU;AAElC,UAAMC,IAA6C;AAAA,MACjD,YAAY,GAAGD,EAAW,IAAI,CAAC,WAAWA,EAAW,CAAC;AAAA,MACtD,SAAS,GAAGA,EAAW,IAAI,CAAC,WAAWA,EAAW,CAAC;AAAA,MACnD,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQrrB,EAAQ,mBAAmB,SAAS;AAAA,MAC5C,UAAU;AAAA,MACV,WAAW;AAAA,MACX,aAAa;AAAA,IAAA,GAITurB,IAAU,SAAS,cAAc,KAAK;AACrC,WAAA,OAAOA,EAAQ,OAAOD,CAAS,GACtCC,EAAQ,YAAYtC,CAAM,GAE1BkC,EAAc,YAAYI,CAAO;AAAA,EACnC;AAGA,QAAMC,IAAS,KAAK,IAClB,GAAGJ,EAAmB,IAAI,CAACjqB,MAAqBA,EAAK,IAAIA,EAAK,CAAC,CAAC;AAGnD,OAAK,IAClB,GAAGiqB,EAAmB,IAAI,CAACjqB,MAAqBA,EAAK,IAAIA,EAAK,CAAC,CAAC,GAIlEgqB,EAAc,MAAM,sBAAsB,UAAU,KAAK,IACvD,GACAK,CAAM,CACP;AAGK,QAAAC,IAAkB,SAAS,cAAc,KAAK;AACpD,EAAAA,EAAgB,MAAM,WAAW,YACjCA,EAAgB,MAAM,MAAM,WAC5BA,EAAgB,MAAM,OAAO,WAC7BA,EAAgB,MAAM,QAAQ,OAC9BA,EAAgB,MAAM,SAAS,OAC/BA,EAAgB,MAAM,WAAW,UACjCA,EAAgB,MAAM,gBAAgB;AAGtC,aAAW5F,KAAe,OAAO,KAAKhO,EAAS,cAAe,CAAA,EAAE,OAAO,CAACoQ,MACtEqC,EAAmB,IAAIrC,CAAE,CAAC,GACzB;AACD,UAAMhC,IAAYpO,EAAS,cAAe,EAACgO,CAAW;AACtD,QAAI,CAACI;AAAW;AAEV,UAAAsF,IAAU,SAAS,cAAc,KAAK;AACpC,IAAAA,EAAA,aAAa,qBAAqB1F,CAAW,GACrD0F,EAAQ,MAAM,QAAQ,SACtBA,EAAQ,MAAM,SAAS;AAGnB,QAAAtC;AACJ,IAAIhD,EAAU,SACZgD,IAAS,MAAMhD,EAAU,UAEhBgD,IAAA,SAAS,cAAc,QAAQ,GACxCA,EAAO,MAAMhD,EAAU,KACvBgD,EAAO,MAAM,SAAS,QACtBA,EAAO,MAAM,QAAQ,QACrBA,EAAO,MAAM,SAAS,SAGxBsC,EAAQ,YAAYtC,CAAM,GAC1BwC,EAAgB,YAAYF,CAAO;AAAA,EACrC;AAGA,SAAAL,EAAU,YAAYC,CAAa,GACnCD,EAAU,YAAYO,CAAe,GACrCZ,EAAQ,YAAYK,CAAS,GAGtB;AAAA,IACL,UAAArT;AAAA,IACA,WAAW,CAAC7G,MAAkC;AACxC,MAAC6G,EAAS,gBACZA,EAAS,UAAU7G,CAAM;AAAA,IAE7B;AAAA,IACA,YAAY,CAAC0H,MAAmC;AAC1C,MAACb,EAAS,gBACZA,EAAS,WAAWa,CAAO;AAAA,IAE/B;AAAA,IACA,SAAS,MAAK;AAEZ,MAAAqS,EAAU,QAAQ,CAAC1S,MAAaA,EAAU,CAAA,GAE1CR,EAAS,QAAO,GACZqT,EAAU,cACFA,EAAA,WAAW,YAAYA,CAAS;AAAA,IAE9C;AAAA,EAAA;AAEJ;AAEa,MAAAQ,KAAoB,CAC/BhI,GACAmC,MACW;A9B5bN,MAAAlmB,GAAAoF,GAAAgD;A8B8bL,QAAMgiB,KAAoBhlB,KAAApF,IAAA+jB,KAAA,gBAAAA,EAAY,SAAZ,gBAAA/jB,EAAkB,YAAlB,gBAAAoF,EAA4B,sBAChD4kB,IAASI,KAAA,gBAAAA,EAAmB;AAE9B,MAAA,CAACA,KAAqB,CAACJ;AACnB,UAAA,IAAI,MAAM,8CAA8C;AAI1D,QAAAK,wBAAuB,OAGvBC,IAAWN,EACd,IAAI,CAACxoB,GAAkBE,MAAiB;A9B1ctC,QAAA1B;A8B2cD,UAAMsmB,KAAYtmB,IAAA+jB,KAAA,gBAAAA,EAAY,eAAZ,gBAAA/jB,EAAyBwB,EAAK;AAChD,WAAO8kB,KAAauD,GAAmBvD,EAAU,GAAG,IAChD,EAAE,OAAA5kB,GAAO,GAAGF,EAAK,GAAG,IAAIA,EAAK,MAC7B;AAAA,EACL,CAAA,EACA,OACC,CAACA,MAA2DA,MAAS,IAAI;AAIzE,MAAA8oB,EAAS,SAAS,GAAG;AAEjB,UAAAC,IAAiBD,EAAS,OAC9B,CACEE,GACAlkB,MACIA,EAAQ,IAAIkkB,EAAO,IAAIlkB,IAAUkkB,CAAO,GAG1CC,MACJriB,IAAA4hB,EAAO,KAAK,CAACxoB,MAAqBA,EAAK,MAAM+oB,EAAe,EAAE,MAA9D,gBAAAniB,EAAiE,MAAK;AAGjE,IAAA4hB,EAAA,QAAQ,CAACxoB,MAAoB;AAC9B,MAAAA,EAAK,KAAKipB,KACKJ,EAAA,IAAI7oB,EAAK,CAAC;AAAA,IAC7B,CACD;AAAA,EACH;AAEO,SAAA6oB,EAAiB,IAAInE,CAAW;AACzC,GAEM8F,KAAkB,CAACnI,MAAyC;A9B5e3D,MAAA7jB;A8B6eL,MAAI,CAAC6jB;AACI;AAEL,EAAA,OAAOA,KAAQ,aACbA,EAAI,WAAW,GAAG,MACpBA,IAAM,wBAAwBA,IAE1BA,IAAA,IAAI,IAAIA,CAAG;AAGnB,MAAIoI,KAAMjsB,IAAA,qDAAqD,KAC7D6jB,EAAI,QAAQ,MADJ,gBAAA7jB,EAEN;AACJ,SAAIisB,MAGGpI,EAAI,aAAa,IAAI,KAAK,KAAK;AACxC,GAEMsH,KAAkB,OACtBe,MAC+B;AAC3B,MAAA,EAACA,KAAA,QAAAA,EAAoB;AAChB,WAAAA;AAEE,aAAA,CAAChG,GAAaI,CAAS,KAAK,OAAO,QAC5C4F,EAAmB,UAAU,GAC5B;AAGC,QAAA,EACE5F,EAAU,IAAI,WAAW,yBAAyB,KAClDA,EAAU,IAAI,WAAW,wBAAwB;AAGnD;AAEI,UAAA2F,IAAMD,GAAgB1F,EAAU,GAAG;AACzC,QAAI,CAAC2F;AACH;AAEF,UAAM3E,IAAsB,MAAM,MAChC,yBAAyB2E,CAAG,kBAAkB,EAC9C,KAAK,CAACrvB,MAAMA,EAAE,KAAM,CAAA;AACtB,IAAI0qB,KAAA,QAAAA,EAAqB,QACvBhB,EAAU,MAAMgB,KAAA,gBAAAA,EAAqB;AAAA,EAEzC;AACO,SAAA4E;AACT;","x_google_ignoreList":[2,3,4,5,9,10,15,16,17,21,22,23,24,25,26]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/metapage/versions.ts","../src/metapage/Constants.ts","../node_modules/compare-versions/lib/esm/utils.js","../node_modules/compare-versions/lib/esm/compareVersions.js","../node_modules/fetch-retry/dist/fetch-retry.umd.js","../node_modules/mutative/dist/mutative.esm.mjs","../src/metapage/version-detection.ts","../src/metapage/conversions-metapage.ts","../src/metapage/conversions-metaframe.ts","../node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js","../node_modules/@metapages/dataref/dist/index.js","../src/metapage/data.ts","../src/metapage/events.ts","../src/metapage/jsonrpc.ts","../src/metapage/jsonrpc2.ts","../node_modules/eventemitter3/index.js","../node_modules/@metapages/hash-query/dist/core/index.js","../node_modules/fast-json-stable-stringify/index.js","../src/metapage/Shared.ts","../src/metapage/MetapageTools.ts","../src/metapage/Metaframe.ts","../node_modules/picomatch/lib/constants.js","../node_modules/picomatch/lib/utils.js","../node_modules/picomatch/lib/scan.js","../node_modules/picomatch/lib/parse.js","../node_modules/picomatch/lib/picomatch.js","../node_modules/picomatch/posix.js","../src/metapage/util.ts","../src/metapage/MetapageIFrameRpcClient.ts","../src/metapage/Metapage.ts","../src/metapage/metapageRenderer.ts"],"sourcesContent":[null,null,"export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareSegments, validateAndParse } from './utils.js';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.fetchRetry = factory());\n})(this, (function () { 'use strict';\n\n var fetchRetry = function (fetch, defaults) {\n defaults = defaults || {};\n if (typeof fetch !== 'function') {\n throw new ArgumentError('fetch must be a function');\n }\n\n if (typeof defaults !== 'object') {\n throw new ArgumentError('defaults must be an object');\n }\n\n if (defaults.retries !== undefined && !isPositiveInteger(defaults.retries)) {\n throw new ArgumentError('retries must be a positive integer');\n }\n\n if (defaults.retryDelay !== undefined && !isPositiveInteger(defaults.retryDelay) && typeof defaults.retryDelay !== 'function') {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n\n if (defaults.retryOn !== undefined && !Array.isArray(defaults.retryOn) && typeof defaults.retryOn !== 'function') {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n\n var baseDefaults = {\n retries: 3,\n retryDelay: 1000,\n retryOn: [],\n };\n\n defaults = Object.assign(baseDefaults, defaults);\n\n return function fetchRetry(input, init) {\n var retries = defaults.retries;\n var retryDelay = defaults.retryDelay;\n var retryOn = defaults.retryOn;\n\n if (init && init.retries !== undefined) {\n if (isPositiveInteger(init.retries)) {\n retries = init.retries;\n } else {\n throw new ArgumentError('retries must be a positive integer');\n }\n }\n\n if (init && init.retryDelay !== undefined) {\n if (isPositiveInteger(init.retryDelay) || (typeof init.retryDelay === 'function')) {\n retryDelay = init.retryDelay;\n } else {\n throw new ArgumentError('retryDelay must be a positive integer or a function returning a positive integer');\n }\n }\n\n if (init && init.retryOn) {\n if (Array.isArray(init.retryOn) || (typeof init.retryOn === 'function')) {\n retryOn = init.retryOn;\n } else {\n throw new ArgumentError('retryOn property expects an array or function');\n }\n }\n\n // eslint-disable-next-line no-undef\n return new Promise(function (resolve, reject) {\n var wrappedFetch = function (attempt) {\n // As of node 18, this is no longer needed since node comes with native support for fetch:\n /* istanbul ignore next */\n var _input =\n typeof Request !== 'undefined' && input instanceof Request\n ? input.clone()\n : input;\n fetch(_input, init)\n .then(function (response) {\n if (Array.isArray(retryOn) && retryOn.indexOf(response.status) === -1) {\n resolve(response);\n } else if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n return Promise.resolve(retryOn(attempt, null, response))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }).catch(reject);\n } catch (error) {\n reject(error);\n }\n } else {\n if (attempt < retries) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }\n })\n .catch(function (error) {\n if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n Promise.resolve(retryOn(attempt, error, null))\n .then(function (retryOnResponse) {\n if(retryOnResponse) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n })\n .catch(function(error) {\n reject(error);\n });\n } catch(error) {\n reject(error);\n }\n } else if (attempt < retries) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n });\n };\n\n function retry(attempt, error, response) {\n var delay = (typeof retryDelay === 'function') ?\n retryDelay(attempt, error, response) : retryDelay;\n setTimeout(function () {\n wrappedFetch(++attempt);\n }, delay);\n }\n\n wrappedFetch(0);\n });\n };\n };\n\n function isPositiveInteger(value) {\n return Number.isInteger(value) && value >= 0;\n }\n\n function ArgumentError(message) {\n this.name = 'ArgumentError';\n this.message = message;\n }\n\n return fetchRetry;\n\n}));\n","const Operation = {\n Remove: 'remove',\n Replace: 'replace',\n Add: 'add',\n};\n\n// Don't use `Symbol()` just for 3rd party access the draft\nconst PROXY_DRAFT = Symbol.for('__MUTATIVE_PROXY_DRAFT__');\nconst RAW_RETURN_SYMBOL = Symbol('__MUTATIVE_RAW_RETURN_SYMBOL__');\nconst iteratorSymbol = Symbol.iterator;\nconst dataTypes = {\n mutable: 'mutable',\n immutable: 'immutable',\n};\n\nconst internal = {};\n\nfunction has(target, key) {\n return target instanceof Map\n ? target.has(key)\n : Object.prototype.hasOwnProperty.call(target, key);\n}\nfunction getDescriptor(target, key) {\n if (key in target) {\n let prototype = Reflect.getPrototypeOf(target);\n while (prototype) {\n const descriptor = Reflect.getOwnPropertyDescriptor(prototype, key);\n if (descriptor)\n return descriptor;\n prototype = Reflect.getPrototypeOf(prototype);\n }\n }\n return;\n}\nfunction isBaseSetInstance(obj) {\n return Object.getPrototypeOf(obj) === Set.prototype;\n}\nfunction isBaseMapInstance(obj) {\n return Object.getPrototypeOf(obj) === Map.prototype;\n}\n\nfunction latest(proxyDraft) {\n var _a;\n return (_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original;\n}\n/**\n * Check if the value is a draft\n */\nfunction isDraft(target) {\n return !!getProxyDraft(target);\n}\nfunction getProxyDraft(value) {\n if (typeof value !== 'object')\n return null;\n return value === null || value === void 0 ? void 0 : value[PROXY_DRAFT];\n}\nfunction getValue(value) {\n var _a;\n const proxyDraft = getProxyDraft(value);\n return proxyDraft ? ((_a = proxyDraft.copy) !== null && _a !== void 0 ? _a : proxyDraft.original) : value;\n}\n/**\n * Check if a value is draftable\n */\nfunction isDraftable(value, options) {\n if (!value || typeof value !== 'object')\n return false;\n let markResult;\n return (Object.getPrototypeOf(value) === Object.prototype ||\n Array.isArray(value) ||\n value instanceof Map ||\n value instanceof Set ||\n (!!(options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(value, dataTypes)) === dataTypes.immutable ||\n typeof markResult === 'function')));\n}\nfunction getPath(target, path = []) {\n if (Object.hasOwnProperty.call(target, 'key')) {\n // check if the parent is a draft and the original value is not equal to the current value\n const parentCopy = target.parent.copy;\n const proxyDraft = getProxyDraft(get(parentCopy, target.key));\n if (proxyDraft !== null && (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== target.original) {\n return null;\n }\n const isSet = target.parent.type === 3 /* DraftType.Set */;\n const key = isSet\n ? Array.from(target.parent.setMap.keys()).indexOf(target.key)\n : target.key;\n // check if the key is still in the next state parent\n if (!((isSet && parentCopy.size > key) || has(parentCopy, key)))\n return null;\n path.push(key);\n }\n if (target.parent) {\n return getPath(target.parent, path);\n }\n // `target` is root draft.\n path.reverse();\n try {\n // check if the path is valid\n resolvePath(target.copy, path);\n }\n catch (e) {\n return null;\n }\n return path;\n}\nfunction getType(target) {\n if (Array.isArray(target))\n return 1 /* DraftType.Array */;\n if (target instanceof Map)\n return 2 /* DraftType.Map */;\n if (target instanceof Set)\n return 3 /* DraftType.Set */;\n return 0 /* DraftType.Object */;\n}\nfunction get(target, key) {\n return getType(target) === 2 /* DraftType.Map */ ? target.get(key) : target[key];\n}\nfunction set(target, key, value) {\n const type = getType(target);\n if (type === 2 /* DraftType.Map */) {\n target.set(key, value);\n }\n else {\n target[key] = value;\n }\n}\nfunction peek(target, key) {\n const state = getProxyDraft(target);\n const source = state ? latest(state) : target;\n return source[key];\n}\nfunction isEqual(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n }\n else {\n return x !== x && y !== y;\n }\n}\nfunction revokeProxy(proxyDraft) {\n if (!proxyDraft)\n return;\n while (proxyDraft.finalities.revoke.length > 0) {\n const revoke = proxyDraft.finalities.revoke.pop();\n revoke();\n }\n}\n// handle JSON Pointer path with spec https://www.rfc-editor.org/rfc/rfc6901\nfunction escapePath(path, pathAsArray) {\n return pathAsArray\n ? path\n : ['']\n .concat(path)\n .map((_item) => {\n const item = `${_item}`;\n if (item.indexOf('/') === -1 && item.indexOf('~') === -1)\n return item;\n return item.replace(/~/g, '~0').replace(/\\//g, '~1');\n })\n .join('/');\n}\nfunction unescapePath(path) {\n if (Array.isArray(path))\n return path;\n return path\n .split('/')\n .map((_item) => _item.replace(/~1/g, '/').replace(/~0/g, '~'))\n .slice(1);\n}\nfunction resolvePath(base, path) {\n for (let index = 0; index < path.length - 1; index += 1) {\n const key = path[index];\n // use `index` in Set draft\n base = get(getType(base) === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot resolve patch at '${path.join('/')}'.`);\n }\n }\n return base;\n}\n\nfunction strictCopy(target) {\n const copy = Object.create(Object.getPrototypeOf(target));\n Reflect.ownKeys(target).forEach((key) => {\n let desc = Reflect.getOwnPropertyDescriptor(target, key);\n if (desc.enumerable && desc.configurable && desc.writable) {\n copy[key] = target[key];\n return;\n }\n // for freeze\n if (!desc.writable) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n desc = {\n configurable: true,\n writable: true,\n enumerable: desc.enumerable,\n value: target[key],\n };\n Reflect.defineProperty(copy, key, desc);\n });\n return copy;\n}\nconst propIsEnum = Object.prototype.propertyIsEnumerable;\nfunction shallowCopy(original, options) {\n let markResult;\n if (Array.isArray(original)) {\n return Array.prototype.concat.call(original);\n }\n else if (original instanceof Set) {\n if (!isBaseSetInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original.values());\n }\n return Set.prototype.difference\n ? Set.prototype.difference.call(original, new Set())\n : new Set(original.values());\n }\n else if (original instanceof Map) {\n if (!isBaseMapInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original);\n }\n return new Map(original);\n }\n else if ((options === null || options === void 0 ? void 0 : options.mark) &&\n ((markResult = options.mark(original, dataTypes)),\n markResult !== undefined) &&\n markResult !== dataTypes.mutable) {\n if (markResult === dataTypes.immutable) {\n return strictCopy(original);\n }\n else if (typeof markResult === 'function') {\n if ((options.enablePatches || options.enableAutoFreeze)) {\n throw new Error(`You can't use mark and patches or auto freeze together.`);\n }\n return markResult();\n }\n throw new Error(`Unsupported mark result: ${markResult}`);\n }\n else if (typeof original === 'object' &&\n Object.getPrototypeOf(original) === Object.prototype) {\n // For best performance with shallow copies,\n // don't use `Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));` by default.\n const copy = {};\n Object.keys(original).forEach((key) => {\n copy[key] = original[key];\n });\n Object.getOwnPropertySymbols(original).forEach((key) => {\n if (propIsEnum.call(original, key)) {\n copy[key] = original[key];\n }\n });\n return copy;\n }\n else {\n throw new Error(`Please check mark() to ensure that it is a stable marker draftable function.`);\n }\n}\nfunction ensureShallowCopy(target) {\n if (target.copy)\n return;\n target.copy = shallowCopy(target.original, target.options);\n}\nfunction deepClone(target) {\n if (!isDraftable(target))\n return getValue(target);\n if (Array.isArray(target))\n return target.map(deepClone);\n if (target instanceof Map) {\n const iterable = Array.from(target.entries()).map(([k, v]) => [\n k,\n deepClone(v),\n ]);\n if (!isBaseMapInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Map(iterable);\n }\n if (target instanceof Set) {\n const iterable = Array.from(target).map(deepClone);\n if (!isBaseSetInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Set(iterable);\n }\n const copy = Object.create(Object.getPrototypeOf(target));\n for (const key in target)\n copy[key] = deepClone(target[key]);\n return copy;\n}\nfunction cloneIfNeeded(target) {\n return isDraft(target) ? deepClone(target) : target;\n}\n\nfunction markChanged(proxyDraft) {\n var _a;\n proxyDraft.assignedMap = (_a = proxyDraft.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n if (!proxyDraft.operated) {\n proxyDraft.operated = true;\n if (proxyDraft.parent) {\n markChanged(proxyDraft.parent);\n }\n }\n}\n\nfunction throwFrozenError() {\n throw new Error('Cannot modify frozen object');\n}\nfunction deepFreeze(target, subKey, updatedValues, stack, keys) {\n {\n updatedValues = updatedValues !== null && updatedValues !== void 0 ? updatedValues : new WeakMap();\n stack = stack !== null && stack !== void 0 ? stack : [];\n keys = keys !== null && keys !== void 0 ? keys : [];\n const value = updatedValues.has(target)\n ? updatedValues.get(target)\n : target;\n if (stack.length > 0) {\n const index = stack.indexOf(value);\n if (value && typeof value === 'object' && index !== -1) {\n if (stack[0] === value) {\n throw new Error(`Forbids circular reference`);\n }\n throw new Error(`Forbids circular reference: ~/${keys\n .slice(0, index)\n .map((key, index) => {\n if (typeof key === 'symbol')\n return `[${key.toString()}]`;\n const parent = stack[index];\n if (typeof key === 'object' &&\n (parent instanceof Map || parent instanceof Set))\n return Array.from(parent.keys()).indexOf(key);\n return key;\n })\n .join('/')}`);\n }\n stack.push(value);\n keys.push(subKey);\n }\n else {\n stack.push(value);\n }\n }\n if (Object.isFrozen(target) || isDraft(target)) {\n {\n stack.pop();\n keys.pop();\n }\n return;\n }\n const type = getType(target);\n switch (type) {\n case 2 /* DraftType.Map */:\n for (const [key, value] of target) {\n deepFreeze(key, key, updatedValues, stack, keys);\n deepFreeze(value, key, updatedValues, stack, keys);\n }\n target.set = target.clear = target.delete = throwFrozenError;\n break;\n case 3 /* DraftType.Set */:\n for (const value of target) {\n deepFreeze(value, value, updatedValues, stack, keys);\n }\n target.add = target.clear = target.delete = throwFrozenError;\n break;\n case 1 /* DraftType.Array */:\n Object.freeze(target);\n let index = 0;\n for (const value of target) {\n deepFreeze(value, index, updatedValues, stack, keys);\n index += 1;\n }\n break;\n default:\n Object.freeze(target);\n // ignore non-enumerable or symbol properties\n Object.keys(target).forEach((name) => {\n const value = target[name];\n deepFreeze(value, name, updatedValues, stack, keys);\n });\n }\n {\n stack.pop();\n keys.pop();\n }\n}\n\nfunction forEach(target, iter) {\n const type = getType(target);\n if (type === 0 /* DraftType.Object */) {\n Reflect.ownKeys(target).forEach((key) => {\n iter(key, target[key], target);\n });\n }\n else if (type === 1 /* DraftType.Array */) {\n let index = 0;\n for (const entry of target) {\n iter(index, entry, target);\n index += 1;\n }\n }\n else {\n target.forEach((entry, index) => iter(index, entry, target));\n }\n}\n\nfunction handleValue(target, handledSet, options) {\n if (isDraft(target) ||\n !isDraftable(target, options) ||\n handledSet.has(target) ||\n Object.isFrozen(target))\n return;\n const isSet = target instanceof Set;\n const setMap = isSet ? new Map() : undefined;\n handledSet.add(target);\n forEach(target, (key, value) => {\n var _a;\n if (isDraft(value)) {\n const proxyDraft = getProxyDraft(value);\n ensureShallowCopy(proxyDraft);\n // A draft where a child node has been changed, or assigned a value\n const updatedValue = ((_a = proxyDraft.assignedMap) === null || _a === void 0 ? void 0 : _a.size) || proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original;\n // final update value\n set(isSet ? setMap : target, key, updatedValue);\n }\n else {\n handleValue(value, handledSet, options);\n }\n });\n if (setMap) {\n const set = target;\n const values = Array.from(set);\n set.clear();\n values.forEach((value) => {\n set.add(setMap.has(value) ? setMap.get(value) : value);\n });\n }\n}\nfunction finalizeAssigned(proxyDraft, key) {\n // handle the draftable assigned values, and the value is not a draft\n const copy = proxyDraft.type === 3 /* DraftType.Set */ ? proxyDraft.setMap : proxyDraft.copy;\n if (proxyDraft.finalities.revoke.length > 1 &&\n proxyDraft.assignedMap.get(key) &&\n copy) {\n handleValue(get(copy, key), proxyDraft.finalities.handledSet, proxyDraft.options);\n }\n}\nfunction finalizeSetValue(target) {\n if (target.type === 3 /* DraftType.Set */ && target.copy) {\n target.copy.clear();\n target.setMap.forEach((value) => {\n target.copy.add(getValue(value));\n });\n }\n}\nfunction finalizePatches(target, generatePatches, patches, inversePatches) {\n const shouldFinalize = target.operated &&\n target.assignedMap &&\n target.assignedMap.size > 0 &&\n !target.finalized;\n if (shouldFinalize) {\n if (patches && inversePatches) {\n const basePath = getPath(target);\n if (basePath) {\n generatePatches(target, basePath, patches, inversePatches);\n }\n }\n target.finalized = true;\n }\n}\nfunction markFinalization(target, key, value, generatePatches) {\n const proxyDraft = getProxyDraft(value);\n if (proxyDraft) {\n // !case: assign the draft value\n if (!proxyDraft.callbacks) {\n proxyDraft.callbacks = [];\n }\n proxyDraft.callbacks.push((patches, inversePatches) => {\n var _a;\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n let updatedValue = proxyDraft.original;\n if (proxyDraft.copy) {\n updatedValue = proxyDraft.copy;\n }\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n });\n if (target.options.enableAutoFreeze) {\n // !case: assign the draft value in cross draft tree\n if (proxyDraft.finalities !== target.finalities) {\n target.options.enableAutoFreeze = false;\n }\n }\n }\n if (isDraftable(value, target.options)) {\n // !case: assign the non-draft value\n target.finalities.draft.push(() => {\n const copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n finalizeAssigned(target, key);\n }\n });\n }\n}\n\nfunction generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray) {\n let { original, assignedMap, options } = proxyState;\n let copy = proxyState.copy;\n if (copy.length < original.length) {\n [original, copy] = [copy, original];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let index = 0; index < original.length; index += 1) {\n if (assignedMap.get(index.toString()) && copy[index] !== original[index]) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n inversePatches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(original[index]),\n });\n }\n }\n for (let index = original.length; index < copy.length; index += 1) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n }\n if (original.length < copy.length) {\n // https://www.rfc-editor.org/rfc/rfc6902#appendix-A.4\n // For performance, here we only generate an operation that replaces the length of the array,\n // which is inconsistent with JSON Patch specification\n const { arrayLengthAssignment = true } = options.enablePatches;\n if (arrayLengthAssignment) {\n const _path = basePath.concat(['length']);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Replace,\n path,\n value: original.length,\n });\n }\n else {\n for (let index = copy.length; original.length < index; index -= 1) {\n const _path = basePath.concat([index - 1]);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Remove,\n path,\n });\n }\n }\n }\n}\nfunction generatePatchesFromAssigned({ original, copy, assignedMap }, basePath, patches, inversePatches, pathAsArray) {\n assignedMap.forEach((assignedValue, key) => {\n const originalValue = get(original, key);\n const value = cloneIfNeeded(get(copy, key));\n const op = !assignedValue\n ? Operation.Remove\n : has(original, key)\n ? Operation.Replace\n : Operation.Add;\n if (isEqual(originalValue, value) && op === Operation.Replace)\n return;\n const _path = basePath.concat(key);\n const path = escapePath(_path, pathAsArray);\n patches.push(op === Operation.Remove ? { op, path } : { op, path, value });\n inversePatches.push(op === Operation.Add\n ? { op: Operation.Remove, path }\n : op === Operation.Remove\n ? { op: Operation.Add, path, value: originalValue }\n : { op: Operation.Replace, path, value: originalValue });\n });\n}\nfunction generateSetPatches({ original, copy }, basePath, patches, inversePatches, pathAsArray) {\n let index = 0;\n original.forEach((value) => {\n if (!copy.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Remove,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Add,\n path,\n value,\n });\n }\n index += 1;\n });\n index = 0;\n copy.forEach((value) => {\n if (!original.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Remove,\n path,\n value,\n });\n }\n index += 1;\n });\n}\nfunction generatePatches(proxyState, basePath, patches, inversePatches) {\n const { pathAsArray = true } = proxyState.options.enablePatches;\n switch (proxyState.type) {\n case 0 /* DraftType.Object */:\n case 2 /* DraftType.Map */:\n return generatePatchesFromAssigned(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 1 /* DraftType.Array */:\n return generateArrayPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n case 3 /* DraftType.Set */:\n return generateSetPatches(proxyState, basePath, patches, inversePatches, pathAsArray);\n }\n}\n\nlet readable = false;\nconst checkReadable = (value, options, ignoreCheckDraftable = false) => {\n if (typeof value === 'object' &&\n value !== null &&\n (!isDraftable(value, options) || ignoreCheckDraftable) &&\n !readable) {\n throw new Error(`Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.`);\n }\n};\n/**\n * `unsafe(callback)` to access mutable data directly in strict mode.\n *\n * ## Example\n *\n * ```ts\n * import { create, unsafe } from '../index';\n *\n * class Foobar {\n * bar = 1;\n * }\n *\n * const baseState = { foobar: new Foobar() };\n * const state = create(\n * baseState,\n * (draft) => {\n * unsafe(() => {\n * draft.foobar.bar = 2;\n * });\n * },\n * {\n * strict: true,\n * }\n * );\n *\n * expect(state).toBe(baseState);\n * expect(state.foobar).toBe(baseState.foobar);\n * expect(state.foobar.bar).toBe(2);\n * ```\n */\nfunction unsafe(callback) {\n readable = true;\n let result;\n try {\n result = callback();\n }\n finally {\n readable = false;\n }\n return result;\n}\n\nconst mapHandler = {\n get size() {\n const current = latest(getProxyDraft(this));\n return current.size;\n },\n has(key) {\n return latest(getProxyDraft(this)).has(key);\n },\n set(key, value) {\n const target = getProxyDraft(this);\n const source = latest(target);\n if (!source.has(key) || !isEqual(source.get(key), value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, true);\n target.copy.set(key, value);\n markFinalization(target, key, value, generatePatches);\n }\n return this;\n },\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n if (target.original.has(key)) {\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap.delete(key);\n }\n target.copy.delete(key);\n return true;\n },\n clear() {\n const target = getProxyDraft(this);\n if (!this.size)\n return;\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap = new Map();\n for (const [key] of target.original) {\n target.assignedMap.set(key, false);\n }\n target.copy.clear();\n },\n forEach(callback, thisArg) {\n const target = getProxyDraft(this);\n latest(target).forEach((_value, _key) => {\n callback.call(thisArg, this.get(_key), _key, this);\n });\n },\n get(key) {\n var _a, _b;\n const target = getProxyDraft(this);\n const value = latest(target).get(key);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(value, target.options, mutable);\n }\n if (mutable) {\n return value;\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // drafted or reassigned\n if (value !== target.original.get(key)) {\n return value;\n }\n const draft = internal.createDraft({\n original: value,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n ensureShallowCopy(target);\n target.copy.set(key, draft);\n return draft;\n },\n keys() {\n return latest(getProxyDraft(this)).keys();\n },\n values() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.values(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value,\n };\n },\n };\n },\n entries() {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.entries(),\n next: () => {\n const result = iterator.next();\n if (result.done)\n return result;\n const value = this.get(result.value);\n return {\n done: false,\n value: [result.value, value],\n };\n },\n };\n },\n [iteratorSymbol]() {\n return this.entries();\n },\n};\nconst mapHandlerKeys = Reflect.ownKeys(mapHandler);\n\nconst getNextIterator = (target, iterator, { isValuesIterator }) => () => {\n var _a, _b;\n const result = iterator.next();\n if (result.done)\n return result;\n const key = result.value;\n let value = target.setMap.get(key);\n const currentDraft = getProxyDraft(value);\n const mutable = ((_b = (_a = target.options).mark) === null || _b === void 0 ? void 0 : _b.call(_a, value, dataTypes)) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(key, target.options, mutable);\n }\n if (!mutable &&\n !currentDraft &&\n isDraftable(key, target.options) &&\n !target.finalized &&\n target.original.has(key)) {\n // draft a draftable original set item\n const proxy = internal.createDraft({\n original: key,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n target.setMap.set(key, proxy);\n value = proxy;\n }\n else if (currentDraft) {\n // drafted\n value = currentDraft.proxy;\n }\n return {\n done: false,\n value: isValuesIterator ? value : [value, value],\n };\n};\nconst setHandler = {\n get size() {\n const target = getProxyDraft(this);\n return target.setMap.size;\n },\n has(value) {\n const target = getProxyDraft(this);\n // reassigned or non-draftable values\n if (target.setMap.has(value))\n return true;\n ensureShallowCopy(target);\n const valueProxyDraft = getProxyDraft(value);\n // drafted\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original))\n return true;\n return false;\n },\n add(value) {\n const target = getProxyDraft(this);\n if (!this.has(value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(value, true);\n target.setMap.set(value, value);\n markFinalization(target, value, value, generatePatches);\n }\n return this;\n },\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n const valueProxyDraft = getProxyDraft(value);\n if (valueProxyDraft && target.setMap.has(valueProxyDraft.original)) {\n // delete drafted\n target.assignedMap.set(valueProxyDraft.original, false);\n return target.setMap.delete(valueProxyDraft.original);\n }\n if (!valueProxyDraft && target.setMap.has(value)) {\n // non-draftable values\n target.assignedMap.set(value, false);\n }\n else {\n // reassigned\n target.assignedMap.delete(value);\n }\n // delete reassigned or non-draftable values\n return target.setMap.delete(value);\n },\n clear() {\n if (!this.size)\n return;\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n markChanged(target);\n for (const value of target.original) {\n target.assignedMap.set(value, false);\n }\n target.setMap.clear();\n },\n values() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: getNextIterator(target, iterator, { isValuesIterator: true }),\n };\n },\n entries() {\n const target = getProxyDraft(this);\n ensureShallowCopy(target);\n const iterator = target.setMap.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: getNextIterator(target, iterator, {\n isValuesIterator: false,\n }),\n };\n },\n keys() {\n return this.values();\n },\n [iteratorSymbol]() {\n return this.values();\n },\n forEach(callback, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n callback.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n },\n};\nif (Set.prototype.difference) {\n // for compatibility with new Set methods\n // https://github.com/tc39/proposal-set-methods\n // And `https://github.com/tc39/proposal-set-methods/blob/main/details.md#symbolspecies` has some details about the `@@species` symbol.\n // So we can't use SubSet instance constructor to get the constructor of the SubSet instance.\n Object.assign(setHandler, {\n intersection(other) {\n return Set.prototype.intersection.call(new Set(this.values()), other);\n },\n union(other) {\n return Set.prototype.union.call(new Set(this.values()), other);\n },\n difference(other) {\n return Set.prototype.difference.call(new Set(this.values()), other);\n },\n symmetricDifference(other) {\n return Set.prototype.symmetricDifference.call(new Set(this.values()), other);\n },\n isSubsetOf(other) {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), other);\n },\n isSupersetOf(other) {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), other);\n },\n isDisjointFrom(other) {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), other);\n },\n });\n}\nconst setHandlerKeys = Reflect.ownKeys(setHandler);\n\nconst proxyHandler = {\n get(target, key, receiver) {\n var _a, _b;\n const copy = (_a = target.copy) === null || _a === void 0 ? void 0 : _a[key];\n // Improve draft reading performance by caching the draft copy.\n if (copy && target.finalities.draftsCache.has(copy)) {\n return copy;\n }\n if (key === PROXY_DRAFT)\n return target;\n let markResult;\n if (target.options.mark) {\n // handle `Uncaught TypeError: Method get Map.prototype.size called on incompatible receiver #<Map>`\n // or `Uncaught TypeError: Method get Set.prototype.size called on incompatible receiver #<Set>`\n const value = key === 'size' &&\n (target.original instanceof Map || target.original instanceof Set)\n ? Reflect.get(target.original, key)\n : Reflect.get(target.original, key, receiver);\n markResult = target.options.mark(value, dataTypes);\n if (markResult === dataTypes.mutable) {\n if (target.options.strict) {\n checkReadable(value, target.options, true);\n }\n return value;\n }\n }\n const source = latest(target);\n if (source instanceof Map && mapHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(mapHandler, 'size').get.call(target.proxy);\n }\n const handle = mapHandler[key];\n return handle.bind(target.proxy);\n }\n if (source instanceof Set && setHandlerKeys.includes(key)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(setHandler, 'size').get.call(target.proxy);\n }\n const handle = setHandler[key];\n return handle.bind(target.proxy);\n }\n if (!has(source, key)) {\n const desc = getDescriptor(source, key);\n return desc\n ? `value` in desc\n ? desc.value\n : // !case: support for getter\n (_b = desc.get) === null || _b === void 0 ? void 0 : _b.call(target.proxy)\n : undefined;\n }\n const value = source[key];\n if (target.options.strict) {\n checkReadable(value, target.options);\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // Ensure that the assigned values are not drafted\n if (value === peek(target.original, key)) {\n ensureShallowCopy(target);\n target.copy[key] = createDraft({\n original: target.original[key],\n parentDraft: target,\n key: target.type === 1 /* DraftType.Array */ ? Number(key) : key,\n finalities: target.finalities,\n options: target.options,\n });\n // !case: support for custom shallow copy function\n if (typeof markResult === 'function') {\n const subProxyDraft = getProxyDraft(target.copy[key]);\n ensureShallowCopy(subProxyDraft);\n // Trigger a custom shallow copy to update to a new copy\n markChanged(subProxyDraft);\n return subProxyDraft.copy;\n }\n return target.copy[key];\n }\n if (isDraft(value)) {\n target.finalities.draftsCache.add(value);\n }\n return value;\n },\n set(target, key, value) {\n var _a;\n if (target.type === 3 /* DraftType.Set */ || target.type === 2 /* DraftType.Map */) {\n throw new Error(`Map/Set draft does not support any property assignment.`);\n }\n let _key;\n if (target.type === 1 /* DraftType.Array */ &&\n key !== 'length' &&\n !(Number.isInteger((_key = Number(key))) &&\n _key >= 0 &&\n (key === 0 || _key === 0 || String(_key) === String(key)))) {\n throw new Error(`Only supports setting array indices and the 'length' property.`);\n }\n const desc = getDescriptor(latest(target), key);\n if (desc === null || desc === void 0 ? void 0 : desc.set) {\n // !case: cover the case of setter\n desc.set.call(target.proxy, value);\n return true;\n }\n const current = peek(latest(target), key);\n const currentProxyDraft = getProxyDraft(current);\n if (currentProxyDraft && isEqual(currentProxyDraft.original, value)) {\n // !case: ignore the case of assigning the original draftable value to a draft\n target.copy[key] = value;\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n target.assignedMap.set(key, false);\n return true;\n }\n // !case: handle new props with value 'undefined'\n if (isEqual(value, current) &&\n (value !== undefined || has(target.original, key)))\n return true;\n ensureShallowCopy(target);\n markChanged(target);\n if (has(target.original, key) && isEqual(value, target.original[key])) {\n // !case: handle the case of assigning the original non-draftable value to a draft\n target.assignedMap.delete(key);\n }\n else {\n target.assignedMap.set(key, true);\n }\n target.copy[key] = value;\n markFinalization(target, key, value, generatePatches);\n return true;\n },\n has(target, key) {\n return key in latest(target);\n },\n ownKeys(target) {\n return Reflect.ownKeys(latest(target));\n },\n getOwnPropertyDescriptor(target, key) {\n const source = latest(target);\n const descriptor = Reflect.getOwnPropertyDescriptor(source, key);\n if (!descriptor)\n return descriptor;\n return {\n writable: true,\n configurable: target.type !== 1 /* DraftType.Array */ || key !== 'length',\n enumerable: descriptor.enumerable,\n value: source[key],\n };\n },\n getPrototypeOf(target) {\n return Reflect.getPrototypeOf(target.original);\n },\n setPrototypeOf() {\n throw new Error(`Cannot call 'setPrototypeOf()' on drafts`);\n },\n defineProperty() {\n throw new Error(`Cannot call 'defineProperty()' on drafts`);\n },\n deleteProperty(target, key) {\n var _a;\n if (target.type === 1 /* DraftType.Array */) {\n return proxyHandler.set.call(this, target, key, undefined, target.proxy);\n }\n if (peek(target.original, key) !== undefined || key in target.original) {\n // !case: delete an existing key\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap.set(key, false);\n }\n else {\n target.assignedMap = (_a = target.assignedMap) !== null && _a !== void 0 ? _a : new Map();\n // The original non-existent key has been deleted\n target.assignedMap.delete(key);\n }\n if (target.copy)\n delete target.copy[key];\n return true;\n },\n};\nfunction createDraft(createDraftOptions) {\n const { original, parentDraft, key, finalities, options } = createDraftOptions;\n const type = getType(original);\n const proxyDraft = {\n type,\n finalized: false,\n parent: parentDraft,\n original,\n copy: null,\n proxy: null,\n finalities,\n options,\n // Mapping of draft Set items to their corresponding draft values.\n setMap: type === 3 /* DraftType.Set */\n ? new Map(original.entries())\n : undefined,\n };\n // !case: undefined as a draft map key\n if (key || 'key' in createDraftOptions) {\n proxyDraft.key = key;\n }\n const { proxy, revoke } = Proxy.revocable(type === 1 /* DraftType.Array */ ? Object.assign([], proxyDraft) : proxyDraft, proxyHandler);\n finalities.revoke.push(revoke);\n proxyDraft.proxy = proxy;\n if (parentDraft) {\n const target = parentDraft;\n target.finalities.draft.push((patches, inversePatches) => {\n var _a, _b;\n const oldProxyDraft = getProxyDraft(proxy);\n // if target is a Set draft, `setMap` is the real Set copies proxy mapping.\n let copy = target.type === 3 /* DraftType.Set */ ? target.setMap : target.copy;\n const draft = get(copy, key);\n const proxyDraft = getProxyDraft(draft);\n if (proxyDraft) {\n // assign the updated value to the copy object\n let updatedValue = proxyDraft.original;\n if (proxyDraft.operated) {\n updatedValue = getValue(draft);\n }\n finalizeSetValue(proxyDraft);\n finalizePatches(proxyDraft, generatePatches, patches, inversePatches);\n if (target.options.enableAutoFreeze) {\n target.options.updatedValues =\n (_a = target.options.updatedValues) !== null && _a !== void 0 ? _a : new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n // !case: handle the deleted key\n (_b = oldProxyDraft.callbacks) === null || _b === void 0 ? void 0 : _b.forEach((callback) => {\n callback(patches, inversePatches);\n });\n });\n }\n else {\n // !case: handle the root draft\n const target = getProxyDraft(proxy);\n target.finalities.draft.push((patches, inversePatches) => {\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n });\n }\n return proxy;\n}\ninternal.createDraft = createDraft;\nfunction finalizeDraft(result, returnedValue, patches, inversePatches, enableAutoFreeze) {\n var _a;\n const proxyDraft = getProxyDraft(result);\n const original = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : result;\n const hasReturnedValue = !!returnedValue.length;\n if (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated) {\n while (proxyDraft.finalities.draft.length > 0) {\n const finalize = proxyDraft.finalities.draft.pop();\n finalize(patches, inversePatches);\n }\n }\n const state = hasReturnedValue\n ? returnedValue[0]\n : proxyDraft\n ? proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original\n : result;\n if (proxyDraft)\n revokeProxy(proxyDraft);\n if (enableAutoFreeze) {\n deepFreeze(state, state, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options.updatedValues);\n }\n return [\n state,\n patches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: returnedValue[0] }]\n : patches,\n inversePatches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: original }]\n : inversePatches,\n ];\n}\n\nfunction draftify(baseState, options) {\n var _a;\n const finalities = {\n draft: [],\n revoke: [],\n handledSet: new WeakSet(),\n draftsCache: new WeakSet(),\n };\n let patches;\n let inversePatches;\n if (options.enablePatches) {\n patches = [];\n inversePatches = [];\n }\n const isMutable = ((_a = options.mark) === null || _a === void 0 ? void 0 : _a.call(options, baseState, dataTypes)) === dataTypes.mutable ||\n !isDraftable(baseState, options);\n const draft = isMutable\n ? baseState\n : createDraft({\n original: baseState,\n parentDraft: null,\n finalities,\n options,\n });\n return [\n draft,\n (returnedValue = []) => {\n const [finalizedState, finalizedPatches, finalizedInversePatches] = finalizeDraft(draft, returnedValue, patches, inversePatches, options.enableAutoFreeze);\n return (options.enablePatches\n ? [finalizedState, finalizedPatches, finalizedInversePatches]\n : finalizedState);\n },\n ];\n}\n\nfunction handleReturnValue(options) {\n const { rootDraft, value, useRawReturn = false, isRoot = true } = options;\n forEach(value, (key, item, source) => {\n const proxyDraft = getProxyDraft(item);\n // just handle the draft which is created by the same rootDraft\n if (proxyDraft &&\n rootDraft &&\n proxyDraft.finalities === rootDraft.finalities) {\n options.isContainDraft = true;\n const currentValue = proxyDraft.original;\n // final update value, but just handle return value\n if (source instanceof Set) {\n const arr = Array.from(source);\n source.clear();\n arr.forEach((_item) => source.add(key === _item ? currentValue : _item));\n }\n else {\n set(source, key, currentValue);\n }\n }\n else if (typeof item === 'object' && item !== null) {\n options.value = item;\n options.isRoot = false;\n handleReturnValue(options);\n }\n });\n if (isRoot) {\n if (!options.isContainDraft)\n console.warn(`The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.`);\n if (useRawReturn) {\n console.warn(`The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.`);\n }\n }\n}\nfunction getCurrent(target) {\n var _a;\n const proxyDraft = getProxyDraft(target);\n if (!isDraftable(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options))\n return target;\n const type = getType(target);\n if (proxyDraft && !proxyDraft.operated)\n return proxyDraft.original;\n let currentValue;\n function ensureShallowCopy() {\n currentValue =\n type === 2 /* DraftType.Map */\n ? !isBaseMapInstance(target)\n ? new (Object.getPrototypeOf(target).constructor)(target)\n : new Map(target)\n : type === 3 /* DraftType.Set */\n ? Array.from(proxyDraft.setMap.values())\n : shallowCopy(target, proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.options);\n }\n if (proxyDraft) {\n // It's a proxy draft, let's create a shallow copy eagerly\n proxyDraft.finalized = true;\n try {\n ensureShallowCopy();\n }\n finally {\n proxyDraft.finalized = false;\n }\n }\n else {\n // It's not a proxy draft, let's use the target directly and let's see\n // lazily if we need to create a shallow copy\n currentValue = target;\n }\n forEach(currentValue, (key, value) => {\n if (proxyDraft && isEqual(get(proxyDraft.original, key), value))\n return;\n const newValue = getCurrent(value);\n if (newValue !== value) {\n if (currentValue === target)\n ensureShallowCopy();\n set(currentValue, key, newValue);\n }\n });\n if (type === 3 /* DraftType.Set */) {\n const value = (_a = proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.original) !== null && _a !== void 0 ? _a : currentValue;\n return !isBaseSetInstance(value)\n ? new (Object.getPrototypeOf(value).constructor)(currentValue)\n : new Set(currentValue);\n }\n return currentValue;\n}\nfunction current(target) {\n if (!isDraft(target)) {\n throw new Error(`current() is only used for Draft, parameter: ${target}`);\n }\n return getCurrent(target);\n}\n\n/**\n * `makeCreator(options)` to make a creator function.\n *\n * ## Example\n *\n * ```ts\n * import { makeCreator } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const create = makeCreator({ enableAutoFreeze: true });\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * expect(Object.isFrozen(state)).toBeTruthy();\n * ```\n */\nconst makeCreator = (arg) => {\n if (arg !== undefined &&\n Object.prototype.toString.call(arg) !== '[object Object]') {\n throw new Error(`Invalid options: ${String(arg)}, 'options' should be an object.`);\n }\n return function create(arg0, arg1, arg2) {\n var _a, _b, _c;\n if (typeof arg0 === 'function' && typeof arg1 !== 'function') {\n return function (base, ...args) {\n return create(base, (draft) => arg0.call(this, draft, ...args), arg1);\n };\n }\n const base = arg0;\n const mutate = arg1;\n let options = arg2;\n if (typeof arg1 !== 'function') {\n options = arg1;\n }\n if (options !== undefined &&\n Object.prototype.toString.call(options) !== '[object Object]') {\n throw new Error(`Invalid options: ${options}, 'options' should be an object.`);\n }\n options = Object.assign(Object.assign({}, arg), options);\n const state = isDraft(base) ? current(base) : base;\n const mark = Array.isArray(options.mark)\n ? ((value, types) => {\n for (const mark of options.mark) {\n if (typeof mark !== 'function') {\n throw new Error(`Invalid mark: ${mark}, 'mark' should be a function.`);\n }\n const result = mark(value, types);\n if (result) {\n return result;\n }\n }\n return;\n })\n : options.mark;\n const enablePatches = (_a = options.enablePatches) !== null && _a !== void 0 ? _a : false;\n const strict = (_b = options.strict) !== null && _b !== void 0 ? _b : false;\n const enableAutoFreeze = (_c = options.enableAutoFreeze) !== null && _c !== void 0 ? _c : false;\n const _options = {\n enableAutoFreeze,\n mark,\n strict,\n enablePatches,\n };\n if (!isDraftable(state, _options) &&\n typeof state === 'object' &&\n state !== null) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n const [draft, finalize] = draftify(state, _options);\n if (typeof arg1 !== 'function') {\n if (!isDraftable(state, _options)) {\n throw new Error(`Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`);\n }\n return [draft, finalize];\n }\n let result;\n try {\n result = mutate(draft);\n }\n catch (error) {\n revokeProxy(getProxyDraft(draft));\n throw error;\n }\n const returnValue = (value) => {\n const proxyDraft = getProxyDraft(draft);\n if (!isDraft(value)) {\n if (value !== undefined &&\n !isEqual(value, draft) &&\n (proxyDraft === null || proxyDraft === void 0 ? void 0 : proxyDraft.operated)) {\n throw new Error(`Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.`);\n }\n const rawReturnValue = value === null || value === void 0 ? void 0 : value[RAW_RETURN_SYMBOL];\n if (rawReturnValue) {\n const _value = rawReturnValue[0];\n if (_options.strict && typeof value === 'object' && value !== null) {\n handleReturnValue({\n rootDraft: proxyDraft,\n value,\n useRawReturn: true,\n });\n }\n return finalize([_value]);\n }\n if (value !== undefined) {\n if (typeof value === 'object' && value !== null) {\n handleReturnValue({ rootDraft: proxyDraft, value });\n }\n return finalize([value]);\n }\n }\n if (value === draft || value === undefined) {\n return finalize([]);\n }\n const returnedProxyDraft = getProxyDraft(value);\n if (_options === returnedProxyDraft.options) {\n if (returnedProxyDraft.operated) {\n throw new Error(`Cannot return a modified child draft.`);\n }\n return finalize([current(value)]);\n }\n return finalize([value]);\n };\n if (result instanceof Promise) {\n return result.then(returnValue, (error) => {\n revokeProxy(getProxyDraft(draft));\n throw error;\n });\n }\n return returnValue(result);\n };\n};\n\n/**\n * `create(baseState, callback, options)` to create the next state\n *\n * ## Example\n *\n * ```ts\n * import { create } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * ```\n */\nconst create = makeCreator();\n\n/**\n * `apply(state, patches)` to apply patches to state\n *\n * ## Example\n *\n * ```ts\n * import { create, apply } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const [state, patches] = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * { enablePatches: true }\n * );\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(patches).toEqual([{ op: 'replace', path: ['foo', 'bar'], value: 'str2' }]);\n * expect(state).toEqual(apply(baseState, patches));\n * ```\n */\nfunction apply(state, patches, applyOptions) {\n let i;\n for (i = patches.length - 1; i >= 0; i -= 1) {\n const { value, op, path } = patches[i];\n if ((!path.length && op === Operation.Replace) ||\n (path === '' && op === Operation.Add)) {\n state = value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const mutate = (draft) => {\n patches.forEach((patch) => {\n const { path: _path, op } = patch;\n const path = unescapePath(_path);\n let base = draft;\n for (let index = 0; index < path.length - 1; index += 1) {\n const parentType = getType(base);\n let key = path[index];\n if (typeof key !== 'string' && typeof key !== 'number') {\n key = String(key);\n }\n if (((parentType === 0 /* DraftType.Object */ ||\n parentType === 1 /* DraftType.Array */) &&\n (key === '__proto__' || key === 'constructor')) ||\n (typeof base === 'function' && key === 'prototype')) {\n throw new Error(`Patching reserved attributes like __proto__ and constructor is not allowed.`);\n }\n // use `index` in Set draft\n base = get(parentType === 3 /* DraftType.Set */ ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot apply patch at '${path.join('/')}'.`);\n }\n }\n const type = getType(base);\n // ensure the original patch is not modified.\n const value = deepClone(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case Operation.Replace:\n switch (type) {\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n throw new Error(`Cannot apply replace patch to set.`);\n default:\n return (base[key] = value);\n }\n case Operation.Add:\n switch (type) {\n case 1 /* DraftType.Array */:\n // If the \"-\" character is used to\n // index the end of the array (see [RFC6901](https://datatracker.ietf.org/doc/html/rfc6902)),\n // this has the effect of appending the value to the array.\n return key === '-'\n ? base.push(value)\n : base.splice(key, 0, value);\n case 2 /* DraftType.Map */:\n return base.set(key, value);\n case 3 /* DraftType.Set */:\n return base.add(value);\n default:\n return (base[key] = value);\n }\n case Operation.Remove:\n switch (type) {\n case 1 /* DraftType.Array */:\n return base.splice(key, 1);\n case 2 /* DraftType.Map */:\n return base.delete(key);\n case 3 /* DraftType.Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n throw new Error(`Unsupported patch operation: ${op}.`);\n }\n });\n };\n if (applyOptions === null || applyOptions === void 0 ? void 0 : applyOptions.mutable) {\n {\n if (Object.keys(applyOptions).filter((key) => key !== 'mutable').length) {\n console.warn('The \"mutable\" option is not allowed to be used with other options.');\n }\n }\n mutate(state);\n return undefined;\n }\n if (isDraft(state)) {\n if (applyOptions !== undefined) {\n throw new Error(`Cannot apply patches with options to a draft.`);\n }\n mutate(state);\n return state;\n }\n return create(state, mutate, Object.assign(Object.assign({}, applyOptions), { enablePatches: false }));\n}\n\n/**\n * `original(draft)` to get original state in the draft mutation function.\n *\n * ## Example\n *\n * ```ts\n * import { create, original } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * expect(original(draft.foo)).toEqual({ bar: 'str' });\n * }\n * );\n * ```\n */\nfunction original(target) {\n const proxyDraft = getProxyDraft(target);\n if (!proxyDraft) {\n throw new Error(`original() is only used for a draft, parameter: ${target}`);\n }\n return proxyDraft.original;\n}\n\n/**\n * Use rawReturn() to wrap the return value to skip the draft check and thus improve performance.\n *\n * ## Example\n *\n * ```ts\n * import { create, rawReturn } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * return rawReturn(baseState);\n * },\n * );\n * expect(state).toBe(baseState);\n * ```\n */\nfunction rawReturn(value) {\n if (arguments.length === 0) {\n throw new Error('rawReturn() must be called with a value.');\n }\n if (arguments.length > 1) {\n throw new Error('rawReturn() must be called with one argument.');\n }\n if (value !== undefined &&\n (typeof value !== 'object' || value === null)) {\n console.warn('rawReturn() must be called with an object(including plain object, arrays, Set, Map, etc.) or `undefined`, other types do not need to be returned via rawReturn().');\n }\n return {\n [RAW_RETURN_SYMBOL]: [value],\n };\n}\n\nconst constructorString = Object.prototype.constructor.toString();\n/**\n * Check if the value is a simple object(No prototype chain object or iframe same-origin object),\n * support case: https://github.com/unadlib/mutative/issues/17\n */\nconst isSimpleObject = (value) => {\n if (!value || typeof value !== 'object')\n return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype === null) {\n return true;\n }\n const constructor = Object.hasOwnProperty.call(prototype, 'constructor') &&\n prototype.constructor;\n if (constructor === Object)\n return true;\n return (typeof constructor === 'function' &&\n Function.toString.call(constructor) === constructorString);\n};\nconst markSimpleObject = (value) => {\n if (isSimpleObject(value)) {\n return dataTypes.immutable;\n }\n return;\n};\n\n/**\n * Cast a value to an Draft type value.\n */\nfunction castDraft(value) {\n return value;\n}\n/**\n * Cast a value to an Immutable type value.\n */\nfunction castImmutable(value) {\n return value;\n}\n/**\n * Cast a value to an Mutable type value.\n */\nfunction castMutable(draft) {\n return draft;\n}\n\nexport { apply, castDraft, castImmutable, castMutable, create, current, isDraft, isDraftable, makeCreator, markSimpleObject, original, rawReturn, unsafe };\n//# sourceMappingURL=mutative.esm.mjs.map\n",null,null,null,"/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar encode = function (arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n\nexport { decode, encode };\n//# sourceMappingURL=base64-arraybuffer.es5.js.map\n","const R = {\n TEXT: \"text/plain\",\n JSON: \"application/json\",\n OCTET_STREAM: \"application/octet-stream\",\n // For typed arrays, we'll use application/octet-stream with a type parameter\n TYPED_ARRAY: \"application/octet-stream;type=\",\n // Custom MIME type for URLs that should be treated as data references\n URI: \"text/x-uri\"\n}, h = {\n Remove: \"remove\",\n Replace: \"replace\",\n Add: \"add\"\n}, ye = Symbol.for(\"__MUTATIVE_PROXY_DRAFT__\"), De = Symbol(\"__MUTATIVE_RAW_RETURN_SYMBOL__\"), K = Symbol.iterator, v = {\n mutable: \"mutable\",\n immutable: \"immutable\"\n}, te = {};\nfunction B(e, n) {\n return e instanceof Map ? e.has(n) : Object.prototype.hasOwnProperty.call(e, n);\n}\nfunction le(e, n) {\n if (n in e) {\n let t = Reflect.getPrototypeOf(e);\n for (; t; ) {\n const r = Reflect.getOwnPropertyDescriptor(t, n);\n if (r)\n return r;\n t = Reflect.getPrototypeOf(t);\n }\n }\n}\nfunction re(e) {\n return Object.getPrototypeOf(e) === Set.prototype;\n}\nfunction oe(e) {\n return Object.getPrototypeOf(e) === Map.prototype;\n}\nfunction M(e) {\n var n;\n return (n = e.copy) !== null && n !== void 0 ? n : e.original;\n}\nfunction C(e) {\n return !!u(e);\n}\nfunction u(e) {\n return typeof e != \"object\" ? null : e == null ? void 0 : e[ye];\n}\nfunction ie(e) {\n var n;\n const t = u(e);\n return t ? (n = t.copy) !== null && n !== void 0 ? n : t.original : e;\n}\nfunction S(e, n) {\n if (!e || typeof e != \"object\")\n return !1;\n let t;\n return Object.getPrototypeOf(e) === Object.prototype || Array.isArray(e) || e instanceof Map || e instanceof Set || !!(n != null && n.mark) && ((t = n.mark(e, v)) === v.immutable || typeof t == \"function\");\n}\nfunction we(e, n = []) {\n if (Object.hasOwnProperty.call(e, \"key\")) {\n const t = e.parent.copy, r = u(_(t, e.key));\n if (r !== null && (r == null ? void 0 : r.original) !== e.original)\n return null;\n const o = e.parent.type === 3, a = o ? Array.from(e.parent.setMap.keys()).indexOf(e.key) : e.key;\n if (!(o && t.size > a || B(t, a)))\n return null;\n n.push(a);\n }\n if (e.parent)\n return we(e.parent, n);\n n.reverse();\n try {\n _e(e.copy, n);\n } catch {\n return null;\n }\n return n;\n}\nfunction I(e) {\n return Array.isArray(e) ? 1 : e instanceof Map ? 2 : e instanceof Set ? 3 : 0;\n}\nfunction _(e, n) {\n return I(e) === 2 ? e.get(n) : e[n];\n}\nfunction g(e, n, t) {\n I(e) === 2 ? e.set(n, t) : e[n] = t;\n}\nfunction G(e, n) {\n const t = u(e);\n return (t ? M(t) : e)[n];\n}\nfunction D(e, n) {\n return e === n ? e !== 0 || 1 / e === 1 / n : e !== e && n !== n;\n}\nfunction Q(e) {\n if (e)\n for (; e.finalities.revoke.length > 0; )\n e.finalities.revoke.pop()();\n}\nfunction U(e, n) {\n return n ? e : [\"\"].concat(e).map((t) => {\n const r = `${t}`;\n return r.indexOf(\"/\") === -1 && r.indexOf(\"~\") === -1 ? r : r.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n }).join(\"/\");\n}\nfunction _e(e, n) {\n for (let t = 0; t < n.length - 1; t += 1) {\n const r = n[t];\n if (e = _(I(e) === 3 ? Array.from(e) : e, r), typeof e != \"object\")\n throw new Error(`Cannot resolve patch at '${n.join(\"/\")}'.`);\n }\n return e;\n}\nfunction xe(e) {\n const n = Object.create(Object.getPrototypeOf(e));\n return Reflect.ownKeys(e).forEach((t) => {\n let r = Reflect.getOwnPropertyDescriptor(e, t);\n if (r.enumerable && r.configurable && r.writable) {\n n[t] = e[t];\n return;\n }\n r.writable || (r.writable = !0, r.configurable = !0), (r.get || r.set) && (r = {\n configurable: !0,\n writable: !0,\n enumerable: r.enumerable,\n value: e[t]\n }), Reflect.defineProperty(n, t, r);\n }), n;\n}\nconst je = Object.prototype.propertyIsEnumerable;\nfunction be(e, n) {\n let t;\n if (Array.isArray(e))\n return Array.prototype.concat.call(e);\n if (e instanceof Set) {\n if (!re(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(e.values());\n }\n return Set.prototype.difference ? Set.prototype.difference.call(e, /* @__PURE__ */ new Set()) : new Set(e.values());\n } else if (e instanceof Map) {\n if (!oe(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(e);\n }\n return new Map(e);\n } else if (n != null && n.mark && (t = n.mark(e, v), t !== void 0) && t !== v.mutable) {\n if (t === v.immutable)\n return xe(e);\n if (typeof t == \"function\") {\n if (n.enablePatches || n.enableAutoFreeze)\n throw new Error(\"You can't use mark and patches or auto freeze together.\");\n return t();\n }\n throw new Error(`Unsupported mark result: ${t}`);\n } else if (typeof e == \"object\" && Object.getPrototypeOf(e) === Object.prototype) {\n const r = {};\n return Object.keys(e).forEach((o) => {\n r[o] = e[o];\n }), Object.getOwnPropertySymbols(e).forEach((o) => {\n je.call(e, o) && (r[o] = e[o]);\n }), r;\n } else\n throw new Error(\"Please check mark() to ensure that it is a stable marker draftable function.\");\n}\nfunction b(e) {\n e.copy || (e.copy = be(e.original, e.options));\n}\nfunction N(e) {\n if (!S(e))\n return ie(e);\n if (Array.isArray(e))\n return e.map(N);\n if (e instanceof Map) {\n const t = Array.from(e.entries()).map(([r, o]) => [\n r,\n N(o)\n ]);\n if (!oe(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(t);\n }\n return new Map(t);\n }\n if (e instanceof Set) {\n const t = Array.from(e).map(N);\n if (!re(e)) {\n const r = Object.getPrototypeOf(e).constructor;\n return new r(t);\n }\n return new Set(t);\n }\n const n = Object.create(Object.getPrototypeOf(e));\n for (const t in e)\n n[t] = N(e[t]);\n return n;\n}\nfunction Y(e) {\n return C(e) ? N(e) : e;\n}\nfunction T(e) {\n var n;\n e.assignedMap = (n = e.assignedMap) !== null && n !== void 0 ? n : /* @__PURE__ */ new Map(), e.operated || (e.operated = !0, e.parent && T(e.parent));\n}\nfunction ue() {\n throw new Error(\"Cannot modify frozen object\");\n}\nfunction F(e, n, t, r, o) {\n {\n t = t ?? /* @__PURE__ */ new WeakMap(), r = r ?? [], o = o ?? [];\n const i = t.has(e) ? t.get(e) : e;\n if (r.length > 0) {\n const c = r.indexOf(i);\n if (i && typeof i == \"object\" && c !== -1)\n throw r[0] === i ? new Error(\"Forbids circular reference\") : new Error(`Forbids circular reference: ~/${o.slice(0, c).map((s, f) => {\n if (typeof s == \"symbol\")\n return `[${s.toString()}]`;\n const l = r[f];\n return typeof s == \"object\" && (l instanceof Map || l instanceof Set) ? Array.from(l.keys()).indexOf(s) : s;\n }).join(\"/\")}`);\n r.push(i), o.push(n);\n } else\n r.push(i);\n }\n if (Object.isFrozen(e) || C(e)) {\n r.pop(), o.pop();\n return;\n }\n switch (I(e)) {\n case 2:\n for (const [c, s] of e)\n F(c, c, t, r, o), F(s, c, t, r, o);\n e.set = e.clear = e.delete = ue;\n break;\n case 3:\n for (const c of e)\n F(c, c, t, r, o);\n e.add = e.clear = e.delete = ue;\n break;\n case 1:\n Object.freeze(e);\n let i = 0;\n for (const c of e)\n F(c, i, t, r, o), i += 1;\n break;\n default:\n Object.freeze(e), Object.keys(e).forEach((c) => {\n const s = e[c];\n F(s, c, t, r, o);\n });\n }\n r.pop(), o.pop();\n}\nfunction se(e, n) {\n const t = I(e);\n if (t === 0)\n Reflect.ownKeys(e).forEach((r) => {\n n(r, e[r], e);\n });\n else if (t === 1) {\n let r = 0;\n for (const o of e)\n n(r, o, e), r += 1;\n } else\n e.forEach((r, o) => n(o, r, e));\n}\nfunction me(e, n, t) {\n if (C(e) || !S(e, t) || n.has(e) || Object.isFrozen(e))\n return;\n const r = e instanceof Set, o = r ? /* @__PURE__ */ new Map() : void 0;\n if (n.add(e), se(e, (a, i) => {\n var c;\n if (C(i)) {\n const s = u(i);\n b(s);\n const f = !((c = s.assignedMap) === null || c === void 0) && c.size || s.operated ? s.copy : s.original;\n g(r ? o : e, a, f);\n } else\n me(i, n, t);\n }), o) {\n const a = e, i = Array.from(a);\n a.clear(), i.forEach((c) => {\n a.add(o.has(c) ? o.get(c) : c);\n });\n }\n}\nfunction Ce(e, n) {\n const t = e.type === 3 ? e.setMap : e.copy;\n e.finalities.revoke.length > 1 && e.assignedMap.get(n) && t && me(_(t, n), e.finalities.handledSet, e.options);\n}\nfunction Z(e) {\n e.type === 3 && e.copy && (e.copy.clear(), e.setMap.forEach((n) => {\n e.copy.add(ie(n));\n }));\n}\nfunction k(e, n, t, r) {\n if (e.operated && e.assignedMap && e.assignedMap.size > 0 && !e.finalized) {\n if (t && r) {\n const a = we(e);\n a && n(e, a, t, r);\n }\n e.finalized = !0;\n }\n}\nfunction ce(e, n, t, r) {\n const o = u(t);\n o && (o.callbacks || (o.callbacks = []), o.callbacks.push((a, i) => {\n var c;\n const s = e.type === 3 ? e.setMap : e.copy;\n if (D(_(s, n), t)) {\n let f = o.original;\n o.copy && (f = o.copy), Z(e), k(e, r, a, i), e.options.enableAutoFreeze && (e.options.updatedValues = (c = e.options.updatedValues) !== null && c !== void 0 ? c : /* @__PURE__ */ new WeakMap(), e.options.updatedValues.set(f, o.original)), g(s, n, f);\n }\n }), e.options.enableAutoFreeze && o.finalities !== e.finalities && (e.options.enableAutoFreeze = !1)), S(t, e.options) && e.finalities.draft.push(() => {\n const a = e.type === 3 ? e.setMap : e.copy;\n D(_(a, n), t) && Ce(e, n);\n });\n}\nfunction Ue(e, n, t, r, o) {\n let { original: a, assignedMap: i, options: c } = e, s = e.copy;\n s.length < a.length && ([a, s] = [s, a], [t, r] = [r, t]);\n for (let f = 0; f < a.length; f += 1)\n if (i.get(f.toString()) && s[f] !== a[f]) {\n const l = n.concat([f]), p = U(l, o);\n t.push({\n op: h.Replace,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(s[f])\n }), r.push({\n op: h.Replace,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(a[f])\n });\n }\n for (let f = a.length; f < s.length; f += 1) {\n const l = n.concat([f]), p = U(l, o);\n t.push({\n op: h.Add,\n path: p,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: Y(s[f])\n });\n }\n if (a.length < s.length) {\n const { arrayLengthAssignment: f = !0 } = c.enablePatches;\n if (f) {\n const l = n.concat([\"length\"]), p = U(l, o);\n r.push({\n op: h.Replace,\n path: p,\n value: a.length\n });\n } else\n for (let l = s.length; a.length < l; l -= 1) {\n const p = n.concat([l - 1]), y = U(p, o);\n r.push({\n op: h.Remove,\n path: y\n });\n }\n }\n}\nfunction Ie({ original: e, copy: n, assignedMap: t }, r, o, a, i) {\n t.forEach((c, s) => {\n const f = _(e, s), l = Y(_(n, s)), p = c ? B(e, s) ? h.Replace : h.Add : h.Remove;\n if (D(f, l) && p === h.Replace)\n return;\n const y = r.concat(s), w = U(y, i);\n o.push(p === h.Remove ? { op: p, path: w } : { op: p, path: w, value: l }), a.push(p === h.Add ? { op: h.Remove, path: w } : p === h.Remove ? { op: h.Add, path: w, value: f } : { op: h.Replace, path: w, value: f });\n });\n}\nfunction Fe({ original: e, copy: n }, t, r, o, a) {\n let i = 0;\n e.forEach((c) => {\n if (!n.has(c)) {\n const s = t.concat([i]), f = U(s, a);\n r.push({\n op: h.Remove,\n path: f,\n value: c\n }), o.unshift({\n op: h.Add,\n path: f,\n value: c\n });\n }\n i += 1;\n }), i = 0, n.forEach((c) => {\n if (!e.has(c)) {\n const s = t.concat([i]), f = U(s, a);\n r.push({\n op: h.Add,\n path: f,\n value: c\n }), o.unshift({\n op: h.Remove,\n path: f,\n value: c\n });\n }\n i += 1;\n });\n}\nfunction V(e, n, t, r) {\n const { pathAsArray: o = !0 } = e.options.enablePatches;\n switch (e.type) {\n case 0:\n case 2:\n return Ie(e, n, t, r, o);\n case 1:\n return Ue(e, n, t, r, o);\n case 3:\n return Fe(e, n, t, r, o);\n }\n}\nlet $e = !1;\nconst W = (e, n, t = !1) => {\n if (typeof e == \"object\" && e !== null && (!S(e, n) || t) && !$e)\n throw new Error(\"Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.\");\n}, ee = {\n get size() {\n return M(u(this)).size;\n },\n has(e) {\n return M(u(this)).has(e);\n },\n set(e, n) {\n const t = u(this), r = M(t);\n return (!r.has(e) || !D(r.get(e), n)) && (b(t), T(t), t.assignedMap.set(e, !0), t.copy.set(e, n), ce(t, e, n, V)), this;\n },\n delete(e) {\n if (!this.has(e))\n return !1;\n const n = u(this);\n return b(n), T(n), n.original.has(e) ? n.assignedMap.set(e, !1) : n.assignedMap.delete(e), n.copy.delete(e), !0;\n },\n clear() {\n const e = u(this);\n if (this.size) {\n b(e), T(e), e.assignedMap = /* @__PURE__ */ new Map();\n for (const [n] of e.original)\n e.assignedMap.set(n, !1);\n e.copy.clear();\n }\n },\n forEach(e, n) {\n const t = u(this);\n M(t).forEach((r, o) => {\n e.call(n, this.get(o), o, this);\n });\n },\n get(e) {\n var n, t;\n const r = u(this), o = M(r).get(e), a = ((t = (n = r.options).mark) === null || t === void 0 ? void 0 : t.call(n, o, v)) === v.mutable;\n if (r.options.strict && W(o, r.options, a), a || r.finalized || !S(o, r.options) || o !== r.original.get(e))\n return o;\n const i = te.createDraft({\n original: o,\n parentDraft: r,\n key: e,\n finalities: r.finalities,\n options: r.options\n });\n return b(r), r.copy.set(e, i), i;\n },\n keys() {\n return M(u(this)).keys();\n },\n values() {\n const e = this.keys();\n return {\n [K]: () => this.values(),\n next: () => {\n const n = e.next();\n return n.done ? n : {\n done: !1,\n value: this.get(n.value)\n };\n }\n };\n },\n entries() {\n const e = this.keys();\n return {\n [K]: () => this.entries(),\n next: () => {\n const n = e.next();\n if (n.done)\n return n;\n const t = this.get(n.value);\n return {\n done: !1,\n value: [n.value, t]\n };\n }\n };\n },\n [K]() {\n return this.entries();\n }\n}, Ne = Reflect.ownKeys(ee), pe = (e, n, { isValuesIterator: t }) => () => {\n var r, o;\n const a = n.next();\n if (a.done)\n return a;\n const i = a.value;\n let c = e.setMap.get(i);\n const s = u(c), f = ((o = (r = e.options).mark) === null || o === void 0 ? void 0 : o.call(r, c, v)) === v.mutable;\n if (e.options.strict && W(i, e.options, f), !f && !s && S(i, e.options) && !e.finalized && e.original.has(i)) {\n const l = te.createDraft({\n original: i,\n parentDraft: e,\n key: i,\n finalities: e.finalities,\n options: e.options\n });\n e.setMap.set(i, l), c = l;\n } else s && (c = s.proxy);\n return {\n done: !1,\n value: t ? c : [c, c]\n };\n}, J = {\n get size() {\n return u(this).setMap.size;\n },\n has(e) {\n const n = u(this);\n if (n.setMap.has(e))\n return !0;\n b(n);\n const t = u(e);\n return !!(t && n.setMap.has(t.original));\n },\n add(e) {\n const n = u(this);\n return this.has(e) || (b(n), T(n), n.assignedMap.set(e, !0), n.setMap.set(e, e), ce(n, e, e, V)), this;\n },\n delete(e) {\n if (!this.has(e))\n return !1;\n const n = u(this);\n b(n), T(n);\n const t = u(e);\n return t && n.setMap.has(t.original) ? (n.assignedMap.set(t.original, !1), n.setMap.delete(t.original)) : (!t && n.setMap.has(e) ? n.assignedMap.set(e, !1) : n.assignedMap.delete(e), n.setMap.delete(e));\n },\n clear() {\n if (!this.size)\n return;\n const e = u(this);\n b(e), T(e);\n for (const n of e.original)\n e.assignedMap.set(n, !1);\n e.setMap.clear();\n },\n values() {\n const e = u(this);\n b(e);\n const n = e.setMap.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: pe(e, n, { isValuesIterator: !0 })\n };\n },\n entries() {\n const e = u(this);\n b(e);\n const n = e.setMap.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: pe(e, n, {\n isValuesIterator: !1\n })\n };\n },\n keys() {\n return this.values();\n },\n [K]() {\n return this.values();\n },\n forEach(e, n) {\n const t = this.values();\n let r = t.next();\n for (; !r.done; )\n e.call(n, r.value, r.value, this), r = t.next();\n }\n};\nSet.prototype.difference && Object.assign(J, {\n intersection(e) {\n return Set.prototype.intersection.call(new Set(this.values()), e);\n },\n union(e) {\n return Set.prototype.union.call(new Set(this.values()), e);\n },\n difference(e) {\n return Set.prototype.difference.call(new Set(this.values()), e);\n },\n symmetricDifference(e) {\n return Set.prototype.symmetricDifference.call(new Set(this.values()), e);\n },\n isSubsetOf(e) {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), e);\n },\n isSupersetOf(e) {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), e);\n },\n isDisjointFrom(e) {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), e);\n }\n});\nconst Be = Reflect.ownKeys(J), Oe = {\n get(e, n, t) {\n var r, o;\n const a = (r = e.copy) === null || r === void 0 ? void 0 : r[n];\n if (a && e.finalities.draftsCache.has(a))\n return a;\n if (n === ye)\n return e;\n let i;\n if (e.options.mark) {\n const f = n === \"size\" && (e.original instanceof Map || e.original instanceof Set) ? Reflect.get(e.original, n) : Reflect.get(e.original, n, t);\n if (i = e.options.mark(f, v), i === v.mutable)\n return e.options.strict && W(f, e.options, !0), f;\n }\n const c = M(e);\n if (c instanceof Map && Ne.includes(n))\n return n === \"size\" ? Object.getOwnPropertyDescriptor(ee, \"size\").get.call(e.proxy) : ee[n].bind(e.proxy);\n if (c instanceof Set && Be.includes(n))\n return n === \"size\" ? Object.getOwnPropertyDescriptor(J, \"size\").get.call(e.proxy) : J[n].bind(e.proxy);\n if (!B(c, n)) {\n const f = le(c, n);\n return f ? \"value\" in f ? f.value : (\n // !case: support for getter\n (o = f.get) === null || o === void 0 ? void 0 : o.call(e.proxy)\n ) : void 0;\n }\n const s = c[n];\n if (e.options.strict && W(s, e.options), e.finalized || !S(s, e.options))\n return s;\n if (s === G(e.original, n)) {\n if (b(e), e.copy[n] = ae({\n original: e.original[n],\n parentDraft: e,\n key: e.type === 1 ? Number(n) : n,\n finalities: e.finalities,\n options: e.options\n }), typeof i == \"function\") {\n const f = u(e.copy[n]);\n return b(f), T(f), f.copy;\n }\n return e.copy[n];\n }\n return C(s) && e.finalities.draftsCache.add(s), s;\n },\n set(e, n, t) {\n var r;\n if (e.type === 3 || e.type === 2)\n throw new Error(\"Map/Set draft does not support any property assignment.\");\n let o;\n if (e.type === 1 && n !== \"length\" && !(Number.isInteger(o = Number(n)) && o >= 0 && (n === 0 || o === 0 || String(o) === String(n))))\n throw new Error(\"Only supports setting array indices and the 'length' property.\");\n const a = le(M(e), n);\n if (a != null && a.set)\n return a.set.call(e.proxy, t), !0;\n const i = G(M(e), n), c = u(i);\n return c && D(c.original, t) ? (e.copy[n] = t, e.assignedMap = (r = e.assignedMap) !== null && r !== void 0 ? r : /* @__PURE__ */ new Map(), e.assignedMap.set(n, !1), !0) : (D(t, i) && (t !== void 0 || B(e.original, n)) || (b(e), T(e), B(e.original, n) && D(t, e.original[n]) ? e.assignedMap.delete(n) : e.assignedMap.set(n, !0), e.copy[n] = t, ce(e, n, t, V)), !0);\n },\n has(e, n) {\n return n in M(e);\n },\n ownKeys(e) {\n return Reflect.ownKeys(M(e));\n },\n getOwnPropertyDescriptor(e, n) {\n const t = M(e), r = Reflect.getOwnPropertyDescriptor(t, n);\n return r && {\n writable: !0,\n configurable: e.type !== 1 || n !== \"length\",\n enumerable: r.enumerable,\n value: t[n]\n };\n },\n getPrototypeOf(e) {\n return Reflect.getPrototypeOf(e.original);\n },\n setPrototypeOf() {\n throw new Error(\"Cannot call 'setPrototypeOf()' on drafts\");\n },\n defineProperty() {\n throw new Error(\"Cannot call 'defineProperty()' on drafts\");\n },\n deleteProperty(e, n) {\n var t;\n return e.type === 1 ? Oe.set.call(this, e, n, void 0, e.proxy) : (G(e.original, n) !== void 0 || n in e.original ? (b(e), T(e), e.assignedMap.set(n, !1)) : (e.assignedMap = (t = e.assignedMap) !== null && t !== void 0 ? t : /* @__PURE__ */ new Map(), e.assignedMap.delete(n)), e.copy && delete e.copy[n], !0);\n }\n};\nfunction ae(e) {\n const { original: n, parentDraft: t, key: r, finalities: o, options: a } = e, i = I(n), c = {\n type: i,\n finalized: !1,\n parent: t,\n original: n,\n copy: null,\n proxy: null,\n finalities: o,\n options: a,\n // Mapping of draft Set items to their corresponding draft values.\n setMap: i === 3 ? new Map(n.entries()) : void 0\n };\n (r || \"key\" in e) && (c.key = r);\n const { proxy: s, revoke: f } = Proxy.revocable(i === 1 ? Object.assign([], c) : c, Oe);\n if (o.revoke.push(f), c.proxy = s, t) {\n const l = t;\n l.finalities.draft.push((p, y) => {\n var w, z;\n const x = u(s);\n let E = l.type === 3 ? l.setMap : l.copy;\n const m = _(E, r), O = u(m);\n if (O) {\n let A = O.original;\n O.operated && (A = ie(m)), Z(O), k(O, V, p, y), l.options.enableAutoFreeze && (l.options.updatedValues = (w = l.options.updatedValues) !== null && w !== void 0 ? w : /* @__PURE__ */ new WeakMap(), l.options.updatedValues.set(A, O.original)), g(E, r, A);\n }\n (z = x.callbacks) === null || z === void 0 || z.forEach((A) => {\n A(p, y);\n });\n });\n } else {\n const l = u(s);\n l.finalities.draft.push((p, y) => {\n Z(l), k(l, V, p, y);\n });\n }\n return s;\n}\nte.createDraft = ae;\nfunction Ve(e, n, t, r, o) {\n var a;\n const i = u(e), c = (a = i == null ? void 0 : i.original) !== null && a !== void 0 ? a : e, s = !!n.length;\n if (i != null && i.operated)\n for (; i.finalities.draft.length > 0; )\n i.finalities.draft.pop()(t, r);\n const f = s ? n[0] : i ? i.operated ? i.copy : i.original : e;\n return i && Q(i), o && F(f, f, i == null ? void 0 : i.options.updatedValues), [\n f,\n t && s ? [{ op: h.Replace, path: [], value: n[0] }] : t,\n r && s ? [{ op: h.Replace, path: [], value: c }] : r\n ];\n}\nfunction ge(e, n) {\n var t;\n const r = {\n draft: [],\n revoke: [],\n handledSet: /* @__PURE__ */ new WeakSet(),\n draftsCache: /* @__PURE__ */ new WeakSet()\n };\n let o, a;\n n.enablePatches && (o = [], a = []);\n const c = ((t = n.mark) === null || t === void 0 ? void 0 : t.call(n, e, v)) === v.mutable || !S(e, n) ? e : ae({\n original: e,\n parentDraft: null,\n finalities: r,\n options: n\n });\n return [\n c,\n (s = []) => {\n const [f, l, p] = Ve(c, s, o, a, n.enableAutoFreeze);\n return n.enablePatches ? [f, l, p] : f;\n }\n ];\n}\nfunction ne(e) {\n const { rootDraft: n, value: t, useRawReturn: r = !1, isRoot: o = !0 } = e;\n se(t, (a, i, c) => {\n const s = u(i);\n if (s && n && s.finalities === n.finalities) {\n e.isContainDraft = !0;\n const f = s.original;\n if (c instanceof Set) {\n const l = Array.from(c);\n c.clear(), l.forEach((p) => c.add(a === p ? f : p));\n } else\n g(c, a, f);\n } else typeof i == \"object\" && i !== null && (e.value = i, e.isRoot = !1, ne(e));\n }), o && (e.isContainDraft || console.warn(\"The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.\"), r && console.warn(\"The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.\"));\n}\nfunction Me(e) {\n var n;\n const t = u(e);\n if (!S(e, t == null ? void 0 : t.options))\n return e;\n const r = I(e);\n if (t && !t.operated)\n return t.original;\n let o;\n function a() {\n o = r === 2 ? oe(e) ? new Map(e) : new (Object.getPrototypeOf(e)).constructor(e) : r === 3 ? Array.from(t.setMap.values()) : be(e, t == null ? void 0 : t.options);\n }\n if (t) {\n t.finalized = !0;\n try {\n a();\n } finally {\n t.finalized = !1;\n }\n } else\n o = e;\n if (se(o, (i, c) => {\n if (t && D(_(t.original, i), c))\n return;\n const s = Me(c);\n s !== c && (o === e && a(), g(o, i, s));\n }), r === 3) {\n const i = (n = t == null ? void 0 : t.original) !== null && n !== void 0 ? n : o;\n return re(i) ? new Set(o) : new (Object.getPrototypeOf(i)).constructor(o);\n }\n return o;\n}\nfunction de(e) {\n if (!C(e))\n throw new Error(`current() is only used for Draft, parameter: ${e}`);\n return Me(e);\n}\nconst Le = (e) => function n(t, r, o) {\n var a, i, c;\n if (typeof t == \"function\" && typeof r != \"function\")\n return function(d, ...P) {\n return n(d, (j) => t.call(this, j, ...P), r);\n };\n const s = t, f = r;\n let l = o;\n if (typeof r != \"function\" && (l = r), l !== void 0 && Object.prototype.toString.call(l) !== \"[object Object]\")\n throw new Error(`Invalid options: ${l}, 'options' should be an object.`);\n l = Object.assign(Object.assign({}, e), l);\n const p = C(s) ? de(s) : s, y = Array.isArray(l.mark) ? (d, P) => {\n for (const j of l.mark) {\n if (typeof j != \"function\")\n throw new Error(`Invalid mark: ${j}, 'mark' should be a function.`);\n const $ = j(d, P);\n if ($)\n return $;\n }\n } : l.mark, w = (a = l.enablePatches) !== null && a !== void 0 ? a : !1, z = (i = l.strict) !== null && i !== void 0 ? i : !1, E = {\n enableAutoFreeze: (c = l.enableAutoFreeze) !== null && c !== void 0 ? c : !1,\n mark: y,\n strict: z,\n enablePatches: w\n };\n if (!S(p, E) && typeof p == \"object\" && p !== null)\n throw new Error(\"Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.\");\n const [m, O] = ge(p, E);\n if (typeof r != \"function\") {\n if (!S(p, E))\n throw new Error(\"Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.\");\n return [m, O];\n }\n let A;\n try {\n A = f(m);\n } catch (d) {\n throw Q(u(m)), d;\n }\n const fe = (d) => {\n const P = u(m);\n if (!C(d)) {\n if (d !== void 0 && !D(d, m) && (P != null && P.operated))\n throw new Error(\"Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.\");\n const $ = d == null ? void 0 : d[De];\n if ($) {\n const Pe = $[0];\n return E.strict && typeof d == \"object\" && d !== null && ne({\n rootDraft: P,\n value: d,\n useRawReturn: !0\n }), O([Pe]);\n }\n if (d !== void 0)\n return typeof d == \"object\" && d !== null && ne({ rootDraft: P, value: d }), O([d]);\n }\n if (d === m || d === void 0)\n return O([]);\n const j = u(d);\n if (E === j.options) {\n if (j.operated)\n throw new Error(\"Cannot return a modified child draft.\");\n return O([de(d)]);\n }\n return O([d]);\n };\n return A instanceof Promise ? A.then(fe, (d) => {\n throw Q(u(m)), d;\n }) : fe(A);\n}, ve = Le();\nObject.prototype.constructor.toString();\nconst Re = (e) => typeof e == \"string\" && e.startsWith(\"data:\"), X = (e) => {\n const n = e.match(/^data:([^;]+)/);\n return n ? n[1] : R.OCTET_STREAM;\n}, Se = (e) => {\n var r;\n const n = {}, t = (r = e.match(/^data:[^;]+;([^,]+),/)) == null ? void 0 : r[1];\n return t && t.split(\";\").forEach((o) => {\n const [a, i] = o.split(\"=\");\n a && i && (n[a] = i);\n }), n;\n}, Ge = (e) => {\n const n = encodeURIComponent(e);\n return `data:${R.TEXT};charset=utf-8,${n}`;\n}, Qe = (e) => {\n const n = JSON.stringify(e), t = encodeURIComponent(n);\n return `data:${R.JSON};charset=utf-8,${t}`;\n}, Ee = (e) => {\n const n = new Uint8Array(e), t = btoa(String.fromCharCode(...n));\n return `data:${R.OCTET_STREAM};base64,${t}`;\n}, Ze = (e, n) => {\n const t = e.buffer, r = new Uint8Array(t), o = btoa(String.fromCharCode(...r));\n return `data:${R.TYPED_ARRAY}${n};base64,${o}`;\n}, q = async (e, n) => {\n if (We(e)) {\n const i = ze(e);\n if (!i)\n throw new Error(\"Invalid URL data URL\");\n const c = await fetch(i, { ...n, redirect: \"follow\" });\n if (!c.ok)\n throw new Error(`Failed to fetch ${i}: ${c.statusText}`);\n return c.arrayBuffer();\n }\n const t = e.indexOf(\",\");\n if (t === -1)\n throw new Error(\"Invalid data URL format\");\n const r = e.substring(0, t), o = e.substring(t + 1);\n if (r.includes(\";base64\")) {\n if (!o)\n return new ArrayBuffer(0);\n const i = atob(o), c = new Uint8Array(i.length);\n for (let s = 0; s < i.length; s++)\n c[s] = i.charCodeAt(s);\n return c.buffer;\n } else {\n const i = o ? decodeURIComponent(o) : \"\";\n return new TextEncoder().encode(i).buffer;\n }\n}, Ae = async (e, n) => {\n const t = await q(e, n);\n return new TextDecoder().decode(t);\n}, Ke = async (e, n) => {\n const t = await Ae(e, n);\n return JSON.parse(t);\n}, Ye = async (e, n) => {\n const r = Se(e).type;\n if (!r)\n throw new Error(\"Data URL does not contain type parameter\");\n const o = await q(e, n), a = globalThis[r];\n return new a(o);\n}, ke = async (e, n, t) => {\n const r = X(e), o = await q(e, t);\n if (!n) {\n const a = await crypto.subtle.digest(\"SHA-256\", o);\n n = Array.from(new Uint8Array(a)).map((c) => c.toString(16).padStart(2, \"0\")).join(\"\");\n }\n return new File([o], n, { type: r });\n}, Te = async (e, n) => {\n const t = `data:${R.URI};charset=utf-8,${encodeURIComponent(e)}`;\n if (n) {\n const r = await fetch(e, { ...n, redirect: \"follow\" });\n if (!r.ok)\n throw new Error(`Failed to fetch ${e}: ${r.statusText}`);\n const o = await r.arrayBuffer();\n return Ee(o);\n }\n return t;\n}, ze = (e) => X(e) !== R.URI ? null : decodeURIComponent(e.split(\",\")[1]), We = (e) => X(e) === R.URI, en = async (e, n) => {\n if (typeof e == \"string\")\n return Te(e, n);\n const t = await e.arrayBuffer();\n return Ee(t);\n}, nn = async (e, n) => {\n const t = ze(e);\n if (!t)\n throw new Error(\"Data URL does not contain a URL reference\");\n return Te(t, n);\n}, tn = async (e, n, t) => {\n const r = [], o = (s) => new TextEncoder().encode(JSON.stringify(s)).length, a = (s) => s === null ? \"null\" : Array.isArray(s) ? \"array\" : s instanceof Uint8Array ? \"Uint8Array\" : s instanceof ArrayBuffer ? \"ArrayBuffer\" : ArrayBuffer.isView(s) ? s.constructor.name : typeof s, i = (s, f = []) => {\n if (s == null || typeof s != \"object\" || typeof s == \"string\" && Re(s))\n return;\n if (o(s) > n && f.length > 0) {\n const y = a(s), w = JSON.stringify(s), z = t(w, y).then((x) => ({\n url: x,\n originalType: y\n }));\n r.push({ path: [...f], promise: z });\n return;\n }\n Array.isArray(s) ? s.forEach((y, w) => {\n i(y, [...f, w]);\n }) : Object.keys(s).forEach((y) => {\n i(s[y], [...f, y]);\n });\n };\n if (i(e), r.length === 0)\n return e;\n const c = await Promise.all(r.map((s) => s.promise));\n return ve(e, (s) => {\n r.forEach(({ path: f }, l) => {\n const { url: p, originalType: y } = c[l], w = encodeURIComponent(p), z = `data:${R.URI};type=${y};charset=utf-8,${w}`;\n let x = s;\n for (let m = 0; m < f.length - 1; m++)\n x = x[f[m]];\n const E = f[f.length - 1];\n x[E] = z;\n });\n });\n}, rn = async (e, n) => {\n const t = [], r = (a, i = []) => {\n if (a != null)\n if (typeof a == \"string\" && Re(a)) {\n const c = Je(a, n);\n t.push({ path: [...i], promise: c });\n } else Array.isArray(a) ? a.forEach((c, s) => {\n r(c, [...i, s]);\n }) : typeof a == \"object\" && Object.keys(a).forEach((c) => {\n r(a[c], [...i, c]);\n });\n };\n if (r(e), t.length === 0)\n return e;\n const o = await Promise.all(t.map((a) => a.promise));\n return ve(e, (a) => {\n t.forEach(({ path: i }, c) => {\n let s = a;\n for (let l = 0; l < i.length - 1; l++)\n s = s[i[l]];\n const f = i[i.length - 1];\n s[f] = o[c];\n });\n });\n}, Je = async (e, n) => {\n const t = X(e), r = Se(e);\n return t === R.JSON ? Ke(e, n) : t === R.TEXT ? Ae(e, n) : t === R.OCTET_STREAM && r.type ? Ye(e, n) : q(e, n);\n};\nvar he = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", He = typeof Uint8Array > \"u\" ? [] : new Uint8Array(256);\nfor (var L = 0; L < he.length; L++)\n He[he.charCodeAt(L)] = L;\nvar H;\n(function(e) {\n e.base64 = \"base64\", e.url = \"url\", e.utf8 = \"utf8\", e.json = \"json\", e.key = \"key\";\n})(H || (H = {}));\nconst Xe = Object.keys(H).filter((e) => isNaN(Number(e)));\nnew Set(Xe);\nH.utf8;\nconst qe = (e) => !!(e && typeof e == \"object\" && // until we get this in:\n// https://github.com/metapages/dataref/issues/1\n// then we fail on previous versions that assumed type\n// was \"url\" if missing, ugh.\n// (value as DataRef)?.type &&\n// DataRefTypesSet.has((value as DataRef).type!) &&\n(e == null ? void 0 : e.value) !== void 0);\nnew TextEncoder();\nconst on = (e) => !!(e && typeof e == \"string\" && e.startsWith(\"data:\")) || qe(e);\nexport {\n R as MIME_TYPES,\n Ee as bufferToDataUrl,\n tn as convertLargeObjectsToDataRefs,\n q as dataUrlToBuffer,\n ke as dataUrlToFile,\n Ke as dataUrlToJson,\n Ae as dataUrlToText,\n Ye as dataUrlToTypedArray,\n ze as dataUrlToUrl,\n rn as dereferenceDataRefs,\n nn as fetchDataUrlContent,\n en as fileToDataUrl,\n X as getMimeType,\n Se as getParameters,\n on as isDataRef,\n Re as isDataUrl,\n We as isUrlDataUrl,\n Qe as jsonToDataUrl,\n Ge as textToDataUrl,\n Ze as typedArrayToDataUrl,\n Te as urlToDataUrl\n};\n//# sourceMappingURL=index.js.map\n",null,null,null,null,"'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","function p(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar V = function(t, n) {\n n || (n = {}), typeof n == \"function\" && (n = { cmp: n });\n var r = typeof n.cycles == \"boolean\" ? n.cycles : !1, e = n.cmp && /* @__PURE__ */ function(s) {\n return function(a) {\n return function(c, l) {\n var h = { key: c, value: a[c] }, i = { key: l, value: a[l] };\n return s(h, i);\n };\n };\n }(n.cmp), o = [];\n return function s(a) {\n if (a && a.toJSON && typeof a.toJSON == \"function\" && (a = a.toJSON()), a !== void 0) {\n if (typeof a == \"number\") return isFinite(a) ? \"\" + a : \"null\";\n if (typeof a != \"object\") return JSON.stringify(a);\n var c, l;\n if (Array.isArray(a)) {\n for (l = \"[\", c = 0; c < a.length; c++)\n c && (l += \",\"), l += s(a[c]) || \"null\";\n return l + \"]\";\n }\n if (a === null) return \"null\";\n if (o.indexOf(a) !== -1) {\n if (r) return JSON.stringify(\"__cycle__\");\n throw new TypeError(\"Converting circular structure to JSON\");\n }\n var h = o.push(a) - 1, i = Object.keys(a).sort(e && e(a));\n for (l = \"\", c = 0; c < i.length; c++) {\n var f = i[c], b = s(a[f]);\n b && (l && (l += \",\"), l += JSON.stringify(f) + \":\" + b);\n }\n return o.splice(h, 1), \"{\" + l + \"}\";\n }\n }(t);\n};\nconst F = /* @__PURE__ */ p(V), S = (t) => H(F(t)), U = (t) => {\n if (t && t.length > 0)\n try {\n return JSON.parse(y(t));\n } catch {\n return JSON.parse(decodeURIComponent(atob(decodeURIComponent(t))));\n }\n}, H = (t) => btoa(encodeURIComponent(t)), y = (t) => {\n try {\n return decodeURIComponent(atob(t));\n } catch {\n return decodeURIComponent(atob(decodeURIComponent(t)));\n }\n}, I = (t) => {\n const n = t instanceof URL ? t : new URL(t);\n return P(n.hash);\n}, P = (t) => {\n let n = t;\n for (; n.startsWith(\"#\"); )\n n = n.substring(1);\n const r = n.indexOf(\"?\");\n if (r === -1)\n return [n, {}];\n const e = n.substring(0, r);\n n = n.substring(r + 1);\n const o = {};\n return n.split(\"&\").filter((s) => s.length > 0).map((s) => {\n const a = s.indexOf(\"=\");\n if (a === -1)\n return [s, \"\"];\n const c = s.substring(0, a), l = s.substring(a + 1);\n return [c, l];\n }).forEach(([s, a]) => {\n o[s] = a;\n }), Object.keys(o).forEach((s) => {\n o[s] = o[s];\n }), [e, o];\n}, d = (t, n) => {\n const [r, e] = I(t);\n return e[n];\n}, u = () => typeof window < \"u\" && typeof globalThis.location < \"u\", N = (t) => {\n if (u())\n return O()[1][t];\n}, O = () => u() ? I(globalThis.location.href) : [\"\", {}], g = (t, n, r) => {\n if (!u())\n return;\n const e = globalThis.location.hash.startsWith(\"#\") ? globalThis.location.hash.substring(1) : globalThis.location.hash, o = v(e, t, n);\n o !== e && (r != null && r.modifyHistory ? globalThis.location.hash = o : (globalThis.history.replaceState(null, typeof document < \"u\" ? document.title : \"\", `${globalThis.location.pathname}${globalThis.location.search}${o.startsWith(\"#\") ? \"\" : \"#\"}${o}`), globalThis.dispatchEvent(new HashChangeEvent(\"hashchange\"))));\n}, v = (t, n, r) => {\n const [e, o] = P(t);\n let s = !1;\n if (o.hasOwnProperty(n) && r === null || r === void 0 ? (delete o[n], s = !0) : o[n] !== r && (o[n] = r, s = !0), !s)\n return t;\n const a = Object.keys(o);\n a.sort();\n const c = a.map((l, h) => {\n const i = o[l];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${l}=${i}`;\n }).join(\"&\");\n return !e && !c ? \"\" : `${e || \"\"}${c ? \"?\" + c : \"\"}`;\n}, W = (t, n) => {\n let r = t;\n for (; r.startsWith(\"#\"); )\n r = r.substring(1);\n const e = r.indexOf(\"?\"), o = e === -1 ? r : r.substring(0, e), s = {};\n if (e !== -1) {\n const h = r.substring(e + 1);\n h.length > 0 && h.split(\"&\").forEach((i) => {\n if (i.length > 0) {\n const f = i.indexOf(\"=\");\n if (f === -1)\n s[i] = \"\";\n else {\n const b = i.substring(0, f), w = i.substring(f + 1);\n s[b] = w;\n }\n }\n });\n }\n let a = !1;\n for (const [h, i] of Object.entries(n))\n i == null ? s.hasOwnProperty(h) && (delete s[h], a = !0) : s[h] !== i && (s[h] = i, a = !0);\n if (!a)\n return t;\n const c = Object.keys(s);\n c.sort();\n const l = c.map((h) => {\n const i = s[h];\n return /^[A-Za-z0-9+/]+={0,2}$/.test(i) && i.length % 4, `${h}=${i}`;\n }).join(\"&\");\n return !o && !l ? \"\" : `${o || \"\"}${l ? \"?\" + l : \"\"}`;\n}, m = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t), o = v(e.hash, n, r);\n return e.hash = o, e;\n}, x = (t, n) => {\n const r = t instanceof URL ? t : new URL(t);\n let e = W(r.hash, n);\n return r.hash = e, r;\n}, L = (t, n, r) => {\n const e = t instanceof URL ? t : new URL(t);\n return e.hash = B(e.hash, n, r), e;\n}, T = (t, n) => {\n const r = d(t, n);\n if (r && r !== \"\")\n return U(r);\n}, _ = (t, n) => {\n const [r, e] = P(t), o = e[n];\n if (o && o !== \"\")\n return U(o);\n}, k = (t, n, r) => {\n const e = n ? S(n) : void 0;\n g(t, e, r);\n}, D = (t) => {\n if (u())\n return T(globalThis.location.href, t);\n}, B = (t, n, r) => {\n const e = r ? S(r) : void 0;\n return v(t, n, e);\n}, A = (t, n, r) => m(t, n, r ? r.toString() : void 0), R = (t, n) => {\n const r = d(t, n);\n return r ? parseFloat(r) : void 0;\n}, J = (t, n, r) => {\n g(t, n != null ? n.toString() : void 0, r);\n}, q = (t) => {\n if (u())\n return R(globalThis.location.href, t);\n}, z = (t, n, r) => m(t, n, r != null ? r.toString() : void 0), j = (t, n) => {\n const r = d(t, n);\n return r ? parseInt(r) : void 0;\n}, Z = (t, n, r) => {\n J(t, n, r);\n}, M = (t) => {\n if (u())\n return j(globalThis.location.href, t);\n}, G = (t, n, r) => m(t, n, r ? \"true\" : void 0), $ = (t, n) => d(t, n) === \"true\", K = (t, n, r) => {\n g(t, n ? \"true\" : void 0, r);\n}, Q = (t) => {\n if (u())\n return $(globalThis.location.href, t);\n}, X = (t, n, r) => m(t, n, r == null ? void 0 : H(r)), C = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? y(r) : void 0;\n}, Y = (t, n, r) => {\n const e = n == null ? void 0 : H(n);\n g(t, e, r);\n}, tt = (t) => {\n if (u())\n return C(globalThis.location.href, t);\n}, nt = (t, n, r) => m(t, n, r == null ? void 0 : encodeURIComponent(r)), E = (t, n) => {\n const r = d(t, n);\n return r && r !== \"\" ? decodeURIComponent(r) : void 0;\n}, rt = (t, n, r) => {\n const e = n == null ? void 0 : encodeURIComponent(n);\n g(t, e, r);\n}, et = (t) => {\n if (u())\n return E(globalThis.location.href, t);\n}, at = (t, n) => {\n g(t, void 0, n);\n}, ot = (t, n) => m(t, n, void 0);\nexport {\n U as blobFromBase64String,\n S as blobToBase64String,\n W as createHashParamValuesInHashString,\n ot as deleteHashParamFromUrl,\n at as deleteHashParamFromWindow,\n N as getHashParamFromWindow,\n d as getHashParamValue,\n C as getHashParamValueBase64DecodedFromUrl,\n tt as getHashParamValueBase64DecodedFromWindow,\n $ as getHashParamValueBooleanFromUrl,\n Q as getHashParamValueBooleanFromWindow,\n R as getHashParamValueFloatFromUrl,\n q as getHashParamValueFloatFromWindow,\n j as getHashParamValueIntFromUrl,\n M as getHashParamValueIntFromWindow,\n _ as getHashParamValueJsonFromHashString,\n T as getHashParamValueJsonFromUrl,\n D as getHashParamValueJsonFromWindow,\n E as getHashParamValueUriDecodedFromUrl,\n et as getHashParamValueUriDecodedFromWindow,\n O as getHashParamsFromWindow,\n I as getUrlHashParams,\n P as getUrlHashParamsFromHashString,\n g as setHashParamInWindow,\n X as setHashParamValueBase64EncodedInUrl,\n Y as setHashParamValueBase64EncodedInWindow,\n G as setHashParamValueBooleanInUrl,\n K as setHashParamValueBooleanInWindow,\n A as setHashParamValueFloatInUrl,\n J as setHashParamValueFloatInWindow,\n v as setHashParamValueInHashString,\n m as setHashParamValueInUrl,\n z as setHashParamValueIntInUrl,\n Z as setHashParamValueIntInWindow,\n B as setHashParamValueJsonInHashString,\n L as setHashParamValueJsonInUrl,\n k as setHashParamValueJsonInWindow,\n nt as setHashParamValueUriEncodedInUrl,\n rt as setHashParamValueUriEncodedInWindow,\n x as setHashParamsInUrl,\n y as stringFromBase64String,\n H as stringToBase64String\n};\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n",null,null,null,"'use strict';\n\nconst WIN_SLASH = '\\\\\\\\/';\nconst WIN_NO_SLASH = `[^${WIN_SLASH}]`;\n\n/**\n * Posix glob regex\n */\n\nconst DOT_LITERAL = '\\\\.';\nconst PLUS_LITERAL = '\\\\+';\nconst QMARK_LITERAL = '\\\\?';\nconst SLASH_LITERAL = '\\\\/';\nconst ONE_CHAR = '(?=.)';\nconst QMARK = '[^/]';\nconst END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;\nconst START_ANCHOR = `(?:^|${SLASH_LITERAL})`;\nconst DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;\nconst NO_DOT = `(?!${DOT_LITERAL})`;\nconst NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;\nconst NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;\nconst NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;\nconst QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;\nconst STAR = `${QMARK}*?`;\nconst SEP = '/';\n\nconst POSIX_CHARS = {\n DOT_LITERAL,\n PLUS_LITERAL,\n QMARK_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n QMARK,\n END_ANCHOR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOTS,\n NO_DOT_SLASH,\n NO_DOTS_SLASH,\n QMARK_NO_DOT,\n STAR,\n START_ANCHOR,\n SEP\n};\n\n/**\n * Windows glob regex\n */\n\nconst WINDOWS_CHARS = {\n ...POSIX_CHARS,\n\n SLASH_LITERAL: `[${WIN_SLASH}]`,\n QMARK: WIN_NO_SLASH,\n STAR: `${WIN_NO_SLASH}*?`,\n DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,\n NO_DOT: `(?!${DOT_LITERAL})`,\n NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,\n NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,\n NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,\n QMARK_NO_DOT: `[^.${WIN_SLASH}]`,\n START_ANCHOR: `(?:^|[${WIN_SLASH}])`,\n END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,\n SEP: '\\\\'\n};\n\n/**\n * POSIX Bracket Regex\n */\n\nconst POSIX_REGEX_SOURCE = {\n alnum: 'a-zA-Z0-9',\n alpha: 'a-zA-Z',\n ascii: '\\\\x00-\\\\x7F',\n blank: ' \\\\t',\n cntrl: '\\\\x00-\\\\x1F\\\\x7F',\n digit: '0-9',\n graph: '\\\\x21-\\\\x7E',\n lower: 'a-z',\n print: '\\\\x20-\\\\x7E ',\n punct: '\\\\-!\"#$%&\\'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~',\n space: ' \\\\t\\\\r\\\\n\\\\v\\\\f',\n upper: 'A-Z',\n word: 'A-Za-z0-9_',\n xdigit: 'A-Fa-f0-9'\n};\n\nmodule.exports = {\n MAX_LENGTH: 1024 * 64,\n POSIX_REGEX_SOURCE,\n\n // regular expressions\n REGEX_BACKSLASH: /\\\\(?![*+?^${}(|)[\\]])/g,\n REGEX_NON_SPECIAL_CHARS: /^[^@![\\].,$*+?^{}()|\\\\/]+/,\n REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\\]]/,\n REGEX_SPECIAL_CHARS_BACKREF: /(\\\\?)((\\W)(\\3*))/g,\n REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\\]])/g,\n REGEX_REMOVE_BACKSLASH: /(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,\n\n // Replace globs with equivalent patterns to reduce parsing time.\n REPLACEMENTS: {\n __proto__: null,\n '***': '*',\n '**/**': '**',\n '**/**/**': '**'\n },\n\n // Digits\n CHAR_0: 48, /* 0 */\n CHAR_9: 57, /* 9 */\n\n // Alphabet chars.\n CHAR_UPPERCASE_A: 65, /* A */\n CHAR_LOWERCASE_A: 97, /* a */\n CHAR_UPPERCASE_Z: 90, /* Z */\n CHAR_LOWERCASE_Z: 122, /* z */\n\n CHAR_LEFT_PARENTHESES: 40, /* ( */\n CHAR_RIGHT_PARENTHESES: 41, /* ) */\n\n CHAR_ASTERISK: 42, /* * */\n\n // Non-alphabetic chars.\n CHAR_AMPERSAND: 38, /* & */\n CHAR_AT: 64, /* @ */\n CHAR_BACKWARD_SLASH: 92, /* \\ */\n CHAR_CARRIAGE_RETURN: 13, /* \\r */\n CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */\n CHAR_COLON: 58, /* : */\n CHAR_COMMA: 44, /* , */\n CHAR_DOT: 46, /* . */\n CHAR_DOUBLE_QUOTE: 34, /* \" */\n CHAR_EQUAL: 61, /* = */\n CHAR_EXCLAMATION_MARK: 33, /* ! */\n CHAR_FORM_FEED: 12, /* \\f */\n CHAR_FORWARD_SLASH: 47, /* / */\n CHAR_GRAVE_ACCENT: 96, /* ` */\n CHAR_HASH: 35, /* # */\n CHAR_HYPHEN_MINUS: 45, /* - */\n CHAR_LEFT_ANGLE_BRACKET: 60, /* < */\n CHAR_LEFT_CURLY_BRACE: 123, /* { */\n CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */\n CHAR_LINE_FEED: 10, /* \\n */\n CHAR_NO_BREAK_SPACE: 160, /* \\u00A0 */\n CHAR_PERCENT: 37, /* % */\n CHAR_PLUS: 43, /* + */\n CHAR_QUESTION_MARK: 63, /* ? */\n CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */\n CHAR_RIGHT_CURLY_BRACE: 125, /* } */\n CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */\n CHAR_SEMICOLON: 59, /* ; */\n CHAR_SINGLE_QUOTE: 39, /* ' */\n CHAR_SPACE: 32, /* */\n CHAR_TAB: 9, /* \\t */\n CHAR_UNDERSCORE: 95, /* _ */\n CHAR_VERTICAL_LINE: 124, /* | */\n CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \\uFEFF */\n\n /**\n * Create EXTGLOB_CHARS\n */\n\n extglobChars(chars) {\n return {\n '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },\n '?': { type: 'qmark', open: '(?:', close: ')?' },\n '+': { type: 'plus', open: '(?:', close: ')+' },\n '*': { type: 'star', open: '(?:', close: ')*' },\n '@': { type: 'at', open: '(?:', close: ')' }\n };\n },\n\n /**\n * Create GLOB_CHARS\n */\n\n globChars(win32) {\n return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;\n }\n};\n","/*global navigator*/\n'use strict';\n\nconst {\n REGEX_BACKSLASH,\n REGEX_REMOVE_BACKSLASH,\n REGEX_SPECIAL_CHARS,\n REGEX_SPECIAL_CHARS_GLOBAL\n} = require('./constants');\n\nexports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);\nexports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);\nexports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);\nexports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\\\$1');\nexports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');\n\nexports.isWindows = () => {\n if (typeof navigator !== 'undefined' && navigator.platform) {\n const platform = navigator.platform.toLowerCase();\n return platform === 'win32' || platform === 'windows';\n }\n\n if (typeof process !== 'undefined' && process.platform) {\n return process.platform === 'win32';\n }\n\n return false;\n};\n\nexports.removeBackslashes = str => {\n return str.replace(REGEX_REMOVE_BACKSLASH, match => {\n return match === '\\\\' ? '' : match;\n });\n};\n\nexports.escapeLast = (input, char, lastIdx) => {\n const idx = input.lastIndexOf(char, lastIdx);\n if (idx === -1) return input;\n if (input[idx - 1] === '\\\\') return exports.escapeLast(input, char, idx - 1);\n return `${input.slice(0, idx)}\\\\${input.slice(idx)}`;\n};\n\nexports.removePrefix = (input, state = {}) => {\n let output = input;\n if (output.startsWith('./')) {\n output = output.slice(2);\n state.prefix = './';\n }\n return output;\n};\n\nexports.wrapOutput = (input, state = {}, options = {}) => {\n const prepend = options.contains ? '' : '^';\n const append = options.contains ? '' : '$';\n\n let output = `${prepend}(?:${input})${append}`;\n if (state.negated === true) {\n output = `(?:^(?!${output}).*$)`;\n }\n return output;\n};\n\nexports.basename = (path, { windows } = {}) => {\n const segs = path.split(windows ? /[\\\\/]/ : '/');\n const last = segs[segs.length - 1];\n\n if (last === '') {\n return segs[segs.length - 2];\n }\n\n return last;\n};\n","'use strict';\n\nconst utils = require('./utils');\nconst {\n CHAR_ASTERISK, /* * */\n CHAR_AT, /* @ */\n CHAR_BACKWARD_SLASH, /* \\ */\n CHAR_COMMA, /* , */\n CHAR_DOT, /* . */\n CHAR_EXCLAMATION_MARK, /* ! */\n CHAR_FORWARD_SLASH, /* / */\n CHAR_LEFT_CURLY_BRACE, /* { */\n CHAR_LEFT_PARENTHESES, /* ( */\n CHAR_LEFT_SQUARE_BRACKET, /* [ */\n CHAR_PLUS, /* + */\n CHAR_QUESTION_MARK, /* ? */\n CHAR_RIGHT_CURLY_BRACE, /* } */\n CHAR_RIGHT_PARENTHESES, /* ) */\n CHAR_RIGHT_SQUARE_BRACKET /* ] */\n} = require('./constants');\n\nconst isPathSeparator = code => {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n};\n\nconst depth = token => {\n if (token.isPrefix !== true) {\n token.depth = token.isGlobstar ? Infinity : 1;\n }\n};\n\n/**\n * Quickly scans a glob pattern and returns an object with a handful of\n * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),\n * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not\n * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).\n *\n * ```js\n * const pm = require('picomatch');\n * console.log(pm.scan('foo/bar/*.js'));\n * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {Object} Returns an object with tokens and regex source string.\n * @api public\n */\n\nconst scan = (input, options) => {\n const opts = options || {};\n\n const length = input.length - 1;\n const scanToEnd = opts.parts === true || opts.scanToEnd === true;\n const slashes = [];\n const tokens = [];\n const parts = [];\n\n let str = input;\n let index = -1;\n let start = 0;\n let lastIndex = 0;\n let isBrace = false;\n let isBracket = false;\n let isGlob = false;\n let isExtglob = false;\n let isGlobstar = false;\n let braceEscaped = false;\n let backslashes = false;\n let negated = false;\n let negatedExtglob = false;\n let finished = false;\n let braces = 0;\n let prev;\n let code;\n let token = { value: '', depth: 0, isGlob: false };\n\n const eos = () => index >= length;\n const peek = () => str.charCodeAt(index + 1);\n const advance = () => {\n prev = code;\n return str.charCodeAt(++index);\n };\n\n while (index < length) {\n code = advance();\n let next;\n\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n code = advance();\n\n if (code === CHAR_LEFT_CURLY_BRACE) {\n braceEscaped = true;\n }\n continue;\n }\n\n if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {\n braces++;\n\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n advance();\n continue;\n }\n\n if (code === CHAR_LEFT_CURLY_BRACE) {\n braces++;\n continue;\n }\n\n if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {\n isBrace = token.isBrace = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (braceEscaped !== true && code === CHAR_COMMA) {\n isBrace = token.isBrace = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (code === CHAR_RIGHT_CURLY_BRACE) {\n braces--;\n\n if (braces === 0) {\n braceEscaped = false;\n isBrace = token.isBrace = true;\n finished = true;\n break;\n }\n }\n }\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (code === CHAR_FORWARD_SLASH) {\n slashes.push(index);\n tokens.push(token);\n token = { value: '', depth: 0, isGlob: false };\n\n if (finished === true) continue;\n if (prev === CHAR_DOT && index === (start + 1)) {\n start += 2;\n continue;\n }\n\n lastIndex = index + 1;\n continue;\n }\n\n if (opts.noext !== true) {\n const isExtglobChar = code === CHAR_PLUS\n || code === CHAR_AT\n || code === CHAR_ASTERISK\n || code === CHAR_QUESTION_MARK\n || code === CHAR_EXCLAMATION_MARK;\n\n if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {\n isGlob = token.isGlob = true;\n isExtglob = token.isExtglob = true;\n finished = true;\n if (code === CHAR_EXCLAMATION_MARK && index === start) {\n negatedExtglob = true;\n }\n\n if (scanToEnd === true) {\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n code = advance();\n continue;\n }\n\n if (code === CHAR_RIGHT_PARENTHESES) {\n isGlob = token.isGlob = true;\n finished = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n }\n\n if (code === CHAR_ASTERISK) {\n if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n break;\n }\n\n if (code === CHAR_QUESTION_MARK) {\n isGlob = token.isGlob = true;\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n break;\n }\n\n if (code === CHAR_LEFT_SQUARE_BRACKET) {\n while (eos() !== true && (next = advance())) {\n if (next === CHAR_BACKWARD_SLASH) {\n backslashes = token.backslashes = true;\n advance();\n continue;\n }\n\n if (next === CHAR_RIGHT_SQUARE_BRACKET) {\n isBracket = token.isBracket = true;\n isGlob = token.isGlob = true;\n finished = true;\n break;\n }\n }\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n\n if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {\n negated = token.negated = true;\n start++;\n continue;\n }\n\n if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {\n isGlob = token.isGlob = true;\n\n if (scanToEnd === true) {\n while (eos() !== true && (code = advance())) {\n if (code === CHAR_LEFT_PARENTHESES) {\n backslashes = token.backslashes = true;\n code = advance();\n continue;\n }\n\n if (code === CHAR_RIGHT_PARENTHESES) {\n finished = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n\n if (isGlob === true) {\n finished = true;\n\n if (scanToEnd === true) {\n continue;\n }\n\n break;\n }\n }\n\n if (opts.noext === true) {\n isExtglob = false;\n isGlob = false;\n }\n\n let base = str;\n let prefix = '';\n let glob = '';\n\n if (start > 0) {\n prefix = str.slice(0, start);\n str = str.slice(start);\n lastIndex -= start;\n }\n\n if (base && isGlob === true && lastIndex > 0) {\n base = str.slice(0, lastIndex);\n glob = str.slice(lastIndex);\n } else if (isGlob === true) {\n base = '';\n glob = str;\n } else {\n base = str;\n }\n\n if (base && base !== '' && base !== '/' && base !== str) {\n if (isPathSeparator(base.charCodeAt(base.length - 1))) {\n base = base.slice(0, -1);\n }\n }\n\n if (opts.unescape === true) {\n if (glob) glob = utils.removeBackslashes(glob);\n\n if (base && backslashes === true) {\n base = utils.removeBackslashes(base);\n }\n }\n\n const state = {\n prefix,\n input,\n start,\n base,\n glob,\n isBrace,\n isBracket,\n isGlob,\n isExtglob,\n isGlobstar,\n negated,\n negatedExtglob\n };\n\n if (opts.tokens === true) {\n state.maxDepth = 0;\n if (!isPathSeparator(code)) {\n tokens.push(token);\n }\n state.tokens = tokens;\n }\n\n if (opts.parts === true || opts.tokens === true) {\n let prevIndex;\n\n for (let idx = 0; idx < slashes.length; idx++) {\n const n = prevIndex ? prevIndex + 1 : start;\n const i = slashes[idx];\n const value = input.slice(n, i);\n if (opts.tokens) {\n if (idx === 0 && start !== 0) {\n tokens[idx].isPrefix = true;\n tokens[idx].value = prefix;\n } else {\n tokens[idx].value = value;\n }\n depth(tokens[idx]);\n state.maxDepth += tokens[idx].depth;\n }\n if (idx !== 0 || value !== '') {\n parts.push(value);\n }\n prevIndex = i;\n }\n\n if (prevIndex && prevIndex + 1 < input.length) {\n const value = input.slice(prevIndex + 1);\n parts.push(value);\n\n if (opts.tokens) {\n tokens[tokens.length - 1].value = value;\n depth(tokens[tokens.length - 1]);\n state.maxDepth += tokens[tokens.length - 1].depth;\n }\n }\n\n state.slashes = slashes;\n state.parts = parts;\n }\n\n return state;\n};\n\nmodule.exports = scan;\n","'use strict';\n\nconst constants = require('./constants');\nconst utils = require('./utils');\n\n/**\n * Constants\n */\n\nconst {\n MAX_LENGTH,\n POSIX_REGEX_SOURCE,\n REGEX_NON_SPECIAL_CHARS,\n REGEX_SPECIAL_CHARS_BACKREF,\n REPLACEMENTS\n} = constants;\n\n/**\n * Helpers\n */\n\nconst expandRange = (args, options) => {\n if (typeof options.expandRange === 'function') {\n return options.expandRange(...args, options);\n }\n\n args.sort();\n const value = `[${args.join('-')}]`;\n\n try {\n /* eslint-disable-next-line no-new */\n new RegExp(value);\n } catch (ex) {\n return args.map(v => utils.escapeRegex(v)).join('..');\n }\n\n return value;\n};\n\n/**\n * Create the message for a syntax error\n */\n\nconst syntaxError = (type, char) => {\n return `Missing ${type}: \"${char}\" - use \"\\\\\\\\${char}\" to match literal characters`;\n};\n\n/**\n * Parse the given input string.\n * @param {String} input\n * @param {Object} options\n * @return {Object}\n */\n\nconst parse = (input, options) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n input = REPLACEMENTS[input] || input;\n\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n\n let len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n const bos = { type: 'bos', value: '', output: opts.prepend || '' };\n const tokens = [bos];\n\n const capture = opts.capture ? '' : '?:';\n\n // create constants based on platform, for windows or posix\n const PLATFORM_CHARS = constants.globChars(opts.windows);\n const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);\n\n const {\n DOT_LITERAL,\n PLUS_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOT_SLASH,\n NO_DOTS_SLASH,\n QMARK,\n QMARK_NO_DOT,\n STAR,\n START_ANCHOR\n } = PLATFORM_CHARS;\n\n const globstar = opts => {\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const nodot = opts.dot ? '' : NO_DOT;\n const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;\n let star = opts.bash === true ? globstar(opts) : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n // minimatch options support\n if (typeof opts.noext === 'boolean') {\n opts.noextglob = opts.noext;\n }\n\n const state = {\n input,\n index: -1,\n start: 0,\n dot: opts.dot === true,\n consumed: '',\n output: '',\n prefix: '',\n backtrack: false,\n negated: false,\n brackets: 0,\n braces: 0,\n parens: 0,\n quotes: 0,\n globstar: false,\n tokens\n };\n\n input = utils.removePrefix(input, state);\n len = input.length;\n\n const extglobs = [];\n const braces = [];\n const stack = [];\n let prev = bos;\n let value;\n\n /**\n * Tokenizing helpers\n */\n\n const eos = () => state.index === len - 1;\n const peek = state.peek = (n = 1) => input[state.index + n];\n const advance = state.advance = () => input[++state.index] || '';\n const remaining = () => input.slice(state.index + 1);\n const consume = (value = '', num = 0) => {\n state.consumed += value;\n state.index += num;\n };\n\n const append = token => {\n state.output += token.output != null ? token.output : token.value;\n consume(token.value);\n };\n\n const negate = () => {\n let count = 1;\n\n while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {\n advance();\n state.start++;\n count++;\n }\n\n if (count % 2 === 0) {\n return false;\n }\n\n state.negated = true;\n state.start++;\n return true;\n };\n\n const increment = type => {\n state[type]++;\n stack.push(type);\n };\n\n const decrement = type => {\n state[type]--;\n stack.pop();\n };\n\n /**\n * Push tokens onto the tokens array. This helper speeds up\n * tokenizing by 1) helping us avoid backtracking as much as possible,\n * and 2) helping us avoid creating extra tokens when consecutive\n * characters are plain text. This improves performance and simplifies\n * lookbehinds.\n */\n\n const push = tok => {\n if (prev.type === 'globstar') {\n const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');\n const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));\n\n if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {\n state.output = state.output.slice(0, -prev.output.length);\n prev.type = 'star';\n prev.value = '*';\n prev.output = star;\n state.output += prev.output;\n }\n }\n\n if (extglobs.length && tok.type !== 'paren') {\n extglobs[extglobs.length - 1].inner += tok.value;\n }\n\n if (tok.value || tok.output) append(tok);\n if (prev && prev.type === 'text' && tok.type === 'text') {\n prev.output = (prev.output || prev.value) + tok.value;\n prev.value += tok.value;\n return;\n }\n\n tok.prev = prev;\n tokens.push(tok);\n prev = tok;\n };\n\n const extglobOpen = (type, value) => {\n const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };\n\n token.prev = prev;\n token.parens = state.parens;\n token.output = state.output;\n const output = (opts.capture ? '(' : '') + token.open;\n\n increment('parens');\n push({ type, value, output: state.output ? '' : ONE_CHAR });\n push({ type: 'paren', extglob: true, value: advance(), output });\n extglobs.push(token);\n };\n\n const extglobClose = token => {\n let output = token.close + (opts.capture ? ')' : '');\n let rest;\n\n if (token.type === 'negate') {\n let extglobStar = star;\n\n if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {\n extglobStar = globstar(opts);\n }\n\n if (extglobStar !== star || eos() || /^\\)+$/.test(remaining())) {\n output = token.close = `)$))${extglobStar}`;\n }\n\n if (token.inner.includes('*') && (rest = remaining()) && /^\\.[^\\\\/.]+$/.test(rest)) {\n // Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis.\n // In this case, we need to parse the string and use it in the output of the original pattern.\n // Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`.\n //\n // Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`.\n const expression = parse(rest, { ...options, fastpaths: false }).output;\n\n output = token.close = `)${expression})${extglobStar})`;\n }\n\n if (token.prev.type === 'bos') {\n state.negatedExtglob = true;\n }\n }\n\n push({ type: 'paren', extglob: true, value, output });\n decrement('parens');\n };\n\n /**\n * Fast paths\n */\n\n if (opts.fastpaths !== false && !/(^[*!]|[/()[\\]{}\"])/.test(input)) {\n let backslashes = false;\n\n let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {\n if (first === '\\\\') {\n backslashes = true;\n return m;\n }\n\n if (first === '?') {\n if (esc) {\n return esc + first + (rest ? QMARK.repeat(rest.length) : '');\n }\n if (index === 0) {\n return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');\n }\n return QMARK.repeat(chars.length);\n }\n\n if (first === '.') {\n return DOT_LITERAL.repeat(chars.length);\n }\n\n if (first === '*') {\n if (esc) {\n return esc + first + (rest ? star : '');\n }\n return star;\n }\n return esc ? m : `\\\\${m}`;\n });\n\n if (backslashes === true) {\n if (opts.unescape === true) {\n output = output.replace(/\\\\/g, '');\n } else {\n output = output.replace(/\\\\+/g, m => {\n return m.length % 2 === 0 ? '\\\\\\\\' : (m ? '\\\\' : '');\n });\n }\n }\n\n if (output === input && opts.contains === true) {\n state.output = input;\n return state;\n }\n\n state.output = utils.wrapOutput(output, state, options);\n return state;\n }\n\n /**\n * Tokenize input until we reach end-of-string\n */\n\n while (!eos()) {\n value = advance();\n\n if (value === '\\u0000') {\n continue;\n }\n\n /**\n * Escaped characters\n */\n\n if (value === '\\\\') {\n const next = peek();\n\n if (next === '/' && opts.bash !== true) {\n continue;\n }\n\n if (next === '.' || next === ';') {\n continue;\n }\n\n if (!next) {\n value += '\\\\';\n push({ type: 'text', value });\n continue;\n }\n\n // collapse slashes to reduce potential for exploits\n const match = /^\\\\+/.exec(remaining());\n let slashes = 0;\n\n if (match && match[0].length > 2) {\n slashes = match[0].length;\n state.index += slashes;\n if (slashes % 2 !== 0) {\n value += '\\\\';\n }\n }\n\n if (opts.unescape === true) {\n value = advance();\n } else {\n value += advance();\n }\n\n if (state.brackets === 0) {\n push({ type: 'text', value });\n continue;\n }\n }\n\n /**\n * If we're inside a regex character class, continue\n * until we reach the closing bracket.\n */\n\n if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {\n if (opts.posix !== false && value === ':') {\n const inner = prev.value.slice(1);\n if (inner.includes('[')) {\n prev.posix = true;\n\n if (inner.includes(':')) {\n const idx = prev.value.lastIndexOf('[');\n const pre = prev.value.slice(0, idx);\n const rest = prev.value.slice(idx + 2);\n const posix = POSIX_REGEX_SOURCE[rest];\n if (posix) {\n prev.value = pre + posix;\n state.backtrack = true;\n advance();\n\n if (!bos.output && tokens.indexOf(prev) === 1) {\n bos.output = ONE_CHAR;\n }\n continue;\n }\n }\n }\n }\n\n if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {\n value = `\\\\${value}`;\n }\n\n if (value === ']' && (prev.value === '[' || prev.value === '[^')) {\n value = `\\\\${value}`;\n }\n\n if (opts.posix === true && value === '!' && prev.value === '[') {\n value = '^';\n }\n\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * If we're inside a quoted string, continue\n * until we reach the closing double quote.\n */\n\n if (state.quotes === 1 && value !== '\"') {\n value = utils.escapeRegex(value);\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * Double quotes\n */\n\n if (value === '\"') {\n state.quotes = state.quotes === 1 ? 0 : 1;\n if (opts.keepQuotes === true) {\n push({ type: 'text', value });\n }\n continue;\n }\n\n /**\n * Parentheses\n */\n\n if (value === '(') {\n increment('parens');\n push({ type: 'paren', value });\n continue;\n }\n\n if (value === ')') {\n if (state.parens === 0 && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '('));\n }\n\n const extglob = extglobs[extglobs.length - 1];\n if (extglob && state.parens === extglob.parens + 1) {\n extglobClose(extglobs.pop());\n continue;\n }\n\n push({ type: 'paren', value, output: state.parens ? ')' : '\\\\)' });\n decrement('parens');\n continue;\n }\n\n /**\n * Square brackets\n */\n\n if (value === '[') {\n if (opts.nobracket === true || !remaining().includes(']')) {\n if (opts.nobracket !== true && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('closing', ']'));\n }\n\n value = `\\\\${value}`;\n } else {\n increment('brackets');\n }\n\n push({ type: 'bracket', value });\n continue;\n }\n\n if (value === ']') {\n if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n if (state.brackets === 0) {\n if (opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '['));\n }\n\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n decrement('brackets');\n\n const prevValue = prev.value.slice(1);\n if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {\n value = `/${value}`;\n }\n\n prev.value += value;\n append({ value });\n\n // when literal brackets are explicitly disabled\n // assume we should match with a regex character class\n if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {\n continue;\n }\n\n const escaped = utils.escapeRegex(prev.value);\n state.output = state.output.slice(0, -prev.value.length);\n\n // when literal brackets are explicitly enabled\n // assume we should escape the brackets to match literal characters\n if (opts.literalBrackets === true) {\n state.output += escaped;\n prev.value = escaped;\n continue;\n }\n\n // when the user specifies nothing, try to match both\n prev.value = `(${capture}${escaped}|${prev.value})`;\n state.output += prev.value;\n continue;\n }\n\n /**\n * Braces\n */\n\n if (value === '{' && opts.nobrace !== true) {\n increment('braces');\n\n const open = {\n type: 'brace',\n value,\n output: '(',\n outputIndex: state.output.length,\n tokensIndex: state.tokens.length\n };\n\n braces.push(open);\n push(open);\n continue;\n }\n\n if (value === '}') {\n const brace = braces[braces.length - 1];\n\n if (opts.nobrace === true || !brace) {\n push({ type: 'text', value, output: value });\n continue;\n }\n\n let output = ')';\n\n if (brace.dots === true) {\n const arr = tokens.slice();\n const range = [];\n\n for (let i = arr.length - 1; i >= 0; i--) {\n tokens.pop();\n if (arr[i].type === 'brace') {\n break;\n }\n if (arr[i].type !== 'dots') {\n range.unshift(arr[i].value);\n }\n }\n\n output = expandRange(range, opts);\n state.backtrack = true;\n }\n\n if (brace.comma !== true && brace.dots !== true) {\n const out = state.output.slice(0, brace.outputIndex);\n const toks = state.tokens.slice(brace.tokensIndex);\n brace.value = brace.output = '\\\\{';\n value = output = '\\\\}';\n state.output = out;\n for (const t of toks) {\n state.output += (t.output || t.value);\n }\n }\n\n push({ type: 'brace', value, output });\n decrement('braces');\n braces.pop();\n continue;\n }\n\n /**\n * Pipes\n */\n\n if (value === '|') {\n if (extglobs.length > 0) {\n extglobs[extglobs.length - 1].conditions++;\n }\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Commas\n */\n\n if (value === ',') {\n let output = value;\n\n const brace = braces[braces.length - 1];\n if (brace && stack[stack.length - 1] === 'braces') {\n brace.comma = true;\n output = '|';\n }\n\n push({ type: 'comma', value, output });\n continue;\n }\n\n /**\n * Slashes\n */\n\n if (value === '/') {\n // if the beginning of the glob is \"./\", advance the start\n // to the current index, and don't add the \"./\" characters\n // to the state. This greatly simplifies lookbehinds when\n // checking for BOS characters like \"!\" and \".\" (not \"./\")\n if (prev.type === 'dot' && state.index === state.start + 1) {\n state.start = state.index + 1;\n state.consumed = '';\n state.output = '';\n tokens.pop();\n prev = bos; // reset \"prev\" to the first token\n continue;\n }\n\n push({ type: 'slash', value, output: SLASH_LITERAL });\n continue;\n }\n\n /**\n * Dots\n */\n\n if (value === '.') {\n if (state.braces > 0 && prev.type === 'dot') {\n if (prev.value === '.') prev.output = DOT_LITERAL;\n const brace = braces[braces.length - 1];\n prev.type = 'dots';\n prev.output += value;\n prev.value += value;\n brace.dots = true;\n continue;\n }\n\n if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {\n push({ type: 'text', value, output: DOT_LITERAL });\n continue;\n }\n\n push({ type: 'dot', value, output: DOT_LITERAL });\n continue;\n }\n\n /**\n * Question marks\n */\n\n if (value === '?') {\n const isGroup = prev && prev.value === '(';\n if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('qmark', value);\n continue;\n }\n\n if (prev && prev.type === 'paren') {\n const next = peek();\n let output = value;\n\n if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\\w+>)/.test(remaining()))) {\n output = `\\\\${value}`;\n }\n\n push({ type: 'text', value, output });\n continue;\n }\n\n if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {\n push({ type: 'qmark', value, output: QMARK_NO_DOT });\n continue;\n }\n\n push({ type: 'qmark', value, output: QMARK });\n continue;\n }\n\n /**\n * Exclamation\n */\n\n if (value === '!') {\n if (opts.noextglob !== true && peek() === '(') {\n if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {\n extglobOpen('negate', value);\n continue;\n }\n }\n\n if (opts.nonegate !== true && state.index === 0) {\n negate();\n continue;\n }\n }\n\n /**\n * Plus\n */\n\n if (value === '+') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('plus', value);\n continue;\n }\n\n if ((prev && prev.value === '(') || opts.regex === false) {\n push({ type: 'plus', value, output: PLUS_LITERAL });\n continue;\n }\n\n if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {\n push({ type: 'plus', value });\n continue;\n }\n\n push({ type: 'plus', value: PLUS_LITERAL });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value === '@') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n push({ type: 'at', extglob: true, value, output: '' });\n continue;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value !== '*') {\n if (value === '$' || value === '^') {\n value = `\\\\${value}`;\n }\n\n const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());\n if (match) {\n value += match[0];\n state.index += match[0].length;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Stars\n */\n\n if (prev && (prev.type === 'globstar' || prev.star === true)) {\n prev.type = 'star';\n prev.star = true;\n prev.value += value;\n prev.output = star;\n state.backtrack = true;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n let rest = remaining();\n if (opts.noextglob !== true && /^\\([^?]/.test(rest)) {\n extglobOpen('star', value);\n continue;\n }\n\n if (prev.type === 'star') {\n if (opts.noglobstar === true) {\n consume(value);\n continue;\n }\n\n const prior = prev.prev;\n const before = prior.prev;\n const isStart = prior.type === 'slash' || prior.type === 'bos';\n const afterStar = before && (before.type === 'star' || before.type === 'globstar');\n\n if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');\n const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');\n if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n // strip consecutive `/**/`\n while (rest.slice(0, 3) === '/**') {\n const after = input[state.index + 4];\n if (after && after !== '/') {\n break;\n }\n rest = rest.slice(3);\n consume('/**', 3);\n }\n\n if (prior.type === 'bos' && eos()) {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = globstar(opts);\n state.output = prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');\n prev.value += value;\n state.globstar = true;\n state.output += prior.output + prev.output;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {\n const end = rest[1] !== void 0 ? '|$' : '';\n\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;\n prev.value += value;\n\n state.output += prior.output + prev.output;\n state.globstar = true;\n\n consume(value + advance());\n\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n if (prior.type === 'bos' && rest[0] === '/') {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;\n state.output = prev.output;\n state.globstar = true;\n consume(value + advance());\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n // remove single star from output\n state.output = state.output.slice(0, -prev.output.length);\n\n // reset previous token to globstar\n prev.type = 'globstar';\n prev.output = globstar(opts);\n prev.value += value;\n\n // reset output with globstar\n state.output += prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n const token = { type: 'star', value, output: star };\n\n if (opts.bash === true) {\n token.output = '.*?';\n if (prev.type === 'bos' || prev.type === 'slash') {\n token.output = nodot + token.output;\n }\n push(token);\n continue;\n }\n\n if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {\n token.output = value;\n push(token);\n continue;\n }\n\n if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {\n if (prev.type === 'dot') {\n state.output += NO_DOT_SLASH;\n prev.output += NO_DOT_SLASH;\n\n } else if (opts.dot === true) {\n state.output += NO_DOTS_SLASH;\n prev.output += NO_DOTS_SLASH;\n\n } else {\n state.output += nodot;\n prev.output += nodot;\n }\n\n if (peek() !== '*') {\n state.output += ONE_CHAR;\n prev.output += ONE_CHAR;\n }\n }\n\n push(token);\n }\n\n while (state.brackets > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));\n state.output = utils.escapeLast(state.output, '[');\n decrement('brackets');\n }\n\n while (state.parens > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));\n state.output = utils.escapeLast(state.output, '(');\n decrement('parens');\n }\n\n while (state.braces > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));\n state.output = utils.escapeLast(state.output, '{');\n decrement('braces');\n }\n\n if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {\n push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });\n }\n\n // rebuild the output if we had to backtrack at any point\n if (state.backtrack === true) {\n state.output = '';\n\n for (const token of state.tokens) {\n state.output += token.output != null ? token.output : token.value;\n\n if (token.suffix) {\n state.output += token.suffix;\n }\n }\n }\n\n return state;\n};\n\n/**\n * Fast paths for creating regular expressions for common glob patterns.\n * This can significantly speed up processing and has very little downside\n * impact when none of the fast paths match.\n */\n\nparse.fastpaths = (input, options) => {\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n const len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n input = REPLACEMENTS[input] || input;\n\n // create constants based on platform, for windows or posix\n const {\n DOT_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOTS,\n NO_DOTS_SLASH,\n STAR,\n START_ANCHOR\n } = constants.globChars(opts.windows);\n\n const nodot = opts.dot ? NO_DOTS : NO_DOT;\n const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;\n const capture = opts.capture ? '' : '?:';\n const state = { negated: false, prefix: '' };\n let star = opts.bash === true ? '.*?' : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n const globstar = opts => {\n if (opts.noglobstar === true) return star;\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const create = str => {\n switch (str) {\n case '*':\n return `${nodot}${ONE_CHAR}${star}`;\n\n case '.*':\n return `${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*.*':\n return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*/*':\n return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;\n\n case '**':\n return nodot + globstar(opts);\n\n case '**/*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;\n\n case '**/*.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '**/.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n default: {\n const match = /^(.*?)\\.(\\w+)$/.exec(str);\n if (!match) return;\n\n const source = create(match[1]);\n if (!source) return;\n\n return source + DOT_LITERAL + match[2];\n }\n }\n };\n\n const output = utils.removePrefix(input, state);\n let source = create(output);\n\n if (source && opts.strictSlashes !== true) {\n source += `${SLASH_LITERAL}?`;\n }\n\n return source;\n};\n\nmodule.exports = parse;\n","'use strict';\n\nconst scan = require('./scan');\nconst parse = require('./parse');\nconst utils = require('./utils');\nconst constants = require('./constants');\nconst isObject = val => val && typeof val === 'object' && !Array.isArray(val);\n\n/**\n * Creates a matcher function from one or more glob patterns. The\n * returned function takes a string to match as its first argument,\n * and returns true if the string is a match. The returned matcher\n * function also takes a boolean as the second argument that, when true,\n * returns an object with additional information.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch(glob[, options]);\n *\n * const isMatch = picomatch('*.!(*a)');\n * console.log(isMatch('a.a')); //=> false\n * console.log(isMatch('a.b')); //=> true\n * ```\n * @name picomatch\n * @param {String|Array} `globs` One or more glob patterns.\n * @param {Object=} `options`\n * @return {Function=} Returns a matcher function.\n * @api public\n */\n\nconst picomatch = (glob, options, returnState = false) => {\n if (Array.isArray(glob)) {\n const fns = glob.map(input => picomatch(input, options, returnState));\n const arrayMatcher = str => {\n for (const isMatch of fns) {\n const state = isMatch(str);\n if (state) return state;\n }\n return false;\n };\n return arrayMatcher;\n }\n\n const isState = isObject(glob) && glob.tokens && glob.input;\n\n if (glob === '' || (typeof glob !== 'string' && !isState)) {\n throw new TypeError('Expected pattern to be a non-empty string');\n }\n\n const opts = options || {};\n const posix = opts.windows;\n const regex = isState\n ? picomatch.compileRe(glob, options)\n : picomatch.makeRe(glob, options, false, true);\n\n const state = regex.state;\n delete regex.state;\n\n let isIgnored = () => false;\n if (opts.ignore) {\n const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };\n isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);\n }\n\n const matcher = (input, returnObject = false) => {\n const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });\n const result = { glob, state, regex, posix, input, output, match, isMatch };\n\n if (typeof opts.onResult === 'function') {\n opts.onResult(result);\n }\n\n if (isMatch === false) {\n result.isMatch = false;\n return returnObject ? result : false;\n }\n\n if (isIgnored(input)) {\n if (typeof opts.onIgnore === 'function') {\n opts.onIgnore(result);\n }\n result.isMatch = false;\n return returnObject ? result : false;\n }\n\n if (typeof opts.onMatch === 'function') {\n opts.onMatch(result);\n }\n return returnObject ? result : true;\n };\n\n if (returnState) {\n matcher.state = state;\n }\n\n return matcher;\n};\n\n/**\n * Test `input` with the given `regex`. This is used by the main\n * `picomatch()` function to test the input string.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.test(input, regex[, options]);\n *\n * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\\/([^/]*?))$/));\n * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }\n * ```\n * @param {String} `input` String to test.\n * @param {RegExp} `regex`\n * @return {Object} Returns an object with matching info.\n * @api public\n */\n\npicomatch.test = (input, regex, options, { glob, posix } = {}) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected input to be a string');\n }\n\n if (input === '') {\n return { isMatch: false, output: '' };\n }\n\n const opts = options || {};\n const format = opts.format || (posix ? utils.toPosixSlashes : null);\n let match = input === glob;\n let output = (match && format) ? format(input) : input;\n\n if (match === false) {\n output = format ? format(input) : input;\n match = output === glob;\n }\n\n if (match === false || opts.capture === true) {\n if (opts.matchBase === true || opts.basename === true) {\n match = picomatch.matchBase(input, regex, options, posix);\n } else {\n match = regex.exec(output);\n }\n }\n\n return { isMatch: Boolean(match), match, output };\n};\n\n/**\n * Match the basename of a filepath.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.matchBase(input, glob[, options]);\n * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true\n * ```\n * @param {String} `input` String to test.\n * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe).\n * @return {Boolean}\n * @api public\n */\n\npicomatch.matchBase = (input, glob, options) => {\n const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);\n return regex.test(utils.basename(input));\n};\n\n/**\n * Returns true if **any** of the given glob `patterns` match the specified `string`.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.isMatch(string, patterns[, options]);\n *\n * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true\n * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false\n * ```\n * @param {String|Array} str The string to test.\n * @param {String|Array} patterns One or more glob patterns to use for matching.\n * @param {Object} [options] See available [options](#options).\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\npicomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);\n\n/**\n * Parse a glob pattern to create the source string for a regular\n * expression.\n *\n * ```js\n * const picomatch = require('picomatch');\n * const result = picomatch.parse(pattern[, options]);\n * ```\n * @param {String} `pattern`\n * @param {Object} `options`\n * @return {Object} Returns an object with useful properties and output to be used as a regex source string.\n * @api public\n */\n\npicomatch.parse = (pattern, options) => {\n if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options));\n return parse(pattern, { ...options, fastpaths: false });\n};\n\n/**\n * Scan a glob pattern to separate the pattern into segments.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.scan(input[, options]);\n *\n * const result = picomatch.scan('!./foo/*.js');\n * console.log(result);\n * { prefix: '!./',\n * input: '!./foo/*.js',\n * start: 3,\n * base: 'foo',\n * glob: '*.js',\n * isBrace: false,\n * isBracket: false,\n * isGlob: true,\n * isExtglob: false,\n * isGlobstar: false,\n * negated: true }\n * ```\n * @param {String} `input` Glob pattern to scan.\n * @param {Object} `options`\n * @return {Object} Returns an object with\n * @api public\n */\n\npicomatch.scan = (input, options) => scan(input, options);\n\n/**\n * Compile a regular expression from the `state` object returned by the\n * [parse()](#parse) method.\n *\n * @param {Object} `state`\n * @param {Object} `options`\n * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser.\n * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging.\n * @return {RegExp}\n * @api public\n */\n\npicomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {\n if (returnOutput === true) {\n return state.output;\n }\n\n const opts = options || {};\n const prepend = opts.contains ? '' : '^';\n const append = opts.contains ? '' : '$';\n\n let source = `${prepend}(?:${state.output})${append}`;\n if (state && state.negated === true) {\n source = `^(?!${source}).*$`;\n }\n\n const regex = picomatch.toRegex(source, options);\n if (returnState === true) {\n regex.state = state;\n }\n\n return regex;\n};\n\n/**\n * Create a regular expression from a parsed glob pattern.\n *\n * ```js\n * const picomatch = require('picomatch');\n * const state = picomatch.parse('*.js');\n * // picomatch.compileRe(state[, options]);\n *\n * console.log(picomatch.compileRe(state));\n * //=> /^(?:(?!\\.)(?=.)[^/]*?\\.js)$/\n * ```\n * @param {String} `state` The object returned from the `.parse` method.\n * @param {Object} `options`\n * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.\n * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression.\n * @return {RegExp} Returns a regex created from the given pattern.\n * @api public\n */\n\npicomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {\n if (!input || typeof input !== 'string') {\n throw new TypeError('Expected a non-empty string');\n }\n\n let parsed = { negated: false, fastpaths: true };\n\n if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) {\n parsed.output = parse.fastpaths(input, options);\n }\n\n if (!parsed.output) {\n parsed = parse(input, options);\n }\n\n return picomatch.compileRe(parsed, options, returnOutput, returnState);\n};\n\n/**\n * Create a regular expression from the given regex source string.\n *\n * ```js\n * const picomatch = require('picomatch');\n * // picomatch.toRegex(source[, options]);\n *\n * const { output } = picomatch.parse('*.js');\n * console.log(picomatch.toRegex(output));\n * //=> /^(?:(?!\\.)(?=.)[^/]*?\\.js)$/\n * ```\n * @param {String} `source` Regular expression source string.\n * @param {Object} `options`\n * @return {RegExp}\n * @api public\n */\n\npicomatch.toRegex = (source, options) => {\n try {\n const opts = options || {};\n return new RegExp(source, opts.flags || (opts.nocase ? 'i' : ''));\n } catch (err) {\n if (options && options.debug === true) throw err;\n return /$^/;\n }\n};\n\n/**\n * Picomatch constants.\n * @return {Object}\n */\n\npicomatch.constants = constants;\n\n/**\n * Expose \"picomatch\"\n */\n\nmodule.exports = picomatch;\n","'use strict';\n\nmodule.exports = require('./lib/picomatch');\n",null,null,null,null],"names":["MetaframeVersionsAll","MetapageVersionsAll","MetaframeVersionCurrent","MetapageVersionCurrent","METAFRAME_JSON_FILE","METAPAGE_KEY_DEFINITION","METAPAGE_KEY_STATE","VERSION_METAPAGE","VERSION_METAFRAME","semver","validateAndParse","version","match","isWildcard","s","tryParse","v","n","forceType","a","b","compareStrings","ap","bp","compareSegments","i","r","compareVersions","v1","v2","n1","n2","p1","p2","global","factory","module","this","fetchRetry","fetch","defaults","ArgumentError","isPositiveInteger","baseDefaults","input","init","retries","retryDelay","retryOn","resolve","reject","wrappedFetch","attempt","_input","response","retryOnResponse","retry","error","delay","value","message","Operation","PROXY_DRAFT","RAW_RETURN_SYMBOL","iteratorSymbol","dataTypes","internal","has","target","key","getDescriptor","prototype","descriptor","isBaseSetInstance","obj","isBaseMapInstance","latest","proxyDraft","_a","isDraft","getProxyDraft","getValue","isDraftable","options","markResult","getPath","path","parentCopy","get","isSet","resolvePath","getType","set","peek","state","isEqual","x","y","revokeProxy","escapePath","pathAsArray","_item","item","base","index","strictCopy","copy","desc","propIsEnum","shallowCopy","original","SubClass","ensureShallowCopy","deepClone","iterable","k","cloneIfNeeded","markChanged","throwFrozenError","deepFreeze","subKey","updatedValues","stack","keys","parent","name","forEach","iter","type","entry","handleValue","handledSet","setMap","updatedValue","values","finalizeAssigned","finalizeSetValue","finalizePatches","generatePatches","patches","inversePatches","basePath","markFinalization","generateArrayPatches","proxyState","assignedMap","_path","arrayLengthAssignment","generatePatchesFromAssigned","assignedValue","originalValue","op","generateSetPatches","readable","checkReadable","ignoreCheckDraftable","mapHandler","source","callback","thisArg","_value","_key","_b","mutable","draft","iterator","result","mapHandlerKeys","getNextIterator","isValuesIterator","currentDraft","proxy","setHandler","valueProxyDraft","other","setHandlerKeys","proxyHandler","receiver","createDraft","subProxyDraft","current","currentProxyDraft","createDraftOptions","parentDraft","finalities","revoke","oldProxyDraft","finalizeDraft","returnedValue","enableAutoFreeze","hasReturnedValue","draftify","baseState","finalizedState","finalizedPatches","finalizedInversePatches","handleReturnValue","rootDraft","useRawReturn","isRoot","currentValue","arr","getCurrent","newValue","makeCreator","arg","create","arg0","arg1","arg2","_c","args","mutate","mark","types","enablePatches","strict","_options","finalize","returnValue","rawReturnValue","returnedProxyDraft","detectMetapageVersion","def","metaframes","firstKey","detectMetaframeVersion","metadata","fetchRetryWrapper","convertMetapageDefinitionToVersion","targetVersion","detectedVersion","err","convertMetapageDefinitionToTargetVersionInternal","convertMetapageDefinitionToCurrentVersion","currentVersion","getMatchingMetapageVersion","currentDefinition","definition_v0_2_to_v0_3","definition_v0_3_to_v1","definition_v0_3_to_v0_2","definition_v1_to_v2","definition_v1_to_v0_3","definition_v2_to_v1","old","castV1","normalizeHashParams","hashParams","convertMetaframeDefinitionToVersion","convertMetaframeDefinitionToTargetVersionInternal","convertMetaframeDefinitionToCurrentVersion","getMatchingMetaframeVersion","definition_v0_3_to_v0_4","definition_v0_4_to_v0_5","definition_v0_4_to_v0_3","definition_v0_5_to_v0_6","definition_v0_5_to_v0_4","definition_v0_6_to_v1","definition_v0_6_to_v0_5","definition_v1_to_v0_6","convertMetaframeJsonToCurrentVersion","m","opts","converted","title","descriptionUrl","keywords","decription","tags","chars","lookup","decode","base64","bufferLength","len","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","bytes","R","h","ye","K","te","B","e","le","t","re","oe","M","C","u","ie","S","we","_","o","_e","I","g","G","D","U","xe","je","be","N","Y","T","se","me","c","f","Ce","Z","ce","Ue","Ie","w","Fe","V","$e","W","ee","Ne","pe","J","Be","Oe","ae","z","E","O","A","Re","X","Se","Ee","Ze","q","We","ze","Ye","he","He","L","H","Xe","needsSerialization","needsDeserialization","serializeInputs","inputs","keysToSerialize","possiblySerializeValueToDataref","deserializeInputs","keysToDeserialize","possiblyDeserializeDatarefToValue","TYPED_ARRAY_NAMES","typedArrayToDataUrl","arrayBuffer","mimeType","bufferToDataUrl","isDataUrl","deserializeDataUrl","deserializeLegacyMetapage","deserializeDatarefV1","possiblyDeserializeDatarefToFile","deserialized","valueToFile","fileName","buffer","blob","dataUrl","params","getParameters","dataUrlToTypedArray","lastModified","getMimeType","dataUrlToBuffer","MetapageEvents","JsonRpcMethodsFromChild","JsonRpcMethodsFromParent","PARSE_ERROR","INVALID_REQUEST","METHOD_NOT_FOUND","INVALID_PARAMS","INTERNAL_ERROR","isJsonRpcId","prefix","Events","EE","fn","context","once","addListener","emitter","event","listener","evt","clearEvent","EventEmitter","names","events","handlers","l","listeners","a1","a2","a3","a4","a5","length","j","F","P","d","$","Q","tt","fastJsonStableStringify","data","cycles","cmp","node","aobj","bobj","seen","stringify","out","seenIndex","MetapageHashParams","isIframe","INITIAL_NULL_METAPAGE_DEFINITION","MetapageShared","merge","newInputs","pipeId","getUrlParam","getUrlParamDebug","isDebugFromUrlsParams","param","generateMetaframeId","generateId","generateMetapageId","generateNonce","LETTERS","charactersLength","log","color","backgroundColor","cssstring","stringToRgb","str","intToRGB","hashCode","hash","isPageLoaded","pageLoaded","loaded","metapageAllSha256Hash","metapage","metapageStr","sha256ToBase64","metapageOnlyEssentailSha256Hash","MetaframeLoadingState","MetaframeEvents","Metaframe","thisRef","disposer","MetapageToolsLog","pipe","originalInputs","updateBlob","outputs","originalOutputs","payload","method","jsonrpc","setHashParamInWindow","getHashParamFromWindow","setHashParamValueBooleanInWindow","getHashParamValueBooleanFromWindow","setHashParamValueJsonInWindow","getHashParamValueJsonFromWindow","setHashParamValueBase64EncodedInWindow","getHashParamValueBase64DecodedFromWindow","setHashParamValueFloatInWindow","getHashParamValueFloatFromWindow","setHashParamValueIntInWindow","getHashParamValueIntFromWindow","WIN_SLASH","WIN_NO_SLASH","DOT_LITERAL","PLUS_LITERAL","QMARK_LITERAL","SLASH_LITERAL","ONE_CHAR","QMARK","END_ANCHOR","START_ANCHOR","DOTS_SLASH","NO_DOT","NO_DOTS","NO_DOT_SLASH","NO_DOTS_SLASH","QMARK_NO_DOT","STAR","SEP","POSIX_CHARS","WINDOWS_CHARS","POSIX_REGEX_SOURCE","constants","win32","REGEX_BACKSLASH","REGEX_REMOVE_BACKSLASH","REGEX_SPECIAL_CHARS","REGEX_SPECIAL_CHARS_GLOBAL","require$$0","exports","val","platform","char","lastIdx","idx","output","prepend","append","windows","segs","last","utils","CHAR_ASTERISK","CHAR_AT","CHAR_BACKWARD_SLASH","CHAR_COMMA","CHAR_DOT","CHAR_EXCLAMATION_MARK","CHAR_FORWARD_SLASH","CHAR_LEFT_CURLY_BRACE","CHAR_LEFT_PARENTHESES","CHAR_LEFT_SQUARE_BRACKET","CHAR_PLUS","CHAR_QUESTION_MARK","CHAR_RIGHT_CURLY_BRACE","CHAR_RIGHT_PARENTHESES","CHAR_RIGHT_SQUARE_BRACKET","require$$1","isPathSeparator","code","depth","token","scan","scanToEnd","slashes","tokens","parts","start","lastIndex","isBrace","isBracket","isGlob","isExtglob","isGlobstar","braceEscaped","backslashes","negated","negatedExtglob","finished","braces","prev","eos","advance","next","glob","prevIndex","scan_1","MAX_LENGTH","REGEX_NON_SPECIAL_CHARS","REGEX_SPECIAL_CHARS_BACKREF","REPLACEMENTS","expandRange","syntaxError","parse","max","bos","capture","PLATFORM_CHARS","EXTGLOB_CHARS","globstar","nodot","qmarkNoDot","star","extglobs","remaining","consume","num","negate","count","increment","decrement","push","tok","extglobOpen","extglobClose","rest","extglobStar","expression","esc","first","inner","pre","posix","extglob","prevValue","escaped","open","brace","range","toks","prior","before","isStart","afterStar","after","end","slashDot","parse_1","require$$2","require$$3","isObject","picomatch","returnState","fns","isMatch","isState","regex","isIgnored","ignoreOpts","matcher","returnObject","format","patterns","pattern","returnOutput","parsed","picomatch_1","getMetapageDefinitionFromUrl","url","metapageUrl","definition","getMetaframeDefinitionFromUrl","metaframeUrl","urlEncodedDefinition","getHashParamValueJsonFromUrl","isEmptyMetaframeDefinition","MetapageIFrameRpcClient","iframeId","parentId","consoleBackgroundColor","debug","urlBlob","selfThis","_d","metaframeDef","inputBlob","maybeNewInputs","inputUpdate","maybeNewOutputs","outputsUpdate","pipeName","fWrap","thing","messageJSON","emptyState","getLibraryVersionMatching","matchPipe","outputName","CONSOLE_BACKGROUND_COLOR_DEFAULT","Metapage","metaPageDef","cb","exists","flag","newState","metaframeId","secrets","metaframeName","config","metaframe","currentUrl","getHashParamValueBase64DecodedFromUrl","setHashParamValueBase64EncodedInUrl","encoded","cleanUrl","hashSecrets","originalHashParams","secretKey","hashStr","newHashStr","restoredUrl","querySecrets","originalQueryParams","tempUrl","newDefinition","metaframeDefinition","savedSecrets","savedQuerySecrets","savedOriginalParams","savedOriginalQueryParams","removed","added","newMetaframeId","client","newDefinitionUrl","originalParams","existingValue","previousDefinition","framesChanged","otherMetaframeId","inputPipes","id","iframeClient","outputPipeId","__","targets","inputPipe","targetName","inputPipeId","metaframeInputs","metapageInputs","metaframeValuesNew","isInputs","metaframePipeId","inputOrOutputState","metaframePipedId","inputsMetaframesNew","iframe","modified","outputKeys","collectedOutputs","outputKey","hashParamsUpdatePayload","cleanUrlStr","isMetaframeDivider","validateLayout","validated","layout","currentMaxY","allMetaframeIds","getVisibleGridLayoutData","desktopLayoutBlob","metaframesToHide","dividers","lowestYDivider","lowest","dividerY","visibleMetaframeIds","hiddenMetaframeIds","visibleLayoutItems","totalVisibleGridHeight","acc","renderMetapage","props","onOutputs","rootDiv","processMetapage","disposers","gridStyle","containerStyle","container","gridContainer","renderedMetaframes","layoutItem","itemStyle","wrapper","maxCol","hiddenContainer","isMetaframeHidden","getMetaframeKey","mfk","metapageDefinition"],"mappings":"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","x_google_ignoreList":[2,3,4,5,9,10,15,16,17,21,22,23,24,25,26]}
|