@kubb/core 3.0.0-beta.8 → 3.0.0
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/{chunk-RGDHSEAI.cjs → chunk-2EP2SOAU.cjs} +4 -4
- package/dist/chunk-2EP2SOAU.cjs.map +1 -0
- package/dist/chunk-2EU7DMPM.js.map +1 -1
- package/dist/{chunk-BBIROQI2.cjs → chunk-3AQ6VTKH.cjs} +6 -6
- package/dist/chunk-3AQ6VTKH.cjs.map +1 -0
- package/dist/{chunk-C7ERZ5MT.cjs → chunk-4OELM7PH.cjs} +33 -33
- package/dist/chunk-4OELM7PH.cjs.map +1 -0
- package/dist/chunk-BQXM32UO.js.map +1 -1
- package/dist/chunk-DXGMSPTW.js.map +1 -1
- package/dist/{chunk-IZEUQSZ7.cjs → chunk-FKRLS3J5.cjs} +4 -4
- package/dist/chunk-FKRLS3J5.cjs.map +1 -0
- package/dist/chunk-HBQM723K.js.map +1 -1
- package/dist/{chunk-E6CN2CZC.js → chunk-HTOO3HNK.js} +2 -2
- package/dist/chunk-HTOO3HNK.js.map +1 -0
- package/dist/{chunk-DTLEGPII.cjs → chunk-JBLWRZHM.cjs} +8 -8
- package/dist/chunk-JBLWRZHM.cjs.map +1 -0
- package/dist/{chunk-RRORAPWK.cjs → chunk-RMW5K6FV.cjs} +10 -10
- package/dist/chunk-RMW5K6FV.cjs.map +1 -0
- package/dist/index.cjs +34 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +7 -7
- package/dist/logger.js +1 -1
- package/dist/mocks.cjs +9 -9
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.js.map +1 -1
- package/dist/{prompt-RNXD7D2B.cjs → prompt-5K2IZSUK.cjs} +62 -62
- package/dist/prompt-5K2IZSUK.cjs.map +1 -0
- package/dist/prompt-WQQUN22Z.js.map +1 -1
- package/dist/transformers.cjs +23 -23
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +17 -17
- package/package.json +7 -7
- package/src/utils/EventEmitter.ts +1 -1
- package/dist/chunk-BBIROQI2.cjs.map +0 -1
- package/dist/chunk-C7ERZ5MT.cjs.map +0 -1
- package/dist/chunk-DTLEGPII.cjs.map +0 -1
- package/dist/chunk-E6CN2CZC.js.map +0 -1
- package/dist/chunk-IZEUQSZ7.cjs.map +0 -1
- package/dist/chunk-RGDHSEAI.cjs.map +0 -1
- package/dist/chunk-RRORAPWK.cjs.map +0 -1
- package/dist/prompt-RNXD7D2B.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts","../src/utils/parser.ts","../src/FileManager.ts","../src/BarrelManager.ts","../src/utils/TreeNode.ts","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.js","../../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.mjs","../../../node_modules/.pnpm/p-timeout@6.1.2/node_modules/p-timeout/index.js","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.js","../../../node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.js"],"names":["__commonJS","init_cjs_shims","EventEmitter","orderBy","camelCase","item","path","join","getRelativePath","__toESM","trimExtName","write","read","extname","isDeepEqual","name","relative","hash"],"mappings":"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","file":"chunk-C7ERZ5MT.cjs","sourcesContent":["'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","export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {\n isPromise,\n isPromiseFulfilledResult,\n isPromiseRejectedResult,\n} from './promise.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\nexport { getFileParser, createFileImport, createFileExport, createFile, createFileParser } from './parser.ts'\nexport type { ParserModule } from './parser.ts'\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.#items.push(it))\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import { camelCase } from '../transformers/casing.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer ? replacer(camelCase(curr)) : camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer ? replacer(camelCase(item)) : camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","import path from 'node:path'\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport { getRelativePath } from '@kubb/fs'\nimport hash from 'object-hash'\nimport { combineExports, combineImports, combineSources } from '../FileManager.ts'\nimport type { Logger } from '../logger.ts'\n\n/**\n * Helper to create a file with name and id set\n */\nexport function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta> {\n const extname = path.extname(file.baseName) as KubbFile.Extname\n\n if (!extname) {\n throw new Error(`No extname found for ${file.baseName}`)\n }\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n const exports = file.exports ? combineExports(file.exports) : []\n const imports = file.imports && source ? combineImports(file.imports, exports, source) : []\n const sources = file.sources ? combineSources(file.sources) : []\n\n return {\n ...file,\n id: hash({ path: file.path }),\n name: trimExtName(file.baseName),\n extname,\n imports: imports.map((item) => createFileImport(item)),\n exports: exports.map((item) => createFileExport(item)),\n sources: sources.map((item) => createFileSource(item)),\n meta: file.meta || ({} as TMeta),\n }\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nfunction createFileSource(source: KubbFile.Source): KubbFile.Source {\n return source\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nexport function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport {\n return {\n ...imp,\n }\n}\n\n/**\n * Helper to create a fileExport with extname set\n */\nexport function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport {\n return {\n ...exp,\n }\n}\n\nexport type ParserModule<TMeta extends object = object> = {\n format: (source: string) => Promise<string>\n /**\n * Convert a file to string\n */\n print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>\n}\n\nexport function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta> {\n return parser\n}\n\ntype PrintOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nconst typeScriptParser = createFileParser({\n async format(source) {\n const module = await import('@kubb/parser-ts')\n\n return module.format(source)\n },\n async print(file, options = { extname: '.ts' }) {\n const module = await import('@kubb/parser-ts')\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n\n const importNodes = file.imports\n .map((item) => {\n const importPath = item.root ? getRelativePath(item.root, item.path) : item.path\n const hasExtname = !!path.extname(importPath)\n\n return module.factory.createImportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(importPath)}${options.extname}` : trimExtName(importPath),\n isTypeOnly: item.isTypeOnly,\n })\n })\n .filter(Boolean)\n\n const exportNodes = file.exports\n .map((item) => {\n const exportPath = item.path\n\n const hasExtname = !!path.extname(exportPath)\n\n return module.factory.createExportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(item.path)}${options.extname}` : trimExtName(item.path),\n isTypeOnly: item.isTypeOnly,\n asAlias: item.asAlias,\n })\n })\n .filter(Boolean)\n\n return [file.banner, module.print([...importNodes, ...exportNodes]), source, file.footer].join('\\n')\n },\n})\n\nconst defaultParser = createFileParser({\n async format(source) {\n return source\n },\n async print(file) {\n return file.sources.map((item) => item.value).join('\\n\\n')\n },\n})\n\nconst parsers: Record<KubbFile.Extname, ParserModule<any>> = {\n '.ts': typeScriptParser,\n '.js': typeScriptParser,\n '.jsx': typeScriptParser,\n '.tsx': typeScriptParser,\n '.json': defaultParser,\n}\n\nexport async function getFileParser<TMeta extends object = object>(extname: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>> {\n if (!extname) {\n return defaultParser\n }\n\n const parser = parsers[extname]\n\n if (!parser) {\n console.warn(`[parser] No parser found for ${extname}, default parser will be used`)\n }\n\n return parser || defaultParser\n}\n\nfunction trimExtName(text: string): string {\n const extname = text.split('.').pop()\n\n return text.replace(`.${extname}`, '')\n}\n","import { extname, join, relative } from 'node:path'\n\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual } from 'remeda'\n\nimport { read, write } from '@kubb/fs'\nimport { BarrelManager } from './BarrelManager.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport { trimExtName } from '@kubb/fs'\nimport type { ResolvedFile } from '@kubb/fs/types'\nimport type { GreaterThan } from '@kubb/types'\nimport PQueue from 'p-queue'\nimport type { Logger } from './logger.ts'\nimport type { BarrelType, Config, Plugin } from './types.ts'\nimport { createFile, getFileParser } from './utils'\nimport { type DirectoryTree, TreeNode, buildDirectoryTree } from './utils/TreeNode.ts'\n\nexport type FileMetaBase = {\n pluginKey?: Plugin['key']\n}\n\ntype AddResult<T extends Array<KubbFile.File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>\n\ntype AddIndexesProps = {\n type: BarrelType | false | undefined\n /**\n * Root based on root and output.path specified in the config\n */\n root: string\n files: KubbFile.File[]\n /**\n * Output for plugin\n */\n output: {\n path: string\n }\n group?: {\n output: string\n exportAs: string\n }\n logger?: Logger\n\n meta?: FileMetaBase\n}\n\nexport class FileManager {\n #filesByPath: Map<KubbFile.Path, KubbFile.ResolvedFile> = new Map()\n constructor() {\n return this\n }\n\n get files(): Array<KubbFile.ResolvedFile> {\n return [...this.#filesByPath.values()]\n }\n\n get orderedFiles(): Array<KubbFile.ResolvedFile> {\n return orderBy(\n [...this.#filesByPath.values()],\n [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n (v) => trimExtName(v.baseName),\n (v) => v.path.split('.').pop(),\n ],\n )\n }\n\n get groupedFiles(): DirectoryTree | null {\n return buildDirectoryTree([...this.#filesByPath.values()])\n }\n\n get treeNode(): TreeNode | null {\n return TreeNode.build([...this.#filesByPath.values()])\n }\n\n async add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(...files: T): AddResult<T> {\n const promises = files.map((file) => {\n if (file.override) {\n return this.#add(file)\n }\n\n return this.#addOrAppend(file)\n })\n\n const resolvedFiles = await Promise.all(promises)\n\n if (files.length > 1) {\n return resolvedFiles as unknown as AddResult<T>\n }\n\n return resolvedFiles[0] as unknown as AddResult<T>\n }\n\n async #add(file: KubbFile.File): Promise<ResolvedFile> {\n const resolvedFile = createFile(file)\n\n this.#filesByPath.set(resolvedFile.path, resolvedFile)\n\n return resolvedFile\n }\n\n clear() {\n this.#filesByPath.clear()\n }\n\n async #addOrAppend(file: KubbFile.File): Promise<ResolvedFile> {\n const previousFile = this.#filesByPath.get(file.path)\n\n if (previousFile) {\n this.#filesByPath.delete(previousFile.path)\n\n return this.#add(mergeFile(previousFile, file))\n }\n return this.#add(file)\n }\n\n getCacheById(id: string): KubbFile.File | undefined {\n return [...this.#filesByPath.values()].find((file) => file.id === id)\n }\n\n getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | undefined {\n return this.#filesByPath.get(path)\n }\n\n deleteByPath(path: KubbFile.Path): void {\n const cacheItem = this.getByPath(path)\n if (!cacheItem) {\n return\n }\n\n this.#filesByPath.delete(path)\n }\n\n async getBarrelFiles({ type, files, meta = {}, root, output, logger }: AddIndexesProps): Promise<KubbFile.File[]> {\n if (!type) {\n return []\n }\n\n const barrelManager = new BarrelManager({ logger })\n\n const pathToBuildFrom = join(root, output.path)\n\n if (trimExtName(pathToBuildFrom).endsWith('index')) {\n logger?.emit('warning', 'Output has the same fileName as the barrelFiles, please disable barrel generation')\n\n return []\n }\n\n const barrelFiles = barrelManager.getFiles({ files, root: pathToBuildFrom, meta })\n\n if (type === 'all') {\n return barrelFiles.map((file) => {\n return {\n ...file,\n exports: file.exports?.map((exportItem) => {\n return {\n ...exportItem,\n name: undefined,\n }\n }),\n }\n })\n }\n\n return barrelFiles.map((indexFile) => {\n return {\n ...indexFile,\n meta,\n }\n })\n }\n\n async write(...params: Parameters<typeof write>): ReturnType<typeof write> {\n return write(...params)\n }\n\n async read(...params: Parameters<typeof read>): ReturnType<typeof read> {\n return read(...params)\n }\n\n // statics\n static getMode(path: string | undefined | null): KubbFile.Mode {\n if (!path) {\n return 'split'\n }\n return extname(path) ? 'single' : 'split'\n }\n}\n\ntype GetSourceOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nexport async function getSource<TMeta extends FileMetaBase = FileMetaBase>(\n file: ResolvedFile<TMeta>,\n { logger, extname }: GetSourceOptions = {},\n): Promise<string> {\n const parser = await getFileParser(file.extname)\n const source = await parser.print(file, { logger, extname })\n\n return parser.format(source)\n}\n\nfunction mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {\n return {\n ...a,\n sources: [...(a.sources || []), ...(b.sources || [])],\n imports: [...(a.imports || []), ...(b.imports || [])],\n exports: [...(a.exports || []), ...(b.exports || [])],\n }\n}\n\nexport function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {\n return sources.reduce(\n (prev, curr) => {\n const prevByName = prev.findLast((imp) => imp.name && imp.name === curr.name)\n const prevByPathAndIsExportable = prev.findLast((imp) => imp.name === curr.name && imp.isExportable)\n\n if (prevByPathAndIsExportable) {\n // we already have an export that has the same name but uses `isExportable` (export type ...)\n return [...prev, curr]\n }\n\n if (prevByName) {\n prevByName.value = curr.value\n prevByName.isExportable = curr.isExportable\n prevByName.isTypeOnly = curr.isTypeOnly\n prevByName.isIndexable = curr.isIndexable\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Source>,\n )\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return orderBy(exports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\n\n // we already have an item that was unique enough or name field is empty or prev asAlias is set but current has no changes\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n return orderBy(imports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n const hasImportInSource = (importName: string) => {\n if (!source) {\n return true\n }\n\n const checker = (name?: string) => {\n return name && !!source.includes(name)\n }\n\n return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))\n }\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n return prev\n }\n\n // merge all names and check if the importName is being used in the generated source and if not filter those imports out\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n\n return prev\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Import>,\n )\n}\n\ntype WriteFilesProps = {\n config: Config\n files: Array<KubbFile.ResolvedFile>\n logger: Logger\n dryRun?: boolean\n}\n/**\n * Global queue\n */\nconst queue = new PQueue({ concurrency: 100 })\n\nexport async function processFiles({ dryRun, config, logger, files }: WriteFilesProps) {\n const orderedFiles = orderBy(files, [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n ])\n\n logger.emit('debug', {\n date: new Date(),\n logs: [JSON.stringify({ files: orderedFiles }, null, 2)],\n fileName: 'kubb-files.log',\n })\n\n if (!dryRun) {\n const size = orderedFiles.length\n\n logger.emit('progress_start', { id: 'files', size, message: 'Writing files ...' })\n const promises = orderedFiles.map(async (file) => {\n await queue.add(async () => {\n const message = file ? `Writing ${relative(config.root, file.path)}` : ''\n const extname = config.output.extension?.[file.extname]\n\n const source = await getSource(file, { logger, extname })\n\n await write(file.path, source, { sanity: false })\n\n logger.emit('progressed', { id: 'files', message })\n })\n })\n\n await Promise.all(promises)\n\n logger.emit('progress_stop', { id: 'files' })\n }\n\n return files\n}\n","import { join } from 'node:path'\n\nimport { TreeNode } from './utils/TreeNode.ts'\n\nimport { getRelativePath } from '@kubb/fs'\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { FileMetaBase } from './FileManager.ts'\nimport type { Logger } from './logger.ts'\n\ntype BarrelManagerOptions = {\n logger?: Logger\n}\n\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\n\n getFiles({ files: generatedFiles, root, meta }: { files: KubbFile.File[]; root?: string; meta?: FileMetaBase | undefined }): Array<KubbFile.File> {\n const { logger } = this.#options\n\n const cachedFiles = new Map<KubbFile.Path, KubbFile.File>()\n\n logger?.emit('debug', { date: new Date(), logs: [`Start barrel generation for pluginKey ${meta?.pluginKey?.join('.')} and root '${root}'`] })\n\n TreeNode.build(generatedFiles, root)?.forEach((treeNode) => {\n if (!treeNode || !treeNode.children || !treeNode.parent?.data.path) {\n return undefined\n }\n\n const barrelFile: KubbFile.File = {\n path: join(treeNode.parent?.data.path, 'index.ts') as KubbFile.Path,\n baseName: 'index.ts',\n exports: [],\n sources: [],\n }\n const previousBarrelFile = cachedFiles.get(barrelFile.path)\n const leaves = treeNode.leaves\n\n leaves.forEach((item) => {\n if (!item.data.name) {\n return undefined\n }\n\n const sources = item.data.file?.sources || []\n\n if (!sources.some((source) => source.isIndexable)) {\n logger?.emit(\n 'warning',\n `No isIndexable source found(source should have a name and isIndexable):\\nFile: ${JSON.stringify(item.data.file, undefined, 2)}`,\n )\n }\n\n sources.forEach((source) => {\n if (!item.data.file?.path || !source.isIndexable || !source.name) {\n return undefined\n }\n const alreadyContainInPreviousBarrelFile = previousBarrelFile?.sources.some((item) => item.name === source.name)\n\n if (alreadyContainInPreviousBarrelFile) {\n return undefined\n }\n\n if (!barrelFile.exports) {\n barrelFile.exports = []\n }\n\n // true when we have a subdirectory that also contains barrel files\n const isSubExport = !!treeNode.parent?.data.path?.split?.('/')?.length\n\n if (isSubExport) {\n barrelFile.exports.push({\n name: [source.name],\n path: getRelativePath(treeNode.parent?.data.path, item.data.path),\n isTypeOnly: source.isTypeOnly,\n })\n } else {\n barrelFile.exports.push({\n name: [source.name],\n path: `./${item.data.file.baseName}`,\n isTypeOnly: source.isTypeOnly,\n })\n }\n\n barrelFile.sources.push({\n name: source.name,\n isTypeOnly: source.isTypeOnly,\n //TODO use parser to generate import\n value: '',\n isExportable: false,\n isIndexable: false,\n })\n })\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `Generating barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with ${barrelFile.sources.length} indexable exports: '${barrelFile.sources?.map((source) => source.name).join(', ')}'`,\n ],\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `Generated barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with exports: '${cachedFiles\n .get(barrelFile.path)\n ?.sources?.map((source) => source.name)\n .join(', ')}'`,\n ],\n })\n\n if (previousBarrelFile) {\n previousBarrelFile.sources.push(...barrelFile.sources)\n previousBarrelFile.exports?.push(...(barrelFile.exports || []))\n } else {\n cachedFiles.set(barrelFile.path, barrelFile)\n }\n })\n\n return [...cachedFiles.values()]\n }\n}\n","import type * as KubbFile from '@kubb/fs/types'\nimport { FileManager } from '../FileManager.ts'\n\ntype BarrelData = {\n file?: KubbFile.File\n /**\n * @deprecated use file instead\n */\n type: KubbFile.Mode\n path: string\n name: string\n}\n\nexport class TreeNode {\n data: BarrelData\n parent?: TreeNode\n children: Array<TreeNode> = []\n #cachedLeaves?: Array<TreeNode> = undefined\n\n constructor(data: BarrelData, parent?: TreeNode) {\n this.data = data\n this.parent = parent\n return this\n }\n\n addChild(data: BarrelData): TreeNode {\n const child = new TreeNode(data, this)\n if (!this.children) {\n this.children = []\n }\n this.children.push(child)\n return child\n }\n\n get root(): TreeNode {\n if (!this.parent) {\n return this\n }\n return this.parent.root\n }\n\n get leaves(): Array<TreeNode> {\n if (!this.children || this.children.length === 0) {\n // this is a leaf\n return [this]\n }\n\n if (this.#cachedLeaves) {\n return this.#cachedLeaves\n }\n\n // if not a leaf, return all children's leaves recursively\n const leaves: TreeNode[] = []\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n leaves.push.apply(leaves, this.children[i]!.leaves)\n }\n }\n\n this.#cachedLeaves = leaves\n\n return leaves\n }\n\n forEach(callback: (treeNode: TreeNode) => void): this {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n // run this node through function\n callback(this)\n\n // do the same for all children\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n this.children[i]?.forEach(callback)\n }\n }\n\n return this\n }\n\n findDeep(predicate?: (value: TreeNode, index: number, obj: TreeNode[]) => boolean): TreeNode | undefined {\n if (typeof predicate !== 'function') {\n throw new TypeError('find() predicate must be a function')\n }\n\n return this.leaves.find(predicate)\n }\n\n forEachDeep(callback: (treeNode: TreeNode) => void): void {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n this.leaves.forEach(callback)\n }\n\n filterDeep(callback: (treeNode: TreeNode) => boolean): Array<TreeNode> {\n if (typeof callback !== 'function') {\n throw new TypeError('filter() callback must be a function')\n }\n\n return this.leaves.filter(callback)\n }\n\n mapDeep<T>(callback: (treeNode: TreeNode) => T): Array<T> {\n if (typeof callback !== 'function') {\n throw new TypeError('map() callback must be a function')\n }\n\n return this.leaves.map(callback)\n }\n\n public static build(files: KubbFile.File[], root?: string): TreeNode | null {\n try {\n const filteredTree = buildDirectoryTree(files, root)\n\n if (!filteredTree) {\n return null\n }\n\n const treeNode = new TreeNode({\n name: filteredTree.name,\n path: filteredTree.path,\n file: filteredTree.file,\n type: FileManager.getMode(filteredTree.path),\n })\n\n const recurse = (node: typeof treeNode, item: DirectoryTree) => {\n const subNode = node.addChild({\n name: item.name,\n path: item.path,\n file: item.file,\n type: FileManager.getMode(item.path),\n })\n\n if (item.children?.length) {\n item.children?.forEach((child) => {\n recurse(subNode, child)\n })\n }\n }\n\n filteredTree.children?.forEach((child) => recurse(treeNode, child))\n\n return treeNode\n } catch (e) {\n throw new Error('Something went wrong with creating barrel files with the TreeNode class', { cause: e })\n }\n }\n}\n\nexport type DirectoryTree = {\n name: string\n path: string\n file?: KubbFile.File\n children: Array<DirectoryTree>\n}\n\nexport function buildDirectoryTree(files: Array<KubbFile.File>, rootFolder = ''): DirectoryTree | null {\n const rootPrefix = rootFolder.endsWith('/') ? rootFolder : `${rootFolder}/`\n const filteredFiles = files.filter((file) => (rootFolder ? file.path.startsWith(rootPrefix) && !file.path.endsWith('.json') : !file.path.endsWith('.json')))\n\n if (filteredFiles.length === 0) {\n return null // No files match the root folder\n }\n\n const root: DirectoryTree = {\n name: rootFolder || '',\n path: rootFolder || '',\n children: [],\n }\n\n filteredFiles.forEach((file) => {\n const path = file.path.slice(rootFolder.length)\n const parts = path.split('/')\n let currentLevel: DirectoryTree[] = root.children\n let currentPath = rootFolder\n\n parts.forEach((part, index) => {\n if (index !== 0) {\n currentPath += `/${part}`\n } else {\n currentPath += `${part}`\n }\n\n let existingNode = currentLevel.find((node) => node.name === part)\n\n if (!existingNode) {\n if (index === parts.length - 1) {\n // If it's the last part, it's a file\n existingNode = {\n name: part,\n file,\n path: currentPath,\n } as DirectoryTree\n } else {\n // Otherwise, it's a folder\n existingNode = {\n name: part,\n path: currentPath,\n children: [],\n } as DirectoryTree\n }\n currentLevel.push(existingNode)\n }\n\n // Move to the next level if it's a folder\n if (!existingNode.file) {\n currentLevel = existingNode.children\n }\n })\n })\n\n return root\n}\n","import { EventEmitter } from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n #carryoverConcurrencyCount;\n #isIntervalIgnored;\n #intervalCount = 0;\n #intervalCap;\n #interval;\n #intervalEnd = 0;\n #intervalId;\n #timeoutId;\n #queue;\n #queueClass;\n #pending = 0;\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n #concurrency;\n #isPaused;\n #throwOnTimeout;\n /**\n Per-operation timeout in milliseconds. Operations fulfill once `timeout` elapses if they haven't already.\n\n Applies to each future operation.\n */\n timeout;\n // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`\n constructor(options) {\n super();\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options,\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${options.intervalCap?.toString() ?? ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${options.interval?.toString() ?? ''}\\` (${typeof options.interval})`);\n }\n this.#carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this.#intervalCap = options.intervalCap;\n this.#interval = options.interval;\n this.#queue = new options.queueClass();\n this.#queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this.timeout = options.timeout;\n this.#throwOnTimeout = options.throwOnTimeout === true;\n this.#isPaused = options.autoStart === false;\n }\n get #doesIntervalAllowAnother() {\n return this.#isIntervalIgnored || this.#intervalCount < this.#intervalCap;\n }\n get #doesConcurrentAllowAnother() {\n return this.#pending < this.#concurrency;\n }\n #next() {\n this.#pending--;\n this.#tryToStartAnother();\n this.emit('next');\n }\n #onResumeInterval() {\n this.#onInterval();\n this.#initializeIntervalIfNeeded();\n this.#timeoutId = undefined;\n }\n get #isIntervalPaused() {\n const now = Date.now();\n if (this.#intervalId === undefined) {\n const delay = this.#intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this.#intervalCount = (this.#carryoverConcurrencyCount) ? this.#pending : 0;\n }\n else {\n // Act as the interval is pending\n if (this.#timeoutId === undefined) {\n this.#timeoutId = setTimeout(() => {\n this.#onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n #tryToStartAnother() {\n if (this.#queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this.#intervalId) {\n clearInterval(this.#intervalId);\n }\n this.#intervalId = undefined;\n this.emit('empty');\n if (this.#pending === 0) {\n this.emit('idle');\n }\n return false;\n }\n if (!this.#isPaused) {\n const canInitializeInterval = !this.#isIntervalPaused;\n if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {\n const job = this.#queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this.#initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n #initializeIntervalIfNeeded() {\n if (this.#isIntervalIgnored || this.#intervalId !== undefined) {\n return;\n }\n this.#intervalId = setInterval(() => {\n this.#onInterval();\n }, this.#interval);\n this.#intervalEnd = Date.now() + this.#interval;\n }\n #onInterval() {\n if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {\n clearInterval(this.#intervalId);\n this.#intervalId = undefined;\n }\n this.#intervalCount = this.#carryoverConcurrencyCount ? this.#pending : 0;\n this.#processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n #processQueue() {\n // eslint-disable-next-line no-empty\n while (this.#tryToStartAnother()) { }\n }\n get concurrency() {\n return this.#concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this.#concurrency = newConcurrency;\n this.#processQueue();\n }\n async #throwOnAbort(signal) {\n return new Promise((_resolve, reject) => {\n signal.addEventListener('abort', () => {\n reject(signal.reason);\n }, { once: true });\n });\n }\n async add(function_, options = {}) {\n options = {\n timeout: this.timeout,\n throwOnTimeout: this.#throwOnTimeout,\n ...options,\n };\n return new Promise((resolve, reject) => {\n this.#queue.enqueue(async () => {\n this.#pending++;\n this.#intervalCount++;\n try {\n options.signal?.throwIfAborted();\n let operation = function_({ signal: options.signal });\n if (options.timeout) {\n operation = pTimeout(Promise.resolve(operation), { milliseconds: options.timeout });\n }\n if (options.signal) {\n operation = Promise.race([operation, this.#throwOnAbort(options.signal)]);\n }\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n if (error instanceof TimeoutError && !options.throwOnTimeout) {\n resolve();\n return;\n }\n reject(error);\n this.emit('error', error);\n }\n finally {\n this.#next();\n }\n }, options);\n this.emit('add');\n this.#tryToStartAnother();\n });\n }\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this.#isPaused) {\n return this;\n }\n this.#isPaused = false;\n this.#processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this.#isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this.#queue = new this.#queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('empty');\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this.#queue.size < limit) {\n return;\n }\n await this.#onEvent('next', () => this.#queue.size < limit);\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this.#pending === 0 && this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('idle');\n }\n async #onEvent(event, filter) {\n return new Promise(resolve => {\n const listener = () => {\n if (filter && !filter()) {\n return;\n }\n this.off(event, listener);\n resolve();\n };\n this.on(event, listener);\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this.#queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this.#queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this.#pending;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this.#isPaused;\n }\n}\n","import EventEmitter from './index.js'\n\nexport { EventEmitter }\nexport default EventEmitter\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n #queue = [];\n enqueue(run, options) {\n options = {\n priority: 0,\n ...options,\n };\n const element = {\n priority: options.priority,\n run,\n };\n if (this.size && this.#queue[this.size - 1].priority >= options.priority) {\n this.#queue.push(element);\n return;\n }\n const index = lowerBound(this.#queue, element, (a, b) => b.priority - a.priority);\n this.#queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this.#queue.shift();\n return item?.run;\n }\n filter(options) {\n return this.#queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this.#queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/core.mjs","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/shared/consola.06ad8a64.mjs","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/utils.mjs","../../../node_modules/.pnpm/consola@3.2.3/node_modules/consola/dist/shared/consola.36c0034f.mjs"],"names":["init_cjs_shims","sep","formatWithOptions","tty","env","isCI","ansiRegex","stripAnsi","process$1","getColor","createConsola"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,gCAAA,EAAA,CAAA;AAAA,IAAM,SAAY,GAAA;AAAA,EAChB,QAAQ,MAAO,CAAA,iBAAA;AAAA,EACf,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA,CAAA;AAAA,EACN,GAAK,EAAA,CAAA;AAAA,EACL,IAAM,EAAA,CAAA;AAAA,EACN,OAAS,EAAA,CAAA;AAAA,EACT,IAAM,EAAA,CAAA;AAAA,EACN,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,SAAS,MAAO,CAAA,iBAAA;AAClB,CAAA,CAAA;AACA,IAAM,QAAW,GAAA;AAAA;AAAA,EAEf,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA,CAAA,CAAA;AAAA,GACT;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,KAAA;AAAA,GACnB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,KAAA;AAAA,GACnB;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,OAAO,SAAU,CAAA,GAAA;AAAA,GACnB;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAO,SAAU,CAAA,OAAA;AAAA,GACnB;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,OAAO,SAAU,CAAA,IAAA;AAAA,GACnB;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,KAAA;AAAA,GACnB;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,OAAO,SAAU,CAAA,KAAA;AAAA,GACnB;AAAA;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,OAAO,SAAU,CAAA,OAAA;AAAA,GACnB;AACF,CAAA,CAAA;AAEA,SAAS,SAAS,KAAO,EAAA;AACvB,EAAO,OAAA,KAAA,KAAU,IAAQ,IAAA,OAAO,KAAU,KAAA,QAAA,CAAA;AAC5C,CAAA;AACA,SAAS,KAAM,CAAA,UAAA,EAAY,QAAU,EAAA,SAAA,GAAY,KAAK,MAAQ,EAAA;AAC5D,EAAI,IAAA,CAAC,QAAS,CAAA,QAAQ,CAAG,EAAA;AACvB,IAAA,OAAO,KAAM,CAAA,UAAA,EAAY,EAAC,EAAG,SAAiB,CAAA,CAAA;AAAA,GAChD;AACA,EAAA,MAAM,MAAS,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,QAAQ,CAAA,CAAA;AACzC,EAAA,KAAA,MAAW,OAAO,UAAY,EAAA;AAC5B,IAAI,IAAA,GAAA,KAAQ,WAAe,IAAA,GAAA,KAAQ,aAAe,EAAA;AAChD,MAAA,SAAA;AAAA,KACF;AACA,IAAM,MAAA,KAAA,GAAQ,WAAW,GAAG,CAAA,CAAA;AAC5B,IAAI,IAAA,KAAA,KAAU,IAAQ,IAAA,KAAA,KAAU,KAAQ,CAAA,EAAA;AACtC,MAAA,SAAA;AAAA,KACF;AAIA,IAAI,IAAA,KAAA,CAAM,QAAQ,KAAK,CAAA,IAAK,MAAM,OAAQ,CAAA,MAAA,CAAO,GAAG,CAAC,CAAG,EAAA;AACtD,MAAO,MAAA,CAAA,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,MAAA,CAAO,GAAG,CAAC,CAAA,CAAA;AAAA,KACzC,MAAA,IAAW,SAAS,KAAK,CAAA,IAAK,SAAS,MAAO,CAAA,GAAG,CAAC,CAAG,EAAA;AACnD,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,QACZ,KAAA;AAAA,QACA,OAAO,GAAG,CAAA;AAAA,QAAA,CACT,YAAY,CAAG,EAAA,SAAS,CAAM,CAAA,CAAA,GAAA,EAAA,IAAM,IAAI,QAAS,EAEpD,CAAA,CAAA;AAAA,KACK,MAAA;AACL,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA,CAAA;AAAA,KAChB;AAAA,GACF;AACA,EAAO,OAAA,MAAA,CAAA;AACT,CAAA;AACA,SAAS,WAAW,MAAQ,EAAA;AAC1B,EAAA,OAAO,CAAI,GAAA,UAAA;AAAA;AAAA,IAET,UAAW,CAAA,MAAA,CAAO,CAAC,CAAA,EAAG,CAAM,KAAA,KAAA,CAAM,CAAG,EAAA,CAAA,EAAG,EAAU,CAAG,EAAA,EAAE,CAAA;AAAA,GAAA,CAAA;AAE3D,CAAA;AACA,IAAM,OAAO,UAAW,EAAA,CAAA;AAExB,SAAS,cAAc,GAAK,EAAA;AAC1B,EAAA,OAAO,MAAO,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,GAAG,CAAM,KAAA,iBAAA,CAAA;AACjD,CAAA;AACA,SAAS,SAAS,GAAK,EAAA;AACrB,EAAI,IAAA,CAAC,aAAc,CAAA,GAAG,CAAG,EAAA;AACvB,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAA,IAAI,CAAC,GAAA,CAAI,OAAW,IAAA,CAAC,IAAI,IAAM,EAAA;AAC7B,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAA,IAAI,IAAI,KAAO,EAAA;AACb,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAEA,IAAI,MAAS,GAAA,KAAA,CAAA;AACb,IAAM,QAAQ,EAAC,CAAA;AACf,IAAM,OAAA,GAAN,MAAM,QAAQ,CAAA;AAAA,EACZ,WAAA,CAAY,OAAU,GAAA,EAAI,EAAA;AACxB,IAAM,MAAA,KAAA,GAAQ,QAAQ,KAAS,IAAA,QAAA,CAAA;AAC/B,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA;AAAA,MACb;AAAA,QACE,GAAG,OAAA;AAAA,QACH,QAAU,EAAA,EAAE,GAAG,OAAA,CAAQ,QAAS,EAAA;AAAA,QAChC,KAAO,EAAA,kBAAA,CAAmB,OAAQ,CAAA,KAAA,EAAO,KAAK,CAAA;AAAA,QAC9C,WAAW,CAAC,GAAG,OAAQ,CAAA,SAAA,IAAa,EAAE,CAAA;AAAA,OACxC;AAAA,MACA;AAAA,QACE,KAAO,EAAA,QAAA;AAAA,QACP,QAAU,EAAA,GAAA;AAAA,QACV,WAAa,EAAA,CAAA;AAAA,QACb,aAAe,EAAA;AAAA,UACb,IAAM,EAAA,IAAA;AAAA,UACN,MAAQ,EAAA,KAAA;AAAA,UACR,OAAS,EAAA,IAAA;AAAA,SACX;AAAA,OACF;AAAA,KACF,CAAA;AACA,IAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,MAAA,MAAM,QAAW,GAAA;AAAA,QACf,IAAA;AAAA,QACA,GAAG,KAAK,OAAQ,CAAA,QAAA;AAAA,QAChB,GAAG,MAAM,IAAI,CAAA;AAAA,OACf,CAAA;AACA,MAAA,IAAA,CAAK,IAAI,CAAA,GAAI,IAAK,CAAA,UAAA,CAAW,QAAQ,CAAA,CAAA;AACrC,MAAK,IAAA,CAAA,IAAI,CAAE,CAAA,GAAA,GAAM,IAAK,CAAA,UAAA;AAAA,QACpB,QAAA;AAAA,QACA,IAAA;AAAA,OACF,CAAA;AAAA,KACF;AACA,IAAI,IAAA,IAAA,CAAK,QAAQ,MAAQ,EAAA;AACvB,MAAA,IAAA,CAAK,SAAU,EAAA,CAAA;AAAA,KACjB;AACA,IAAA,IAAA,CAAK,WAAW,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,IAAI,KAAQ,GAAA;AACV,IAAA,OAAO,KAAK,OAAQ,CAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EACA,IAAI,MAAM,KAAO,EAAA;AACf,IAAA,IAAA,CAAK,QAAQ,KAAQ,GAAA,kBAAA;AAAA,MACnB,KAAA;AAAA,MACA,KAAK,OAAQ,CAAA,KAAA;AAAA,MACb,KAAK,OAAQ,CAAA,KAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,MAAA,CAAO,SAAS,IAAM,EAAA;AACpB,IAAI,IAAA,CAAC,IAAK,CAAA,OAAA,CAAQ,MAAQ,EAAA;AACxB,MAAM,MAAA,IAAI,MAAM,0BAA0B,CAAA,CAAA;AAAA,KAC5C;AACA,IAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,MAAO,CAAA,OAAA,EAAS,IAAI,CAAA,CAAA;AAAA,GAC1C;AAAA,EACA,OAAO,OAAS,EAAA;AACd,IAAM,MAAA,QAAA,GAAW,IAAI,QAAQ,CAAA;AAAA,MAC3B,GAAG,IAAK,CAAA,OAAA;AAAA,MACR,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AACD,IAAA,IAAI,KAAK,OAAS,EAAA;AAChB,MAAS,QAAA,CAAA,SAAA,CAAU,KAAK,OAAO,CAAA,CAAA;AAAA,KACjC;AACA,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EACA,aAAa,QAAU,EAAA;AACrB,IAAA,OAAO,KAAK,MAAO,CAAA;AAAA,MACjB,GAAG,IAAK,CAAA,OAAA;AAAA,MACR,QAAU,EAAA;AAAA,QACR,GAAG,KAAK,OAAQ,CAAA,QAAA;AAAA,QAChB,GAAG,QAAA;AAAA,OACL;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAAA,EACA,QAAQ,GAAK,EAAA;AACX,IAAA,OAAO,KAAK,YAAa,CAAA;AAAA,MACvB,GAAA,EAAK,IAAK,CAAA,OAAA,CAAQ,QAAS,CAAA,GAAA,GAAM,KAAK,OAAQ,CAAA,QAAA,CAAS,GAAM,GAAA,GAAA,GAAM,GAAM,GAAA,GAAA;AAAA,KAC1E,CAAA,CAAA;AAAA,GACH;AAAA,EACA,YAAY,QAAU,EAAA;AACpB,IAAK,IAAA,CAAA,OAAA,CAAQ,SAAU,CAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AACpC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EACA,eAAe,QAAU,EAAA;AACvB,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,MAAM,CAAI,GAAA,IAAA,CAAK,OAAQ,CAAA,SAAA,CAAU,QAAQ,QAAQ,CAAA,CAAA;AACjD,MAAA,IAAI,KAAK,CAAG,EAAA;AACV,QAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,SAAU,CAAA,MAAA,CAAO,GAAG,CAAC,CAAA,CAAA;AAAA,OAC3C;AAAA,KACK,MAAA;AACL,MAAK,IAAA,CAAA,OAAA,CAAQ,SAAU,CAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAAA,KACjC;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EACA,aAAa,SAAW,EAAA;AACtB,IAAK,IAAA,CAAA,OAAA,CAAQ,YAAY,KAAM,CAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,SAAA,GAAY,CAAC,SAAS,CAAA,CAAA;AAC1E,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EACA,OAAU,GAAA;AACR,IAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AACjB,IAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,GACf;AAAA,EACA,UAAa,GAAA;AACX,IAAA,IAAA,CAAK,cAAe,EAAA,CAAA;AACpB,IAAA,IAAA,CAAK,UAAW,EAAA,CAAA;AAAA,GAClB;AAAA,EACA,WAAc,GAAA;AACZ,IAAW,KAAA,MAAA,IAAA,IAAQ,IAAK,CAAA,OAAA,CAAQ,KAAO,EAAA;AACrC,MAAA,IAAI,CAAC,OAAA,CAAQ,IAAO,GAAA,IAAI,CAAG,EAAA;AACzB,QAAA,OAAA,CAAQ,IAAO,GAAA,IAAI,CAAI,GAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,OACrC;AACA,MAAA,OAAA,CAAQ,IAAI,CAAA,GAAI,IAAK,CAAA,IAAI,CAAE,CAAA,GAAA,CAAA;AAAA,KAC7B;AAAA,GACF;AAAA,EACA,cAAiB,GAAA;AACf,IAAW,KAAA,MAAA,IAAA,IAAQ,IAAK,CAAA,OAAA,CAAQ,KAAO,EAAA;AACrC,MAAI,IAAA,OAAA,CAAQ,IAAO,GAAA,IAAI,CAAG,EAAA;AACxB,QAAA,OAAA,CAAQ,IAAI,CAAA,GAAI,OAAQ,CAAA,IAAA,GAAO,IAAI,CAAA,CAAA;AACnC,QAAO,OAAA,OAAA,CAAQ,OAAO,IAAI,CAAA,CAAA;AAAA,OAC5B;AAAA,KACF;AAAA,GACF;AAAA,EACA,OAAU,GAAA;AACR,IAAA,IAAA,CAAK,WAAY,CAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAC3C,IAAA,IAAA,CAAK,WAAY,CAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,GAC7C;AAAA,EACA,WAAA,CAAY,QAAQ,IAAM,EAAA;AACxB,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACnB,MAAA,MAAA,CAAO,UAAU,MAAO,CAAA,KAAA,CAAA;AAAA,KAC1B;AACA,IAAO,MAAA,CAAA,KAAA,GAAQ,CAAC,IAAS,KAAA;AACvB,MAAA,IAAA,CAAK,IAAI,CAAE,CAAA,GAAA,CAAI,OAAO,IAAI,CAAA,CAAE,MAAM,CAAA,CAAA;AAAA,KACpC,CAAA;AAAA,GACF;AAAA,EACA,UAAa,GAAA;AACX,IAAK,IAAA,CAAA,cAAA,CAAe,IAAK,CAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AACvC,IAAK,IAAA,CAAA,cAAA,CAAe,IAAK,CAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,GACzC;AAAA,EACA,eAAe,MAAQ,EAAA;AACrB,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,OAAA;AAAA,KACF;AACA,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,OAAA,CAAA;AACtB,MAAA,OAAO,MAAO,CAAA,OAAA,CAAA;AAAA,KAChB;AAAA,GACF;AAAA,EACA,SAAY,GAAA;AACV,IAAS,MAAA,GAAA,IAAA,CAAA;AAAA,GACX;AAAA,EACA,UAAa,GAAA;AACX,IAAS,MAAA,GAAA,KAAA,CAAA;AACT,IAAM,MAAA,MAAA,GAAS,KAAM,CAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAC7B,IAAA,KAAA,MAAW,QAAQ,MAAQ,EAAA;AACzB,MAAK,IAAA,CAAA,CAAC,EAAE,MAAO,CAAA,IAAA,CAAK,CAAC,CAAG,EAAA,IAAA,CAAK,CAAC,CAAC,CAAA,CAAA;AAAA,KACjC;AAAA,GACF;AAAA,EACA,UAAU,MAAQ,EAAA;AAChB,IAAM,MAAA,OAAA,GAAU,MAAU,IAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,CAAA;AACvC,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA,CAAA;AACf,IAAI,IAAA,OAAO,YAAY,UAAY,EAAA;AACjC,MAAA,OAAA;AAAA,KACF;AACA,IAAW,KAAA,MAAA,IAAA,IAAQ,IAAK,CAAA,OAAA,CAAQ,KAAO,EAAA;AACrC,MAAK,IAAA,CAAA,IAAI,CAAI,GAAA,OAAA,CAAQ,IAAM,EAAA,IAAA,CAAK,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAC,CAAK,IAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AACjE,MAAA,IAAA,CAAK,IAAI,CAAA,CAAE,GAAM,GAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAAA,KAC5B;AAAA,GACF;AAAA,EACA,UAAA,CAAW,UAAU,KAAO,EAAA;AAC1B,IAAA,OAAO,IAAI,IAAS,KAAA;AAClB,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,KAAA,CAAM,KAAK,CAAC,IAAA,EAAM,QAAU,EAAA,IAAA,EAAM,KAAK,CAAC,CAAA,CAAA;AACxC,QAAA,OAAA;AAAA,OACF;AACA,MAAA,OAAO,IAAK,CAAA,MAAA,CAAO,QAAU,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,KAC1C,CAAA;AAAA,GACF;AAAA,EACA,MAAA,CAAO,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA;AAC5B,IAAA,IAAA,CAAK,QAAS,CAAA,KAAA,IAAS,CAAK,IAAA,IAAA,CAAK,KAAO,EAAA;AACtC,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,MAAS,GAAA;AAAA,MACb,IAAA,sBAA0B,IAAK,EAAA;AAAA,MAC/B,MAAM,EAAC;AAAA,MACP,GAAG,QAAA;AAAA,MACH,OAAO,kBAAmB,CAAA,QAAA,CAAS,KAAO,EAAA,IAAA,CAAK,QAAQ,KAAK,CAAA;AAAA,KAC9D,CAAA;AACA,IAAI,IAAA,CAAC,SAAS,IAAK,CAAA,MAAA,KAAW,KAAK,QAAS,CAAA,IAAA,CAAK,CAAC,CAAC,CAAG,EAAA;AACpD,MAAA,MAAA,CAAO,MAAO,CAAA,MAAA,EAAQ,IAAK,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,KACxB,MAAA;AACL,MAAO,MAAA,CAAA,IAAA,GAAO,CAAC,GAAG,IAAI,CAAA,CAAA;AAAA,KACxB;AACA,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAO,MAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAClC,MAAA,OAAO,MAAO,CAAA,OAAA,CAAA;AAAA,KAChB;AACA,IAAA,IAAI,OAAO,UAAY,EAAA;AACrB,MAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,UAAU,CAAG,EAAA;AACrC,QAAA,MAAA,CAAO,UAAa,GAAA,MAAA,CAAO,UAAW,CAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAAA,OAClD;AACA,MAAA,MAAA,CAAO,KAAK,IAAK,CAAA,IAAA,GAAO,OAAO,UAAW,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AACpD,MAAA,OAAO,MAAO,CAAA,UAAA,CAAA;AAAA,KAChB;AACA,IAAO,MAAA,CAAA,IAAA,GAAO,OAAO,MAAO,CAAA,IAAA,KAAS,WAAW,MAAO,CAAA,IAAA,CAAK,aAAgB,GAAA,KAAA,CAAA;AAC5E,IAAA,MAAA,CAAO,MAAM,OAAO,MAAA,CAAO,GAAQ,KAAA,QAAA,GAAW,OAAO,GAAM,GAAA,EAAA,CAAA;AAC3D,IAAM,MAAA,UAAA,GAAa,CAAC,MAAA,GAAS,KAAU,KAAA;AACrC,MAAA,MAAM,YAAY,IAAK,CAAA,QAAA,CAAS,KAAS,IAAA,CAAA,IAAK,KAAK,OAAQ,CAAA,WAAA,CAAA;AAC3D,MAAA,IAAI,IAAK,CAAA,QAAA,CAAS,MAAU,IAAA,QAAA,GAAW,CAAG,EAAA;AACxC,QAAA,MAAM,QAAQ,CAAC,GAAG,IAAK,CAAA,QAAA,CAAS,OAAO,IAAI,CAAA,CAAA;AAC3C,QAAA,IAAI,WAAW,CAAG,EAAA;AAChB,UAAM,KAAA,CAAA,IAAA,CAAK,CAAa,UAAA,EAAA,QAAQ,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,SAC3C;AACA,QAAK,IAAA,CAAA,IAAA,CAAK,EAAE,GAAG,IAAA,CAAK,SAAS,MAAQ,EAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAClD,QAAA,IAAA,CAAK,SAAS,KAAQ,GAAA,CAAA,CAAA;AAAA,OACxB;AACA,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,IAAA,CAAK,SAAS,MAAS,GAAA,MAAA,CAAA;AACvB,QAAA,IAAA,CAAK,KAAK,MAAM,CAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AACA,IAAa,YAAA,CAAA,IAAA,CAAK,SAAS,OAAO,CAAA,CAAA;AAClC,IAAA,MAAM,QAAW,GAAA,IAAA,CAAK,QAAS,CAAA,IAAA,IAAQ,OAAO,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,OAAA,EAAY,GAAA,IAAA,CAAK,QAAS,CAAA,IAAA,CAAK,SAAY,GAAA,CAAA,CAAA;AAC5G,IAAK,IAAA,CAAA,QAAA,CAAS,OAAO,MAAO,CAAA,IAAA,CAAA;AAC5B,IAAI,IAAA,QAAA,GAAW,IAAK,CAAA,OAAA,CAAQ,QAAU,EAAA;AACpC,MAAI,IAAA;AACF,QAAM,MAAA,aAAA,GAAgB,KAAK,SAAU,CAAA;AAAA,UACnC,MAAO,CAAA,IAAA;AAAA,UACP,MAAO,CAAA,GAAA;AAAA,UACP,MAAO,CAAA,IAAA;AAAA,SACR,CAAA,CAAA;AACD,QAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,UAAe,KAAA,aAAA,CAAA;AAC/C,QAAA,IAAA,CAAK,SAAS,UAAa,GAAA,aAAA,CAAA;AAC3B,QAAA,IAAI,SAAW,EAAA;AACb,UAAA,IAAA,CAAK,QAAS,CAAA,KAAA,GAAA,CAAS,IAAK,CAAA,QAAA,CAAS,SAAS,CAAK,IAAA,CAAA,CAAA;AACnD,UAAA,IAAI,IAAK,CAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAK,QAAQ,WAAa,EAAA;AAClD,YAAA,IAAA,CAAK,SAAS,OAAU,GAAA,UAAA;AAAA,cACtB,UAAA;AAAA,cACA,KAAK,OAAQ,CAAA,QAAA;AAAA,aACf,CAAA;AACA,YAAA,OAAA;AAAA,WACF;AAAA,SACF;AAAA,OACM,CAAA,MAAA;AAAA,OACR;AAAA,KACF;AACA,IAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,GACjB;AAAA,EACA,KAAK,MAAQ,EAAA;AACX,IAAW,KAAA,MAAA,QAAA,IAAY,IAAK,CAAA,OAAA,CAAQ,SAAW,EAAA;AAC7C,MAAA,QAAA,CAAS,IAAI,MAAQ,EAAA;AAAA,QACnB,SAAS,IAAK,CAAA,OAAA;AAAA,OACf,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AACF,CAAA,CAAA;AACA,SAAS,mBAAmB,KAAO,EAAA,KAAA,GAAQ,EAAC,EAAG,eAAe,CAAG,EAAA;AAC/D,EAAA,IAAI,UAAU,KAAQ,CAAA,EAAA;AACpB,IAAO,OAAA,YAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAA,IAAI,MAAM,KAAK,CAAA,IAAK,MAAM,KAAK,CAAA,CAAE,UAAU,KAAQ,CAAA,EAAA;AACjD,IAAO,OAAA,KAAA,CAAM,KAAK,CAAE,CAAA,KAAA,CAAA;AAAA,GACtB;AACA,EAAO,OAAA,YAAA,CAAA;AACT,CAAA;AACA,OAAQ,CAAA,SAAA,CAAU,GAAM,GAAA,OAAA,CAAQ,SAAU,CAAA,WAAA,CAAA;AAC1C,OAAQ,CAAA,SAAA,CAAU,MAAS,GAAA,OAAA,CAAQ,SAAU,CAAA,cAAA,CAAA;AAC7C,OAAQ,CAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAQ,SAAU,CAAA,cAAA,CAAA;AAC5C,OAAQ,CAAA,SAAA,CAAU,SAAY,GAAA,OAAA,CAAQ,SAAU,CAAA,OAAA,CAAA;AAChD,OAAQ,CAAA,SAAA,CAAU,IAAO,GAAA,OAAA,CAAQ,SAAU,CAAA,SAAA,CAAA;AAC3C,OAAQ,CAAA,SAAA,CAAU,KAAQ,GAAA,OAAA,CAAQ,SAAU,CAAA,SAAA,CAAA;AAC5C,OAAQ,CAAA,SAAA,CAAU,MAAS,GAAA,OAAA,CAAQ,SAAU,CAAA,UAAA,CAAA;AAC7C,SAAS,aAAA,CAAc,OAAU,GAAA,EAAI,EAAA;AACnC,EAAO,OAAA,IAAI,QAAQ,OAAO,CAAA,CAAA;AAC5B,CAAA;;;ACvZAA,gCAAA,EAAA,CAAA;AAGA,SAAS,WAAW,KAAO,EAAA;AACzB,EAAM,MAAA,GAAA,GAAM,OAAQ,CAAA,GAAA,EAAQ,GAAAC,QAAA,CAAA;AAC5B,EAAM,MAAA,KAAA,GAAQ,MAAM,KAAM,CAAA,IAAI,EAAE,MAAO,CAAA,CAAC,EAAE,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,IAAA,GAAO,OAAQ,CAAA,SAAA,EAAW,EAAE,CAAE,CAAA,OAAA,CAAQ,GAAK,EAAA,EAAE,CAAC,CAAA,CAAA;AACrG,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAEA,SAAS,WAAA,CAAY,MAAM,MAAQ,EAAA;AACjC,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,KAAA,CAAA;AACvC,EAAO,OAAA,KAAA,CAAM,IAAK,CAAA,MAAA,EAAQ,IAAI,CAAA,CAAA;AAChC,CAAA;AAEA,IAAM,UAAU,CAAC,CAAA,KAAM,CAAI,GAAA,CAAA,CAAA,EAAI,CAAC,CAAM,CAAA,CAAA,GAAA,EAAA,CAAA;AACtC,IAAM,gBAAN,MAAoB;AAAA,EAClB,WAAA,CAAY,OAAO,IAAM,EAAA;AACvB,IAAA,OAAO,IAAO,GAAA,UAAA,CAAW,KAAK,CAAA,CAAE,KAAK,MAAM,CAAA,CAAA;AAAA,GAC7C;AAAA,EACA,UAAA,CAAW,MAAM,IAAM,EAAA;AACrB,IAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,GAAI,CAAA,CAAC,GAAQ,KAAA;AAC9B,MAAA,IAAI,GAAO,IAAA,OAAO,GAAI,CAAA,KAAA,KAAU,QAAU,EAAA;AACxC,QAAA,OAAO,IAAI,OAAU,GAAA,IAAA,GAAO,KAAK,WAAY,CAAA,GAAA,CAAI,OAAO,IAAI,CAAA,CAAA;AAAA,OAC9D;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAO,OAAAC,sBAAA,CAAkB,IAAM,EAAA,GAAG,KAAK,CAAA,CAAA;AAAA,GACzC;AAAA,EACA,UAAA,CAAW,MAAM,IAAM,EAAA;AACrB,IAAA,OAAO,IAAK,CAAA,IAAA,GAAO,IAAK,CAAA,kBAAA,EAAuB,GAAA,EAAA,CAAA;AAAA,GACjD;AAAA,EACA,cAAc,GAAK,EAAA;AACjB,IAAA,OAAO,GAAI,CAAA,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA,CAAA;AAAA,GACrC;AAAA,EACA,YAAA,CAAa,QAAQ,IAAM,EAAA;AACzB,IAAA,MAAM,OAAU,GAAA,IAAA,CAAK,UAAW,CAAA,MAAA,CAAO,MAAM,IAAI,CAAA,CAAA;AACjD,IAAI,IAAA,MAAA,CAAO,SAAS,KAAO,EAAA;AACzB,MAAA,OAAO,IAAO,GAAA;AAAA,QACZ,OAAA,CAAQ,OAAO,GAAG,CAAA;AAAA,QAClB,MAAA,CAAO,SAAS,MAAO,CAAA,KAAA;AAAA,QACvB,GAAG,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,OACrB,CAAA,MAAA,CAAO,OAAO,CAAA,CAAE,GAAI,CAAA,CAAC,CAAM,KAAA,KAAA,GAAQ,CAAC,CAAA,CAAE,IAAK,CAAA,IAAI,CAAI,GAAA,IAAA,CAAA;AAAA,KACvD;AACA,IAAA,OAAO,KAAK,aAAc,CAAA;AAAA,MACxB,OAAA,CAAQ,OAAO,IAAI,CAAA;AAAA,MACnB,OAAA,CAAQ,OAAO,GAAG,CAAA;AAAA,MAClB,OAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAAA,EACA,GAAA,CAAI,QAAQ,GAAK,EAAA;AACf,IAAM,MAAA,IAAA,GAAO,IAAK,CAAA,YAAA,CAAa,MAAQ,EAAA;AAAA,MACrC,OAAS,EAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,CAAO,OAAW,IAAA,CAAA;AAAA,MACvC,GAAG,IAAI,OAAQ,CAAA,aAAA;AAAA,KAChB,CAAA,CAAA;AACD,IAAO,OAAA,WAAA;AAAA,MACL,IAAO,GAAA,IAAA;AAAA,MACP,MAAA,CAAO,KAAQ,GAAA,CAAA,GAAI,GAAI,CAAA,OAAA,CAAQ,MAAU,IAAA,OAAA,CAAQ,MAAS,GAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,IAAU,OAAQ,CAAA,MAAA;AAAA,KAC1F,CAAA;AAAA,GACF;AACF,CAAA,CAAA;;;AC3DAF,gCAAA,EAAA,CAAA;AAEA,IAAM;AAAA,EACJ,MAAM,EAAC;AAAA,EACP,OAAO,EAAC;AAAA,EACR,QAAW,GAAA,EAAA;AACb,CAAA,GAAI,OAAO,OAAA,KAAY,WAAc,GAAA,EAAK,GAAA,OAAA,CAAA;AAC1C,IAAM,UAAa,GAAA,UAAA,IAAc,GAAO,IAAA,IAAA,CAAK,SAAS,YAAY,CAAA,CAAA;AAClE,IAAM,QAAW,GAAA,aAAA,IAAiB,GAAO,IAAA,IAAA,CAAK,SAAS,SAAS,CAAA,CAAA;AAChE,IAAM,YAAY,QAAa,KAAA,OAAA,CAAA;AAC/B,IAAM,cAAA,GAAiB,IAAI,IAAS,KAAA,MAAA,CAAA;AACpC,IAAM,oBAAA,GAAuBG,kBAAWA,cAAc,CAAA,MAAA,IAAAA,cAAA,CAAA,MAAA,CAAO,CAAC,CAAK,IAAA,GAAA,CAAI,QAAQ,CAAC,cAAA,CAAA;AAChF,IAAM,OAAO,IAAQ,IAAA,GAAA,KAAQ,oBAAoB,GAAO,IAAA,WAAA,IAAe,OAAO,UAAc,IAAA,GAAA,CAAA,CAAA;AAC5F,IAAM,mBAAmB,CAAC,UAAA,KAAe,YAAY,SAAa,IAAA,CAAC,kBAAkB,oBAAwB,IAAA,IAAA,CAAA,CAAA;AAC7G,SAAS,YAAa,CAAA,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAO,OAAS,EAAA,IAAA,GAAO,MAAO,CAAA,KAAA,CAAM,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA,GAAI,OAAS,EAAA,IAAA,GAAO,MAAO,CAAA,KAAA,CAAM,IAAK,CAAA,GAAA,CAAI,GAAG,KAAQ,GAAA,KAAA,CAAM,MAAM,CAAC,CAAG,EAAA,IAAA,GAAO,IAAK,CAAA,OAAA,CAAQ,KAAK,CAAG,EAAA;AAC7L,EAAO,OAAA,IAAA,IAAQ,OAAO,CAAI,GAAA,IAAA,GAAO,aAAa,IAAM,EAAA,IAAA,EAAM,OAAO,OAAO,CAAA,CAAA,CAAA;AAC1E,CAAA;AACA,SAAS,UAAW,CAAA,KAAA,EAAO,MAAQ,EAAA,IAAA,EAAM,OAAO,OAAS,EAAA;AACvD,EAAO,OAAA,KAAA,GAAQ,CAAI,GAAA,IAAA,GAAO,MAAS,GAAA,KAAA,GAAQ,IAAO,GAAA,YAAA,CAAa,KAAO,EAAA,MAAA,EAAQ,KAAO,EAAA,OAAO,CAAI,GAAA,KAAA,CAAA;AAClG,CAAA;AACA,SAAS,WAAA,CAAY,MAAM,KAAO,EAAA,OAAA,GAAU,MAAM,EAAK,GAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACtE,EAAA,OAAO,CAAC,MAAW,KAAA,MAAA,IAAU,EAAE,MAAW,KAAA,EAAA,IAAM,WAAW,KAAU,CAAA,CAAA,GAAA,UAAA;AAAA,IAAA,CAClE,EAAK,GAAA,MAAA,EAAQ,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA;AAAA,IAC/B,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,GACE,GAAA,EAAA,CAAA;AACN,CAAA;AACA,SAAS,IAAA,CAAK,IAAM,EAAA,KAAA,EAAO,OAAS,EAAA;AAClC,EAAA,OAAO,YAAY,CAAQ,KAAA,EAAA,IAAI,KAAK,CAAQ,KAAA,EAAA,KAAK,KAAK,OAAO,CAAA,CAAA;AAC/D,CAAA;AACA,IAAM,SAAY,GAAA;AAAA,EAChB,KAAA,EAAO,IAAK,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,EAChB,IAAM,EAAA,IAAA,CAAK,CAAG,EAAA,EAAA,EAAI,iBAAiB,CAAA;AAAA,EACnC,GAAK,EAAA,IAAA,CAAK,CAAG,EAAA,EAAA,EAAI,iBAAiB,CAAA;AAAA,EAClC,MAAA,EAAQ,IAAK,CAAA,CAAA,EAAG,EAAE,CAAA;AAAA,EAClB,SAAA,EAAW,IAAK,CAAA,CAAA,EAAG,EAAE,CAAA;AAAA,EACrB,OAAA,EAAS,IAAK,CAAA,CAAA,EAAG,EAAE,CAAA;AAAA,EACnB,MAAA,EAAQ,IAAK,CAAA,CAAA,EAAG,EAAE,CAAA;AAAA,EAClB,aAAA,EAAe,IAAK,CAAA,CAAA,EAAG,EAAE,CAAA;AAAA,EACzB,KAAA,EAAO,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAClB,GAAA,EAAK,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAChB,KAAA,EAAO,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAClB,MAAA,EAAQ,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACnB,IAAA,EAAM,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACjB,OAAA,EAAS,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACpB,IAAA,EAAM,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACjB,KAAA,EAAO,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAClB,IAAA,EAAM,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACjB,OAAA,EAAS,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACpB,KAAA,EAAO,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAClB,OAAA,EAAS,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACpB,QAAA,EAAU,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACrB,MAAA,EAAQ,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACnB,SAAA,EAAW,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACtB,MAAA,EAAQ,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACnB,OAAA,EAAS,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACpB,WAAA,EAAa,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACxB,SAAA,EAAW,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACtB,WAAA,EAAa,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACxB,YAAA,EAAc,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACzB,UAAA,EAAY,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACvB,aAAA,EAAe,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EAC1B,UAAA,EAAY,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACvB,WAAA,EAAa,IAAK,CAAA,EAAA,EAAI,EAAE,CAAA;AAAA,EACxB,aAAA,EAAe,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC3B,WAAA,EAAa,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EACzB,aAAA,EAAe,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC3B,cAAA,EAAgB,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC5B,YAAA,EAAc,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC1B,eAAA,EAAiB,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC7B,YAAA,EAAc,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,EAC1B,aAAA,EAAe,IAAK,CAAA,GAAA,EAAK,EAAE,CAAA;AAC7B,CAAA,CAAA;AACA,SAAS,YAAA,CAAa,WAAW,gBAAkB,EAAA;AACjD,EAAA,OAAO,QAAW,GAAA,SAAA,GAAY,MAAO,CAAA,WAAA,CAAY,OAAO,IAAK,CAAA,SAAS,CAAE,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA,CAAC,GAAK,EAAA,MAAM,CAAC,CAAC,CAAA,CAAA;AACrG,CAAA;AACA,IAAM,SAAS,YAAa,GAAA;AAC5B,SAAS,QAAA,CAAS,KAAO,EAAA,QAAA,GAAW,OAAS,EAAA;AAC3C,EAAA,OAAO,MAAO,CAAA,KAAK,CAAK,IAAA,MAAA,CAAO,QAAQ,CAAA,CAAA;AACzC,CAAA;AAKA,IAAM,SAAY,GAAA;AAAA,EAChB,8HAAA;AAAA,EACA,0DAAA;AACF,CAAA,CAAE,KAAK,GAAG,CAAA,CAAA;AACV,SAAS,UAAU,IAAM,EAAA;AACvB,EAAA,OAAO,KAAK,OAAQ,CAAA,IAAI,OAAO,SAAW,EAAA,GAAG,GAAG,EAAE,CAAA,CAAA;AACpD,CAAA;AAgDA,IAAM,eAAkB,GAAA;AAAA,EACtB,KAAO,EAAA;AAAA,IACL,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,WAAa,EAAA;AAAA,IACX,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AAAA,EACA,OAAS,EAAA;AAAA,IACP,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,EAAI,EAAA,QAAA;AAAA,IACJ,CAAG,EAAA,QAAA;AAAA,IACH,CAAG,EAAA,QAAA;AAAA,GACL;AACF,CAAA,CAAA;AACA,IAAM,YAAe,GAAA;AAAA,EACnB,WAAa,EAAA,OAAA;AAAA,EACb,WAAa,EAAA,SAAA;AAAA,EACb,MAAQ,EAAA,QAAA;AAAA,EACR,OAAS,EAAA,CAAA;AAAA,EACT,UAAY,EAAA,CAAA;AAAA,EACZ,SAAW,EAAA,CAAA;AAAA,EACX,YAAc,EAAA,CAAA;AAChB,CAAA,CAAA;AACA,SAAS,GAAI,CAAA,IAAA,EAAM,KAAQ,GAAA,EAAI,EAAA;AAC7B,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,GAAG,KAAA;AAAA,IACH,KAAO,EAAA;AAAA,MACL,GAAG,YAAA;AAAA,MACH,GAAG,KAAM,CAAA,KAAA;AAAA,KACX;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AACjC,EAAA,MAAM,WAAW,EAAC,CAAA;AAClB,EAAA,MAAM,MAAS,GAAA,QAAA,CAAS,IAAK,CAAA,KAAA,CAAM,WAAW,CAAA,CAAA;AAC9C,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,GAAG,OAAO,IAAK,CAAA,KAAA,CAAM,gBAAgB,QAAW,GAAA,eAAA,CAAgB,IAAK,CAAA,KAAA,CAAM,WAAW,CAAA,IAAK,eAAgB,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,WAAA;AAAA,GAChI,CAAA;AACA,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,KAAA,MAAW,OAAO,WAAa,EAAA;AAC7B,MAAA,WAAA,CAAY,GAAG,CAAI,GAAA,MAAA;AAAA,QACjB,YAAY,GAAG,CAAA;AAAA,OACjB,CAAA;AAAA,KACF;AAAA,GACF;AACA,EAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,KAAA,CAAM,OAAU,GAAA,CAAA,KAAM,CAAI,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,GAAU,IAAK,CAAA,KAAA,CAAM,OAAU,GAAA,CAAA,CAAA;AAC/F,EAAM,MAAA,MAAA,GAAS,UAAU,MAAS,GAAA,aAAA,CAAA;AAClC,EAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,GAAA,CAAI,GAAG,SAAA,CAAU,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,CAAC,CAAI,GAAA,aAAA,CAAA;AAClE,EAAA,MAAM,cAAc,KAAQ,GAAA,aAAA,CAAA;AAC5B,EAAM,MAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,UAAa,GAAA,CAAA,GAAI,IAAI,MAAO,CAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAI,GAAA,EAAA,CAAA;AAClF,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,SAAA,GAAY,CAAG,EAAA;AAC5B,IAAA,QAAA,CAAS,KAAK,EAAG,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,GAC/C;AACA,EAAA,IAAI,KAAK,KAAO,EAAA;AACd,IAAM,MAAA,IAAA,GAAO,YAAY,CAAE,CAAA,MAAA;AAAA,MACzB,IAAA,CAAK,OAAO,KAAQ,GAAA,SAAA,CAAU,KAAK,KAAK,CAAA,CAAE,UAAU,CAAC,CAAA;AAAA,KACvD,CAAA;AACA,IAAM,MAAA,KAAA,GAAQ,YAAY,CAAE,CAAA,MAAA;AAAA,MAC1B,KAAA,GAAQ,UAAU,IAAK,CAAA,KAAK,EAAE,MAAS,GAAA,SAAA,CAAU,IAAI,CAAA,CAAE,MAAS,GAAA,aAAA;AAAA,KAClE,CAAA;AACA,IAAS,QAAA,CAAA,IAAA;AAAA,MACP,CAAG,EAAA,SAAS,CAAG,EAAA,WAAA,CAAY,EAAE,CAAG,EAAA,IAAI,CAAG,EAAA,IAAA,CAAK,KAAK,CAAA,EAAG,KAAK,CAAA,EAAG,YAAY,EAAE,CAAA,CAAA;AAAA,KAC5E,CAAA;AAAA,GACK,MAAA;AACL,IAAS,QAAA,CAAA,IAAA;AAAA,MACP,CAAG,EAAA,SAAS,CAAG,EAAA,WAAA,CAAY,EAAE,CAAA,EAAG,WAAY,CAAA,CAAA,CAAE,MAAO,CAAA,WAAW,CAAC,CAAA,EAAG,YAAY,EAAE,CAAA,CAAA;AAAA,KACpF,CAAA;AAAA,GACF;AACA,EAAM,MAAA,YAAA,GAAe,KAAK,KAAM,CAAA,MAAA,KAAW,WAAW,IAAK,CAAA,KAAA,CAAA,CAAO,SAAS,SAAU,CAAA,MAAA,IAAU,CAAC,CAAI,GAAA,IAAA,CAAK,MAAM,MAAW,KAAA,KAAA,GAAQ,SAAS,SAAU,CAAA,MAAA,GAAS,aAAgB,GAAA,MAAA,GAAS,SAAU,CAAA,MAAA,CAAA;AACjM,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,MAAA,EAAQ,CAAK,EAAA,EAAA;AAC/B,IAAA,IAAI,CAAI,GAAA,YAAA,IAAgB,CAAK,IAAA,YAAA,GAAe,UAAU,MAAQ,EAAA;AAC5D,MAAS,QAAA,CAAA,IAAA;AAAA,QACP,CAAG,EAAA,SAAS,CAAG,EAAA,WAAA,CAAY,CAAC,CAAA,EAAG,GAAI,CAAA,MAAA,CAAO,WAAW,CAAC,CAAG,EAAA,WAAA,CAAY,CAAC,CAAA,CAAA;AAAA,OACxE,CAAA;AAAA,KACK,MAAA;AACL,MAAM,MAAA,IAAA,GAAO,SAAU,CAAA,CAAA,GAAI,YAAY,CAAA,CAAA;AACvC,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,MAAA,CAAO,aAAa,CAAA,CAAA;AACrC,MAAA,MAAM,QAAQ,GAAI,CAAA,MAAA,CAAO,QAAQ,SAAU,CAAA,IAAI,EAAE,MAAM,CAAA,CAAA;AACvD,MAAS,QAAA,CAAA,IAAA;AAAA,QACP,CAAG,EAAA,SAAS,CAAG,EAAA,WAAA,CAAY,CAAC,CAAA,EAAG,IAAI,CAAA,EAAG,IAAI,CAAA,EAAG,KAAK,CAAA,EAAG,YAAY,CAAC,CAAA,CAAA;AAAA,OACpE,CAAA;AAAA,KACF;AAAA,GACF;AACA,EAAS,QAAA,CAAA,IAAA;AAAA,IACP,CAAG,EAAA,SAAS,CAAG,EAAA,WAAA,CAAY,EAAE,CAAA,EAAG,WAAY,CAAA,CAAA,CAAE,MAAO,CAAA,WAAW,CAAC,CAAA,EAAG,YAAY,EAAE,CAAA,CAAA;AAAA,GACpF,CAAA;AACA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,YAAA,GAAe,CAAG,EAAA;AAC/B,IAAA,QAAA,CAAS,KAAK,EAAG,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,YAAY,CAAC,CAAA,CAAA;AAAA,GAClD;AACA,EAAO,OAAA,QAAA,CAAS,KAAK,IAAI,CAAA,CAAA;AAC3B,CAAA;;;ACzRAH,gCAAA,EAAA,CAAA;AAKA,IAAM,SAAY,GAAA;AAAA,EAChB,CAAC,UAAU,CAAA;AAAA,EACX,CAAC,mBAAmB,oCAAoC,CAAA;AAAA,EACxD,CAAC,gBAAgB,uCAAuC,CAAA;AAAA,EACxD,CAAC,aAAa,cAAc,CAAA;AAAA,EAC5B,CAAC,UAAU,gBAAgB,CAAA;AAAA,EAC3B,CAAC,aAAa,kBAAkB,CAAA;AAAA,EAChC,CAAC,WAAW,YAAY,CAAA;AAAA,EACxB,CAAC,SAAS,oBAAoB,CAAA;AAAA,EAC9B,CAAC,WAAW,CAAA;AAAA,EACZ,CAAC,UAAU,UAAU,CAAA;AAAA,EACrB,CAAC,UAAU,WAAW,CAAA;AAAA,EACtB,CAAC,kBAAoB,EAAA,UAAA,EAAY,EAAE,EAAA,EAAI,MAAM,CAAA;AAAA,EAC7C,CAAC,aAAa,qBAAqB,CAAA;AAAA,EACnC,CAAC,aAAa,aAAa,CAAA;AAAA,EAC3B,CAAC,OAAO,CAAA;AAAA,EACR,CAAC,SAAS,mBAAmB,CAAA;AAAA,EAC7B,CAAC,OAAO,CAAA;AAAA,EACR,CAAC,gBAAgB,CAAA;AAAA,EACjB,CAAC,UAAU,WAAW,CAAA;AAAA,EACtB,CAAC,UAAU,qBAAqB,CAAA;AAAA,EAChC,CAAC,QAAQ,mBAAmB,CAAA;AAAA,EAC5B,CAAC,SAAS,CAAA;AAAA,EACV,CAAC,UAAU,YAAY,CAAA;AAAA,EACvB,CAAC,WAAW,aAAa,CAAA;AAAA,EACzB,CAAC,QAAQ,CAAA;AAAA,EACT,CAAC,SAAS,CAAA;AAAA,EACV,CAAC,SAAW,EAAA,eAAA,EAAiB,EAAE,EAAA,EAAI,OAAO,CAAA;AAAA,EAC1C,CAAC,WAAW,CAAA;AAAA,EACZ,CAAC,QAAQ,CAAA;AAAA,EACT,CAAC,QAAQ,QAAQ,CAAA;AAAA,EACjB,CAAC,WAAW,CAAA;AAAA,EACZ,CAAC,aAAa,CAAA;AAAA,EACd,CAAC,WAAW,CAAA;AAAA,EACZ,CAAC,UAAU,QAAQ,CAAA;AAAA,EACnB,CAAC,SAAS,CAAA;AAAA,EACV,CAAC,YAAY,kBAAkB,CAAA;AAAA,EAC/B,CAAC,QAAQ,CAAA;AAAA,EACT,CAAC,UAAU,aAAa,CAAA;AAAA,EACxB,CAAC,aAAa,oBAAoB,CAAA;AAAA,EAClC,CAAC,aAAe,EAAA,iBAAA,EAAmB,EAAE,EAAA,EAAI,OAAO,CAAA;AAAA,EAChD,CAAC,YAAY,CAAA;AAAA,EACb,CAAC,UAAU,CAAA;AAAA,EACX,CAAC,QAAQ,CAAA;AACX,CAAA,CAAA;AACA,SAAS,eAAeI,IAAK,EAAA;AAC3B,EAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AAChC,IAAA,MAAM,OAAU,GAAA,QAAA,CAAS,CAAC,CAAA,IAAK,SAAS,CAAC,CAAA,CAAA;AACzC,IAAIA,IAAAA,IAAAA,CAAI,OAAO,CAAG,EAAA;AAChB,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,QAAA,CAAS,CAAC,CAAA,CAAE,WAAY,EAAA;AAAA,QAC9B,GAAG,SAAS,CAAC,CAAA;AAAA,OACf,CAAA;AAAA,KACF;AAAA,GACF;AACA,EAAA,IAAIA,IAAI,CAAA,KAAA,IAASA,IAAI,CAAA,KAAA,KAAU,UAAY,EAAA;AACzC,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,YAAA;AAAA,MACN,EAAI,EAAA,KAAA;AAAA,KACN,CAAA;AAAA,GACF;AACA,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,EAAA;AAAA,IACN,EAAI,EAAA,KAAA;AAAA,GACN,CAAA;AACF,CAAA;AAEA,IAAM,WAAc,GAAA,OAAO,OAAY,KAAA,WAAA,GAAc,UAAU,EAAC,CAAA;AAChE,IAAM,OAAA,GAAU,WAAY,CAAA,GAAA,IAAO,EAAC,CAAA;AACpC,IAAM,YAAA,GAAe,eAAe,OAAO,CAAA,CAAA;AAC3C,IAAM,OAAA,GAAU,OAAO,OAAY,KAAA,WAAA,IAAe,QAAQ,GAAO,IAAA,OAAA,CAAQ,IAAI,QAAY,IAAA,EAAA,CAAA;AACzF,WAAY,CAAA,QAAA,CAAA;AACZ,YAAa,CAAA,IAAA,CAAA;AACb,IAAMC,QAAO,SAAU,CAAA,OAAA,CAAQ,EAAE,CAAA,IAAK,aAAa,EAAO,KAAA,KAAA,CAAA;AAC1D,IAAM,SAAS,SAAU,CAAA,WAAA,CAAY,MAAU,IAAA,WAAA,CAAY,OAAO,KAAK,CAAA,CAAA;AACvE,IAAM,OAAA,GAAU,SAAU,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AACvC,IAAM,MAAS,GAAA,OAAA,KAAY,MAAU,IAAA,SAAA,CAAU,QAAQ,IAAI,CAAA,CAAA;AAC3D,SAAA,CAAU,OAAQ,CAAA,OAAO,CAAKA,IAAAA,KAAAA,IAAQ,UAAU,CAAC,MAAA,CAAA;AACjD,SAAS,UAAU,GAAK,EAAA;AACtB,EAAO,OAAA,GAAA,GAAM,QAAQ,OAAU,GAAA,KAAA,CAAA;AACjC,CAAA;AAEA,SAASC,WAAU,EAAC,SAAA,GAAY,KAAK,EAAA,GAAI,EAAI,EAAA;AAC5C,EAAA,MAAM,OAAU,GAAA;AAAA,IACZ,8HAAA;AAAA,IACH,0DAAA;AAAA,GACD,CAAE,KAAK,GAAG,CAAA,CAAA;AAEV,EAAA,OAAO,IAAI,MAAA,CAAO,OAAS,EAAA,SAAA,GAAY,SAAY,GAAG,CAAA,CAAA;AACvD,CAAA;AAEA,IAAM,QAAQA,UAAU,EAAA,CAAA;AAExB,SAASC,WAAU,MAAQ,EAAA;AAC1B,EAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC/B,IAAA,MAAM,IAAI,SAAA,CAAU,CAAgC,6BAAA,EAAA,OAAO,MAAM,CAAI,EAAA,CAAA,CAAA,CAAA;AAAA,GACtE;AAKA,EAAO,OAAA,MAAA,CAAO,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA,CAAA;AAChC,CAAA;AAEA,SAAS,wBAAyB,CAAG,EAAA;AACpC,EAAA,OAAO,CAAK,IAAA,CAAA,CAAE,UAAc,IAAA,MAAA,CAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,CAAA,EAAG,SAAS,CAAA,GAAI,CAAE,CAAA,SAAS,CAAI,GAAA,CAAA,CAAA;AACjG,CAAA;AAEA,IAAI,cAAiB,GAAA,EAAC,OAAS,EAAA,EAAE,EAAA,CAAA;AAAA,CAEhC,SAAU,MAAQ,EAAA;AAClB,EAAA,IAAI,MAAM,EAAC,CAAA;AAEX,EAAA;AACE,IAAA,MAAA,CAAO,OAAU,GAAA,GAAA,CAAA;AAAA,GACnB;AAEA,EAAI,GAAA,CAAA,cAAA,GAAiB,SAAS,SAAW,EAAA;AACvC,IAAI,IAAA,CAAA,GAAI,SAAU,CAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAC9B,IAAA,IAAI,IAAK,SAAU,CAAA,MAAA,IAAU,IAAK,SAAU,CAAA,UAAA,CAAW,CAAC,CAAI,GAAA,CAAA,CAAA;AAC5D,IAAA,IAAI,SAAY,GAAA,CAAA,CAAA;AAChB,IAAA,IAAK,SAAU,CAAK,IAAA,CAAA,IAAK,UAAY,KAAU,IAAA,CAAA,IAAK,KAAK,KAAS,CAAA,EAAA;AAChE,MAAK,CAAA,IAAA,IAAA,CAAA;AACL,MAAK,CAAA,IAAA,IAAA,CAAA;AACL,MAAA,SAAA,GAAa,KAAK,EAAM,GAAA,CAAA,CAAA;AACxB,MAAa,SAAA,IAAA,KAAA,CAAA;AAAA,KACf;AAEA,IAAK,IAAA,KAAA,IAAU,aACV,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KAAS,EAAA;AAChD,MAAO,OAAA,GAAA,CAAA;AAAA,KACT;AACA,IAAK,IAAA,IAAA,IAAU,SACV,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KAAS,EAAA;AAChD,MAAO,OAAA,GAAA,CAAA;AAAA,KACT;AACA,IAAA,IAAK,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,QAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,aAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,aAAa,IACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,SAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,aAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,SAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,aAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,SAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,aAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,SAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,aAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,UAAW,SAAa,IAAA,SAAA,IAAa,MACrC,IAAA,MAAA,IAAW,aAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,aAAa,MACrC,IAAA,MAAA,IAAW,SAAa,IAAA,SAAA,IAAa,UACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,UAAW,SAAa,IAAA,SAAA,IAAa,MACrC,IAAA,MAAA,IAAW,aAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,aAAa,MAAU,EAAA;AAClD,MAAO,OAAA,GAAA,CAAA;AAAA,KACT;AACA,IAAK,IAAA,EAAA,IAAU,aAAa,SAAa,IAAA,GAAA,IACpC,OAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,OACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,KAAU,IAAA,SAAA,IAAa,aAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KAAS,EAAA;AAChD,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AACA,IAAA,IAAK,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,OAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,aACV,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,GAAU,IAAA,SAAA,IACV,OAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SACV,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,GACpC,IAAA,GAAA,IAAU,SAAa,IAAA,SAAA,IAAa,OACpC,GAAU,IAAA,SAAA,IAAa,SAAa,IAAA,GAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,aAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,aACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,aAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,aACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,aAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,aAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,aAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,aACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IACV,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,IAAU,IAAA,SAAA,IAAa,SAAa,IAAA,IAAA,IACpC,QAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,IAAA,IAAU,SACV,IAAA,IAAA,IAAU,SAAa,IAAA,SAAA,IAAa,IACpC,IAAA,KAAA,IAAU,SACV,IAAA,KAAA,IAAU,SACV,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,KACpC,IAAA,KAAA,IAAU,SAAa,IAAA,SAAA,IAAa,SACpC,KAAU,IAAA,SAAA,IAAa,SAAa,IAAA,KAAA,IACpC,KAAU,IAAA,SAAA,IACV,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,MAAA,IACrC,MAAW,IAAA,SAAA,IAAa,SAAa,IAAA,OAAA,IACrC,OAAY,IAAA,SAAA,IAAa,aAAa,OAAW,EAAA;AACpD,MAAO,OAAA,GAAA,CAAA;AAAA,KACT;AAEA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAI,GAAA,CAAA,eAAA,GAAkB,SAAS,SAAW,EAAA;AACxC,IAAI,IAAA,IAAA,GAAO,IAAK,CAAA,cAAA,CAAe,SAAS,CAAA,CAAA;AACxC,IAAA,IAAI,IAAQ,IAAA,GAAA,IAAO,IAAQ,IAAA,GAAA,IAAO,QAAQ,GAAK,EAAA;AAC7C,MAAO,OAAA,CAAA,CAAA;AAAA,KACF,MAAA;AACL,MAAO,OAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAGA,EAAA,SAAS,cAAc,MAAQ,EAAA;AAC7B,IAAA,OAAO,MAAO,CAAA,KAAA,CAAM,kDAAkD,CAAA,IAAK,EAAC,CAAA;AAAA,GAC9E;AAEA,EAAI,GAAA,CAAA,MAAA,GAAS,SAAS,MAAQ,EAAA;AAC5B,IAAI,IAAA,UAAA,GAAa,cAAc,MAAM,CAAA,CAAA;AACrC,IAAA,IAAI,GAAM,GAAA,CAAA,CAAA;AACV,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,QAAQ,CAAK,EAAA,EAAA;AAC1C,MAAA,GAAA,GAAM,GAAM,GAAA,IAAA,CAAK,eAAgB,CAAA,UAAA,CAAW,CAAC,CAAC,CAAA,CAAA;AAAA,KAChD;AACA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAA,GAAA,CAAI,KAAQ,GAAA,SAAS,IAAM,EAAA,KAAA,EAAO,GAAK,EAAA;AACrC,IAAU,OAAA,GAAA,GAAA,CAAI,OAAO,IAAI,CAAA,CAAA;AACzB,IAAA,KAAA,GAAQ,QAAQ,KAAQ,GAAA,CAAA,CAAA;AACxB,IAAA,GAAA,GAAM,MAAM,GAAM,GAAA,CAAA,CAAA;AAClB,IAAA,IAAI,QAAQ,CAAG,EAAA;AACX,MAAA,KAAA,GAAQ,OAAU,GAAA,KAAA,CAAA;AAAA,KACtB;AACA,IAAA,IAAI,MAAM,CAAG,EAAA;AACT,MAAA,GAAA,GAAM,OAAU,GAAA,GAAA,CAAA;AAAA,KACpB;AACA,IAAA,IAAI,MAAS,GAAA,EAAA,CAAA;AACb,IAAA,IAAI,MAAS,GAAA,CAAA,CAAA;AACb,IAAI,IAAA,KAAA,GAAQ,cAAc,IAAI,CAAA,CAAA;AAC9B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,MAAI,IAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AAClB,MAAI,IAAA,OAAA,GAAU,GAAI,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAC7B,MAAA,IAAI,MAAU,IAAA,KAAA,IAAS,OAAW,IAAA,CAAA,GAAI,IAAI,CAAI,CAAA,EAAA;AAC1C,QAAI,IAAA,MAAA,GAAS,WAAW,GAAK,EAAA;AACzB,UAAU,MAAA,IAAA,IAAA,CAAA;AAAA,SACP,MAAA;AACH,UAAA,MAAA;AAAA,SACJ;AAAA,OACJ;AACA,MAAU,MAAA,IAAA,OAAA,CAAA;AAAA,KACZ;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AACD,CAAA,EAAG,cAAc,CAAA,CAAA;AAEjB,IAAI,wBAAwB,cAAe,CAAA,OAAA,CAAA;AAC3C,IAAM,cAAA,2CAAsD,qBAAqB,CAAA,CAAA;AAEjF,IAAM,aAAa,MAAM;AAExB,EAAO,OAAA,62WAAA,CAAA;AACR,CAAA,CAAA;AAEA,SAAS,aAAA,CAAc,QAAQ,OAAS,EAAA;AACvC,EAAA,IAAI,OAAO,MAAA,KAAW,QAAY,IAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACtD,IAAO,OAAA,CAAA,CAAA;AAAA,GACR;AAEA,EAAU,OAAA,GAAA;AAAA,IACT,iBAAmB,EAAA,IAAA;AAAA,IACnB,oBAAsB,EAAA,KAAA;AAAA,IACtB,GAAG,OAAA;AAAA,GACJ,CAAA;AAEA,EAAI,IAAA,CAAC,QAAQ,oBAAsB,EAAA;AAClC,IAAA,MAAA,GAASA,WAAU,MAAM,CAAA,CAAA;AAAA,GAC1B;AAEA,EAAI,IAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,CAAA,CAAA;AAAA,GACR;AAEA,EAAM,MAAA,uBAAA,GAA0B,OAAQ,CAAA,iBAAA,GAAoB,CAAI,GAAA,CAAA,CAAA;AAChE,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AAEZ,EAAW,KAAA,MAAA,EAAC,OAAS,EAAA,SAAA,EAAc,IAAA,IAAI,KAAK,SAAU,EAAA,CAAE,OAAQ,CAAA,MAAM,CAAG,EAAA;AACxE,IAAM,MAAA,SAAA,GAAY,SAAU,CAAA,WAAA,CAAY,CAAC,CAAA,CAAA;AAGzC,IAAA,IAAI,SAAa,IAAA,EAAA,IAAS,SAAa,IAAA,GAAA,IAAQ,aAAa,GAAO,EAAA;AAClE,MAAA,SAAA;AAAA,KACD;AAGA,IAAI,IAAA,SAAA,IAAa,GAAU,IAAA,SAAA,IAAa,GAAQ,EAAA;AAC/C,MAAA,SAAA;AAAA,KACD;AAEA,IAAA,IAAI,UAAW,EAAA,CAAE,IAAK,CAAA,SAAS,CAAG,EAAA;AACjC,MAAS,KAAA,IAAA,CAAA,CAAA;AACT,MAAA,SAAA;AAAA,KACD;AAEA,IAAM,MAAA,IAAA,GAAO,cAAe,CAAA,cAAA,CAAe,SAAS,CAAA,CAAA;AACpD,IAAA,QAAQ,IAAM;AAAA,MACb,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,GAAK,EAAA;AACT,QAAS,KAAA,IAAA,CAAA,CAAA;AACT,QAAA,MAAA;AAAA,OACD;AAAA,MAEA,KAAK,GAAK,EAAA;AACT,QAAS,KAAA,IAAA,uBAAA,CAAA;AACT,QAAA,MAAA;AAAA,OACD;AAAA,MAEA,SAAS;AACR,QAAS,KAAA,IAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACD;AAAA,GACD;AAEA,EAAO,OAAA,KAAA,CAAA;AACR,CAAA;AAEA,SAAS,kBAAqB,GAAA;AAC7B,EAAI,IAAAC,0BAAA,CAAU,aAAa,OAAS,EAAA;AACnC,IAAO,OAAAA,0BAAA,CAAU,IAAI,IAAS,KAAA,OAAA,CAAA;AAAA,GAC/B;AAEA,EAAA,OAAO,QAAQA,0BAAU,CAAA,GAAA,CAAI,EAAE,CAAA,IAC3B,QAAQA,0BAAU,CAAA,GAAA,CAAI,UAAU,CAAA,IAChC,QAAQA,0BAAU,CAAA,GAAA,CAAI,gBAAgB,CAAA,IACtCA,2BAAU,GAAI,CAAA,UAAA,KAAe,cAC7B,IAAAA,0BAAA,CAAU,IAAI,YAAiB,KAAA,kBAAA,IAC/BA,0BAAU,CAAA,GAAA,CAAI,iBAAiB,QAC/B,IAAAA,0BAAA,CAAU,GAAI,CAAA,IAAA,KAAS,oBACvBA,0BAAU,CAAA,GAAA,CAAI,SAAS,WACvB,IAAAA,0BAAA,CAAU,IAAI,iBAAsB,KAAA,oBAAA,CAAA;AACzC,CAAA;AAEA,IAAM,cAAiB,GAAA;AAAA,EACrB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,OAAS,EAAA,OAAA;AAAA,EACT,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,SAAA;AACT,CAAA,CAAA;AACA,IAAM,eAAkB,GAAA;AAAA,EACtB,CAAG,EAAA,KAAA;AAAA,EACH,CAAG,EAAA,QAAA;AACL,CAAA,CAAA;AACA,IAAM,UAAU,kBAAmB,EAAA,CAAA;AACnC,IAAM,CAAI,GAAA,CAAC,CAAG,EAAA,QAAA,KAAa,UAAU,CAAI,GAAA,QAAA,CAAA;AACzC,IAAM,UAAa,GAAA;AAAA,EACjB,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,MAAM,CAAA;AAAA,EACzB,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,MAAM,CAAA;AAAA,EACzB,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,QAAQ,CAAA;AAAA,EAC3B,IAAA,EAAM,CAAE,CAAA,QAAA,EAAU,QAAQ,CAAA;AAAA,EAC1B,IAAA,EAAM,CAAE,CAAA,QAAA,EAAU,GAAG,CAAA;AAAA,EACrB,OAAA,EAAS,CAAE,CAAA,QAAA,EAAU,QAAQ,CAAA;AAAA,EAC7B,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,GAAG,CAAA;AAAA,EACtB,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,QAAQ,CAAA;AAAA,EAC3B,IAAA,EAAM,CAAE,CAAA,QAAA,EAAU,MAAM,CAAA;AAAA,EACxB,KAAA,EAAO,CAAE,CAAA,QAAA,EAAU,GAAG,CAAA;AAAA,EACtB,GAAK,EAAA,EAAA;AACP,CAAA,CAAA;AACA,SAAS,YAAY,GAAK,EAAA;AACxB,EAAI,IAAA,CAAC,KAAK,SAAW,EAAA;AACnB,IAAO,OAAA,SAAA,CAAY,GAAG,CAAE,CAAA,MAAA,CAAA;AAAA,GAC1B;AACA,EAAA,OAAO,cAAc,GAAG,CAAA,CAAA;AAC1B,CAAA;AACA,IAAM,aAAA,GAAN,cAA4B,aAAc,CAAA;AAAA,EACxC,YAAY,KAAO,EAAA;AACjB,IAAO,OAAA,IAAA,GAAO,UAAW,CAAA,KAAK,CAAE,CAAA,GAAA;AAAA,MAC9B,CAAC,SAAS,IAAO,GAAA,IAAA,CAAK,QAAQ,OAAS,EAAA,CAAC,CAAM,KAAA,MAAA,CAAO,IAAK,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAQ,UAAY,EAAA,CAAC,CAAG,EAAA,CAAA,KAAM,IAAI,MAAO,CAAA,IAAA,CAAK,CAAC,CAAC,CAAG,CAAA,CAAA,CAAA;AAAA,KACnH,CAAE,KAAK,IAAI,CAAA,CAAA;AAAA,GACb;AAAA,EACA,UAAA,CAAW,MAAQ,EAAA,OAAA,EAAS,IAAM,EAAA;AAChC,IAAM,MAAA,SAAA,GAAY,eAAe,MAAO,CAAA,IAAI,KAAK,eAAgB,CAAA,MAAA,CAAO,KAAK,CAAK,IAAA,MAAA,CAAA;AAClF,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,OAAO,WAAW,SAAS,CAAA;AAAA,QACzB,OAAO,KAAM,CAAA,CAAA,CAAA,EAAI,OAAO,IAAK,CAAA,WAAA,EAAa,CAAG,CAAA,CAAA,CAAA;AAAA,OAC/C,CAAA;AAAA,KACF;AACA,IAAA,MAAM,KAAQ,GAAA,OAAO,UAAW,CAAA,MAAA,CAAO,IAAI,CAAA,KAAM,QAAW,GAAA,UAAA,CAAW,MAAO,CAAA,IAAI,CAAI,GAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAA,CAAA;AAC5G,IAAA,OAAO,KAAQC,GAAAA,SAAAA,CAAS,SAAS,CAAA,CAAE,KAAK,CAAI,GAAA,EAAA,CAAA;AAAA,GAC9C;AAAA,EACA,YAAA,CAAa,QAAQ,IAAM,EAAA;AACzB,IAAM,MAAA,CAAC,OAAS,EAAA,GAAG,UAAU,CAAA,GAAI,KAAK,UAAW,CAAA,MAAA,CAAO,IAAM,EAAA,IAAI,CAAE,CAAA,KAAA;AAAA,MAClE,IAAA;AAAA,KACF,CAAA;AACA,IAAI,IAAA,MAAA,CAAO,SAAS,KAAO,EAAA;AACzB,MAAO,OAAA,GAAA;AAAA,QACL,eAAA;AAAA,UACE,OAAA,IAAW,WAAW,MAAS,GAAA,CAAA,GAAI,OAAO,UAAW,CAAA,IAAA,CAAK,IAAI,CAAI,GAAA,EAAA,CAAA;AAAA,SACpE;AAAA,QACA;AAAA,UACE,OAAO,MAAO,CAAA,KAAA,GAAQ,eAAgB,CAAA,MAAA,CAAO,KAAK,CAAI,GAAA,KAAA,CAAA;AAAA,UACtD,OAAO,MAAO,CAAA,KAAA;AAAA,SAChB;AAAA,OACF,CAAA;AAAA,KACF;AACA,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,MAAA,CAAO,MAAM,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,WAAc,GAAA,IAAA,IAAQ,MAAO,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAC5C,IAAA,MAAM,OAAU,GAAA,MAAA,CAAO,KAAS,IAAA,MAAA,CAAO,KAAQ,GAAA,CAAA,CAAA;AAC/C,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA,CAAA;AAClD,IAAA,MAAM,MAAM,MAAO,CAAA,GAAA,GAAM,OAAO,IAAK,CAAA,MAAA,CAAO,GAAG,CAAI,GAAA,EAAA,CAAA;AACnD,IAAI,IAAA,IAAA,CAAA;AACJ,IAAM,MAAA,IAAA,GAAO,KAAK,aAAc,CAAA,CAAC,MAAM,eAAgB,CAAA,OAAO,CAAC,CAAC,CAAA,CAAA;AAChE,IAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,aAAA,CAAc,IAAK,CAAA,OAAA,GAAU,CAAC,GAAA,EAAK,WAAW,CAAA,GAAI,CAAC,GAAG,CAAC,CAAA,CAAA;AAC1E,IAAM,MAAA,KAAA,GAAA,CAAS,KAAK,OAAW,IAAA,CAAA,IAAK,YAAY,IAAI,CAAA,GAAI,WAAY,CAAA,KAAK,CAAI,GAAA,CAAA,CAAA;AAC7E,IAAO,IAAA,GAAA,KAAA,GAAQ,MAAM,IAAK,CAAA,OAAA,IAAW,MAAM,EAAK,GAAA,IAAA,GAAO,IAAI,MAAO,CAAA,KAAK,IAAI,KAAS,GAAA,CAAA,KAAA,GAAQ,GAAG,MAAO,CAAA,IAAA,CAAK,IAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,GAAM,EAAM,IAAA,IAAA,CAAA;AACpI,IAAQ,IAAA,IAAA,eAAA;AAAA,MACN,WAAW,MAAS,GAAA,CAAA,GAAI,OAAO,UAAW,CAAA,IAAA,CAAK,IAAI,CAAI,GAAA,EAAA;AAAA,KACzD,CAAA;AACA,IAAI,IAAA,MAAA,CAAO,SAAS,OAAS,EAAA;AAC3B,MAAA,MAAM,IAAO,GAAA,IAAI,KAAM,CAAA,SAAA,GAAY,OAAO,OAAO,CAAA,CAAA;AACjD,MAAA,IAAA,IAAQ,IAAK,CAAA,WAAA,CAAY,IAAK,CAAA,KAAA,IAAS,EAAE,CAAA,CAAA;AAAA,KAC3C;AACA,IAAO,OAAA,OAAA,GAAU,IAAO,GAAA,IAAA,GAAO,IAAO,GAAA,IAAA,CAAA;AAAA,GACxC;AACF,CAAA,CAAA;AACA,SAAS,gBAAgB,GAAK,EAAA;AAC5B,EAAO,OAAA,GAAA,CAAI,QAAQ,aAAe,EAAA,CAAC,GAAG,CAAM,KAAA,MAAA,CAAO,KAAK,CAAC,CAAC,EAAE,OAAQ,CAAA,mBAAA,EAAqB,CAAC,CAAG,EAAA,CAAA,KAAM,IAAI,MAAO,CAAA,SAAA,CAAU,CAAC,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA;AAC/H,CAAA;AACA,SAASA,SAAAA,CAAS,QAAQ,OAAS,EAAA;AACjC,EAAO,OAAA,MAAA,CAAO,KAAK,CAAA,IAAK,MAAO,CAAA,KAAA,CAAA;AACjC,CAAA;AACA,SAAS,UAAA,CAAW,QAAQ,SAAW,EAAA;AACrC,EAAA,OAAO,MAAO,CAAA,CAAA,EAAA,EAAK,KAAM,CAAA,CAAC,EAAE,WAAY,EAAC,CAAG,EAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAC,CAAA,CAAE,KAAK,MAAO,CAAA,OAAA,CAAA;AAC1E,CAAA;AAEA,SAASC,cAAAA,CAAc,OAAU,GAAA,EAAI,EAAA;AACnC,EAAA,IAAI,QAAQ,mBAAoB,EAAA,CAAA;AAChC,EAAI,IAAA,OAAA,CAAQ,IAAI,aAAe,EAAA;AAC7B,IAAA,KAAA,GAAQ,MAAO,CAAA,QAAA,CAAS,OAAQ,CAAA,GAAA,CAAI,aAAa,CAAK,IAAA,KAAA,CAAA;AAAA,GACxD;AACA,EAAA,MAAM,WAAW,aAAgB,CAAA;AAAA,IAC/B,KAAA;AAAA,IACA,QAAA,EAAU,EAAE,KAAM,EAAA;AAAA,IAClB,QAAQ,OAAQ,CAAA,MAAA;AAAA,IAChB,QAAQ,OAAQ,CAAA,MAAA;AAAA,IAChB,MAAQ,EAAA,CAAA,GAAI,IAAS,KAAA,OAAO,uBAAsB,CAAA,CAAE,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,MAAO,CAAA,GAAG,IAAI,CAAC,CAAA;AAAA,IACjF,SAAA,EAAW,QAAQ,SAAa,IAAA;AAAA,MAC9B,OAAA,CAAQ,SAAS,EAAEL,KAAAA,IAAQ,UAAU,IAAI,aAAA,EAAkB,GAAA,IAAI,aAAc,EAAA;AAAA,KAC/E;AAAA,IACA,GAAG,OAAA;AAAA,GACJ,CAAA,CAAA;AACD,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AACA,SAAS,mBAAsB,GAAA;AAC7B,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,OAAO,SAAU,CAAA,KAAA,CAAA;AAAA,GACnB;AACA,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,OAAO,SAAU,CAAA,IAAA,CAAA;AAAA,GACnB;AACA,EAAA,OAAO,SAAU,CAAA,IAAA,CAAA;AACnB,CAAA;AACgBK,cAAc","file":"chunk-DTLEGPII.cjs","sourcesContent":["const LogLevels = {\n silent: Number.NEGATIVE_INFINITY,\n fatal: 0,\n error: 0,\n warn: 1,\n log: 2,\n info: 3,\n success: 3,\n fail: 3,\n ready: 3,\n start: 3,\n box: 3,\n debug: 4,\n trace: 5,\n verbose: Number.POSITIVE_INFINITY\n};\nconst LogTypes = {\n // Silent\n silent: {\n level: -1\n },\n // Level 0\n fatal: {\n level: LogLevels.fatal\n },\n error: {\n level: LogLevels.error\n },\n // Level 1\n warn: {\n level: LogLevels.warn\n },\n // Level 2\n log: {\n level: LogLevels.log\n },\n // Level 3\n info: {\n level: LogLevels.info\n },\n success: {\n level: LogLevels.success\n },\n fail: {\n level: LogLevels.fail\n },\n ready: {\n level: LogLevels.info\n },\n start: {\n level: LogLevels.info\n },\n box: {\n level: LogLevels.info\n },\n // Level 4\n debug: {\n level: LogLevels.debug\n },\n // Level 5\n trace: {\n level: LogLevels.trace\n },\n // Verbose\n verbose: {\n level: LogLevels.verbose\n }\n};\n\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isObject(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = Object.assign({}, defaults);\n for (const key in baseObject) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isObject(value) && isObject(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\n\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isLogObj(arg) {\n if (!isPlainObject(arg)) {\n return false;\n }\n if (!arg.message && !arg.args) {\n return false;\n }\n if (arg.stack) {\n return false;\n }\n return true;\n}\n\nlet paused = false;\nconst queue = [];\nclass Consola {\n constructor(options = {}) {\n const types = options.types || LogTypes;\n this.options = defu(\n {\n ...options,\n defaults: { ...options.defaults },\n level: _normalizeLogLevel(options.level, types),\n reporters: [...options.reporters || []]\n },\n {\n types: LogTypes,\n throttle: 1e3,\n throttleMin: 5,\n formatOptions: {\n date: true,\n colors: false,\n compact: true\n }\n }\n );\n for (const type in types) {\n const defaults = {\n type,\n ...this.options.defaults,\n ...types[type]\n };\n this[type] = this._wrapLogFn(defaults);\n this[type].raw = this._wrapLogFn(\n defaults,\n true\n );\n }\n if (this.options.mockFn) {\n this.mockTypes();\n }\n this._lastLog = {};\n }\n get level() {\n return this.options.level;\n }\n set level(level) {\n this.options.level = _normalizeLogLevel(\n level,\n this.options.types,\n this.options.level\n );\n }\n prompt(message, opts) {\n if (!this.options.prompt) {\n throw new Error(\"prompt is not supported!\");\n }\n return this.options.prompt(message, opts);\n }\n create(options) {\n const instance = new Consola({\n ...this.options,\n ...options\n });\n if (this._mockFn) {\n instance.mockTypes(this._mockFn);\n }\n return instance;\n }\n withDefaults(defaults) {\n return this.create({\n ...this.options,\n defaults: {\n ...this.options.defaults,\n ...defaults\n }\n });\n }\n withTag(tag) {\n return this.withDefaults({\n tag: this.options.defaults.tag ? this.options.defaults.tag + \":\" + tag : tag\n });\n }\n addReporter(reporter) {\n this.options.reporters.push(reporter);\n return this;\n }\n removeReporter(reporter) {\n if (reporter) {\n const i = this.options.reporters.indexOf(reporter);\n if (i >= 0) {\n return this.options.reporters.splice(i, 1);\n }\n } else {\n this.options.reporters.splice(0);\n }\n return this;\n }\n setReporters(reporters) {\n this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];\n return this;\n }\n wrapAll() {\n this.wrapConsole();\n this.wrapStd();\n }\n restoreAll() {\n this.restoreConsole();\n this.restoreStd();\n }\n wrapConsole() {\n for (const type in this.options.types) {\n if (!console[\"__\" + type]) {\n console[\"__\" + type] = console[type];\n }\n console[type] = this[type].raw;\n }\n }\n restoreConsole() {\n for (const type in this.options.types) {\n if (console[\"__\" + type]) {\n console[type] = console[\"__\" + type];\n delete console[\"__\" + type];\n }\n }\n }\n wrapStd() {\n this._wrapStream(this.options.stdout, \"log\");\n this._wrapStream(this.options.stderr, \"log\");\n }\n _wrapStream(stream, type) {\n if (!stream) {\n return;\n }\n if (!stream.__write) {\n stream.__write = stream.write;\n }\n stream.write = (data) => {\n this[type].raw(String(data).trim());\n };\n }\n restoreStd() {\n this._restoreStream(this.options.stdout);\n this._restoreStream(this.options.stderr);\n }\n _restoreStream(stream) {\n if (!stream) {\n return;\n }\n if (stream.__write) {\n stream.write = stream.__write;\n delete stream.__write;\n }\n }\n pauseLogs() {\n paused = true;\n }\n resumeLogs() {\n paused = false;\n const _queue = queue.splice(0);\n for (const item of _queue) {\n item[0]._logFn(item[1], item[2]);\n }\n }\n mockTypes(mockFn) {\n const _mockFn = mockFn || this.options.mockFn;\n this._mockFn = _mockFn;\n if (typeof _mockFn !== \"function\") {\n return;\n }\n for (const type in this.options.types) {\n this[type] = _mockFn(type, this.options.types[type]) || this[type];\n this[type].raw = this[type];\n }\n }\n _wrapLogFn(defaults, isRaw) {\n return (...args) => {\n if (paused) {\n queue.push([this, defaults, args, isRaw]);\n return;\n }\n return this._logFn(defaults, args, isRaw);\n };\n }\n _logFn(defaults, args, isRaw) {\n if ((defaults.level || 0) > this.level) {\n return false;\n }\n const logObj = {\n date: /* @__PURE__ */ new Date(),\n args: [],\n ...defaults,\n level: _normalizeLogLevel(defaults.level, this.options.types)\n };\n if (!isRaw && args.length === 1 && isLogObj(args[0])) {\n Object.assign(logObj, args[0]);\n } else {\n logObj.args = [...args];\n }\n if (logObj.message) {\n logObj.args.unshift(logObj.message);\n delete logObj.message;\n }\n if (logObj.additional) {\n if (!Array.isArray(logObj.additional)) {\n logObj.additional = logObj.additional.split(\"\\n\");\n }\n logObj.args.push(\"\\n\" + logObj.additional.join(\"\\n\"));\n delete logObj.additional;\n }\n logObj.type = typeof logObj.type === \"string\" ? logObj.type.toLowerCase() : \"log\";\n logObj.tag = typeof logObj.tag === \"string\" ? logObj.tag : \"\";\n const resolveLog = (newLog = false) => {\n const repeated = (this._lastLog.count || 0) - this.options.throttleMin;\n if (this._lastLog.object && repeated > 0) {\n const args2 = [...this._lastLog.object.args];\n if (repeated > 1) {\n args2.push(`(repeated ${repeated} times)`);\n }\n this._log({ ...this._lastLog.object, args: args2 });\n this._lastLog.count = 1;\n }\n if (newLog) {\n this._lastLog.object = logObj;\n this._log(logObj);\n }\n };\n clearTimeout(this._lastLog.timeout);\n const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;\n this._lastLog.time = logObj.date;\n if (diffTime < this.options.throttle) {\n try {\n const serializedLog = JSON.stringify([\n logObj.type,\n logObj.tag,\n logObj.args\n ]);\n const isSameLog = this._lastLog.serialized === serializedLog;\n this._lastLog.serialized = serializedLog;\n if (isSameLog) {\n this._lastLog.count = (this._lastLog.count || 0) + 1;\n if (this._lastLog.count > this.options.throttleMin) {\n this._lastLog.timeout = setTimeout(\n resolveLog,\n this.options.throttle\n );\n return;\n }\n }\n } catch {\n }\n }\n resolveLog(true);\n }\n _log(logObj) {\n for (const reporter of this.options.reporters) {\n reporter.log(logObj, {\n options: this.options\n });\n }\n }\n}\nfunction _normalizeLogLevel(input, types = {}, defaultLevel = 3) {\n if (input === void 0) {\n return defaultLevel;\n }\n if (typeof input === \"number\") {\n return input;\n }\n if (types[input] && types[input].level !== void 0) {\n return types[input].level;\n }\n return defaultLevel;\n}\nConsola.prototype.add = Consola.prototype.addReporter;\nConsola.prototype.remove = Consola.prototype.removeReporter;\nConsola.prototype.clear = Consola.prototype.removeReporter;\nConsola.prototype.withScope = Consola.prototype.withTag;\nConsola.prototype.mock = Consola.prototype.mockTypes;\nConsola.prototype.pause = Consola.prototype.pauseLogs;\nConsola.prototype.resume = Consola.prototype.resumeLogs;\nfunction createConsola(options = {}) {\n return new Consola(options);\n}\n\nexport { Consola, LogLevels, LogTypes, createConsola };\n","import { formatWithOptions } from 'node:util';\nimport { sep } from 'node:path';\n\nfunction parseStack(stack) {\n const cwd = process.cwd() + sep;\n const lines = stack.split(\"\\n\").splice(1).map((l) => l.trim().replace(\"file://\", \"\").replace(cwd, \"\"));\n return lines;\n}\n\nfunction writeStream(data, stream) {\n const write = stream.__write || stream.write;\n return write.call(stream, data);\n}\n\nconst bracket = (x) => x ? `[${x}]` : \"\";\nclass BasicReporter {\n formatStack(stack, opts) {\n return \" \" + parseStack(stack).join(\"\\n \");\n }\n formatArgs(args, opts) {\n const _args = args.map((arg) => {\n if (arg && typeof arg.stack === \"string\") {\n return arg.message + \"\\n\" + this.formatStack(arg.stack, opts);\n }\n return arg;\n });\n return formatWithOptions(opts, ..._args);\n }\n formatDate(date, opts) {\n return opts.date ? date.toLocaleTimeString() : \"\";\n }\n filterAndJoin(arr) {\n return arr.filter(Boolean).join(\" \");\n }\n formatLogObj(logObj, opts) {\n const message = this.formatArgs(logObj.args, opts);\n if (logObj.type === \"box\") {\n return \"\\n\" + [\n bracket(logObj.tag),\n logObj.title && logObj.title,\n ...message.split(\"\\n\")\n ].filter(Boolean).map((l) => \" > \" + l).join(\"\\n\") + \"\\n\";\n }\n return this.filterAndJoin([\n bracket(logObj.type),\n bracket(logObj.tag),\n message\n ]);\n }\n log(logObj, ctx) {\n const line = this.formatLogObj(logObj, {\n columns: ctx.options.stdout.columns || 0,\n ...ctx.options.formatOptions\n });\n return writeStream(\n line + \"\\n\",\n logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout\n );\n }\n}\n\nexport { BasicReporter as B, parseStack as p };\n","import * as tty from 'node:tty';\n\nconst {\n env = {},\n argv = [],\n platform = \"\"\n} = typeof process === \"undefined\" ? {} : process;\nconst isDisabled = \"NO_COLOR\" in env || argv.includes(\"--no-color\");\nconst isForced = \"FORCE_COLOR\" in env || argv.includes(\"--color\");\nconst isWindows = platform === \"win32\";\nconst isDumbTerminal = env.TERM === \"dumb\";\nconst isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;\nconst isCI = \"CI\" in env && (\"GITHUB_ACTIONS\" in env || \"GITLAB_CI\" in env || \"CIRCLECI\" in env);\nconst isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);\nfunction replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {\n return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));\n}\nfunction clearBleed(index, string, open, close, replace) {\n return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;\n}\nfunction filterEmpty(open, close, replace = open, at = open.length + 1) {\n return (string) => string || !(string === \"\" || string === void 0) ? clearBleed(\n (\"\" + string).indexOf(close, at),\n string,\n open,\n close,\n replace\n ) : \"\";\n}\nfunction init(open, close, replace) {\n return filterEmpty(`\\x1B[${open}m`, `\\x1B[${close}m`, replace);\n}\nconst colorDefs = {\n reset: init(0, 0),\n bold: init(1, 22, \"\\x1B[22m\\x1B[1m\"),\n dim: init(2, 22, \"\\x1B[22m\\x1B[2m\"),\n italic: init(3, 23),\n underline: init(4, 24),\n inverse: init(7, 27),\n hidden: init(8, 28),\n strikethrough: init(9, 29),\n black: init(30, 39),\n red: init(31, 39),\n green: init(32, 39),\n yellow: init(33, 39),\n blue: init(34, 39),\n magenta: init(35, 39),\n cyan: init(36, 39),\n white: init(37, 39),\n gray: init(90, 39),\n bgBlack: init(40, 49),\n bgRed: init(41, 49),\n bgGreen: init(42, 49),\n bgYellow: init(43, 49),\n bgBlue: init(44, 49),\n bgMagenta: init(45, 49),\n bgCyan: init(46, 49),\n bgWhite: init(47, 49),\n blackBright: init(90, 39),\n redBright: init(91, 39),\n greenBright: init(92, 39),\n yellowBright: init(93, 39),\n blueBright: init(94, 39),\n magentaBright: init(95, 39),\n cyanBright: init(96, 39),\n whiteBright: init(97, 39),\n bgBlackBright: init(100, 49),\n bgRedBright: init(101, 49),\n bgGreenBright: init(102, 49),\n bgYellowBright: init(103, 49),\n bgBlueBright: init(104, 49),\n bgMagentaBright: init(105, 49),\n bgCyanBright: init(106, 49),\n bgWhiteBright: init(107, 49)\n};\nfunction createColors(useColor = isColorSupported) {\n return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String]));\n}\nconst colors = createColors();\nfunction getColor(color, fallback = \"reset\") {\n return colors[color] || colors[fallback];\n}\nfunction colorize(color, text) {\n return getColor(color)(text);\n}\n\nconst ansiRegex = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"\n].join(\"|\");\nfunction stripAnsi(text) {\n return text.replace(new RegExp(ansiRegex, \"g\"), \"\");\n}\nfunction centerAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n const freeLeft = Math.floor(free / 2);\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < freeLeft || i >= freeLeft + str.length ? space : str[i - freeLeft];\n }\n return _str;\n}\nfunction rightAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < free ? space : str[i - free];\n }\n return _str;\n}\nfunction leftAlign(str, len, space = \" \") {\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < str.length ? str[i] : space;\n }\n return _str;\n}\nfunction align(alignment, str, len, space = \" \") {\n switch (alignment) {\n case \"left\": {\n return leftAlign(str, len, space);\n }\n case \"right\": {\n return rightAlign(str, len, space);\n }\n case \"center\": {\n return centerAlign(str, len, space);\n }\n default: {\n return str;\n }\n }\n}\n\nconst boxStylePresets = {\n solid: {\n tl: \"\\u250C\",\n tr: \"\\u2510\",\n bl: \"\\u2514\",\n br: \"\\u2518\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n },\n double: {\n tl: \"\\u2554\",\n tr: \"\\u2557\",\n bl: \"\\u255A\",\n br: \"\\u255D\",\n h: \"\\u2550\",\n v: \"\\u2551\"\n },\n doubleSingle: {\n tl: \"\\u2553\",\n tr: \"\\u2556\",\n bl: \"\\u2559\",\n br: \"\\u255C\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n doubleSingleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n singleThick: {\n tl: \"\\u250F\",\n tr: \"\\u2513\",\n bl: \"\\u2517\",\n br: \"\\u251B\",\n h: \"\\u2501\",\n v: \"\\u2503\"\n },\n singleDouble: {\n tl: \"\\u2552\",\n tr: \"\\u2555\",\n bl: \"\\u2558\",\n br: \"\\u255B\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n singleDoubleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n rounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n }\n};\nconst defaultStyle = {\n borderColor: \"white\",\n borderStyle: \"rounded\",\n valign: \"center\",\n padding: 2,\n marginLeft: 1,\n marginTop: 1,\n marginBottom: 1\n};\nfunction box(text, _opts = {}) {\n const opts = {\n ..._opts,\n style: {\n ...defaultStyle,\n ..._opts.style\n }\n };\n const textLines = text.split(\"\\n\");\n const boxLines = [];\n const _color = getColor(opts.style.borderColor);\n const borderStyle = {\n ...typeof opts.style.borderStyle === \"string\" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle\n };\n if (_color) {\n for (const key in borderStyle) {\n borderStyle[key] = _color(\n borderStyle[key]\n );\n }\n }\n const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1;\n const height = textLines.length + paddingOffset;\n const width = Math.max(...textLines.map((line) => line.length)) + paddingOffset;\n const widthOffset = width + paddingOffset;\n const leftSpace = opts.style.marginLeft > 0 ? \" \".repeat(opts.style.marginLeft) : \"\";\n if (opts.style.marginTop > 0) {\n boxLines.push(\"\".repeat(opts.style.marginTop));\n }\n if (opts.title) {\n const left = borderStyle.h.repeat(\n Math.floor((width - stripAnsi(opts.title).length) / 2)\n );\n const right = borderStyle.h.repeat(\n width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset\n );\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${left}${opts.title}${right}${borderStyle.tr}`\n );\n } else {\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}`\n );\n }\n const valignOffset = opts.style.valign === \"center\" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === \"top\" ? height - textLines.length - paddingOffset : height - textLines.length;\n for (let i = 0; i < height; i++) {\n if (i < valignOffset || i >= valignOffset + textLines.length) {\n boxLines.push(\n `${leftSpace}${borderStyle.v}${\" \".repeat(widthOffset)}${borderStyle.v}`\n );\n } else {\n const line = textLines[i - valignOffset];\n const left = \" \".repeat(paddingOffset);\n const right = \" \".repeat(width - stripAnsi(line).length);\n boxLines.push(\n `${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}`\n );\n }\n }\n boxLines.push(\n `${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}`\n );\n if (opts.style.marginBottom > 0) {\n boxLines.push(\"\".repeat(opts.style.marginBottom));\n }\n return boxLines.join(\"\\n\");\n}\n\nexport { align, box, centerAlign, colorize, colors, getColor, leftAlign, rightAlign, stripAnsi };\n","import { createConsola as createConsola$1, LogLevels } from '../core.mjs';\nimport { B as BasicReporter, p as parseStack } from './consola.06ad8a64.mjs';\nimport process$1 from 'node:process';\nimport { colors, box, stripAnsi as stripAnsi$1 } from '../utils.mjs';\n\nconst providers = [\n [\"APPVEYOR\"],\n [\"AZURE_PIPELINES\", \"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"],\n [\"AZURE_STATIC\", \"INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN\"],\n [\"APPCIRCLE\", \"AC_APPCIRCLE\"],\n [\"BAMBOO\", \"bamboo_planKey\"],\n [\"BITBUCKET\", \"BITBUCKET_COMMIT\"],\n [\"BITRISE\", \"BITRISE_IO\"],\n [\"BUDDY\", \"BUDDY_WORKSPACE_ID\"],\n [\"BUILDKITE\"],\n [\"CIRCLE\", \"CIRCLECI\"],\n [\"CIRRUS\", \"CIRRUS_CI\"],\n [\"CLOUDFLARE_PAGES\", \"CF_PAGES\", { ci: true }],\n [\"CODEBUILD\", \"CODEBUILD_BUILD_ARN\"],\n [\"CODEFRESH\", \"CF_BUILD_ID\"],\n [\"DRONE\"],\n [\"DRONE\", \"DRONE_BUILD_EVENT\"],\n [\"DSARI\"],\n [\"GITHUB_ACTIONS\"],\n [\"GITLAB\", \"GITLAB_CI\"],\n [\"GITLAB\", \"CI_MERGE_REQUEST_ID\"],\n [\"GOCD\", \"GO_PIPELINE_LABEL\"],\n [\"LAYERCI\"],\n [\"HUDSON\", \"HUDSON_URL\"],\n [\"JENKINS\", \"JENKINS_URL\"],\n [\"MAGNUM\"],\n [\"NETLIFY\"],\n [\"NETLIFY\", \"NETLIFY_LOCAL\", { ci: false }],\n [\"NEVERCODE\"],\n [\"RENDER\"],\n [\"SAIL\", \"SAILCI\"],\n [\"SEMAPHORE\"],\n [\"SCREWDRIVER\"],\n [\"SHIPPABLE\"],\n [\"SOLANO\", \"TDDIUM\"],\n [\"STRIDER\"],\n [\"TEAMCITY\", \"TEAMCITY_VERSION\"],\n [\"TRAVIS\"],\n [\"VERCEL\", \"NOW_BUILDER\"],\n [\"APPCENTER\", \"APPCENTER_BUILD_ID\"],\n [\"CODESANDBOX\", \"CODESANDBOX_SSE\", { ci: false }],\n [\"STACKBLITZ\"],\n [\"STORMKIT\"],\n [\"CLEAVR\"]\n];\nfunction detectProvider(env) {\n for (const provider of providers) {\n const envName = provider[1] || provider[0];\n if (env[envName]) {\n return {\n name: provider[0].toLowerCase(),\n ...provider[2]\n };\n }\n }\n if (env.SHELL && env.SHELL === \"/bin/jsh\") {\n return {\n name: \"stackblitz\",\n ci: false\n };\n }\n return {\n name: \"\",\n ci: false\n };\n}\n\nconst processShim = typeof process !== \"undefined\" ? process : {};\nconst envShim = processShim.env || {};\nconst providerInfo = detectProvider(envShim);\nconst nodeENV = typeof process !== \"undefined\" && process.env && process.env.NODE_ENV || \"\";\nprocessShim.platform;\nproviderInfo.name;\nconst isCI = toBoolean(envShim.CI) || providerInfo.ci !== false;\nconst hasTTY = toBoolean(processShim.stdout && processShim.stdout.isTTY);\nconst isDebug = toBoolean(envShim.DEBUG);\nconst isTest = nodeENV === \"test\" || toBoolean(envShim.TEST);\ntoBoolean(envShim.MINIMAL) || isCI || isTest || !hasTTY;\nfunction toBoolean(val) {\n return val ? val !== \"false\" : false;\n}\n\nfunction ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n\nconst regex = ansiRegex();\n\nfunction stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar eastasianwidth = {exports: {}};\n\n(function (module) {\n\tvar eaw = {};\n\n\t{\n\t module.exports = eaw;\n\t}\n\n\teaw.eastAsianWidth = function(character) {\n\t var x = character.charCodeAt(0);\n\t var y = (character.length == 2) ? character.charCodeAt(1) : 0;\n\t var codePoint = x;\n\t if ((0xD800 <= x && x <= 0xDBFF) && (0xDC00 <= y && y <= 0xDFFF)) {\n\t x &= 0x3FF;\n\t y &= 0x3FF;\n\t codePoint = (x << 10) | y;\n\t codePoint += 0x10000;\n\t }\n\n\t if ((0x3000 == codePoint) ||\n\t (0xFF01 <= codePoint && codePoint <= 0xFF60) ||\n\t (0xFFE0 <= codePoint && codePoint <= 0xFFE6)) {\n\t return 'F';\n\t }\n\t if ((0x20A9 == codePoint) ||\n\t (0xFF61 <= codePoint && codePoint <= 0xFFBE) ||\n\t (0xFFC2 <= codePoint && codePoint <= 0xFFC7) ||\n\t (0xFFCA <= codePoint && codePoint <= 0xFFCF) ||\n\t (0xFFD2 <= codePoint && codePoint <= 0xFFD7) ||\n\t (0xFFDA <= codePoint && codePoint <= 0xFFDC) ||\n\t (0xFFE8 <= codePoint && codePoint <= 0xFFEE)) {\n\t return 'H';\n\t }\n\t if ((0x1100 <= codePoint && codePoint <= 0x115F) ||\n\t (0x11A3 <= codePoint && codePoint <= 0x11A7) ||\n\t (0x11FA <= codePoint && codePoint <= 0x11FF) ||\n\t (0x2329 <= codePoint && codePoint <= 0x232A) ||\n\t (0x2E80 <= codePoint && codePoint <= 0x2E99) ||\n\t (0x2E9B <= codePoint && codePoint <= 0x2EF3) ||\n\t (0x2F00 <= codePoint && codePoint <= 0x2FD5) ||\n\t (0x2FF0 <= codePoint && codePoint <= 0x2FFB) ||\n\t (0x3001 <= codePoint && codePoint <= 0x303E) ||\n\t (0x3041 <= codePoint && codePoint <= 0x3096) ||\n\t (0x3099 <= codePoint && codePoint <= 0x30FF) ||\n\t (0x3105 <= codePoint && codePoint <= 0x312D) ||\n\t (0x3131 <= codePoint && codePoint <= 0x318E) ||\n\t (0x3190 <= codePoint && codePoint <= 0x31BA) ||\n\t (0x31C0 <= codePoint && codePoint <= 0x31E3) ||\n\t (0x31F0 <= codePoint && codePoint <= 0x321E) ||\n\t (0x3220 <= codePoint && codePoint <= 0x3247) ||\n\t (0x3250 <= codePoint && codePoint <= 0x32FE) ||\n\t (0x3300 <= codePoint && codePoint <= 0x4DBF) ||\n\t (0x4E00 <= codePoint && codePoint <= 0xA48C) ||\n\t (0xA490 <= codePoint && codePoint <= 0xA4C6) ||\n\t (0xA960 <= codePoint && codePoint <= 0xA97C) ||\n\t (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||\n\t (0xD7B0 <= codePoint && codePoint <= 0xD7C6) ||\n\t (0xD7CB <= codePoint && codePoint <= 0xD7FB) ||\n\t (0xF900 <= codePoint && codePoint <= 0xFAFF) ||\n\t (0xFE10 <= codePoint && codePoint <= 0xFE19) ||\n\t (0xFE30 <= codePoint && codePoint <= 0xFE52) ||\n\t (0xFE54 <= codePoint && codePoint <= 0xFE66) ||\n\t (0xFE68 <= codePoint && codePoint <= 0xFE6B) ||\n\t (0x1B000 <= codePoint && codePoint <= 0x1B001) ||\n\t (0x1F200 <= codePoint && codePoint <= 0x1F202) ||\n\t (0x1F210 <= codePoint && codePoint <= 0x1F23A) ||\n\t (0x1F240 <= codePoint && codePoint <= 0x1F248) ||\n\t (0x1F250 <= codePoint && codePoint <= 0x1F251) ||\n\t (0x20000 <= codePoint && codePoint <= 0x2F73F) ||\n\t (0x2B740 <= codePoint && codePoint <= 0x2FFFD) ||\n\t (0x30000 <= codePoint && codePoint <= 0x3FFFD)) {\n\t return 'W';\n\t }\n\t if ((0x0020 <= codePoint && codePoint <= 0x007E) ||\n\t (0x00A2 <= codePoint && codePoint <= 0x00A3) ||\n\t (0x00A5 <= codePoint && codePoint <= 0x00A6) ||\n\t (0x00AC == codePoint) ||\n\t (0x00AF == codePoint) ||\n\t (0x27E6 <= codePoint && codePoint <= 0x27ED) ||\n\t (0x2985 <= codePoint && codePoint <= 0x2986)) {\n\t return 'Na';\n\t }\n\t if ((0x00A1 == codePoint) ||\n\t (0x00A4 == codePoint) ||\n\t (0x00A7 <= codePoint && codePoint <= 0x00A8) ||\n\t (0x00AA == codePoint) ||\n\t (0x00AD <= codePoint && codePoint <= 0x00AE) ||\n\t (0x00B0 <= codePoint && codePoint <= 0x00B4) ||\n\t (0x00B6 <= codePoint && codePoint <= 0x00BA) ||\n\t (0x00BC <= codePoint && codePoint <= 0x00BF) ||\n\t (0x00C6 == codePoint) ||\n\t (0x00D0 == codePoint) ||\n\t (0x00D7 <= codePoint && codePoint <= 0x00D8) ||\n\t (0x00DE <= codePoint && codePoint <= 0x00E1) ||\n\t (0x00E6 == codePoint) ||\n\t (0x00E8 <= codePoint && codePoint <= 0x00EA) ||\n\t (0x00EC <= codePoint && codePoint <= 0x00ED) ||\n\t (0x00F0 == codePoint) ||\n\t (0x00F2 <= codePoint && codePoint <= 0x00F3) ||\n\t (0x00F7 <= codePoint && codePoint <= 0x00FA) ||\n\t (0x00FC == codePoint) ||\n\t (0x00FE == codePoint) ||\n\t (0x0101 == codePoint) ||\n\t (0x0111 == codePoint) ||\n\t (0x0113 == codePoint) ||\n\t (0x011B == codePoint) ||\n\t (0x0126 <= codePoint && codePoint <= 0x0127) ||\n\t (0x012B == codePoint) ||\n\t (0x0131 <= codePoint && codePoint <= 0x0133) ||\n\t (0x0138 == codePoint) ||\n\t (0x013F <= codePoint && codePoint <= 0x0142) ||\n\t (0x0144 == codePoint) ||\n\t (0x0148 <= codePoint && codePoint <= 0x014B) ||\n\t (0x014D == codePoint) ||\n\t (0x0152 <= codePoint && codePoint <= 0x0153) ||\n\t (0x0166 <= codePoint && codePoint <= 0x0167) ||\n\t (0x016B == codePoint) ||\n\t (0x01CE == codePoint) ||\n\t (0x01D0 == codePoint) ||\n\t (0x01D2 == codePoint) ||\n\t (0x01D4 == codePoint) ||\n\t (0x01D6 == codePoint) ||\n\t (0x01D8 == codePoint) ||\n\t (0x01DA == codePoint) ||\n\t (0x01DC == codePoint) ||\n\t (0x0251 == codePoint) ||\n\t (0x0261 == codePoint) ||\n\t (0x02C4 == codePoint) ||\n\t (0x02C7 == codePoint) ||\n\t (0x02C9 <= codePoint && codePoint <= 0x02CB) ||\n\t (0x02CD == codePoint) ||\n\t (0x02D0 == codePoint) ||\n\t (0x02D8 <= codePoint && codePoint <= 0x02DB) ||\n\t (0x02DD == codePoint) ||\n\t (0x02DF == codePoint) ||\n\t (0x0300 <= codePoint && codePoint <= 0x036F) ||\n\t (0x0391 <= codePoint && codePoint <= 0x03A1) ||\n\t (0x03A3 <= codePoint && codePoint <= 0x03A9) ||\n\t (0x03B1 <= codePoint && codePoint <= 0x03C1) ||\n\t (0x03C3 <= codePoint && codePoint <= 0x03C9) ||\n\t (0x0401 == codePoint) ||\n\t (0x0410 <= codePoint && codePoint <= 0x044F) ||\n\t (0x0451 == codePoint) ||\n\t (0x2010 == codePoint) ||\n\t (0x2013 <= codePoint && codePoint <= 0x2016) ||\n\t (0x2018 <= codePoint && codePoint <= 0x2019) ||\n\t (0x201C <= codePoint && codePoint <= 0x201D) ||\n\t (0x2020 <= codePoint && codePoint <= 0x2022) ||\n\t (0x2024 <= codePoint && codePoint <= 0x2027) ||\n\t (0x2030 == codePoint) ||\n\t (0x2032 <= codePoint && codePoint <= 0x2033) ||\n\t (0x2035 == codePoint) ||\n\t (0x203B == codePoint) ||\n\t (0x203E == codePoint) ||\n\t (0x2074 == codePoint) ||\n\t (0x207F == codePoint) ||\n\t (0x2081 <= codePoint && codePoint <= 0x2084) ||\n\t (0x20AC == codePoint) ||\n\t (0x2103 == codePoint) ||\n\t (0x2105 == codePoint) ||\n\t (0x2109 == codePoint) ||\n\t (0x2113 == codePoint) ||\n\t (0x2116 == codePoint) ||\n\t (0x2121 <= codePoint && codePoint <= 0x2122) ||\n\t (0x2126 == codePoint) ||\n\t (0x212B == codePoint) ||\n\t (0x2153 <= codePoint && codePoint <= 0x2154) ||\n\t (0x215B <= codePoint && codePoint <= 0x215E) ||\n\t (0x2160 <= codePoint && codePoint <= 0x216B) ||\n\t (0x2170 <= codePoint && codePoint <= 0x2179) ||\n\t (0x2189 == codePoint) ||\n\t (0x2190 <= codePoint && codePoint <= 0x2199) ||\n\t (0x21B8 <= codePoint && codePoint <= 0x21B9) ||\n\t (0x21D2 == codePoint) ||\n\t (0x21D4 == codePoint) ||\n\t (0x21E7 == codePoint) ||\n\t (0x2200 == codePoint) ||\n\t (0x2202 <= codePoint && codePoint <= 0x2203) ||\n\t (0x2207 <= codePoint && codePoint <= 0x2208) ||\n\t (0x220B == codePoint) ||\n\t (0x220F == codePoint) ||\n\t (0x2211 == codePoint) ||\n\t (0x2215 == codePoint) ||\n\t (0x221A == codePoint) ||\n\t (0x221D <= codePoint && codePoint <= 0x2220) ||\n\t (0x2223 == codePoint) ||\n\t (0x2225 == codePoint) ||\n\t (0x2227 <= codePoint && codePoint <= 0x222C) ||\n\t (0x222E == codePoint) ||\n\t (0x2234 <= codePoint && codePoint <= 0x2237) ||\n\t (0x223C <= codePoint && codePoint <= 0x223D) ||\n\t (0x2248 == codePoint) ||\n\t (0x224C == codePoint) ||\n\t (0x2252 == codePoint) ||\n\t (0x2260 <= codePoint && codePoint <= 0x2261) ||\n\t (0x2264 <= codePoint && codePoint <= 0x2267) ||\n\t (0x226A <= codePoint && codePoint <= 0x226B) ||\n\t (0x226E <= codePoint && codePoint <= 0x226F) ||\n\t (0x2282 <= codePoint && codePoint <= 0x2283) ||\n\t (0x2286 <= codePoint && codePoint <= 0x2287) ||\n\t (0x2295 == codePoint) ||\n\t (0x2299 == codePoint) ||\n\t (0x22A5 == codePoint) ||\n\t (0x22BF == codePoint) ||\n\t (0x2312 == codePoint) ||\n\t (0x2460 <= codePoint && codePoint <= 0x24E9) ||\n\t (0x24EB <= codePoint && codePoint <= 0x254B) ||\n\t (0x2550 <= codePoint && codePoint <= 0x2573) ||\n\t (0x2580 <= codePoint && codePoint <= 0x258F) ||\n\t (0x2592 <= codePoint && codePoint <= 0x2595) ||\n\t (0x25A0 <= codePoint && codePoint <= 0x25A1) ||\n\t (0x25A3 <= codePoint && codePoint <= 0x25A9) ||\n\t (0x25B2 <= codePoint && codePoint <= 0x25B3) ||\n\t (0x25B6 <= codePoint && codePoint <= 0x25B7) ||\n\t (0x25BC <= codePoint && codePoint <= 0x25BD) ||\n\t (0x25C0 <= codePoint && codePoint <= 0x25C1) ||\n\t (0x25C6 <= codePoint && codePoint <= 0x25C8) ||\n\t (0x25CB == codePoint) ||\n\t (0x25CE <= codePoint && codePoint <= 0x25D1) ||\n\t (0x25E2 <= codePoint && codePoint <= 0x25E5) ||\n\t (0x25EF == codePoint) ||\n\t (0x2605 <= codePoint && codePoint <= 0x2606) ||\n\t (0x2609 == codePoint) ||\n\t (0x260E <= codePoint && codePoint <= 0x260F) ||\n\t (0x2614 <= codePoint && codePoint <= 0x2615) ||\n\t (0x261C == codePoint) ||\n\t (0x261E == codePoint) ||\n\t (0x2640 == codePoint) ||\n\t (0x2642 == codePoint) ||\n\t (0x2660 <= codePoint && codePoint <= 0x2661) ||\n\t (0x2663 <= codePoint && codePoint <= 0x2665) ||\n\t (0x2667 <= codePoint && codePoint <= 0x266A) ||\n\t (0x266C <= codePoint && codePoint <= 0x266D) ||\n\t (0x266F == codePoint) ||\n\t (0x269E <= codePoint && codePoint <= 0x269F) ||\n\t (0x26BE <= codePoint && codePoint <= 0x26BF) ||\n\t (0x26C4 <= codePoint && codePoint <= 0x26CD) ||\n\t (0x26CF <= codePoint && codePoint <= 0x26E1) ||\n\t (0x26E3 == codePoint) ||\n\t (0x26E8 <= codePoint && codePoint <= 0x26FF) ||\n\t (0x273D == codePoint) ||\n\t (0x2757 == codePoint) ||\n\t (0x2776 <= codePoint && codePoint <= 0x277F) ||\n\t (0x2B55 <= codePoint && codePoint <= 0x2B59) ||\n\t (0x3248 <= codePoint && codePoint <= 0x324F) ||\n\t (0xE000 <= codePoint && codePoint <= 0xF8FF) ||\n\t (0xFE00 <= codePoint && codePoint <= 0xFE0F) ||\n\t (0xFFFD == codePoint) ||\n\t (0x1F100 <= codePoint && codePoint <= 0x1F10A) ||\n\t (0x1F110 <= codePoint && codePoint <= 0x1F12D) ||\n\t (0x1F130 <= codePoint && codePoint <= 0x1F169) ||\n\t (0x1F170 <= codePoint && codePoint <= 0x1F19A) ||\n\t (0xE0100 <= codePoint && codePoint <= 0xE01EF) ||\n\t (0xF0000 <= codePoint && codePoint <= 0xFFFFD) ||\n\t (0x100000 <= codePoint && codePoint <= 0x10FFFD)) {\n\t return 'A';\n\t }\n\n\t return 'N';\n\t};\n\n\teaw.characterLength = function(character) {\n\t var code = this.eastAsianWidth(character);\n\t if (code == 'F' || code == 'W' || code == 'A') {\n\t return 2;\n\t } else {\n\t return 1;\n\t }\n\t};\n\n\t// Split a string considering surrogate-pairs.\n\tfunction stringToArray(string) {\n\t return string.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g) || [];\n\t}\n\n\teaw.length = function(string) {\n\t var characters = stringToArray(string);\n\t var len = 0;\n\t for (var i = 0; i < characters.length; i++) {\n\t len = len + this.characterLength(characters[i]);\n\t }\n\t return len;\n\t};\n\n\teaw.slice = function(text, start, end) {\n\t textLen = eaw.length(text);\n\t start = start ? start : 0;\n\t end = end ? end : 1;\n\t if (start < 0) {\n\t start = textLen + start;\n\t }\n\t if (end < 0) {\n\t end = textLen + end;\n\t }\n\t var result = '';\n\t var eawLen = 0;\n\t var chars = stringToArray(text);\n\t for (var i = 0; i < chars.length; i++) {\n\t var char = chars[i];\n\t var charLen = eaw.length(char);\n\t if (eawLen >= start - (charLen == 2 ? 1 : 0)) {\n\t if (eawLen + charLen <= end) {\n\t result += char;\n\t } else {\n\t break;\n\t }\n\t }\n\t eawLen += charLen;\n\t }\n\t return result;\n\t}; \n} (eastasianwidth));\n\nvar eastasianwidthExports = eastasianwidth.exports;\nconst eastAsianWidth = /*@__PURE__*/getDefaultExportFromCjs(eastasianwidthExports);\n\nconst emojiRegex = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26F9(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC3\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC08\\uDC26](?:\\u200D\\u2B1B)?|[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE88\\uDE90-\\uDEBD\\uDEBF-\\uDEC2\\uDECE-\\uDEDB\\uDEE0-\\uDEE8]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n\nfunction stringWidth$1(string, options) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\toptions = {\n\t\tambiguousIsNarrow: true,\n\t\tcountAnsiEscapeCodes: false,\n\t\t...options,\n\t};\n\n\tif (!options.countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;\n\tlet width = 0;\n\n\tfor (const {segment: character} of new Intl.Segmenter().segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (codePoint >= 0x3_00 && codePoint <= 0x3_6F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst code = eastAsianWidth.eastAsianWidth(character);\n\t\tswitch (code) {\n\t\t\tcase 'F':\n\t\t\tcase 'W': {\n\t\t\t\twidth += 2;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'A': {\n\t\t\t\twidth += ambiguousCharacterWidth;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\twidth += 1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn width;\n}\n\nfunction isUnicodeSupported() {\n\tif (process$1.platform !== 'win32') {\n\t\treturn process$1.env.TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(process$1.env.CI)\n\t\t|| Boolean(process$1.env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(process$1.env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| process$1.env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| process$1.env.TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| process$1.env.TERM_PROGRAM === 'vscode'\n\t\t|| process$1.env.TERM === 'xterm-256color'\n\t\t|| process$1.env.TERM === 'alacritty'\n\t\t|| process$1.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n\nconst TYPE_COLOR_MAP = {\n info: \"cyan\",\n fail: \"red\",\n success: \"green\",\n ready: \"green\",\n start: \"magenta\"\n};\nconst LEVEL_COLOR_MAP = {\n 0: \"red\",\n 1: \"yellow\"\n};\nconst unicode = isUnicodeSupported();\nconst s = (c, fallback) => unicode ? c : fallback;\nconst TYPE_ICONS = {\n error: s(\"\\u2716\", \"\\xD7\"),\n fatal: s(\"\\u2716\", \"\\xD7\"),\n ready: s(\"\\u2714\", \"\\u221A\"),\n warn: s(\"\\u26A0\", \"\\u203C\"),\n info: s(\"\\u2139\", \"i\"),\n success: s(\"\\u2714\", \"\\u221A\"),\n debug: s(\"\\u2699\", \"D\"),\n trace: s(\"\\u2192\", \"\\u2192\"),\n fail: s(\"\\u2716\", \"\\xD7\"),\n start: s(\"\\u25D0\", \"o\"),\n log: \"\"\n};\nfunction stringWidth(str) {\n if (!Intl.Segmenter) {\n return stripAnsi$1(str).length;\n }\n return stringWidth$1(str);\n}\nclass FancyReporter extends BasicReporter {\n formatStack(stack) {\n return \"\\n\" + parseStack(stack).map(\n (line) => \" \" + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\\((.+)\\)/, (_, m) => `(${colors.cyan(m)})`)\n ).join(\"\\n\");\n }\n formatType(logObj, isBadge, opts) {\n const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || \"gray\";\n if (isBadge) {\n return getBgColor(typeColor)(\n colors.black(` ${logObj.type.toUpperCase()} `)\n );\n }\n const _type = typeof TYPE_ICONS[logObj.type] === \"string\" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;\n return _type ? getColor(typeColor)(_type) : \"\";\n }\n formatLogObj(logObj, opts) {\n const [message, ...additional] = this.formatArgs(logObj.args, opts).split(\n \"\\n\"\n );\n if (logObj.type === \"box\") {\n return box(\n characterFormat(\n message + (additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\")\n ),\n {\n title: logObj.title ? characterFormat(logObj.title) : void 0,\n style: logObj.style\n }\n );\n }\n const date = this.formatDate(logObj.date, opts);\n const coloredDate = date && colors.gray(date);\n const isBadge = logObj.badge ?? logObj.level < 2;\n const type = this.formatType(logObj, isBadge, opts);\n const tag = logObj.tag ? colors.gray(logObj.tag) : \"\";\n let line;\n const left = this.filterAndJoin([type, characterFormat(message)]);\n const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);\n const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;\n line = space > 0 && (opts.columns || 0) >= 80 ? left + \" \".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : \"\") + left;\n line += characterFormat(\n additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\"\n );\n if (logObj.type === \"trace\") {\n const _err = new Error(\"Trace: \" + logObj.message);\n line += this.formatStack(_err.stack || \"\");\n }\n return isBadge ? \"\\n\" + line + \"\\n\" : line;\n }\n}\nfunction characterFormat(str) {\n return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\\s+_([^_]+)_\\s+/gm, (_, m) => ` ${colors.underline(m)} `);\n}\nfunction getColor(color = \"white\") {\n return colors[color] || colors.white;\n}\nfunction getBgColor(color = \"bgWhite\") {\n return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite;\n}\n\nfunction createConsola(options = {}) {\n let level = _getDefaultLogLevel();\n if (process.env.CONSOLA_LEVEL) {\n level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;\n }\n const consola2 = createConsola$1({\n level,\n defaults: { level },\n stdout: process.stdout,\n stderr: process.stderr,\n prompt: (...args) => import('../chunks/prompt.mjs').then((m) => m.prompt(...args)),\n reporters: options.reporters || [\n options.fancy ?? !(isCI || isTest) ? new FancyReporter() : new BasicReporter()\n ],\n ...options\n });\n return consola2;\n}\nfunction _getDefaultLogLevel() {\n if (isDebug) {\n return LogLevels.debug;\n }\n if (isTest) {\n return LogLevels.warn;\n }\n return LogLevels.info;\n}\nconst consola = createConsola();\n\nexport { consola as a, createConsola as c, getDefaultExportFromCjs as g, isUnicodeSupported as i };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.js","../src/utils/EventEmitter.ts","../src/logger.ts"],"names":["r","p","NodeEventEmitter","consola"],"mappings":"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","file":"chunk-E6CN2CZC.js","sourcesContent":["// src/index.ts\nvar f = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n blackBright: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39],\n bgBlackBright: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n}, h = Object.entries(f);\nfunction a(n) {\n return String(n);\n}\na.open = \"\";\na.close = \"\";\nvar B = /* @__PURE__ */ h.reduce(\n (n, [e]) => (n[e] = a, n),\n { isColorSupported: !1 }\n);\nfunction m() {\n return { ...B };\n}\nfunction C(n = !1) {\n let e = typeof process != \"undefined\" ? process : void 0, i = (e == null ? void 0 : e.env) || {}, g = (e == null ? void 0 : e.argv) || [];\n return !(\"NO_COLOR\" in i || g.includes(\"--no-color\")) && (\"FORCE_COLOR\" in i || g.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || n && i.TERM !== \"dumb\" || \"CI\" in i) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction p(n = !1) {\n let e = C(n), i = (r, t, c, o) => {\n let l = \"\", s = 0;\n do\n l += r.substring(s, o) + c, s = o + t.length, o = r.indexOf(t, s);\n while (~o);\n return l + r.substring(s);\n }, g = (r, t, c = r) => {\n let o = (l) => {\n let s = String(l), b = s.indexOf(t, r.length);\n return ~b ? r + i(s, t, c, b) + t : r + s + t;\n };\n return o.open = r, o.close = t, o;\n }, u = {\n isColorSupported: e\n }, d = (r) => `\\x1B[${r}m`;\n for (let [r, t] of h)\n u[r] = e ? g(\n d(t[0]),\n d(t[1]),\n t[2]\n ) : a;\n return u;\n}\n\nexport {\n m as a,\n C as b,\n p as c\n};\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-BVHSVHOK.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport { resolve } from 'node:path'\nimport { write } from '@kubb/fs'\nimport { type ConsolaInstance, type LogLevel, createConsola } from 'consola'\nimport type { Formatter } from 'tinyrainbow'\n\ntype DebugEvent = { date: Date; logs: string[]; fileName?: string }\n\ntype Events = {\n start: [message: string]\n success: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [DebugEvent]\n info: [message: string]\n progress_start: [{ id: string; size: number; message?: string }]\n progressed: [{ id: string; message?: string }]\n progress_stop: [{ id: string }]\n}\n\nexport const LogMapper = {\n silent: Number.NEGATIVE_INFINITY,\n info: 3,\n debug: 4,\n} as const\n\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n consola?: ConsolaInstance\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n writeLogs: () => Promise<string[]>\n}\n\ntype Props = {\n name?: string\n logLevel?: LogLevel\n consola?: ConsolaInstance\n}\n\nexport function createLogger({ logLevel = 3, name, consola: _consola }: Props = {}): Logger {\n const events = new EventEmitter<Events>()\n const startDate = Date.now()\n const cachedLogs = new Set<DebugEvent>()\n\n const consola =\n _consola ||\n createConsola({\n level: logLevel,\n formatOptions: {\n colors: true,\n date: true,\n columns: 80,\n compact: logLevel !== LogMapper.debug,\n },\n }).withTag(name ? randomCliColour(name) : '')\n\n consola?.wrapConsole()\n\n events.on('start', (message) => {\n consola.start(message)\n })\n\n events.on('success', (message) => {\n consola.success(message)\n })\n\n events.on('warning', (message) => {\n consola.warn(c.yellow(message))\n })\n\n events.on('info', (message) => {\n consola.info(c.yellow(message))\n })\n\n events.on('debug', (message) => {\n if (message.logs.join('\\n\\n').length <= 100 && logLevel === LogMapper.debug) {\n console.log(message.logs.join('\\n\\n'))\n }\n\n cachedLogs.add(message)\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n if (consola) {\n consola.level = logLevel\n }\n\n const logger: Logger = {\n name,\n logLevel,\n consola,\n on(...args) {\n return events.on(...args)\n },\n emit(...args) {\n return events.emit(...args)\n },\n async writeLogs() {\n const files: Record<string, string[]> = {}\n\n cachedLogs.forEach((log) => {\n const fileName = resolve(process.cwd(), '.kubb', log.fileName || `kubb-${startDate}.log`)\n\n if (!files[fileName]) {\n files[fileName] = []\n }\n\n files[fileName] = [...files[fileName], `[${log.date.toLocaleString()}]: ${log.logs.join('\\n\\n')}`]\n })\n await Promise.all(\n Object.entries(files).map(async ([fileName, logs]) => {\n return write(fileName, logs.join('\\n'))\n }),\n )\n\n return Object.keys(files)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n"]}
|