@ms-cloudpack/link-proxy 0.2.9 → 0.2.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lib/index.js","mappings":"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","sources":["webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/helpers/util.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/ZodError.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/locales/en.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/errors.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/helpers/parseUtil.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/helpers/errorUtil.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/types.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/index.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.3-dde8a90e59/package/dist/esm/v3/index.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskStartDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskStats.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/matchingZodObject.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskMessageLocation.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskMessage.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskEndDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/Timing.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskList.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodResolveMap.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/LinkPath.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodNotifyLinkChangeInput.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodGetLinkConfigOutput.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/data/busSources.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/observable/observable.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/observable/behaviorSubject.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/internals/createChain.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/observable/operators.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/createProxy.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/utils.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/error/TRPCError.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/error/formatter.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/transformer.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/router.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/vendor/unpromise/unpromise.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/stream/jsonl.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/stream/tracked.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/middleware.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/vendor/standard-schema-v1/error.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/parser.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/procedureBuilder.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/rootConfig.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-cd39a2a66c/package/dist/unstable-core-do-not-import/initTRPC.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/TRPCClientError.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/internals/TRPCUntypedClient.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/createTRPCClient.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/internals/dataLoader.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/getFetch.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/internals/transformer.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/internals/httpUtils.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/httpBatchLink.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/internals/signals.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/splitLink.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsClient/options.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/internals/urlWithConnectionParams.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsClient/utils.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsClient/requestManager.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsClient/wsConnection.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsClient/wsClient.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/wsLink.mjs","webpack://@ms-cloudpack/link-proxy/../api-server/lib/trpc/createCloudpackClient.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/ensureWebsocketDefined.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/ignoreSelfSignedCertErrors.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-19c7d8ec6d/package/dist/links/wsLink/createWsClient.mjs","webpack://@ms-cloudpack/link-proxy/../path-string-parsing/lib/makeUrl.js","webpack://@ms-cloudpack/link-proxy/./src/UIManager.module.css?7168","webpack://@ms-cloudpack/link-proxy/./src/UIManager.ts","webpack://@ms-cloudpack/link-proxy/./src/ConnectionManager.ts","webpack://@ms-cloudpack/link-proxy/./src/isApiServerActive.ts","webpack://@ms-cloudpack/link-proxy/./src/index.ts","webpack://@ms-cloudpack/link-proxy/./src/LinkProxyApp.ts","webpack://@ms-cloudpack/link-proxy/./src/UIManager.module.css","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","export var util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nexport var objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nexport const ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n","import { util } from \"./helpers/util.js\";\nexport const ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nexport const quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","import { ZodIssueCode } from \"../ZodError.js\";\nimport { util, ZodParsedType } from \"../helpers/util.js\";\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\nexport default errorMap;\n","import defaultErrorMap from \"./locales/en.js\";\nlet overrideErrorMap = defaultErrorMap;\nexport { defaultErrorMap };\nexport function setErrorMap(map) {\n overrideErrorMap = map;\n}\nexport function getErrorMap() {\n return overrideErrorMap;\n}\n","import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexport const EMPTY_PATH = [];\nexport function addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexport class ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexport const INVALID = Object.freeze({\n status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n","export var errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _ZodEnum_cache, _ZodNativeEnum_cache;\nimport { ZodError, ZodIssueCode, } from \"./ZodError.js\";\nimport { defaultErrorMap, getErrorMap } from \"./errors.js\";\nimport { errorUtil } from \"./helpers/errorUtil.js\";\nimport { DIRTY, INVALID, OK, ParseStatus, addIssueToContext, isAborted, isAsync, isDirty, isValid, makeIssue, } from \"./helpers/parseUtil.js\";\nimport { util, ZodParsedType, getParsedType } from \"./helpers/util.js\";\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nexport class ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nexport class ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport class ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nexport class ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nexport class ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nexport class ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nexport class ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nexport class ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nexport class ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nexport class ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nexport class ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nexport class ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nexport class ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nexport class ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nexport class ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexport class ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nexport class ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nexport class ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexport class ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nexport class ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nexport class ZodEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodEnum_cache.set(this, void 0);\n }\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\").has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\n_ZodEnum_cache = new WeakMap();\nZodEnum.create = createZodEnum;\nexport class ZodNativeEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodNativeEnum_cache.set(this, void 0);\n }\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\").has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n_ZodNativeEnum_cache = new WeakMap();\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nexport class ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nexport class ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nexport { ZodEffects as ZodTransformer };\nexport class ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nexport class ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nexport class ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nexport class ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nexport class ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexport const BRAND = Symbol(\"zod_brand\");\nexport class ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexport class ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexport class ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nexport function custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexport { ZodType as Schema, ZodType as ZodSchema };\nexport const late = {\n object: ZodObject.lazycreate,\n};\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nexport const coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexport { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, };\nexport const NEVER = INVALID;\n","import z3 from \"./v3/index.js\";\nexport * from \"./v3/index.js\";\nexport default z3;\n","import * as z from \"./external.js\";\nexport * from \"./external.js\";\nexport { z };\nexport default z;\n","import z from 'zod';\nexport const ZodTaskStartDescription = z.object({\n id: z.string(),\n name: z.string().optional(),\n inputPath: z.string().optional(),\n outputPath: z.string().optional(),\n});\n//# sourceMappingURL=TaskStartDescription.js.map","import z from 'zod';\nexport const ZodTaskStats = z.object({\n status: z.literal('idle').or(z.literal('pending').or(z.literal('unknown'))),\n remainingTasks: z.number(),\n totalTasks: z.number(),\n totalErrors: z.number(),\n totalWarnings: z.number(),\n});\n//# sourceMappingURL=TaskStats.js.map","import { z } from 'zod';\n/**\n * Get a Zod object that strictly matches the expected type, including any optional properties.\n *\n * Defining TS types first and using this helper to ensure matching zod objects (rather than\n * defining the zod type first and using `infer`) helps reduce type explosion in intellisense\n * and API reports, and allows reusing types that are already defined elsewhere.\n */\nexport function matchingZodObject(shape) {\n // Cast the return value to convert back to the original type with optional properties\n return z.object(shape).strict();\n}\n//# sourceMappingURL=matchingZodObject.js.map","import z from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nexport const ZodTaskMessageLocation = matchingZodObject({\n file: z.string(),\n line: z.number().optional(),\n column: z.number().optional(),\n});\n//# sourceMappingURL=TaskMessageLocation.js.map","import z from 'zod';\nimport { ZodTaskMessageLocation } from './TaskMessageLocation.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nexport const ZodTaskNote = matchingZodObject({\n text: z.string(),\n location: ZodTaskMessageLocation.optional(),\n});\nexport const ZodTaskMessage = matchingZodObject({\n text: z.string(),\n source: z.string(),\n location: ZodTaskMessageLocation.optional(),\n notes: z.array(ZodTaskNote).optional(),\n});\n//# sourceMappingURL=TaskMessage.js.map","import z from 'zod';\nimport { ZodTaskMessage } from './TaskMessage.js';\nexport const ZodTaskEndDescription = z.object({\n id: z.string(),\n errors: z.array(ZodTaskMessage).optional(),\n warnings: z.array(ZodTaskMessage).optional(),\n});\n//# sourceMappingURL=TaskEndDescription.js.map","import z from 'zod';\nexport const ZodTiming = z.object({\n /** Name of the timing */\n name: z.string(),\n /** Start time in milliseconds */\n start: z.number(),\n /** End time in milliseconds */\n end: z.number().optional(),\n /** Exited prematurely. */\n threwException: z.boolean().optional(),\n});\n//# sourceMappingURL=Timing.js.map","import z from 'zod';\nimport { ZodTaskStartDescription } from './TaskStartDescription.js';\nimport { ZodTaskEndDescription } from './TaskEndDescription.js';\nimport { ZodTiming } from './Timing.js';\nexport const ZodTaskDescription = z\n .object({\n status: z.literal('pending').or(z.literal('complete')).optional(),\n timings: z.array(ZodTiming).optional(),\n startTime: z.number(),\n durationMilliseconds: z.number().optional(),\n lastUpdated: z.number().optional(),\n})\n .extend(ZodTaskStartDescription.shape)\n .extend(ZodTaskEndDescription.shape);\n//# sourceMappingURL=TaskDescription.js.map","import { z } from 'zod';\nimport { ZodTaskDescription } from './TaskDescription.js';\nexport const ZodTaskList = z.object({\n tasks: z.array(ZodTaskDescription),\n});\n//# sourceMappingURL=TaskList.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nconst ZodResolveMapEntry = z.lazy(() => matchingZodObject({\n name: z.string(),\n version: z.string(),\n path: z.string(),\n dependencies: z.record(z.string()),\n requiredBy: z.record(z.string()),\n isExternal: z.boolean().optional(),\n isLinked: z.boolean().optional(),\n scopedVersions: z.record(z.lazy(() => ZodResolveMapEntry)).optional(),\n}));\nexport const ZodResolveMap = z.record(z.string(), ZodResolveMapEntry);\n//# sourceMappingURL=ZodResolveMap.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nimport { ZodResolveMap } from '../types/ZodResolveMap.js';\nconst ZodPackageRecord = (ZodPackageJson) => z.record(z.union([ZodPackageJson, z.undefined()]));\nconst ZodPackageHashesEntry = z.object({\n browser: z.record(z.string()),\n node: z.record(z.string()),\n});\nconst ZodDependency = z.record(z.string(), z.union([z.undefined(), z.string()])).optional();\nexport const ZodLinkPackageDefinition = z.object({\n // Name and version are required for the import map.\n name: z.string(),\n version: z.string(),\n // The exports are also required for the import map.\n exports: z.any(),\n // Dependencies are required for the resolve map.\n dependencies: ZodDependency,\n peerDependencies: ZodDependency,\n});\nexport const ZodLinkedPath = matchingZodObject({\n path: z.string(),\n rootPath: z.string().optional(),\n includeAll: z.boolean().optional(),\n ignoredPackages: z.string().array().optional(),\n ignoreResolutions: z.boolean().optional(),\n resolveStrategy: z.enum(['dedupe', 'duplicate']).optional(),\n remote: z\n .object({\n resolveMap: ZodResolveMap,\n hostUrl: z.string(),\n packages: z.object({\n // Dummy package json as start should not require any non transformed package definitions\n definitions: ZodPackageRecord(z.object({})),\n // For linked packages, we need name and version across Cloudpack, and the exports for the import map.\n transformedDefinitions: ZodPackageRecord(ZodLinkPackageDefinition),\n }),\n packageHashes: z.object({\n hashesWithSource: ZodPackageHashesEntry,\n hashesWithNoSource: ZodPackageHashesEntry,\n }),\n })\n .optional(),\n});\nexport const ZodLinkPathInput = z.object({ linkedPath: ZodLinkedPath });\nexport const ZodLinkPathOutput = z.object({\n resolveMap: ZodResolveMap,\n linkedPaths: z.array(ZodLinkedPath),\n});\n//# sourceMappingURL=LinkPath.js.map","import { z } from 'zod';\nimport { ZodLinkPackageDefinition } from '../types/LinkPath.js';\nexport const ZodNotifyLinkChangeInput = z.object({\n packagePath: z.string(),\n hash: z.string().optional(),\n definition: ZodLinkPackageDefinition.optional(),\n});\n//# sourceMappingURL=ZodNotifyLinkChangeInput.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\n// Minimum acceptable match object for a low maintenance burden.\nconst ZodPackageSettingsMatchObject = z.object({ name: z.string(), version: z.string().optional() });\nconst ZodPackageSettingsMatch = z.union([z.string(), ZodPackageSettingsMatchObject]);\nconst ZodGeneratedPackageSettingsMatch = z.union([z.string(), ZodPackageSettingsMatchObject.required()]);\nexport const ZodGetLinkConfigOutput = matchingZodObject({\n packageSettings: z.array(z.object({ match: z.union([ZodPackageSettingsMatch, z.array(ZodPackageSettingsMatch)]) }).passthrough()),\n generated: z\n .object({ packageSettings: z.array(z.object({ match: ZodGeneratedPackageSettingsMatch }).passthrough()) })\n .passthrough(),\n}).passthrough();\n//# sourceMappingURL=ZodGetLinkConfigOutput.js.map","// This file is used in the browser,\n// so it must only import types (ts and zod) to not trigger a trpc server error due to bad tree shaking.\nimport z from 'zod';\nimport { ZodTaskStats } from '../types/TaskStats.js';\nimport { ZodTaskList } from '../types/TaskList.js';\nimport { createDataPath } from '@ms-cloudpack/data-bus';\nimport { ZodNotifyLinkChangeInput } from '../types/ZodNotifyLinkChangeInput.js';\nimport { ZodLinkPathInput, ZodLinkPathOutput } from '../types/LinkPath.js';\nimport { ZodGetLinkConfigOutput } from '../types/ZodGetLinkConfigOutput.js';\n/**\n * Used for tracking the reload count.\n */\nexport const reloadCountSource = createDataPath({\n path: ['session', 'version'],\n type: z.number(),\n});\n/**\n * Used for tracking the task stats displayed in the badge.\n */\nexport const taskStatsSource = createDataPath({\n path: ['task', 'stats'],\n type: ZodTaskStats,\n});\n/**\n * Used for tracking the list of tasks.\n */\nexport const taskListSource = createDataPath({\n path: ['task', 'list'],\n type: ZodTaskList,\n});\n/**\n * Used for tracking entry errors: `Failed to resolve module specifier \"${packageName}@${version}${filePath}\".`\n * This is used to display errors in the UI and to notify the user of the error when autoUpdateEntries is enabled.\n */\nexport const errorEntrySource = createDataPath({\n path: ['error', 'entry'],\n type: z.string(),\n});\n/**\n * Used for tracking link updates.\n */\nexport const linkUpdateSource = createDataPath({\n path: ['link', 'update'],\n type: ZodNotifyLinkChangeInput,\n});\n/**\n * Used for fetching the host configuration.\n */\nexport const linkConfigSource = createDataPath({\n path: ['link', 'config'],\n type: ZodGetLinkConfigOutput,\n});\n/**\n * Used for tracking linked paths.\n */\nexport const linkPathsSource = createDataPath({\n path: ['link', 'paths'],\n type: ZodLinkPathInput,\n});\n/**\n * Used for tracking when linking is done.\n */\nexport const linkDoneSource = createDataPath({\n path: ['link', 'done'],\n type: ZodLinkPathOutput,\n});\n/**\n * Used for detecting host disconnection on link.\n */\nexport const linkDisconnectedSource = createDataPath({\n path: ['link', 'disconnected'],\n type: z.object({ reason: z.enum(['lost', 'unreachable']) }),\n});\n//# sourceMappingURL=busSources.js.map","/** @public */ function isObservable(x) {\n return typeof x === 'object' && x !== null && 'subscribe' in x;\n}\n/** @public */ function observable(subscribe) {\n const self = {\n subscribe (observer) {\n let teardownRef = null;\n let isDone = false;\n let unsubscribed = false;\n let teardownImmediately = false;\n function unsubscribe() {\n if (teardownRef === null) {\n teardownImmediately = true;\n return;\n }\n if (unsubscribed) {\n return;\n }\n unsubscribed = true;\n if (typeof teardownRef === 'function') {\n teardownRef();\n } else if (teardownRef) {\n teardownRef.unsubscribe();\n }\n }\n teardownRef = subscribe({\n next (value) {\n if (isDone) {\n return;\n }\n observer.next?.(value);\n },\n error (err) {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.error?.(err);\n unsubscribe();\n },\n complete () {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.complete?.();\n unsubscribe();\n }\n });\n if (teardownImmediately) {\n unsubscribe();\n }\n return {\n unsubscribe\n };\n },\n pipe (...operations) {\n return operations.reduce(pipeReducer, self);\n }\n };\n return self;\n}\nfunction pipeReducer(prev, fn) {\n return fn(prev);\n}\n/** @internal */ function observableToPromise(observable) {\n const ac = new AbortController();\n const promise = new Promise((resolve, reject)=>{\n let isDone = false;\n function onDone() {\n if (isDone) {\n return;\n }\n isDone = true;\n obs$.unsubscribe();\n }\n ac.signal.addEventListener('abort', ()=>{\n reject(ac.signal.reason);\n });\n const obs$ = observable.subscribe({\n next (data) {\n isDone = true;\n resolve(data);\n onDone();\n },\n error (data) {\n reject(data);\n },\n complete () {\n ac.abort();\n onDone();\n }\n });\n });\n return promise;\n}\n/**\n * @internal\n */ function observableToReadableStream(observable, signal) {\n let unsub = null;\n const onAbort = ()=>{\n unsub?.unsubscribe();\n unsub = null;\n signal.removeEventListener('abort', onAbort);\n };\n return new ReadableStream({\n start (controller) {\n unsub = observable.subscribe({\n next (data) {\n controller.enqueue({\n ok: true,\n value: data\n });\n },\n error (error) {\n controller.enqueue({\n ok: false,\n error\n });\n controller.close();\n },\n complete () {\n controller.close();\n }\n });\n if (signal.aborted) {\n onAbort();\n } else {\n signal.addEventListener('abort', onAbort, {\n once: true\n });\n }\n },\n cancel () {\n onAbort();\n }\n });\n}\n/** @internal */ function observableToAsyncIterable(observable, signal) {\n const stream = observableToReadableStream(observable, signal);\n const reader = stream.getReader();\n const iterator = {\n async next () {\n const value = await reader.read();\n if (value.done) {\n return {\n value: undefined,\n done: true\n };\n }\n const { value: result } = value;\n if (!result.ok) {\n throw result.error;\n }\n return {\n value: result.value,\n done: false\n };\n },\n async return () {\n await reader.cancel();\n return {\n value: undefined,\n done: true\n };\n }\n };\n return {\n [Symbol.asyncIterator] () {\n return iterator;\n }\n };\n}\n\nexport { isObservable, observable, observableToAsyncIterable, observableToPromise };\n","import { observable } from './observable.mjs';\n\n/**\n * @internal\n * An observable that maintains and provides a \"current value\" to subscribers\n * @see https://www.learnrxjs.io/learn-rxjs/subjects/behaviorsubject\n */ function behaviorSubject(initialValue) {\n let value = initialValue;\n const observerList = [];\n const addObserver = (observer)=>{\n if (value !== undefined) {\n observer.next(value);\n }\n observerList.push(observer);\n };\n const removeObserver = (observer)=>{\n observerList.splice(observerList.indexOf(observer), 1);\n };\n const obs = observable((observer)=>{\n addObserver(observer);\n return ()=>{\n removeObserver(observer);\n };\n });\n obs.next = (nextValue)=>{\n if (value === nextValue) {\n return;\n }\n value = nextValue;\n for (const observer of observerList){\n observer.next(nextValue);\n }\n };\n obs.get = ()=>value;\n return obs;\n}\n\nexport { behaviorSubject };\n","import { observable } from '@trpc/server/observable';\n\n/** @internal */ function createChain(opts) {\n return observable((observer)=>{\n function execute(index = 0, op = opts.op) {\n const next = opts.links[index];\n if (!next) {\n throw new Error('No more links to execute - did you forget to add an ending link?');\n }\n const subscription = next({\n op,\n next (nextOp) {\n const nextObserver = execute(index + 1, nextOp);\n return nextObserver;\n }\n });\n return subscription;\n }\n const obs$ = execute();\n return obs$.subscribe(observer);\n });\n}\n\nexport { createChain };\n","import { observable } from './observable.mjs';\n\nfunction map(project) {\n return (source)=>{\n return observable((destination)=>{\n let index = 0;\n const subscription = source.subscribe({\n next (value) {\n destination.next(project(value, index++));\n },\n error (error) {\n destination.error(error);\n },\n complete () {\n destination.complete();\n }\n });\n return subscription;\n });\n };\n}\nfunction share(_opts) {\n return (source)=>{\n let refCount = 0;\n let subscription = null;\n const observers = [];\n function startIfNeeded() {\n if (subscription) {\n return;\n }\n subscription = source.subscribe({\n next (value) {\n for (const observer of observers){\n observer.next?.(value);\n }\n },\n error (error) {\n for (const observer of observers){\n observer.error?.(error);\n }\n },\n complete () {\n for (const observer of observers){\n observer.complete?.();\n }\n }\n });\n }\n function resetIfNeeded() {\n // \"resetOnRefCountZero\"\n if (refCount === 0 && subscription) {\n const _sub = subscription;\n subscription = null;\n _sub.unsubscribe();\n }\n }\n return observable((subscriber)=>{\n refCount++;\n observers.push(subscriber);\n startIfNeeded();\n return {\n unsubscribe () {\n refCount--;\n resetIfNeeded();\n const index = observers.findIndex((v)=>v === subscriber);\n if (index > -1) {\n observers.splice(index, 1);\n }\n }\n };\n });\n };\n}\nfunction tap(observer) {\n return (source)=>{\n return observable((destination)=>{\n return source.subscribe({\n next (value) {\n observer.next?.(value);\n destination.next(value);\n },\n error (error) {\n observer.error?.(error);\n destination.error(error);\n },\n complete () {\n observer.complete?.();\n destination.complete();\n }\n });\n });\n };\n}\nconst distinctUnsetMarker = Symbol();\nfunction distinctUntilChanged(compare = (a, b)=>a === b) {\n return (source)=>{\n return observable((destination)=>{\n let lastValue = distinctUnsetMarker;\n return source.subscribe({\n next (value) {\n if (lastValue !== distinctUnsetMarker && compare(lastValue, value)) {\n return;\n }\n lastValue = value;\n destination.next(value);\n },\n error (error) {\n destination.error(error);\n },\n complete () {\n destination.complete();\n }\n });\n });\n };\n}\nconst isDeepEqual = (a, b)=>{\n if (a === b) {\n return true;\n }\n const bothAreObjects = a && b && typeof a === 'object' && typeof b === 'object';\n return !!bothAreObjects && Object.keys(a).length === Object.keys(b).length && Object.entries(a).every(([k, v])=>isDeepEqual(v, b[k]));\n};\nfunction distinctUntilDeepChanged() {\n return distinctUntilChanged(isDeepEqual);\n}\n\nexport { distinctUntilChanged, distinctUntilDeepChanged, map, share, tap };\n","const noop = ()=>{\n// noop\n};\nconst freezeIfAvailable = (obj)=>{\n if (Object.freeze) {\n Object.freeze(obj);\n }\n};\nfunction createInnerProxy(callback, path, memo) {\n var _memo, _cacheKey;\n const cacheKey = path.join('.');\n (_memo = memo)[_cacheKey = cacheKey] ?? (_memo[_cacheKey] = new Proxy(noop, {\n get (_obj, key) {\n if (typeof key !== 'string' || key === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return createInnerProxy(callback, [\n ...path,\n key\n ], memo);\n },\n apply (_1, _2, args) {\n const lastOfPath = path[path.length - 1];\n let opts = {\n args,\n path\n };\n // special handling for e.g. `trpc.hello.call(this, 'there')` and `trpc.hello.apply(this, ['there'])\n if (lastOfPath === 'call') {\n opts = {\n args: args.length >= 2 ? [\n args[1]\n ] : [],\n path: path.slice(0, -1)\n };\n } else if (lastOfPath === 'apply') {\n opts = {\n args: args.length >= 2 ? args[1] : [],\n path: path.slice(0, -1)\n };\n }\n freezeIfAvailable(opts.args);\n freezeIfAvailable(opts.path);\n return callback(opts);\n }\n }));\n return memo[cacheKey];\n}\n/**\n * Creates a proxy that calls the callback with the path and arguments\n *\n * @internal\n */ const createRecursiveProxy = (callback)=>createInnerProxy(callback, [], Object.create(null));\n/**\n * Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n *\n * @internal\n */ const createFlatProxy = (callback)=>{\n return new Proxy(noop, {\n get (_obj, name) {\n if (name === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return callback(name);\n }\n });\n};\n\nexport { createFlatProxy, createRecursiveProxy };\n","/** @internal */ const unsetMarker = Symbol();\n/**\n * Ensures there are no duplicate keys when building a procedure.\n * @internal\n */ function mergeWithoutOverrides(obj1, ...objs) {\n const newObj = Object.assign(Object.create(null), obj1);\n for (const overrides of objs){\n for(const key in overrides){\n if (key in newObj && newObj[key] !== overrides[key]) {\n throw new Error(`Duplicate key ${key}`);\n }\n newObj[key] = overrides[key];\n }\n }\n return newObj;\n}\n/**\n * Check that value is object\n * @internal\n */ function isObject(value) {\n return !!value && !Array.isArray(value) && typeof value === 'object';\n}\nfunction isFunction(fn) {\n return typeof fn === 'function';\n}\n/**\n * Create an object without inheriting anything from `Object.prototype`\n * @internal\n */ function omitPrototype(obj) {\n return Object.assign(Object.create(null), obj);\n}\nconst asyncIteratorsSupported = typeof Symbol === 'function' && !!Symbol.asyncIterator;\nfunction isAsyncIterable(value) {\n return asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value;\n}\n/**\n * Run an IIFE\n */ const run = (fn)=>fn();\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\nfunction identity(it) {\n return it;\n}\n/**\n * Generic runtime assertion function. Throws, if the condition is not `true`.\n *\n * Can be used as a slightly less dangerous variant of type assertions. Code\n * mistakes would be revealed at runtime then (hopefully during testing).\n */ function assert(condition, msg = 'no additional info') {\n if (!condition) {\n throw new Error(`AssertionError: ${msg}`);\n }\n}\nfunction sleep(ms = 0) {\n return new Promise((res)=>setTimeout(res, ms));\n}\n/**\n * Ponyfill for\n * [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n */ function abortSignalsAnyPonyfill(signals) {\n if (typeof AbortSignal.any === 'function') {\n return AbortSignal.any(signals);\n }\n const ac = new AbortController();\n for (const signal of signals){\n if (signal.aborted) {\n trigger();\n break;\n }\n signal.addEventListener('abort', trigger, {\n once: true\n });\n }\n return ac.signal;\n function trigger() {\n ac.abort();\n for (const signal of signals){\n signal.removeEventListener('abort', trigger);\n }\n }\n}\n\nexport { abortSignalsAnyPonyfill, assert, identity, isAsyncIterable, isFunction, isObject, mergeWithoutOverrides, noop, omitPrototype, run, sleep, unsetMarker };\n","import { isObject } from '../utils.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nclass UnknownCauseError extends Error {\n}\nfunction getCauseFromUnknown(cause) {\n if (cause instanceof Error) {\n return cause;\n }\n const type = typeof cause;\n if (type === 'undefined' || type === 'function' || cause === null) {\n return undefined;\n }\n // Primitive types just get wrapped in an error\n if (type !== 'object') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return new Error(String(cause));\n }\n // If it's an object, we'll create a synthetic error\n if (isObject(cause)) {\n const err = new UnknownCauseError();\n for(const key in cause){\n err[key] = cause[key];\n }\n return err;\n }\n return undefined;\n}\nfunction getTRPCErrorFromUnknown(cause) {\n if (cause instanceof TRPCError) {\n return cause;\n }\n if (cause instanceof Error && cause.name === 'TRPCError') {\n // https://github.com/trpc/trpc/pull/4848\n return cause;\n }\n const trpcError = new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n cause\n });\n // Inherit stack from error\n if (cause instanceof Error && cause.stack) {\n trpcError.stack = cause.stack;\n }\n return trpcError;\n}\nclass TRPCError extends Error {\n constructor(opts){\n const cause = getCauseFromUnknown(opts.cause);\n const message = opts.message ?? cause?.message ?? opts.code;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore https://github.com/tc39/proposal-error-cause\n super(message, {\n cause\n }), // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore override doesn't work in all environments due to \"This member cannot have an 'override' modifier because it is not declared in the base class 'Error'\"\n _define_property(this, \"cause\", void 0), _define_property(this, \"code\", void 0);\n this.code = opts.code;\n this.name = 'TRPCError';\n if (!this.cause) {\n // < ES2022 / < Node 16.9.0 compatability\n this.cause = cause;\n }\n }\n}\n\nexport { TRPCError, getCauseFromUnknown, getTRPCErrorFromUnknown };\n","const defaultFormatter = ({ shape })=>{\n return shape;\n};\n\nexport { defaultFormatter };\n","import { isObject } from './utils.mjs';\n\n/**\n * @internal\n */ function getDataTransformer(transformer) {\n if ('input' in transformer) {\n return transformer;\n }\n return {\n input: transformer,\n output: transformer\n };\n}\n/**\n * @internal\n */ const defaultTransformer = {\n input: {\n serialize: (obj)=>obj,\n deserialize: (obj)=>obj\n },\n output: {\n serialize: (obj)=>obj,\n deserialize: (obj)=>obj\n }\n};\nfunction transformTRPCResponseItem(config, item) {\n if ('error' in item) {\n return {\n ...item,\n error: config.transformer.output.serialize(item.error)\n };\n }\n if ('data' in item.result) {\n return {\n ...item,\n result: {\n ...item.result,\n data: config.transformer.output.serialize(item.result.data)\n }\n };\n }\n return item;\n}\n/**\n * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n **/ function transformTRPCResponse(config, itemOrItems) {\n return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);\n}\n// FIXME:\n// - the generics here are probably unnecessary\n// - the RPC-spec could probably be simplified to combine HTTP + WS\n/** @internal */ function transformResultInner(response, transformer) {\n if ('error' in response) {\n const error = transformer.deserialize(response.error);\n return {\n ok: false,\n error: {\n ...response,\n error\n }\n };\n }\n const result = {\n ...response.result,\n ...(!response.result.type || response.result.type === 'data') && {\n type: 'data',\n data: transformer.deserialize(response.result.data)\n }\n };\n return {\n ok: true,\n result\n };\n}\nclass TransformResultError extends Error {\n constructor(){\n super('Unable to transform response from server');\n }\n}\n/**\n * Transforms and validates that the result is a valid TRPCResponse\n * @internal\n */ function transformResult(response, transformer) {\n let result;\n try {\n // Use the data transformers on the JSON-response\n result = transformResultInner(response, transformer);\n } catch {\n throw new TransformResultError();\n }\n // check that output of the transformers is a valid TRPCResponse\n if (!result.ok && (!isObject(result.error.error) || typeof result.error.error['code'] !== 'number')) {\n throw new TransformResultError();\n }\n if (result.ok && !isObject(result.result)) {\n throw new TransformResultError();\n }\n return result;\n}\n\nexport { defaultTransformer, getDataTransformer, transformResult, transformTRPCResponse };\n","import { createRecursiveProxy } from './createProxy.mjs';\nimport { defaultFormatter } from './error/formatter.mjs';\nimport { TRPCError, getTRPCErrorFromUnknown } from './error/TRPCError.mjs';\nimport { defaultTransformer } from './transformer.mjs';\nimport { mergeWithoutOverrides, omitPrototype, isObject, isFunction } from './utils.mjs';\n\nconst lazySymbol = Symbol('lazy');\nfunction once(fn) {\n const uncalled = Symbol();\n let result = uncalled;\n return ()=>{\n if (result === uncalled) {\n result = fn();\n }\n return result;\n };\n}\n/**\n * Lazy load a router\n * @see https://trpc.io/docs/server/merging-routers#lazy-load\n */ function lazy(importRouter) {\n async function resolve() {\n const mod = await importRouter();\n // if the module is a router, return it\n if (isRouter(mod)) {\n return mod;\n }\n const routers = Object.values(mod);\n if (routers.length !== 1 || !isRouter(routers[0])) {\n throw new Error(\"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\");\n }\n return routers[0];\n }\n resolve[lazySymbol] = true;\n return resolve;\n}\nfunction isLazy(input) {\n return typeof input === 'function' && lazySymbol in input;\n}\nfunction isRouter(value) {\n return isObject(value) && isObject(value['_def']) && 'router' in value['_def'];\n}\nconst emptyRouter = {\n _ctx: null,\n _errorShape: null,\n _meta: null,\n queries: {},\n mutations: {},\n subscriptions: {},\n errorFormatter: defaultFormatter,\n transformer: defaultTransformer\n};\n/**\n * Reserved words that can't be used as router or procedure names\n */ const reservedWords = [\n /**\n * Then is a reserved word because otherwise we can't return a promise that returns a Proxy\n * since JS will think that `.then` is something that exists\n */ 'then',\n /**\n * `fn.call()` and `fn.apply()` are reserved words because otherwise we can't call a function using `.call` or `.apply`\n */ 'call',\n 'apply'\n];\n/**\n * @internal\n */ function createRouterFactory(config) {\n function createRouterInner(input) {\n const reservedWordsUsed = new Set(Object.keys(input).filter((v)=>reservedWords.includes(v)));\n if (reservedWordsUsed.size > 0) {\n throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));\n }\n const procedures = omitPrototype({});\n const lazy = omitPrototype({});\n function createLazyLoader(opts) {\n return {\n ref: opts.ref,\n load: once(async ()=>{\n const router = await opts.ref();\n const lazyPath = [\n ...opts.path,\n opts.key\n ];\n const lazyKey = lazyPath.join('.');\n opts.aggregate[opts.key] = step(router._def.record, lazyPath);\n delete lazy[lazyKey];\n // add lazy loaders for nested routers\n for (const [nestedKey, nestedItem] of Object.entries(router._def.lazy)){\n const nestedRouterKey = [\n ...lazyPath,\n nestedKey\n ].join('.');\n // console.log('adding lazy', nestedRouterKey);\n lazy[nestedRouterKey] = createLazyLoader({\n ref: nestedItem.ref,\n path: lazyPath,\n key: nestedKey,\n aggregate: opts.aggregate[opts.key]\n });\n }\n })\n };\n }\n function step(from, path = []) {\n const aggregate = omitPrototype({});\n for (const [key, item] of Object.entries(from ?? {})){\n if (isLazy(item)) {\n lazy[[\n ...path,\n key\n ].join('.')] = createLazyLoader({\n path,\n ref: item,\n key,\n aggregate\n });\n continue;\n }\n if (isRouter(item)) {\n aggregate[key] = step(item._def.record, [\n ...path,\n key\n ]);\n continue;\n }\n if (!isProcedure(item)) {\n // RouterRecord\n aggregate[key] = step(item, [\n ...path,\n key\n ]);\n continue;\n }\n const newPath = [\n ...path,\n key\n ].join('.');\n if (procedures[newPath]) {\n throw new Error(`Duplicate key: ${newPath}`);\n }\n procedures[newPath] = item;\n aggregate[key] = item;\n }\n return aggregate;\n }\n const record = step(input);\n const _def = {\n _config: config,\n router: true,\n procedures,\n lazy,\n ...emptyRouter,\n record\n };\n const router = {\n ...record,\n _def,\n createCaller: createCallerFactory()({\n _def\n })\n };\n return router;\n }\n return createRouterInner;\n}\nfunction isProcedure(procedureOrRouter) {\n return typeof procedureOrRouter === 'function';\n}\n/**\n * @internal\n */ async function getProcedureAtPath(router, path) {\n const { _def } = router;\n let procedure = _def.procedures[path];\n while(!procedure){\n const key = Object.keys(_def.lazy).find((key)=>path.startsWith(key));\n // console.log(`found lazy: ${key ?? 'NOPE'} (fullPath: ${fullPath})`);\n if (!key) {\n return null;\n }\n // console.log('loading', key, '.......');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const lazyRouter = _def.lazy[key];\n await lazyRouter.load();\n procedure = _def.procedures[path];\n }\n return procedure;\n}\n/**\n * @internal\n */ async function callProcedure(opts) {\n const { type, path } = opts;\n const proc = await getProcedureAtPath(opts.router, path);\n if (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No \"${type}\"-procedure on path \"${path}\"`\n });\n }\n /* istanbul ignore if -- @preserve */ if (proc._def.type !== type && opts.allowMethodOverride && proc._def.type === 'subscription') {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: `Method override is not supported for subscriptions`\n });\n }\n return proc(opts);\n}\nfunction createCallerFactory() {\n return function createCallerInner(router) {\n const { _def } = router;\n return function createCaller(ctxOrCallback, opts) {\n return createRecursiveProxy(async ({ path, args })=>{\n const fullPath = path.join('.');\n if (path.length === 1 && path[0] === '_def') {\n return _def;\n }\n const procedure = await getProcedureAtPath(router, fullPath);\n let ctx = undefined;\n try {\n if (!procedure) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No procedure found on path \"${path}\"`\n });\n }\n ctx = isFunction(ctxOrCallback) ? await Promise.resolve(ctxOrCallback()) : ctxOrCallback;\n return await procedure({\n path: fullPath,\n getRawInput: async ()=>args[0],\n ctx,\n type: procedure._def.type,\n signal: opts?.signal\n });\n } catch (cause) {\n opts?.onError?.({\n ctx,\n error: getTRPCErrorFromUnknown(cause),\n input: args[0],\n path: fullPath,\n type: procedure?._def.type ?? 'unknown'\n });\n throw cause;\n }\n });\n };\n };\n}\nfunction mergeRouters(...routerList) {\n const record = mergeWithoutOverrides({}, ...routerList.map((r)=>r._def.record));\n const errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter)=>{\n if (nextRouter._def._config.errorFormatter && nextRouter._def._config.errorFormatter !== defaultFormatter) {\n if (currentErrorFormatter !== defaultFormatter && currentErrorFormatter !== nextRouter._def._config.errorFormatter) {\n throw new Error('You seem to have several error formatters');\n }\n return nextRouter._def._config.errorFormatter;\n }\n return currentErrorFormatter;\n }, defaultFormatter);\n const transformer = routerList.reduce((prev, current)=>{\n if (current._def._config.transformer && current._def._config.transformer !== defaultTransformer) {\n if (prev !== defaultTransformer && prev !== current._def._config.transformer) {\n throw new Error('You seem to have several transformers');\n }\n return current._def._config.transformer;\n }\n return prev;\n }, defaultTransformer);\n const router = createRouterFactory({\n errorFormatter,\n transformer,\n isDev: routerList.every((r)=>r._def._config.isDev),\n allowOutsideOfServer: routerList.every((r)=>r._def._config.allowOutsideOfServer),\n isServer: routerList.every((r)=>r._def._config.isServer),\n $types: routerList[0]?._def._config.$types\n })(record);\n return router;\n}\n\nexport { callProcedure, createCallerFactory, createRouterFactory, getProcedureAtPath, lazy, mergeRouters };\n","// @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\nvar _Symbol, // @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\n_Symbol1;\n(_Symbol = Symbol).dispose ?? (_Symbol.dispose = Symbol());\n(_Symbol1 = Symbol).asyncDispose ?? (_Symbol1.asyncDispose = Symbol());\n/**\n * Takes a value and a dispose function and returns a new object that implements the Disposable interface.\n * The returned object is the original value augmented with a Symbol.dispose method.\n * @param thing The value to make disposable\n * @param dispose Function to call when disposing the resource\n * @returns The original value with Symbol.dispose method added\n */ function makeResource(thing, dispose) {\n const it = thing;\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.dispose];\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.dispose] = ()=>{\n dispose();\n existing?.();\n };\n return it;\n}\n/**\n * Takes a value and an async dispose function and returns a new object that implements the AsyncDisposable interface.\n * The returned object is the original value augmented with a Symbol.asyncDispose method.\n * @param thing The value to make async disposable\n * @param dispose Async function to call when disposing the resource\n * @returns The original value with Symbol.asyncDispose method added\n */ function makeAsyncResource(thing, dispose) {\n const it = thing;\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.asyncDispose];\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.asyncDispose] = async ()=>{\n await dispose();\n await existing?.();\n };\n return it;\n}\n\nexport { makeAsyncResource, makeResource };\n","/* eslint-disable @typescript-eslint/unbound-method */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar _computedKey;\n/** Memory safe (weakmapped) cache of the ProxyPromise for each Promise,\n * which is retained for the lifetime of the original Promise.\n */ const subscribableCache = new WeakMap();\n/** A NOOP function allowing a consistent interface for settled\n * SubscribedPromises (settled promises are not subscribed - they resolve\n * immediately). */ const NOOP = ()=>{\n// noop\n};\n_computedKey = Symbol.toStringTag;\nlet _computedKey1 = _computedKey;\n/**\n * Every `Promise<T>` can be shadowed by a single `ProxyPromise<T>`. It is\n * created once, cached and reused throughout the lifetime of the Promise. Get a\n * Promise's ProxyPromise using `Unpromise.proxy(promise)`.\n *\n * The `ProxyPromise<T>` attaches handlers to the original `Promise<T>`\n * `.then()` and `.catch()` just once. Promises derived from it use a\n * subscription- (and unsubscription-) based mechanism that monitors these\n * handlers.\n *\n * Every time you call `.subscribe()`, `.then()` `.catch()` or `.finally()` on a\n * `ProxyPromise<T>` it returns a `SubscribedPromise<T>` having an additional\n * `unsubscribe()` method. Calling `unsubscribe()` detaches reference chains\n * from the original, potentially long-lived Promise, eliminating memory leaks.\n *\n * This approach can eliminate the memory leaks that otherwise come about from\n * repeated `race()` or `any()` calls invoking `.then()` and `.catch()` multiple\n * times on the same long-lived native Promise (subscriptions which can never be\n * cleaned up).\n *\n * `Unpromise.race(promises)` is a reference implementation of `Promise.race`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.any(promises)` is a reference implementation of `Promise.any`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.resolve(promise)` returns an ephemeral `SubscribedPromise<T>` for\n * any given `Promise<T>` facilitating arbitrary async/await patterns. Behind\n * the scenes, `resolve` is implemented simply as\n * `Unpromise.proxy(promise).subscribe()`. Don't forget to call `.unsubscribe()`\n * to tidy up!\n *\n */ class Unpromise {\n /** Create a promise that mitigates uncontrolled subscription to a long-lived\n * Promise via .then() and .catch() - otherwise a source of memory leaks.\n *\n * The returned promise has an `unsubscribe()` method which can be called when\n * the Promise is no longer being tracked by application logic, and which\n * ensures that there is no reference chain from the original promise to the\n * new one, and therefore no memory leak.\n *\n * If original promise has not yet settled, this adds a new unique promise\n * that listens to then/catch events, along with an `unsubscribe()` method to\n * detach it.\n *\n * If original promise has settled, then creates a new Promise.resolve() or\n * Promise.reject() and provided unsubscribe is a noop.\n *\n * If you call `unsubscribe()` before the returned Promise has settled, it\n * will never settle.\n */ subscribe() {\n // in all cases we will combine some promise with its unsubscribe function\n let promise;\n let unsubscribe;\n const { settlement } = this;\n if (settlement === null) {\n // not yet settled - subscribe new promise. Expect eventual settlement\n if (this.subscribers === null) {\n // invariant - it is not settled, so it must have subscribers\n throw new Error(\"Unpromise settled but still has subscribers\");\n }\n const subscriber = withResolvers();\n this.subscribers = listWithMember(this.subscribers, subscriber);\n promise = subscriber.promise;\n unsubscribe = ()=>{\n if (this.subscribers !== null) {\n this.subscribers = listWithoutMember(this.subscribers, subscriber);\n }\n };\n } else {\n // settled - don't create subscribed promise. Just resolve or reject\n const { status } = settlement;\n if (status === \"fulfilled\") {\n promise = Promise.resolve(settlement.value);\n } else {\n promise = Promise.reject(settlement.reason);\n }\n unsubscribe = NOOP;\n }\n // extend promise signature with the extra method\n return Object.assign(promise, {\n unsubscribe\n });\n }\n /** STANDARD PROMISE METHODS (but returning a SubscribedPromise) */ then(onfulfilled, onrejected) {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.then(onfulfilled, onrejected), {\n unsubscribe\n });\n }\n catch(onrejected) {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.catch(onrejected), {\n unsubscribe\n });\n }\n finally(onfinally) {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.finally(onfinally), {\n unsubscribe\n });\n }\n /** Unpromise STATIC METHODS */ /** Create or Retrieve the proxy Unpromise (a re-used Unpromise for the VM lifetime\n * of the provided Promise reference) */ static proxy(promise) {\n const cached = Unpromise.getSubscribablePromise(promise);\n return typeof cached !== \"undefined\" ? cached : Unpromise.createSubscribablePromise(promise);\n }\n /** Create and store an Unpromise keyed by an original Promise. */ static createSubscribablePromise(promise) {\n const created = new Unpromise(promise);\n subscribableCache.set(promise, created); // resolve promise to unpromise\n subscribableCache.set(created, created); // resolve the unpromise to itself\n return created;\n }\n /** Retrieve a previously-created Unpromise keyed by an original Promise. */ static getSubscribablePromise(promise) {\n return subscribableCache.get(promise);\n }\n /** Promise STATIC METHODS */ /** Lookup the Unpromise for this promise, and derive a SubscribedPromise from\n * it (that can be later unsubscribed to eliminate Memory leaks) */ static resolve(value) {\n const promise = typeof value === \"object\" && value !== null && \"then\" in value && typeof value.then === \"function\" ? value : Promise.resolve(value);\n return Unpromise.proxy(promise).subscribe();\n }\n static async any(values) {\n const valuesArray = Array.isArray(values) ? values : [\n ...values\n ];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.any(subscribedPromises);\n } finally{\n subscribedPromises.forEach(({ unsubscribe })=>{\n unsubscribe();\n });\n }\n }\n static async race(values) {\n const valuesArray = Array.isArray(values) ? values : [\n ...values\n ];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.race(subscribedPromises);\n } finally{\n subscribedPromises.forEach(({ unsubscribe })=>{\n unsubscribe();\n });\n }\n }\n /** Create a race of SubscribedPromises that will fulfil to a single winning\n * Promise (in a 1-Tuple). Eliminates memory leaks from long-lived promises\n * accumulating .then() and .catch() subscribers. Allows simple logic to\n * consume the result, like...\n * ```ts\n * const [ winner ] = await Unpromise.race([ promiseA, promiseB ]);\n * if(winner === promiseB){\n * const result = await promiseB;\n * // do the thing\n * }\n * ```\n * */ static async raceReferences(promises) {\n // map each promise to an eventual 1-tuple containing itself\n const selfPromises = promises.map(resolveSelfTuple);\n // now race them. They will fulfil to a readonly [P] or reject.\n try {\n return await Promise.race(selfPromises);\n } finally{\n for (const promise of selfPromises){\n // unsubscribe proxy promises when the race is over to mitigate memory leaks\n promise.unsubscribe();\n }\n }\n }\n constructor(arg){\n /** INSTANCE IMPLEMENTATION */ /** The promise shadowed by this Unpromise<T> */ _define_property(this, \"promise\", void 0);\n /** Promises expecting eventual settlement (unless unsubscribed first). This list is deleted\n * after the original promise settles - no further notifications will be issued. */ _define_property(this, \"subscribers\", []);\n /** The Promise's settlement (recorded when it fulfils or rejects). This is consulted when\n * calling .subscribe() .then() .catch() .finally() to see if an immediately-resolving Promise\n * can be returned, and therefore subscription can be bypassed. */ _define_property(this, \"settlement\", null);\n /** TOSTRING SUPPORT */ _define_property(this, _computedKey1, \"Unpromise\");\n // handle either a Promise or a Promise executor function\n if (typeof arg === \"function\") {\n this.promise = new Promise(arg);\n } else {\n this.promise = arg;\n }\n // subscribe for eventual fulfilment and rejection\n // handle PromiseLike objects (that at least have .then)\n const thenReturn = this.promise.then((value)=>{\n // atomically record fulfilment and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"fulfilled\",\n value\n };\n // notify fulfilment to subscriber list\n subscribers?.forEach(({ resolve })=>{\n resolve(value);\n });\n });\n // handle Promise (that also have a .catch behaviour)\n if (\"catch\" in thenReturn) {\n thenReturn.catch((reason)=>{\n // atomically record rejection and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"rejected\",\n reason\n };\n // notify rejection to subscriber list\n subscribers?.forEach(({ reject })=>{\n reject(reason);\n });\n });\n }\n }\n}\n/** Promises a 1-tuple containing the original promise when it resolves. Allows\n * awaiting the eventual Promise ***reference*** (easy to destructure and\n * exactly compare with ===). Avoids resolving to the Promise ***value*** (which\n * may be ambiguous and therefore hard to identify as the winner of a race).\n * You can call unsubscribe on the Promise to mitigate memory leaks.\n * */ function resolveSelfTuple(promise) {\n return Unpromise.proxy(promise).then(()=>[\n promise\n ]);\n}\n/** VENDORED (Future) PROMISE UTILITIES */ /** Reference implementation of https://github.com/tc39/proposal-promise-with-resolvers */ function withResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((_resolve, _reject)=>{\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\n/** IMMUTABLE LIST OPERATIONS */ function listWithMember(arr, member) {\n return [\n ...arr,\n member\n ];\n}\nfunction listWithoutIndex(arr, index) {\n return [\n ...arr.slice(0, index),\n ...arr.slice(index + 1)\n ];\n}\nfunction listWithoutMember(arr, member) {\n const index = arr.indexOf(member);\n if (index !== -1) {\n return listWithoutIndex(arr, index);\n }\n return arr;\n}\n\nexport { Unpromise, resolveSelfTuple };\n","import { makeResource } from './disposable.mjs';\n\nconst disposablePromiseTimerResult = Symbol();\nfunction timerResource(ms) {\n let timer = null;\n return makeResource({\n start () {\n if (timer) {\n throw new Error('Timer already started');\n }\n const promise = new Promise((resolve)=>{\n timer = setTimeout(()=>resolve(disposablePromiseTimerResult), ms);\n });\n return promise;\n }\n }, ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n });\n}\n\nexport { disposablePromiseTimerResult, timerResource };\n","import { Unpromise } from '../../../vendor/unpromise/unpromise.mjs';\nimport { iteratorResource } from './asyncIterable.mjs';\nimport { timerResource, disposablePromiseTimerResult } from './timerResource.mjs';\n\nfunction _ts_add_disposable_resource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() {\n try {\n inner.call(this);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n return value;\n}\nfunction _ts_dispose_resources(env) {\n var _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function(error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n };\n return (_ts_dispose_resources = function _ts_dispose_resources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while(r = env.stack.pop()){\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {\n fail(e);\n return next();\n });\n } else s |= 1;\n } catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n })(env);\n}\nconst PING_SYM = Symbol('ping');\n/**\n * Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields {@link PING_SYM}\n * whenever no value has been yielded for {@link pingIntervalMs}.\n */ async function* withPing(iterable, pingIntervalMs) {\n const env = {\n stack: [],\n error: void 0,\n hasError: false\n };\n try {\n const iterator = _ts_add_disposable_resource(env, iteratorResource(iterable), true);\n ;\n // declaration outside the loop for garbage collection reasons\n let result;\n let nextPromise = iterator.next();\n while(true){\n const env = {\n stack: [],\n error: void 0,\n hasError: false\n };\n try {\n const pingPromise = _ts_add_disposable_resource(env, timerResource(pingIntervalMs), false);\n ;\n result = await Unpromise.race([\n nextPromise,\n pingPromise.start()\n ]);\n if (result === disposablePromiseTimerResult) {\n // cancelled\n yield PING_SYM;\n continue;\n }\n if (result.done) {\n return result.value;\n }\n nextPromise = iterator.next();\n yield result.value;\n // free up reference for garbage collection\n result = null;\n } catch (e) {\n env.error = e;\n env.hasError = true;\n } finally{\n _ts_dispose_resources(env);\n }\n }\n } catch (e) {\n env.error = e;\n env.hasError = true;\n } finally{\n const result = _ts_dispose_resources(env);\n if (result) await result;\n }\n}\n\nexport { PING_SYM, withPing };\n","import { isObject, isFunction, run, isAsyncIterable } from '../utils.mjs';\nimport { iteratorResource } from './utils/asyncIterable.mjs';\nimport { createDeferred } from './utils/createDeferred.mjs';\nimport { makeResource } from './utils/disposable.mjs';\nimport { mergeAsyncIterables } from './utils/mergeAsyncIterables.mjs';\nimport { readableStreamFrom } from './utils/readableStreamFrom.mjs';\nimport { PING_SYM, withPing } from './utils/withPing.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _ts_add_disposable_resource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() {\n try {\n inner.call(this);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n return value;\n}\nfunction _ts_dispose_resources(env) {\n var _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function(error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n };\n return (_ts_dispose_resources = function _ts_dispose_resources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while(r = env.stack.pop()){\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {\n fail(e);\n return next();\n });\n } else s |= 1;\n } catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n })(env);\n}\nfunction isPlainObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n// ---------- types\nconst CHUNK_VALUE_TYPE_PROMISE = 0;\nconst CHUNK_VALUE_TYPE_ASYNC_ITERABLE = 1;\nconst PROMISE_STATUS_FULFILLED = 0;\nconst PROMISE_STATUS_REJECTED = 1;\nconst ASYNC_ITERABLE_STATUS_RETURN = 0;\nconst ASYNC_ITERABLE_STATUS_YIELD = 1;\nconst ASYNC_ITERABLE_STATUS_ERROR = 2;\nfunction isPromise(value) {\n return (isObject(value) || isFunction(value)) && typeof value?.['then'] === 'function' && typeof value?.['catch'] === 'function';\n}\nclass MaxDepthError extends Error {\n constructor(path){\n super('Max depth reached at path: ' + path.join('.')), _define_property(this, \"path\", void 0), this.path = path;\n }\n}\nasync function* createBatchStreamProducer(opts) {\n const { data } = opts;\n let counter = 0;\n const placeholder = 0;\n const mergedIterables = mergeAsyncIterables();\n function registerAsync(callback) {\n const idx = counter++;\n const iterable = callback(idx);\n mergedIterables.add(iterable);\n return idx;\n }\n function encodePromise(promise, path) {\n return registerAsync(async function*(idx) {\n const error = checkMaxDepth(path);\n if (error) {\n // Catch any errors from the original promise to ensure they're reported\n promise.catch((cause)=>{\n opts.onError?.({\n error: cause,\n path\n });\n });\n // Replace the promise with a rejected one containing the max depth error\n promise = Promise.reject(error);\n }\n try {\n const next = await promise;\n yield [\n idx,\n PROMISE_STATUS_FULFILLED,\n encode(next, path)\n ];\n } catch (cause) {\n opts.onError?.({\n error: cause,\n path\n });\n yield [\n idx,\n PROMISE_STATUS_REJECTED,\n opts.formatError?.({\n error: cause,\n path\n })\n ];\n }\n });\n }\n function encodeAsyncIterable(iterable, path) {\n return registerAsync(async function*(idx) {\n const env = {\n stack: [],\n error: void 0,\n hasError: false\n };\n try {\n const error = checkMaxDepth(path);\n if (error) {\n throw error;\n }\n const iterator = _ts_add_disposable_resource(env, iteratorResource(iterable), true);\n ;\n try {\n while(true){\n const next = await iterator.next();\n if (next.done) {\n yield [\n idx,\n ASYNC_ITERABLE_STATUS_RETURN,\n encode(next.value, path)\n ];\n break;\n }\n yield [\n idx,\n ASYNC_ITERABLE_STATUS_YIELD,\n encode(next.value, path)\n ];\n }\n } catch (cause) {\n opts.onError?.({\n error: cause,\n path\n });\n yield [\n idx,\n ASYNC_ITERABLE_STATUS_ERROR,\n opts.formatError?.({\n error: cause,\n path\n })\n ];\n }\n } catch (e) {\n env.error = e;\n env.hasError = true;\n } finally{\n const result = _ts_dispose_resources(env);\n if (result) await result;\n }\n });\n }\n function checkMaxDepth(path) {\n if (opts.maxDepth && path.length > opts.maxDepth) {\n return new MaxDepthError(path);\n }\n return null;\n }\n function encodeAsync(value, path) {\n if (isPromise(value)) {\n return [\n CHUNK_VALUE_TYPE_PROMISE,\n encodePromise(value, path)\n ];\n }\n if (isAsyncIterable(value)) {\n if (opts.maxDepth && path.length >= opts.maxDepth) {\n throw new Error('Max depth reached');\n }\n return [\n CHUNK_VALUE_TYPE_ASYNC_ITERABLE,\n encodeAsyncIterable(value, path)\n ];\n }\n return null;\n }\n function encode(value, path) {\n if (value === undefined) {\n return [\n []\n ];\n }\n const reg = encodeAsync(value, path);\n if (reg) {\n return [\n [\n placeholder\n ],\n [\n null,\n ...reg\n ]\n ];\n }\n if (!isPlainObject(value)) {\n return [\n [\n value\n ]\n ];\n }\n const newObj = {};\n const asyncValues = [];\n for (const [key, item] of Object.entries(value)){\n const transformed = encodeAsync(item, [\n ...path,\n key\n ]);\n if (!transformed) {\n newObj[key] = item;\n continue;\n }\n newObj[key] = placeholder;\n asyncValues.push([\n key,\n ...transformed\n ]);\n }\n return [\n [\n newObj\n ],\n ...asyncValues\n ];\n }\n const newHead = {};\n for (const [key, item] of Object.entries(data)){\n newHead[key] = encode(item, [\n key\n ]);\n }\n yield newHead;\n let iterable = mergedIterables;\n if (opts.pingMs) {\n iterable = withPing(mergedIterables, opts.pingMs);\n }\n for await (const value of iterable){\n yield value;\n }\n}\n/**\n * JSON Lines stream producer\n * @see https://jsonlines.org/\n */ function jsonlStreamProducer(opts) {\n let stream = readableStreamFrom(createBatchStreamProducer(opts));\n const { serialize } = opts;\n if (serialize) {\n stream = stream.pipeThrough(new TransformStream({\n transform (chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(PING_SYM);\n } else {\n controller.enqueue(serialize(chunk));\n }\n }\n }));\n }\n return stream.pipeThrough(new TransformStream({\n transform (chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(' ');\n } else {\n controller.enqueue(JSON.stringify(chunk) + '\\n');\n }\n }\n })).pipeThrough(new TextEncoderStream());\n}\nclass AsyncError extends Error {\n constructor(data){\n super('Received error from server'), _define_property(this, \"data\", void 0), this.data = data;\n }\n}\nconst nodeJsStreamToReaderEsque = (source)=>{\n return {\n getReader () {\n const stream = new ReadableStream({\n start (controller) {\n source.on('data', (chunk)=>{\n controller.enqueue(chunk);\n });\n source.on('end', ()=>{\n controller.close();\n });\n source.on('error', (error)=>{\n controller.error(error);\n });\n }\n });\n return stream.getReader();\n }\n };\n};\nfunction createLineAccumulator(from) {\n const reader = 'getReader' in from ? from.getReader() : nodeJsStreamToReaderEsque(from).getReader();\n let lineAggregate = '';\n return new ReadableStream({\n async pull (controller) {\n const { done, value } = await reader.read();\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n },\n cancel () {\n return reader.cancel();\n }\n }).pipeThrough(new TextDecoderStream()).pipeThrough(new TransformStream({\n transform (chunk, controller) {\n lineAggregate += chunk;\n const parts = lineAggregate.split('\\n');\n lineAggregate = parts.pop() ?? '';\n for (const part of parts){\n controller.enqueue(part);\n }\n }\n }));\n}\nfunction createConsumerStream(from) {\n const stream = createLineAccumulator(from);\n let sentHead = false;\n return stream.pipeThrough(new TransformStream({\n transform (line, controller) {\n if (!sentHead) {\n const head = JSON.parse(line);\n controller.enqueue(head);\n sentHead = true;\n } else {\n const chunk = JSON.parse(line);\n controller.enqueue(chunk);\n }\n }\n }));\n}\n/**\n * Creates a handler for managing stream controllers and their lifecycle\n */ function createStreamsManager(abortController) {\n const controllerMap = new Map();\n /**\n * Checks if there are no pending controllers or deferred promises\n */ function isEmpty() {\n return Array.from(controllerMap.values()).every((c)=>c.closed);\n }\n /**\n * Creates a stream controller\n */ function createStreamController() {\n let originalController;\n const stream = new ReadableStream({\n start (controller) {\n originalController = controller;\n }\n });\n const streamController = {\n enqueue: (v)=>originalController.enqueue(v),\n close: ()=>{\n originalController.close();\n clear();\n if (isEmpty()) {\n abortController.abort();\n }\n },\n closed: false,\n getReaderResource: ()=>{\n const reader = stream.getReader();\n return makeResource(reader, ()=>{\n reader.releaseLock();\n streamController.close();\n });\n },\n error: (reason)=>{\n originalController.error(reason);\n clear();\n }\n };\n function clear() {\n Object.assign(streamController, {\n closed: true,\n close: ()=>{\n // noop\n },\n enqueue: ()=>{\n // noop\n },\n getReaderResource: null,\n error: ()=>{\n // noop\n }\n });\n }\n return streamController;\n }\n /**\n * Gets or creates a stream controller\n */ function getOrCreate(chunkId) {\n let c = controllerMap.get(chunkId);\n if (!c) {\n c = createStreamController();\n controllerMap.set(chunkId, c);\n }\n return c;\n }\n /**\n * Cancels all pending controllers and rejects deferred promises\n */ function cancelAll(reason) {\n for (const controller of controllerMap.values()){\n controller.error(reason);\n }\n }\n return {\n getOrCreate,\n isEmpty,\n cancelAll\n };\n}\n/**\n * JSON Lines stream consumer\n * @see https://jsonlines.org/\n */ async function jsonlStreamConsumer(opts) {\n const { deserialize = (v)=>v } = opts;\n let source = createConsumerStream(opts.from);\n if (deserialize) {\n source = source.pipeThrough(new TransformStream({\n transform (chunk, controller) {\n controller.enqueue(deserialize(chunk));\n }\n }));\n }\n let headDeferred = createDeferred();\n const streamManager = createStreamsManager(opts.abortController);\n function decodeChunkDefinition(value) {\n const [_path, type, chunkId] = value;\n const controller = streamManager.getOrCreate(chunkId);\n switch(type){\n case CHUNK_VALUE_TYPE_PROMISE:\n {\n return run(async ()=>{\n const env = {\n stack: [],\n error: void 0,\n hasError: false\n };\n try {\n const reader = _ts_add_disposable_resource(env, controller.getReaderResource(), false);\n ;\n const { value } = await reader.read();\n const [_chunkId, status, data] = value;\n switch(status){\n case PROMISE_STATUS_FULFILLED:\n return decode(data);\n case PROMISE_STATUS_REJECTED:\n throw opts.formatError?.({\n error: data\n }) ?? new AsyncError(data);\n }\n } catch (e) {\n env.error = e;\n env.hasError = true;\n } finally{\n _ts_dispose_resources(env);\n }\n });\n }\n case CHUNK_VALUE_TYPE_ASYNC_ITERABLE:\n {\n return run(async function*() {\n const env = {\n stack: [],\n error: void 0,\n hasError: false\n };\n try {\n const reader = _ts_add_disposable_resource(env, controller.getReaderResource(), false);\n ;\n while(true){\n const { value } = await reader.read();\n const [_chunkId, status, data] = value;\n switch(status){\n case ASYNC_ITERABLE_STATUS_YIELD:\n yield decode(data);\n break;\n case ASYNC_ITERABLE_STATUS_RETURN:\n return decode(data);\n case ASYNC_ITERABLE_STATUS_ERROR:\n throw opts.formatError?.({\n error: data\n }) ?? new AsyncError(data);\n }\n }\n } catch (e) {\n env.error = e;\n env.hasError = true;\n } finally{\n _ts_dispose_resources(env);\n }\n });\n }\n }\n }\n function decode(value) {\n const [[data], ...asyncProps] = value;\n for (const value of asyncProps){\n const [key] = value;\n const decoded = decodeChunkDefinition(value);\n if (key === null) {\n return decoded;\n }\n data[key] = decoded;\n }\n return data;\n }\n const closeOrAbort = (reason)=>{\n headDeferred?.reject(reason);\n streamManager.cancelAll(reason);\n };\n source.pipeTo(new WritableStream({\n write (chunkOrHead) {\n if (headDeferred) {\n const head = chunkOrHead;\n for (const [key, value] of Object.entries(chunkOrHead)){\n const parsed = decode(value);\n head[key] = parsed;\n }\n headDeferred.resolve(head);\n headDeferred = null;\n return;\n }\n const chunk = chunkOrHead;\n const [idx] = chunk;\n const controller = streamManager.getOrCreate(idx);\n controller.enqueue(chunk);\n },\n close: ()=>closeOrAbort(new Error('Stream closed')),\n abort: closeOrAbort\n }), {\n signal: opts.abortController.signal\n }).catch((error)=>{\n opts.onError?.({\n error\n });\n closeOrAbort(error);\n });\n return [\n await headDeferred.promise,\n streamManager\n ];\n}\n\nexport { isPromise, jsonlStreamConsumer, jsonlStreamProducer };\n","const trackedSymbol = Symbol();\n/**\n * Produce a typed server-sent event message\n * @deprecated use `tracked(id, data)` instead\n */ function sse(event) {\n return tracked(event.id, event.data);\n}\nfunction isTrackedEnvelope(value) {\n return Array.isArray(value) && value[2] === trackedSymbol;\n}\n/**\n * Automatically track an event so that it can be resumed from a given id if the connection is lost\n */ function tracked(id, data) {\n if (id === '') {\n // This limitation could be removed by using different SSE event names / channels for tracked event and non-tracked event\n throw new Error('`id` must not be an empty string as empty string is the same as not setting the id at all');\n }\n return [\n id,\n data,\n trackedSymbol\n ];\n}\n\nexport { isTrackedEnvelope, sse, tracked };\n","import { TRPCError } from './error/TRPCError.mjs';\nimport { isObject } from './utils.mjs';\n\n/** @internal */ const middlewareMarker = 'middlewareMarker';\n/**\n * @internal\n */ function createMiddlewareFactory() {\n function createMiddlewareInner(middlewares) {\n return {\n _middlewares: middlewares,\n unstable_pipe (middlewareBuilderOrFn) {\n const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [\n middlewareBuilderOrFn\n ];\n return createMiddlewareInner([\n ...middlewares,\n ...pipedMiddleware\n ]);\n }\n };\n }\n function createMiddleware(fn) {\n return createMiddlewareInner([\n fn\n ]);\n }\n return createMiddleware;\n}\n/**\n * Create a standalone middleware\n * @see https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares\n * @deprecated use `.concat()` instead\n */ const experimental_standaloneMiddleware = ()=>({\n create: createMiddlewareFactory()\n });\n/**\n * @internal\n * Please note, `trpc-openapi` uses this function.\n */ function createInputMiddleware(parse) {\n const inputMiddleware = async function inputValidatorMiddleware(opts) {\n let parsedInput;\n const rawInput = await opts.getRawInput();\n try {\n parsedInput = await parse(rawInput);\n } catch (cause) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n cause\n });\n }\n // Multiple input parsers\n const combinedInput = isObject(opts.input) && isObject(parsedInput) ? {\n ...opts.input,\n ...parsedInput\n } : parsedInput;\n return opts.next({\n input: combinedInput\n });\n };\n inputMiddleware._type = 'input';\n return inputMiddleware;\n}\n/**\n * @internal\n */ function createOutputMiddleware(parse) {\n const outputMiddleware = async function outputValidatorMiddleware({ next }) {\n const result = await next();\n if (!result.ok) {\n // pass through failures without validating\n return result;\n }\n try {\n const data = await parse(result.data);\n return {\n ...result,\n data\n };\n } catch (cause) {\n throw new TRPCError({\n message: 'Output validation failed',\n code: 'INTERNAL_SERVER_ERROR',\n cause\n });\n }\n };\n outputMiddleware._type = 'output';\n return outputMiddleware;\n}\n\nexport { createInputMiddleware, createMiddlewareFactory, createOutputMiddleware, experimental_standaloneMiddleware, middlewareMarker };\n","function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/** A schema error with useful information. */ class StandardSchemaV1Error extends Error {\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */ constructor(issues){\n super(issues[0]?.message), /** The schema issues. */ _define_property(this, \"issues\", void 0);\n this.name = 'SchemaError';\n this.issues = issues;\n }\n}\n\nexport { StandardSchemaV1Error };\n","import { StandardSchemaV1Error } from '../vendor/standard-schema-v1/error.mjs';\n\nfunction getParseFn(procedureParser) {\n const parser = procedureParser;\n const isStandardSchema = '~standard' in parser;\n if (typeof parser === 'function' && typeof parser.assert === 'function') {\n // ParserArkTypeEsque - arktype schemas shouldn't be called as a function because they return a union type instead of throwing\n return parser.assert.bind(parser);\n }\n if (typeof parser === 'function' && !isStandardSchema) {\n // ParserValibotEsque (>= v0.31.0)\n // ParserCustomValidatorEsque - note the check for standard-schema conformance - some libraries like `effect` use function schemas which are *not* a \"parse\" function.\n return parser;\n }\n if (typeof parser.parseAsync === 'function') {\n // ParserZodEsque\n return parser.parseAsync.bind(parser);\n }\n if (typeof parser.parse === 'function') {\n // ParserZodEsque\n // ParserValibotEsque (< v0.13.0)\n return parser.parse.bind(parser);\n }\n if (typeof parser.validateSync === 'function') {\n // ParserYupEsque\n return parser.validateSync.bind(parser);\n }\n if (typeof parser.create === 'function') {\n // ParserSuperstructEsque\n return parser.create.bind(parser);\n }\n if (typeof parser.assert === 'function') {\n // ParserScaleEsque\n return (value)=>{\n parser.assert(value);\n return value;\n };\n }\n if (isStandardSchema) {\n // StandardSchemaEsque\n return async (value)=>{\n const result = await parser['~standard'].validate(value);\n if (result.issues) {\n throw new StandardSchemaV1Error(result.issues);\n }\n return result.value;\n };\n }\n throw new Error('Could not find a validator fn');\n}\n\nexport { getParseFn };\n","import { TRPCError, getTRPCErrorFromUnknown } from './error/TRPCError.mjs';\nimport { createOutputMiddleware, createInputMiddleware, middlewareMarker } from './middleware.mjs';\nimport { getParseFn } from './parser.mjs';\nimport { mergeWithoutOverrides } from './utils.mjs';\n\nfunction createNewBuilder(def1, def2) {\n const { middlewares = [], inputs, meta, ...rest } = def2;\n // TODO: maybe have a fn here to warn about calls\n return createBuilder({\n ...mergeWithoutOverrides(def1, rest),\n inputs: [\n ...def1.inputs,\n ...inputs ?? []\n ],\n middlewares: [\n ...def1.middlewares,\n ...middlewares\n ],\n meta: def1.meta && meta ? {\n ...def1.meta,\n ...meta\n } : meta ?? def1.meta\n });\n}\nfunction createBuilder(initDef = {}) {\n const _def = {\n procedure: true,\n inputs: [],\n middlewares: [],\n ...initDef\n };\n const builder = {\n _def,\n input (input) {\n const parser = getParseFn(input);\n return createNewBuilder(_def, {\n inputs: [\n input\n ],\n middlewares: [\n createInputMiddleware(parser)\n ]\n });\n },\n output (output) {\n const parser = getParseFn(output);\n return createNewBuilder(_def, {\n output,\n middlewares: [\n createOutputMiddleware(parser)\n ]\n });\n },\n meta (meta) {\n return createNewBuilder(_def, {\n meta\n });\n },\n use (middlewareBuilderOrFn) {\n // Distinguish between a middleware builder and a middleware function\n const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [\n middlewareBuilderOrFn\n ];\n return createNewBuilder(_def, {\n middlewares: middlewares\n });\n },\n unstable_concat (builder) {\n return createNewBuilder(_def, builder._def);\n },\n concat (builder) {\n return createNewBuilder(_def, builder._def);\n },\n query (resolver) {\n return createResolver({\n ..._def,\n type: 'query'\n }, resolver);\n },\n mutation (resolver) {\n return createResolver({\n ..._def,\n type: 'mutation'\n }, resolver);\n },\n subscription (resolver) {\n return createResolver({\n ..._def,\n type: 'subscription'\n }, resolver);\n },\n experimental_caller (caller) {\n return createNewBuilder(_def, {\n caller\n });\n }\n };\n return builder;\n}\nfunction createResolver(_defIn, resolver) {\n const finalBuilder = createNewBuilder(_defIn, {\n resolver,\n middlewares: [\n async function resolveMiddleware(opts) {\n const data = await resolver(opts);\n return {\n marker: middlewareMarker,\n ok: true,\n data,\n ctx: opts.ctx\n };\n }\n ]\n });\n const _def = {\n ...finalBuilder._def,\n type: _defIn.type,\n experimental_caller: Boolean(finalBuilder._def.caller),\n meta: finalBuilder._def.meta,\n $types: null\n };\n const invoke = createProcedureCaller(finalBuilder._def);\n const callerOverride = finalBuilder._def.caller;\n if (!callerOverride) {\n return invoke;\n }\n const callerWrapper = async (...args)=>{\n return await callerOverride({\n args,\n invoke,\n _def: _def\n });\n };\n callerWrapper._def = _def;\n return callerWrapper;\n}\nconst codeblock = `\nThis is a client-only function.\nIf you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls\n`.trim();\n// run the middlewares recursively with the resolver as the last one\nasync function callRecursive(index, _def, opts) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const middleware = _def.middlewares[index];\n const result = await middleware({\n ...opts,\n meta: _def.meta,\n input: opts.input,\n next (_nextOpts) {\n const nextOpts = _nextOpts;\n return callRecursive(index + 1, _def, {\n ...opts,\n ctx: nextOpts?.ctx ? {\n ...opts.ctx,\n ...nextOpts.ctx\n } : opts.ctx,\n input: nextOpts && 'input' in nextOpts ? nextOpts.input : opts.input,\n getRawInput: nextOpts?.getRawInput ?? opts.getRawInput\n });\n }\n });\n return result;\n } catch (cause) {\n return {\n ok: false,\n error: getTRPCErrorFromUnknown(cause),\n marker: middlewareMarker\n };\n }\n}\nfunction createProcedureCaller(_def) {\n async function procedure(opts) {\n // is direct server-side call\n if (!opts || !('getRawInput' in opts)) {\n throw new Error(codeblock);\n }\n // there's always at least one \"next\" since we wrap this.resolver in a middleware\n const result = await callRecursive(0, _def, opts);\n if (!result) {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message: 'No result from middlewares - did you forget to `return next()`?'\n });\n }\n if (!result.ok) {\n // re-throw original error\n throw result.error;\n }\n return result.data;\n }\n procedure._def = _def;\n procedure.procedure = true;\n // FIXME typecast shouldn't be needed - fixittt\n return procedure;\n}\n\nexport { createBuilder };\n","/**\n * The default check to see if we're in a server\n */ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || // eslint-disable-next-line @typescript-eslint/dot-notation\nglobalThis.process?.env?.['NODE_ENV'] === 'test' || !!globalThis.process?.env?.['JEST_WORKER_ID'] || !!globalThis.process?.env?.['VITEST_WORKER_ID'];\n\nexport { isServerDefault };\n","import { defaultFormatter } from './error/formatter.mjs';\nimport { createMiddlewareFactory } from './middleware.mjs';\nimport { createBuilder } from './procedureBuilder.mjs';\nimport { isServerDefault } from './rootConfig.mjs';\nimport { createCallerFactory, mergeRouters, createRouterFactory } from './router.mjs';\nimport { getDataTransformer, defaultTransformer } from './transformer.mjs';\n\nclass TRPCBuilder {\n /**\n * Add a context shape as a generic to the root object\n * @see https://trpc.io/docs/v11/server/context\n */ context() {\n return new TRPCBuilder();\n }\n /**\n * Add a meta shape as a generic to the root object\n * @see https://trpc.io/docs/v11/quickstart\n */ meta() {\n return new TRPCBuilder();\n }\n /**\n * Create the root object\n * @see https://trpc.io/docs/v11/server/routers#initialize-trpc\n */ create(opts) {\n const config = {\n ...opts,\n transformer: getDataTransformer(opts?.transformer ?? defaultTransformer),\n isDev: opts?.isDev ?? // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env['NODE_ENV'] !== 'production',\n allowOutsideOfServer: opts?.allowOutsideOfServer ?? false,\n errorFormatter: opts?.errorFormatter ?? defaultFormatter,\n isServer: opts?.isServer ?? isServerDefault,\n /**\n * These are just types, they can't be used at runtime\n * @internal\n */ $types: null\n };\n {\n // Server check\n const isServer = opts?.isServer ?? isServerDefault;\n if (!isServer && opts?.allowOutsideOfServer !== true) {\n throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);\n }\n }\n return {\n /**\n * Your router config\n * @internal\n */ _config: config,\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */ procedure: createBuilder({\n meta: opts?.defaultMeta\n }),\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */ middleware: createMiddlewareFactory(),\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */ router: createRouterFactory(config),\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */ mergeRouters,\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */ createCallerFactory: createCallerFactory()\n };\n }\n}\n/**\n * Builder to initialize the tRPC root object - use this exactly once per backend\n * @see https://trpc.io/docs/v11/quickstart\n */ const initTRPC = new TRPCBuilder();\n\nexport { initTRPC };\n","import { isObject } from '@trpc/server/unstable-core-do-not-import';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction isTRPCClientError(cause) {\n return cause instanceof TRPCClientError || /**\n * @deprecated\n * Delete in next major\n */ cause instanceof Error && cause.name === 'TRPCClientError';\n}\nfunction isTRPCErrorResponse(obj) {\n return isObject(obj) && isObject(obj['error']) && typeof obj['error']['code'] === 'number' && typeof obj['error']['message'] === 'string';\n}\nfunction getMessageFromUnknownError(err, fallback) {\n if (typeof err === 'string') {\n return err;\n }\n if (isObject(err) && typeof err['message'] === 'string') {\n return err['message'];\n }\n return fallback;\n}\nclass TRPCClientError extends Error {\n static from(_cause, opts = {}) {\n const cause = _cause;\n if (isTRPCClientError(cause)) {\n if (opts.meta) {\n // Decorate with meta error data\n cause.meta = {\n ...cause.meta,\n ...opts.meta\n };\n }\n return cause;\n }\n if (isTRPCErrorResponse(cause)) {\n return new TRPCClientError(cause.error.message, {\n ...opts,\n result: cause\n });\n }\n return new TRPCClientError(getMessageFromUnknownError(cause, 'Unknown error'), {\n ...opts,\n cause: cause\n });\n }\n constructor(message, opts){\n const cause = opts?.cause;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore https://github.com/tc39/proposal-error-cause\n super(message, {\n cause\n }), // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore override doesn't work in all environments due to \"This member cannot have an 'override' modifier because it is not declared in the base class 'Error'\"\n _define_property(this, \"cause\", void 0), _define_property(this, \"shape\", void 0), _define_property(this, \"data\", void 0), /**\n * Additional meta data about the error\n * In the case of HTTP-errors, we'll have `response` and potentially `responseJSON` here\n */ _define_property(this, \"meta\", void 0);\n this.meta = opts?.meta;\n this.cause = cause;\n this.shape = opts?.result?.error;\n this.data = opts?.result?.error.data;\n this.name = 'TRPCClientError';\n Object.setPrototypeOf(this, TRPCClientError.prototype);\n }\n}\n\nexport { TRPCClientError };\n","import { share, observableToPromise } from '@trpc/server/observable';\nimport { createChain } from '../links/internals/createChain.mjs';\nimport { TRPCClientError } from '../TRPCClientError.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nclass TRPCUntypedClient {\n $request(opts) {\n const chain$ = createChain({\n links: this.links,\n op: {\n ...opts,\n context: opts.context ?? {},\n id: ++this.requestId\n }\n });\n return chain$.pipe(share());\n }\n async requestAsPromise(opts) {\n try {\n const req$ = this.$request(opts);\n const envelope = await observableToPromise(req$);\n const data = envelope.result.data;\n return data;\n } catch (err) {\n throw TRPCClientError.from(err);\n }\n }\n query(path, input, opts) {\n return this.requestAsPromise({\n type: 'query',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal\n });\n }\n mutation(path, input, opts) {\n return this.requestAsPromise({\n type: 'mutation',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal\n });\n }\n subscription(path, input, opts) {\n const observable$ = this.$request({\n type: 'subscription',\n path,\n input,\n context: opts.context,\n signal: opts.signal\n });\n return observable$.subscribe({\n next (envelope) {\n switch(envelope.result.type){\n case 'state':\n {\n opts.onConnectionStateChange?.(envelope.result);\n break;\n }\n case 'started':\n {\n opts.onStarted?.({\n context: envelope.context\n });\n break;\n }\n case 'stopped':\n {\n opts.onStopped?.();\n break;\n }\n case 'data':\n case undefined:\n {\n opts.onData?.(envelope.result.data);\n break;\n }\n }\n },\n error (err) {\n opts.onError?.(err);\n },\n complete () {\n opts.onComplete?.();\n }\n });\n }\n constructor(opts){\n _define_property(this, \"links\", void 0);\n _define_property(this, \"runtime\", void 0);\n _define_property(this, \"requestId\", void 0);\n this.requestId = 0;\n this.runtime = {};\n // Initialize the links\n this.links = opts.links.map((link)=>link(this.runtime));\n }\n}\n\nexport { TRPCUntypedClient };\n","import { createRecursiveProxy, createFlatProxy } from '@trpc/server/unstable-core-do-not-import';\nimport { TRPCUntypedClient } from './internals/TRPCUntypedClient.mjs';\n\nconst untypedClientSymbol = Symbol.for('trpc_untypedClient');\nconst clientCallTypeMap = {\n query: 'query',\n mutate: 'mutation',\n subscribe: 'subscription'\n};\n/** @internal */ const clientCallTypeToProcedureType = (clientCallType)=>{\n return clientCallTypeMap[clientCallType];\n};\n/**\n * @internal\n */ function createTRPCClientProxy(client) {\n const proxy = createRecursiveProxy(({ path, args })=>{\n const pathCopy = [\n ...path\n ];\n const procedureType = clientCallTypeToProcedureType(pathCopy.pop());\n const fullPath = pathCopy.join('.');\n return client[procedureType](fullPath, ...args);\n });\n return createFlatProxy((key)=>{\n if (key === untypedClientSymbol) {\n return client;\n }\n return proxy[key];\n });\n}\nfunction createTRPCClient(opts) {\n const client = new TRPCUntypedClient(opts);\n const proxy = createTRPCClientProxy(client);\n return proxy;\n}\n/**\n * Get an untyped client from a proxy client\n * @internal\n */ function getUntypedClient(client) {\n return client[untypedClientSymbol];\n}\n\nexport { clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, getUntypedClient };\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */ /**\n * A function that should never be called unless we messed something up.\n */ const throwFatalError = ()=>{\n throw new Error('Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new');\n};\n/**\n * Dataloader that's very inspired by https://github.com/graphql/dataloader\n * Less configuration, no caching, and allows you to cancel requests\n * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled\n */ function dataLoader(batchLoader) {\n let pendingItems = null;\n let dispatchTimer = null;\n const destroyTimerAndPendingItems = ()=>{\n clearTimeout(dispatchTimer);\n dispatchTimer = null;\n pendingItems = null;\n };\n /**\n * Iterate through the items and split them into groups based on the `batchLoader`'s validate function\n */ function groupItems(items) {\n const groupedItems = [\n []\n ];\n let index = 0;\n while(true){\n const item = items[index];\n if (!item) {\n break;\n }\n const lastGroup = groupedItems[groupedItems.length - 1];\n if (item.aborted) {\n // Item was aborted before it was dispatched\n item.reject?.(new Error('Aborted'));\n index++;\n continue;\n }\n const isValid = batchLoader.validate(lastGroup.concat(item).map((it)=>it.key));\n if (isValid) {\n lastGroup.push(item);\n index++;\n continue;\n }\n if (lastGroup.length === 0) {\n item.reject?.(new Error('Input is too big for a single dispatch'));\n index++;\n continue;\n }\n // Create new group, next iteration will try to add the item to that\n groupedItems.push([]);\n }\n return groupedItems;\n }\n function dispatch() {\n const groupedItems = groupItems(pendingItems);\n destroyTimerAndPendingItems();\n // Create batches for each group of items\n for (const items of groupedItems){\n if (!items.length) {\n continue;\n }\n const batch = {\n items\n };\n for (const item of items){\n item.batch = batch;\n }\n const promise = batchLoader.fetch(batch.items.map((_item)=>_item.key));\n promise.then(async (result)=>{\n await Promise.all(result.map(async (valueOrPromise, index)=>{\n const item = batch.items[index];\n try {\n const value = await Promise.resolve(valueOrPromise);\n item.resolve?.(value);\n } catch (cause) {\n item.reject?.(cause);\n }\n item.batch = null;\n item.reject = null;\n item.resolve = null;\n }));\n for (const item of batch.items){\n item.reject?.(new Error('Missing result'));\n item.batch = null;\n }\n }).catch((cause)=>{\n for (const item of batch.items){\n item.reject?.(cause);\n item.batch = null;\n }\n });\n }\n }\n function load(key) {\n const item = {\n aborted: false,\n key,\n batch: null,\n resolve: throwFatalError,\n reject: throwFatalError\n };\n const promise = new Promise((resolve, reject)=>{\n item.reject = reject;\n item.resolve = resolve;\n if (!pendingItems) {\n pendingItems = [];\n }\n pendingItems.push(item);\n });\n if (!dispatchTimer) {\n dispatchTimer = setTimeout(dispatch);\n }\n return promise;\n }\n return {\n load\n };\n}\n\nexport { dataLoader };\n","const isFunction = (fn)=>typeof fn === 'function';\nfunction getFetch(customFetchImpl) {\n if (customFetchImpl) {\n return customFetchImpl;\n }\n if (typeof window !== 'undefined' && isFunction(window.fetch)) {\n return window.fetch;\n }\n if (typeof globalThis !== 'undefined' && isFunction(globalThis.fetch)) {\n return globalThis.fetch;\n }\n throw new Error('No fetch implementation found');\n}\n\nexport { getFetch };\n","/**\n * @internal\n */ /**\n * @internal\n */ function getTransformer(transformer) {\n const _transformer = transformer;\n if (!_transformer) {\n return {\n input: {\n serialize: (data)=>data,\n deserialize: (data)=>data\n },\n output: {\n serialize: (data)=>data,\n deserialize: (data)=>data\n }\n };\n }\n if ('input' in _transformer) {\n return _transformer;\n }\n return {\n input: _transformer,\n output: _transformer\n };\n}\n\nexport { getTransformer };\n","import { getFetch } from '../../getFetch.mjs';\nimport { getTransformer } from '../../internals/transformer.mjs';\n\nfunction resolveHTTPLinkOptions(opts) {\n return {\n url: opts.url.toString(),\n fetch: opts.fetch,\n transformer: getTransformer(opts.transformer),\n methodOverride: opts.methodOverride\n };\n}\n// https://github.com/trpc/trpc/pull/669\nfunction arrayToDict(array) {\n const dict = {};\n for(let index = 0; index < array.length; index++){\n const element = array[index];\n dict[index] = element;\n }\n return dict;\n}\nconst METHOD = {\n query: 'GET',\n mutation: 'POST',\n subscription: 'PATCH'\n};\nfunction getInput(opts) {\n return 'input' in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input)=>opts.transformer.input.serialize(_input)));\n}\nconst getUrl = (opts)=>{\n const parts = opts.url.split('?');\n const base = parts[0].replace(/\\/$/, ''); // Remove any trailing slashes\n let url = base + '/' + opts.path;\n const queryParts = [];\n if (parts[1]) {\n queryParts.push(parts[1]);\n }\n if ('inputs' in opts) {\n queryParts.push('batch=1');\n }\n if (opts.type === 'query' || opts.type === 'subscription') {\n const input = getInput(opts);\n if (input !== undefined && opts.methodOverride !== 'POST') {\n queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);\n }\n }\n if (queryParts.length) {\n url += '?' + queryParts.join('&');\n }\n return url;\n};\nconst getBody = (opts)=>{\n if (opts.type === 'query' && opts.methodOverride !== 'POST') {\n return undefined;\n }\n const input = getInput(opts);\n return input !== undefined ? JSON.stringify(input) : undefined;\n};\nconst jsonHttpRequester = (opts)=>{\n return httpRequest({\n ...opts,\n contentTypeHeader: 'application/json',\n getUrl,\n getBody\n });\n};\n/**\n * Polyfill for DOMException with AbortError name\n */ class AbortError extends Error {\n constructor(){\n const name = 'AbortError';\n super(name);\n this.name = name;\n this.message = name;\n }\n}\n/**\n * Polyfill for `signal.throwIfAborted()`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted\n */ const throwIfAborted = (signal)=>{\n if (!signal?.aborted) {\n return;\n }\n // If available, use the native implementation\n signal.throwIfAborted?.();\n // If we have `DOMException`, use it\n if (typeof DOMException !== 'undefined') {\n throw new DOMException('AbortError', 'AbortError');\n }\n // Otherwise, use our own implementation\n throw new AbortError();\n};\nasync function fetchHTTPResponse(opts) {\n throwIfAborted(opts.signal);\n const url = opts.getUrl(opts);\n const body = opts.getBody(opts);\n const { type } = opts;\n const resolvedHeaders = await (async ()=>{\n const heads = await opts.headers();\n if (Symbol.iterator in heads) {\n return Object.fromEntries(heads);\n }\n return heads;\n })();\n const headers = {\n ...opts.contentTypeHeader ? {\n 'content-type': opts.contentTypeHeader\n } : {},\n ...opts.trpcAcceptHeader ? {\n 'trpc-accept': opts.trpcAcceptHeader\n } : undefined,\n ...resolvedHeaders\n };\n return getFetch(opts.fetch)(url, {\n method: opts.methodOverride ?? METHOD[type],\n signal: opts.signal,\n body,\n headers\n });\n}\nasync function httpRequest(opts) {\n const meta = {};\n const res = await fetchHTTPResponse(opts);\n meta.response = res;\n const json = await res.json();\n meta.responseJSON = json;\n return {\n json: json,\n meta\n };\n}\n\nexport { fetchHTTPResponse, getBody, getInput, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };\n","import { observable } from '@trpc/server/observable';\nimport { transformResult } from '@trpc/server/unstable-core-do-not-import';\nimport { dataLoader } from '../internals/dataLoader.mjs';\nimport { allAbortSignals } from '../internals/signals.mjs';\nimport { TRPCClientError } from '../TRPCClientError.mjs';\nimport { resolveHTTPLinkOptions, jsonHttpRequester, getUrl } from './internals/httpUtils.mjs';\n\n/**\n * @see https://trpc.io/docs/client/links/httpBatchLink\n */ function httpBatchLink(opts) {\n const resolvedOpts = resolveHTTPLinkOptions(opts);\n const maxURLLength = opts.maxURLLength ?? Infinity;\n const maxItems = opts.maxItems ?? Infinity;\n return ()=>{\n const batchLoader = (type)=>{\n return {\n validate (batchOps) {\n if (maxURLLength === Infinity && maxItems === Infinity) {\n // escape hatch for quick calcs\n return true;\n }\n if (batchOps.length > maxItems) {\n return false;\n }\n const path = batchOps.map((op)=>op.path).join(',');\n const inputs = batchOps.map((op)=>op.input);\n const url = getUrl({\n ...resolvedOpts,\n type,\n path,\n inputs,\n signal: null\n });\n return url.length <= maxURLLength;\n },\n async fetch (batchOps) {\n const path = batchOps.map((op)=>op.path).join(',');\n const inputs = batchOps.map((op)=>op.input);\n const signal = allAbortSignals(...batchOps.map((op)=>op.signal));\n const res = await jsonHttpRequester({\n ...resolvedOpts,\n path,\n inputs,\n type,\n headers () {\n if (!opts.headers) {\n return {};\n }\n if (typeof opts.headers === 'function') {\n return opts.headers({\n opList: batchOps\n });\n }\n return opts.headers;\n },\n signal\n });\n const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);\n const result = resJSON.map((item)=>({\n meta: res.meta,\n json: item\n }));\n return result;\n }\n };\n };\n const query = dataLoader(batchLoader('query'));\n const mutation = dataLoader(batchLoader('mutation'));\n const loaders = {\n query,\n mutation\n };\n return ({ op })=>{\n return observable((observer)=>{\n /* istanbul ignore if -- @preserve */ if (op.type === 'subscription') {\n throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');\n }\n const loader = loaders[op.type];\n const promise = loader.load(op);\n let _res = undefined;\n promise.then((res)=>{\n _res = res;\n const transformed = transformResult(res.json, resolvedOpts.transformer.output);\n if (!transformed.ok) {\n observer.error(TRPCClientError.from(transformed.error, {\n meta: res.meta\n }));\n return;\n }\n observer.next({\n context: res.meta,\n result: transformed.result\n });\n observer.complete();\n }).catch((err)=>{\n observer.error(TRPCClientError.from(err, {\n meta: _res?.meta\n }));\n });\n return ()=>{\n // noop\n };\n });\n };\n };\n}\n\nexport { httpBatchLink };\n","/**\n * Like `Promise.all()` but for abort signals\n * - When all signals have been aborted, the merged signal will be aborted\n * - If one signal is `null`, no signal will be aborted\n */ function allAbortSignals(...signals) {\n const ac = new AbortController();\n const count = signals.length;\n let abortedCount = 0;\n const onAbort = ()=>{\n if (++abortedCount === count) {\n ac.abort();\n }\n };\n for (const signal of signals){\n if (signal?.aborted) {\n onAbort();\n } else {\n signal?.addEventListener('abort', onAbort, {\n once: true\n });\n }\n }\n return ac.signal;\n}\n/**\n * Like `Promise.race` but for abort signals\n *\n * Basically, a ponyfill for\n * [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n */ function raceAbortSignals(...signals) {\n const ac = new AbortController();\n for (const signal of signals){\n if (signal?.aborted) {\n ac.abort();\n } else {\n signal?.addEventListener('abort', ()=>ac.abort(), {\n once: true\n });\n }\n }\n return ac.signal;\n}\n\nexport { allAbortSignals, raceAbortSignals };\n","import { observable } from '@trpc/server/observable';\nimport { createChain } from './internals/createChain.mjs';\n\nfunction asArray(value) {\n return Array.isArray(value) ? value : [\n value\n ];\n}\nfunction splitLink(opts) {\n return (runtime)=>{\n const yes = asArray(opts.true).map((link)=>link(runtime));\n const no = asArray(opts.false).map((link)=>link(runtime));\n return (props)=>{\n return observable((observer)=>{\n const links = opts.condition(props.op) ? yes : no;\n return createChain({\n op: props.op,\n links\n }).subscribe(observer);\n });\n };\n };\n}\n\nexport { splitLink };\n","const lazyDefaults = {\n enabled: false,\n closeMs: 0\n};\nconst keepAliveDefaults = {\n enabled: false,\n pongTimeoutMs: 1000,\n intervalMs: 5000\n};\n/**\n * Calculates a delay for exponential backoff based on the retry attempt index.\n * The delay starts at 0 for the first attempt and doubles for each subsequent attempt,\n * capped at 30 seconds.\n */ const exponentialBackoff = (attemptIndex)=>{\n return attemptIndex === 0 ? 0 : Math.min(1000 * 2 ** attemptIndex, 30000);\n};\n\nexport { exponentialBackoff, keepAliveDefaults, lazyDefaults };\n","/**\n * Get the result of a value or function that returns a value\n * It also optionally accepts typesafe arguments for the function\n */ const resultOf = (value, ...args)=>{\n return typeof value === 'function' ? value(...args) : value;\n};\n\nexport { resultOf };\n","import { resultOf } from '../../internals/urlWithConnectionParams.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nclass TRPCWebSocketClosedError extends Error {\n constructor(opts){\n super(opts.message, {\n cause: opts.cause\n });\n this.name = 'TRPCWebSocketClosedError';\n Object.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);\n }\n}\n/**\n * Utility class for managing a timeout that can be started, stopped, and reset.\n * Useful for scenarios where the timeout duration is reset dynamically based on events.\n */ class ResettableTimeout {\n /**\n * Resets the current timeout, restarting it with the same duration.\n * Does nothing if no timeout is active.\n */ reset() {\n if (!this.timeout) return;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n }\n start() {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n }\n stop() {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n constructor(onTimeout, timeoutMs){\n _define_property(this, \"onTimeout\", void 0);\n _define_property(this, \"timeoutMs\", void 0);\n _define_property(this, \"timeout\", void 0);\n this.onTimeout = onTimeout;\n this.timeoutMs = timeoutMs;\n }\n}\n// Ponyfill for Promise.withResolvers https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers\nfunction withResolvers() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return {\n promise,\n resolve: resolve,\n reject: reject\n };\n}\n/**\n * Resolves a WebSocket URL and optionally appends connection parameters.\n *\n * If connectionParams are provided, appends 'connectionParams=1' query parameter.\n */ async function prepareUrl(urlOptions) {\n const url = await resultOf(urlOptions.url);\n if (!urlOptions.connectionParams) return url;\n // append `?connectionParams=1` when connection params are used\n const prefix = url.includes('?') ? '&' : '?';\n const connectionParams = `${prefix}connectionParams=1`;\n return url + connectionParams;\n}\nasync function buildConnectionMessage(connectionParams) {\n const message = {\n method: 'connectionParams',\n data: await resultOf(connectionParams)\n };\n return JSON.stringify(message);\n}\n\nexport { ResettableTimeout, TRPCWebSocketClosedError, buildConnectionMessage, prepareUrl, withResolvers };\n","import { withResolvers } from './utils.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * Manages WebSocket requests, tracking their lifecycle and providing utility methods\n * for handling outgoing and pending requests.\n *\n * - **Outgoing requests**: Requests that are queued and waiting to be sent.\n * - **Pending requests**: Requests that have been sent and are in flight awaiting a response.\n * For subscriptions, multiple responses may be received until the subscription is closed.\n */ class RequestManager {\n /**\n * Registers a new request by adding it to the outgoing queue and setting up\n * callbacks for lifecycle events such as completion or error.\n *\n * @param message - The outgoing message to be sent.\n * @param callbacks - Callback functions to observe the request's state.\n * @returns A cleanup function to manually remove the request.\n */ register(message, callbacks) {\n const { promise: end, resolve } = withResolvers();\n this.outgoingRequests.push({\n id: String(message.id),\n message,\n end,\n callbacks: {\n next: callbacks.next,\n complete: ()=>{\n callbacks.complete();\n resolve();\n },\n error: (e)=>{\n callbacks.error(e);\n resolve();\n }\n }\n });\n return ()=>{\n this.delete(message.id);\n callbacks.complete();\n resolve();\n };\n }\n /**\n * Deletes a request from both the outgoing and pending collections, if it exists.\n */ delete(messageId) {\n if (messageId === null) return;\n this.outgoingRequests = this.outgoingRequests.filter(({ id })=>id !== String(messageId));\n delete this.pendingRequests[String(messageId)];\n }\n /**\n * Moves all outgoing requests to the pending state and clears the outgoing queue.\n *\n * The caller is expected to handle the actual sending of the requests\n * (e.g., sending them over the network) after this method is called.\n *\n * @returns The list of requests that were transitioned to the pending state.\n */ flush() {\n const requests = this.outgoingRequests;\n this.outgoingRequests = [];\n for (const request of requests){\n this.pendingRequests[request.id] = request;\n }\n return requests;\n }\n /**\n * Retrieves all currently pending requests, which are in flight awaiting responses\n * or handling ongoing subscriptions.\n */ getPendingRequests() {\n return Object.values(this.pendingRequests);\n }\n /**\n * Retrieves a specific pending request by its message ID.\n */ getPendingRequest(messageId) {\n if (messageId === null) return null;\n return this.pendingRequests[String(messageId)];\n }\n /**\n * Retrieves all outgoing requests, which are waiting to be sent.\n */ getOutgoingRequests() {\n return this.outgoingRequests;\n }\n /**\n * Retrieves all requests, both outgoing and pending, with their respective states.\n *\n * @returns An array of all requests with their state (\"outgoing\" or \"pending\").\n */ getRequests() {\n return [\n ...this.getOutgoingRequests().map((request)=>({\n state: 'outgoing',\n message: request.message,\n end: request.end,\n callbacks: request.callbacks\n })),\n ...this.getPendingRequests().map((request)=>({\n state: 'pending',\n message: request.message,\n end: request.end,\n callbacks: request.callbacks\n }))\n ];\n }\n /**\n * Checks if there are any pending requests, including ongoing subscriptions.\n */ hasPendingRequests() {\n return this.getPendingRequests().length > 0;\n }\n /**\n * Checks if there are any outgoing requests waiting to be sent.\n */ hasOutgoingRequests() {\n return this.outgoingRequests.length > 0;\n }\n constructor(){\n /**\n * Stores requests that are outgoing, meaning they are registered but not yet sent over the WebSocket.\n */ _define_property(this, \"outgoingRequests\", new Array());\n /**\n * Stores requests that are pending (in flight), meaning they have been sent over the WebSocket\n * and are awaiting responses. For subscriptions, this includes requests\n * that may receive multiple responses.\n */ _define_property(this, \"pendingRequests\", {});\n }\n}\n\nexport { RequestManager };\n","import { behaviorSubject } from '@trpc/server/observable';\nimport { prepareUrl, buildConnectionMessage, withResolvers } from './utils.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * Opens a WebSocket connection asynchronously and returns a promise\n * that resolves when the connection is successfully established.\n * The promise rejects if an error occurs during the connection attempt.\n */ function asyncWsOpen(ws) {\n const { promise, resolve, reject } = withResolvers();\n ws.addEventListener('open', ()=>{\n ws.removeEventListener('error', reject);\n resolve();\n });\n ws.addEventListener('error', reject);\n return promise;\n}\n/**\n * Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.\n *\n * - Sends \"PING\" messages at regular intervals defined by `intervalMs`.\n * - If a \"PONG\" response is not received within the `pongTimeoutMs`, the WebSocket is closed.\n * - The ping timer resets upon receiving any message to maintain activity.\n * - Automatically starts the ping process when the WebSocket connection is opened.\n * - Cleans up timers when the WebSocket is closed.\n *\n * @param ws - The WebSocket instance to manage.\n * @param options - Configuration options for ping-pong intervals and timeouts.\n */ function setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {\n let pingTimeout;\n let pongTimeout;\n function start() {\n pingTimeout = setTimeout(()=>{\n ws.send('PING');\n pongTimeout = setTimeout(()=>{\n ws.close();\n }, pongTimeoutMs);\n }, intervalMs);\n }\n function reset() {\n clearTimeout(pingTimeout);\n start();\n }\n function pong() {\n clearTimeout(pongTimeout);\n reset();\n }\n ws.addEventListener('open', start);\n ws.addEventListener('message', ({ data })=>{\n clearTimeout(pingTimeout);\n start();\n if (data === 'PONG') {\n pong();\n }\n });\n ws.addEventListener('close', ()=>{\n clearTimeout(pingTimeout);\n clearTimeout(pongTimeout);\n });\n}\n/**\n * Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,\n * and observable state tracking.\n */ class WsConnection {\n get ws() {\n return this.wsObservable.get();\n }\n set ws(ws) {\n this.wsObservable.next(ws);\n }\n /**\n * Checks if the WebSocket connection is open and ready to communicate.\n */ isOpen() {\n return !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;\n }\n /**\n * Checks if the WebSocket connection is closed or in the process of closing.\n */ isClosed() {\n return !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);\n }\n async open() {\n if (this.openPromise) return this.openPromise;\n this.id = ++WsConnection.connectCount;\n const wsPromise = prepareUrl(this.urlOptions).then((url)=>new this.WebSocketPonyfill(url));\n this.openPromise = wsPromise.then(async (ws)=>{\n this.ws = ws;\n // Setup ping listener\n ws.addEventListener('message', function({ data }) {\n if (data === 'PING') {\n this.send('PONG');\n }\n });\n if (this.keepAliveOpts.enabled) {\n setupPingInterval(ws, this.keepAliveOpts);\n }\n ws.addEventListener('close', ()=>{\n if (this.ws === ws) {\n this.ws = null;\n }\n });\n await asyncWsOpen(ws);\n if (this.urlOptions.connectionParams) {\n ws.send(await buildConnectionMessage(this.urlOptions.connectionParams));\n }\n });\n try {\n await this.openPromise;\n } finally{\n this.openPromise = null;\n }\n }\n /**\n * Closes the WebSocket connection gracefully.\n * Waits for any ongoing open operation to complete before closing.\n */ async close() {\n try {\n await this.openPromise;\n } finally{\n this.ws?.close();\n }\n }\n constructor(opts){\n _define_property(this, \"id\", ++WsConnection.connectCount);\n _define_property(this, \"WebSocketPonyfill\", void 0);\n _define_property(this, \"urlOptions\", void 0);\n _define_property(this, \"keepAliveOpts\", void 0);\n _define_property(this, \"wsObservable\", behaviorSubject(null));\n /**\n * Manages the WebSocket opening process, ensuring that only one open operation\n * occurs at a time. Tracks the ongoing operation with `openPromise` to avoid\n * redundant calls and ensure proper synchronization.\n *\n * Sets up the keep-alive mechanism and necessary event listeners for the connection.\n *\n * @returns A promise that resolves once the WebSocket connection is successfully opened.\n */ _define_property(this, \"openPromise\", null);\n this.WebSocketPonyfill = opts.WebSocketPonyfill ?? WebSocket;\n if (!this.WebSocketPonyfill) {\n throw new Error(\"No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill\");\n }\n this.urlOptions = opts.urlOptions;\n this.keepAliveOpts = opts.keepAlive;\n }\n}\n_define_property(WsConnection, \"connectCount\", 0);\n/**\n * Provides a backward-compatible representation of the connection state.\n */ function backwardCompatibility(connection) {\n if (connection.isOpen()) {\n return {\n id: connection.id,\n state: 'open',\n ws: connection.ws\n };\n }\n if (connection.isClosed()) {\n return {\n id: connection.id,\n state: 'closed',\n ws: connection.ws\n };\n }\n if (!connection.ws) {\n return null;\n }\n return {\n id: connection.id,\n state: 'connecting',\n ws: connection.ws\n };\n}\n\nexport { WsConnection, backwardCompatibility };\n","import { observable, behaviorSubject } from '@trpc/server/observable';\nimport { transformResult, run, sleep } from '@trpc/server/unstable-core-do-not-import';\nimport { TRPCClientError } from '../../../TRPCClientError.mjs';\nimport { lazyDefaults, keepAliveDefaults, exponentialBackoff } from './options.mjs';\nimport { RequestManager } from './requestManager.mjs';\nimport { TRPCWebSocketClosedError, ResettableTimeout } from './utils.mjs';\nimport { backwardCompatibility, WsConnection } from './wsConnection.mjs';\n\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * A WebSocket client for managing TRPC operations, supporting lazy initialization,\n * reconnection, keep-alive, and request management.\n */ class WsClient {\n /**\n * Opens the WebSocket connection. Handles reconnection attempts and updates\n * the connection state accordingly.\n */ async open() {\n this.allowReconnect = true;\n if (this.connectionState.get().state !== 'connecting') {\n this.connectionState.next({\n type: 'state',\n state: 'connecting',\n error: null\n });\n }\n try {\n await this.activeConnection.open();\n } catch (error) {\n this.reconnect(new TRPCWebSocketClosedError({\n message: 'Initialization error',\n cause: error\n }));\n return this.reconnecting;\n }\n }\n /**\n * Closes the WebSocket connection and stops managing requests.\n * Ensures all outgoing and pending requests are properly finalized.\n */ async close() {\n this.allowReconnect = false;\n this.inactivityTimeout.stop();\n const requestsToAwait = [];\n for (const request of this.requestManager.getRequests()){\n if (request.message.method === 'subscription') {\n request.callbacks.complete();\n } else if (request.state === 'outgoing') {\n request.callbacks.error(TRPCClientError.from(new TRPCWebSocketClosedError({\n message: 'Closed before connection was established'\n })));\n } else {\n requestsToAwait.push(request.end);\n }\n }\n await Promise.all(requestsToAwait).catch(()=>null);\n await this.activeConnection.close().catch(()=>null);\n this.connectionState.next({\n type: 'state',\n state: 'idle',\n error: null\n });\n }\n /**\n * Method to request the server.\n * Handles data transformation, batching of requests, and subscription lifecycle.\n *\n * @param op - The operation details including id, type, path, input and signal\n * @param transformer - Data transformer for serializing requests and deserializing responses\n * @param lastEventId - Optional ID of the last received event for subscriptions\n *\n * @returns An observable that emits operation results and handles cleanup\n */ request({ op: { id, type, path, input, signal }, transformer, lastEventId }) {\n return observable((observer)=>{\n const abort = this.batchSend({\n id,\n method: type,\n params: {\n input: transformer.input.serialize(input),\n path,\n lastEventId\n }\n }, {\n ...observer,\n next (event) {\n const transformed = transformResult(event, transformer.output);\n if (!transformed.ok) {\n observer.error(TRPCClientError.from(transformed.error));\n return;\n }\n observer.next({\n result: transformed.result\n });\n }\n });\n return ()=>{\n abort();\n if (type === 'subscription' && this.activeConnection.isOpen()) {\n this.send({\n id,\n method: 'subscription.stop'\n });\n }\n signal?.removeEventListener('abort', abort);\n };\n });\n }\n get connection() {\n return backwardCompatibility(this.activeConnection);\n }\n reconnect(closedError) {\n this.connectionState.next({\n type: 'state',\n state: 'connecting',\n error: TRPCClientError.from(closedError)\n });\n if (this.reconnecting) return;\n const tryReconnect = async (attemptIndex)=>{\n try {\n await sleep(this.reconnectRetryDelay(attemptIndex));\n if (this.allowReconnect) {\n await this.activeConnection.close();\n await this.activeConnection.open();\n if (this.requestManager.hasPendingRequests()) {\n this.send(this.requestManager.getPendingRequests().map(({ message })=>message));\n }\n }\n this.reconnecting = null;\n } catch {\n await tryReconnect(attemptIndex + 1);\n }\n };\n this.reconnecting = tryReconnect(0);\n }\n setupWebSocketListeners(ws) {\n const handleCloseOrError = (cause)=>{\n const reqs = this.requestManager.getPendingRequests();\n for (const { message, callbacks } of reqs){\n if (message.method === 'subscription') continue;\n callbacks.error(TRPCClientError.from(cause ?? new TRPCWebSocketClosedError({\n message: 'WebSocket closed',\n cause\n })));\n this.requestManager.delete(message.id);\n }\n };\n ws.addEventListener('open', ()=>{\n run(async ()=>{\n if (this.lazyMode) {\n this.inactivityTimeout.start();\n }\n this.callbacks.onOpen?.();\n this.connectionState.next({\n type: 'state',\n state: 'pending',\n error: null\n });\n }).catch((error)=>{\n ws.close(3000);\n handleCloseOrError(error);\n });\n });\n ws.addEventListener('message', ({ data })=>{\n this.inactivityTimeout.reset();\n if (typeof data !== 'string' || [\n 'PING',\n 'PONG'\n ].includes(data)) return;\n const incomingMessage = JSON.parse(data);\n if ('method' in incomingMessage) {\n this.handleIncomingRequest(incomingMessage);\n return;\n }\n this.handleResponseMessage(incomingMessage);\n });\n ws.addEventListener('close', (event)=>{\n handleCloseOrError(event);\n this.callbacks.onClose?.(event);\n if (!this.lazyMode) {\n this.reconnect(new TRPCWebSocketClosedError({\n message: 'WebSocket closed',\n cause: event\n }));\n }\n });\n ws.addEventListener('error', (event)=>{\n handleCloseOrError(event);\n this.callbacks.onError?.(event);\n this.reconnect(new TRPCWebSocketClosedError({\n message: 'WebSocket closed',\n cause: event\n }));\n });\n }\n handleResponseMessage(message) {\n const request = this.requestManager.getPendingRequest(message.id);\n if (!request) return;\n request.callbacks.next(message);\n let completed = true;\n if ('result' in message && request.message.method === 'subscription') {\n if (message.result.type === 'data') {\n request.message.params.lastEventId = message.result.id;\n }\n if (message.result.type !== 'stopped') {\n completed = false;\n }\n }\n if (completed) {\n request.callbacks.complete();\n this.requestManager.delete(message.id);\n }\n }\n handleIncomingRequest(message) {\n if (message.method === 'reconnect') {\n this.reconnect(new TRPCWebSocketClosedError({\n message: 'Server requested reconnect'\n }));\n }\n }\n /**\n * Sends a message or batch of messages directly to the server.\n */ send(messageOrMessages) {\n if (!this.activeConnection.isOpen()) {\n throw new Error('Active connection is not open');\n }\n const messages = messageOrMessages instanceof Array ? messageOrMessages : [\n messageOrMessages\n ];\n this.activeConnection.ws.send(JSON.stringify(messages.length === 1 ? messages[0] : messages));\n }\n /**\n * Groups requests for batch sending.\n *\n * @returns A function to abort the batched request.\n */ batchSend(message, callbacks) {\n this.inactivityTimeout.reset();\n run(async ()=>{\n if (!this.activeConnection.isOpen()) {\n await this.open();\n }\n await sleep(0);\n if (!this.requestManager.hasOutgoingRequests()) return;\n this.send(this.requestManager.flush().map(({ message })=>message));\n }).catch((err)=>{\n this.requestManager.delete(message.id);\n callbacks.error(TRPCClientError.from(err));\n });\n return this.requestManager.register(message, callbacks);\n }\n constructor(opts){\n /**\n * Observable tracking the current connection state, including errors.\n */ _define_property(this, \"connectionState\", void 0);\n _define_property(this, \"allowReconnect\", false);\n _define_property(this, \"requestManager\", new RequestManager());\n _define_property(this, \"activeConnection\", void 0);\n _define_property(this, \"reconnectRetryDelay\", void 0);\n _define_property(this, \"inactivityTimeout\", void 0);\n _define_property(this, \"callbacks\", void 0);\n _define_property(this, \"lazyMode\", void 0);\n /**\n * Manages the reconnection process for the WebSocket using retry logic.\n * Ensures that only one reconnection attempt is active at a time by tracking the current\n * reconnection state in the `reconnecting` promise.\n */ _define_property(this, \"reconnecting\", null);\n // Initialize callbacks, connection parameters, and options.\n this.callbacks = {\n onOpen: opts.onOpen,\n onClose: opts.onClose,\n onError: opts.onError\n };\n const lazyOptions = {\n ...lazyDefaults,\n ...opts.lazy\n };\n // Set up inactivity timeout for lazy connections.\n this.inactivityTimeout = new ResettableTimeout(()=>{\n if (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {\n this.inactivityTimeout.reset();\n return;\n }\n this.close().catch(()=>null);\n }, lazyOptions.closeMs);\n // Initialize the WebSocket connection.\n this.activeConnection = new WsConnection({\n WebSocketPonyfill: opts.WebSocket,\n urlOptions: opts,\n keepAlive: {\n ...keepAliveDefaults,\n ...opts.keepAlive\n }\n });\n this.activeConnection.wsObservable.subscribe({\n next: (ws)=>{\n if (!ws) return;\n this.setupWebSocketListeners(ws);\n }\n });\n this.reconnectRetryDelay = opts.retryDelayMs ?? exponentialBackoff;\n this.lazyMode = lazyOptions.enabled;\n this.connectionState = behaviorSubject({\n type: 'state',\n state: lazyOptions.enabled ? 'idle' : 'connecting',\n error: null\n });\n // Automatically open the connection if lazy mode is disabled.\n if (!this.lazyMode) {\n this.open().catch(()=>null);\n }\n }\n}\n\nexport { WsClient };\n","import { observable } from '@trpc/server/observable';\nimport { getTransformer } from '../../internals/transformer.mjs';\nexport { createWSClient } from './createWsClient.mjs';\n\nfunction wsLink(opts) {\n const { client } = opts;\n const transformer = getTransformer(opts.transformer);\n return ()=>{\n return ({ op })=>{\n return observable((observer)=>{\n const connStateSubscription = op.type === 'subscription' ? client.connectionState.subscribe({\n next (result) {\n observer.next({\n result,\n context: op.context\n });\n }\n }) : null;\n const requestSubscription = client.request({\n op,\n transformer\n }).subscribe(observer);\n return ()=>{\n requestSubscription.unsubscribe();\n connStateSubscription?.unsubscribe();\n };\n });\n };\n };\n}\n\nexport { wsLink };\n","import { makeUrl } from '@ms-cloudpack/path-string-parsing';\nimport { createTRPCClient, createWSClient, httpBatchLink, splitLink, wsLink } from '@trpc/client';\nimport { ensureWebsocketDefined } from '../utilities/ensureWebsocketDefined.js';\nimport { ignoreSelfSignedCertErrors } from '../utilities/ignoreSelfSignedCertErrors.js';\n/**\n * Creates a cloudpack client that can be used to communicate with the cloudpack server using trpc.\n */\nexport async function createCloudpackClient(options) {\n // We polyfill websocket in node conditions.\n await ensureWebsocketDefined();\n ignoreSelfSignedCertErrors({ reporter: options.reporter });\n // Create the client.\n const wsClient = createWSClient(options);\n const tempUrl = makeUrl(options.url);\n // Replace the protocol with http so that we can use the same url for http requests.\n const isSSL = tempUrl.protocol === 'wss:';\n tempUrl.protocol = isSSL ? 'https:' : 'http:';\n const url = tempUrl.toString().replace(/\\/$/, '');\n const client = createTRPCClient({\n links: [\n splitLink({\n condition(op) {\n return op.type === 'subscription';\n },\n true: wsLink({\n client: wsClient,\n }),\n false: httpBatchLink({\n url,\n }),\n }),\n ],\n });\n const close = async () => {\n await wsClient.close();\n };\n // Ugh. This is a hack to get around the fact that the client is a proxy.\n // Make another proxy which defines the close method and passes through everything else\n // to the original client.\n return new Proxy({ close }, {\n get(target, prop) {\n // eslint-disable-next-line no-prototype-builtins\n if (target.hasOwnProperty(prop)) {\n return target[prop];\n }\n return client[prop];\n },\n });\n}\n//# sourceMappingURL=createCloudpackClient.js.map","export async function ensureWebsocketDefined() {\n if (typeof global !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const g = global;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (typeof g.WebSocket === 'undefined') {\n const { WebSocket: NodeWebSocket } = await import('ws');\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n g.WebSocket = NodeWebSocket;\n }\n }\n}\n//# sourceMappingURL=ensureWebsocketDefined.js.map","export function ignoreSelfSignedCertErrors({ reporter }) {\n if (typeof process !== 'undefined') {\n // When using self-signed certificates for the api server, node fails to make requests unless we set this.\n // eslint-disable-next-line no-restricted-properties -- ok to set properties\n process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\n // When we do this, node creates a console.error that we need to ignore:\n //\n // (node:26988) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0'\n // makes TLS connections and HTTPS requests insecure by disabling certificate verification.\n reporter?.ignoreLogMessage('Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable');\n }\n}\n//# sourceMappingURL=ignoreSelfSignedCertErrors.js.map","import { WsClient } from './wsClient/wsClient.mjs';\n\nfunction createWSClient(opts) {\n return new WsClient(opts);\n}\n\nexport { createWSClient };\n","/**\n * Attempt to create a URL object from a string, and throw an informative error if it fails.\n * (The URL constructor throws a very generic error.)\n */\nexport function makeUrl(input, base) {\n try {\n // eslint-disable-next-line no-restricted-syntax -- this is the function definition\n return new URL(input, base);\n }\n catch {\n throw new Error(`Invalid URL: \"${input}\", base: \"${base || ''}\"`);\n }\n}\n//# sourceMappingURL=makeUrl.js.map","\n import API from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./UIManager.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./UIManager.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './UIManager.module.css';\n\n/**\n * UI Manager for handling status display\n */\nexport class UIManager {\n private element: HTMLElement | null;\n\n constructor(elementId: string = 'root') {\n this.element = document.getElementById(elementId);\n }\n\n /**\n * Display a status message to the user\n */\n updateStatus(input: { message: string; tip?: string; isError?: boolean; data?: unknown }): void {\n const { message, tip, isError = false, data } = input;\n\n if (isError) {\n data ? console.error(message, data) : console.error(message);\n } else {\n data ? console.debug(message, data) : console.debug(message);\n }\n\n if (!this.element) return;\n\n this.element.innerHTML = `\n <div class=\"${styles.statusContainer + (isError ? ` ${styles.errorContainer}` : '')}\">\n <h2 class=\"${styles.title}\">Cloudpack Link Proxy</h2>\n <p class=\"${styles.message}\">${isError ? 'Error: ' : ''}${message}</p>\n ${tip ? `<p class=\"${styles.message}\"><strong>Tip:</strong> ${tip}</p>` : ''}\n <p class=\"${styles.warning}\">Do not close this page while Cloudpack link is running.</p>\n </div>\n `;\n }\n}\n","import type { CloudpackClient } from '@ms-cloudpack/api-server/browser';\n\ntype ClientId = 'link' | 'host';\n\n/**\n * Connection Manager for handling client connections\n */\nexport class ConnectionManager {\n private clients = new Map<string, CloudpackClient>();\n private connectionStates = new Map<string, boolean>();\n private checkInterval: number | null = null;\n private readonly checkIntervalMs: number = 5000; // 5 seconds\n\n /**\n * Add a client to be monitored\n */\n addClient(id: ClientId, client: CloudpackClient): void {\n this.clients.set(id, client);\n this.connectionStates.set(id, true);\n }\n\n /**\n * Get a client by ID\n */\n getClient(id: ClientId): CloudpackClient | undefined {\n return this.clients.get(id);\n }\n\n /**\n * Check if a client is connected\n */\n async checkConnection(id: ClientId): Promise<boolean> {\n const client = this.clients.get(id);\n if (!client) return false;\n\n try {\n await client.getSessionId.query();\n return true;\n } catch (e) {\n console.warn(`${id} client connection lost:`, e);\n return false;\n }\n }\n\n /**\n * Start monitoring all client connections\n */\n startMonitoring(\n onConnectionChange: (params: { id: ClientId; isConnected: boolean; wasConnected: boolean }) => Promise<void>,\n ): void {\n if (this.checkInterval) {\n window.clearInterval(this.checkInterval);\n }\n\n this.checkInterval = window.setInterval(() => {\n (async () => {\n for (const [id, _] of this.clients) {\n if (id != 'link' && id != 'host') throw new Error(`Invalid client ID: ${id}`);\n\n const wasConnected = this.connectionStates.get(id) || false;\n const isConnected = await this.checkConnection(id);\n\n if (wasConnected !== isConnected) {\n await onConnectionChange({ id, isConnected, wasConnected });\n }\n\n this.connectionStates.set(id, isConnected);\n }\n })().catch((error) => {\n console.error('Error in connection monitoring:', error);\n });\n }, this.checkIntervalMs);\n }\n\n /**\n * Stop monitoring connections\n */\n stopMonitoring(): void {\n if (this.checkInterval) {\n window.clearInterval(this.checkInterval);\n this.checkInterval = null;\n }\n }\n\n /**\n * Close all clients\n */\n async closeAll(): Promise<void> {\n for (const [id, client] of this.clients) {\n try {\n await client.close();\n console.log(`Closed ${id} client`);\n } catch (err) {\n console.error(`Error closing ${id} client:`, err);\n }\n }\n this.clients.clear();\n this.connectionStates.clear();\n }\n}\n","import { createCloudpackClient } from '@ms-cloudpack/api-server/browser';\n\n/**\n * Check if an API server is active at the given URL\n */\nexport async function isApiServerActive(url: string): Promise<boolean> {\n console.debug(`[Cloudpack] Checking session at ${url}`);\n\n const client = await createCloudpackClient({ url });\n let isActive = false;\n try {\n isActive = !!(await client.getSessionId.query());\n } catch (e) {\n /* no-op */\n } finally {\n await client.close();\n }\n\n return isActive;\n}\n","import { LinkProxyApp } from './LinkProxyApp.js';\n\n// Start the application\nconst app = new LinkProxyApp();\nvoid app.initialize();\n","import type { NotifyLinkChangeInput, LinkPathInput, GetLinkConfigOutput } from '@ms-cloudpack/api-server/browser';\nimport {\n createCloudpackClient,\n linkUpdateSource,\n linkConfigSource,\n linkPathsSource,\n linkDoneSource,\n linkDisconnectedSource,\n} from '@ms-cloudpack/api-server/browser';\nimport { UIManager } from './UIManager.js';\nimport { ConnectionManager } from './ConnectionManager.js';\nimport { isApiServerActive } from './isApiServerActive.js';\n\n/**\n * Link Proxy application that handles communication between host and link sessions\n */\nexport class LinkProxyApp {\n private ui: UIManager;\n private connectionManager: ConnectionManager;\n private linkedPathData: LinkPathInput | null = null;\n\n constructor() {\n this.ui = new UIManager();\n this.connectionManager = new ConnectionManager();\n }\n\n /**\n * Handle a connection state change\n */\n private handleConnectionChange = async (params: {\n id: string;\n isConnected: boolean;\n wasConnected: boolean;\n }): Promise<void> => {\n const { id, isConnected, wasConnected } = params;\n // Only handle disconnections\n if (wasConnected && !isConnected) {\n if (id === 'host') {\n await this.handleHostDisconnection();\n } else if (id === 'link') {\n await this.handleLinkDisconnection();\n }\n }\n };\n\n /**\n * Handle host disconnection\n */\n private async handleHostDisconnection(options?: { unreachable?: boolean }): Promise<void> {\n const isUnreachable = options?.unreachable ?? false;\n const reason = isUnreachable ? 'unreachable' : 'lost';\n // This is shown momentarily before the cleanup.\n this.ui.updateStatus({\n message: `Connection to host ${reason}. The session will be terminated.`,\n isError: true,\n });\n\n const linkClient = this.connectionManager.getClient('link');\n let isLinkClosed = false;\n if (linkClient) {\n try {\n await linkClient.publishData.mutate({\n ...linkDisconnectedSource,\n data: { reason },\n });\n isLinkClosed = true;\n } catch (err) {\n // This is also shown momentarily before the cleanup.\n this.ui.updateStatus({ message: `Error notifying link client of host connection ${reason}.`, isError: true });\n }\n }\n\n await this.cleanup();\n\n // Generate the appropriate tip based on the situation\n let tip: string;\n if (isUnreachable) {\n tip =\n 'Make sure you have a <code>cloudpack start</code> session running and use the URL from your app to run link with the following command: <code>cloudpack link --remote [URL]</code>';\n } else {\n tip = 'If you did not close the start session terminal, this is a bug. Please report it.';\n // Append additional information about link client notification if needed\n if (!isLinkClosed) {\n tip +=\n ' Link client was not successfully notified of host disconnection. You may need to terminate the link session in the terminal.';\n }\n }\n // This is the message the user will see after the cleanup.\n this.ui.updateStatus({\n message: `Connection to host ${reason}. You can close this page.`,\n tip,\n isError: true,\n });\n }\n\n /**\n * Handle link disconnection\n */\n private async handleLinkDisconnection(): Promise<void> {\n // This is shown momentarily before the cleanup, more information on following messages.\n this.ui.updateStatus({\n message: 'Connection to link client lost. Cleaning up linked paths...',\n isError: true,\n });\n\n const hostClient = this.connectionManager.getClient('host');\n if (hostClient && this.linkedPathData) {\n const { linkedPath } = this.linkedPathData;\n const unlinkedPath = linkedPath.path;\n try {\n await hostClient.unlinkPath.mutate({ linkedPath: { path: unlinkedPath } });\n this.ui.updateStatus({\n message: 'Connection to link client lost. Successfully unlinked paths on host. You can close this page.',\n tip: 'If you did not close the link client terminal. This is a bug. Please report it.',\n });\n } catch (err) {\n this.ui.updateStatus({\n message: 'Connection to link client lost. Failed to unlink paths on host.',\n // TODO: Add unlinking logic for this case\n tip: 'You may need to restart the host application to unlink the paths.',\n isError: true,\n data: err,\n });\n }\n } else {\n this.ui.updateStatus({\n message: 'Cannot clean up: host client or link data not available',\n tip: 'You may need to restart the host application to unlink the paths.',\n isError: true,\n });\n }\n\n await this.cleanup();\n }\n\n /**\n * Set up event handlers and subscriptions\n */\n private setupLinkUpdateHandler(): void {\n const linkClient = this.connectionManager.getClient('link');\n const hostClient = this.connectionManager.getClient('host');\n\n if (!linkClient || !hostClient) return;\n\n // Setup link update handler\n linkClient.onDataChanged.subscribe(linkUpdateSource, {\n onData: (updateData) => {\n this.ui.updateStatus({ message: 'Forwarding package update to the host...', data: updateData });\n\n hostClient.notifyLinkChange\n .mutate(updateData as NotifyLinkChangeInput)\n .then(() => this.ui.updateStatus({ message: 'Cloudpack Link Proxy listening for updates...' }))\n .catch((err) => {\n this.ui.updateStatus({\n message: 'Error forwarding package update to the host. This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n });\n },\n });\n }\n\n /**\n * Handle link path setup and changes\n */\n private async setupLinkPathHandler(): Promise<void> {\n const hostClient = this.connectionManager.getClient('host');\n const linkClient = this.connectionManager.getClient('link');\n if (!linkClient || !hostClient) return;\n\n // Check if the link server has already set up the paths\n if (await linkClient.getData.query(linkPathsSource)) return;\n\n linkClient.onDataChanged.subscribe(linkPathsSource, {\n onData: (setupData) => {\n this.ui.updateStatus({ message: 'Processing link setup...', data: setupData });\n\n // Store the linked path data for potential cleanup\n this.linkedPathData = setupData as LinkPathInput;\n\n void hostClient.linkPath.mutate(this.linkedPathData).then((result) => {\n const { resolveMap, linkedPaths } = result;\n this.ui.updateStatus({ message: 'Sending link setup result back to the link server...', data: result });\n\n void linkClient.publishData\n .mutate({\n ...linkDoneSource,\n data: { resolveMap, linkedPaths },\n })\n .then(() => {\n this.ui.updateStatus({ message: 'Cloudpack Link Proxy listening for updates...' });\n })\n .catch((err) => {\n this.ui.updateStatus({\n message: 'Error sending link setup result back to the link server. Please try to run link again.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n });\n });\n },\n });\n }\n\n /**\n * Set up configuration\n */\n private async setupConfig(): Promise<void> {\n const linkClient = this.connectionManager.getClient('link');\n const hostClient = this.connectionManager.getClient('host');\n\n if (!linkClient || !hostClient) return;\n\n try {\n const config = (await linkClient.getData.query(linkConfigSource)) as GetLinkConfigOutput | undefined;\n\n if (!config) {\n this.ui.updateStatus({ message: 'Fetching host configuration...' });\n\n const hostConfig = await hostClient.getLinkConfig.query();\n this.ui.updateStatus({ message: 'Sending host configuration to the link server...', data: hostConfig });\n\n await linkClient.publishData.mutate({\n ...linkConfigSource,\n data: hostConfig,\n });\n\n this.ui.updateStatus({ message: 'Host configuration sent to the link server.' });\n }\n } catch (err) {\n this.ui.updateStatus({\n message: 'Error setting up configuration. Please try to run link again.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n }\n }\n\n /**\n * Clean up resources\n */\n private async cleanup(): Promise<void> {\n this.connectionManager.stopMonitoring();\n await this.connectionManager.closeAll();\n }\n\n /**\n * Initialize the application\n */\n public async initialize(): Promise<void> {\n this.ui.updateStatus({ message: 'Initializing Cloudpack Link Proxy...' });\n\n try {\n // Validate Cloudpack context\n if (!window.__cloudpack) {\n this.ui.updateStatus({\n message: 'Cloudpack context not found on window.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n });\n throw new Error('Cloudpack not found on window.');\n }\n\n const { pageSessionContext } = window.__cloudpack;\n\n if (!pageSessionContext) {\n this.ui.updateStatus({\n message: 'Session context not found on window.__cloudpack.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: window.__cloudpack,\n });\n throw new Error('Session context not found on window.__cloudpack');\n }\n\n const { apiUrl, hostApiServerUrls } = pageSessionContext;\n\n if (!hostApiServerUrls || hostApiServerUrls.length <= 0) {\n this.ui.updateStatus({\n message: 'No host URL provided.',\n tip: 'This is a bug. Please report it.',\n data: pageSessionContext,\n isError: true,\n });\n return;\n }\n\n // Initialize link client\n const linkClient = await createCloudpackClient({ url: apiUrl });\n this.connectionManager.addClient('link', linkClient);\n\n // Find an active host API server\n let hostUrl: string | undefined;\n for (const url of hostApiServerUrls) {\n this.ui.updateStatus({ message: `Checking host API server at ${url}...` });\n const isActive = await isApiServerActive(url);\n if (isActive) {\n this.ui.updateStatus({ message: `Host API server is active at ${url}.` });\n hostUrl = url;\n break;\n }\n }\n\n if (!hostUrl) {\n await this.handleHostDisconnection({ unreachable: true });\n return;\n }\n\n // Initialize host client\n const hostClient = await createCloudpackClient({ url: hostUrl });\n this.connectionManager.addClient('host', hostClient);\n\n // Display session information\n const linkSessionId = await linkClient.getSessionId.query();\n const hostSessionId = await hostClient.getSessionId.query();\n this.ui.updateStatus({ message: `Link Session: ${linkSessionId}, Host Session: ${hostSessionId}` });\n\n // Set up connection monitoring\n this.connectionManager.startMonitoring(this.handleConnectionChange);\n\n // Set up event handlers and configuration\n this.setupLinkUpdateHandler();\n await this.setupLinkPathHandler();\n await this.setupConfig();\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n this.ui.updateStatus({\n message: errorMessage,\n isError: true,\n tip: 'This is a bug. Please report it.',\n data: err,\n });\n await this.cleanup();\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root {\n --color-neutral-background1: #ffffff;\n --color-status-danger-background1: #fdf3f4;\n --color-neutral-background2: #fafafa;\n --color-status-danger-foreground1: #b10e1c;\n --color-neutral-foreground1: #242424;\n --color-neutral-foreground2: #424242;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --color-neutral-background1: #292929;\n --color-status-danger-background1: #3b0509;\n --color-neutral-background2: #1f1f1f;\n --color-status-danger-foreground1: #dc626d;\n --color-neutral-foreground1: #ffffff;\n --color-neutral-foreground2: #d6d6d6;\n }\n}\n\nbody {\n background-color: var(--color-neutral-background1);\n margin: 0;\n padding: 0;\n font-family:\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif;\n}\n\n.v64eNmuXrV4WWsOKdGgy {\n padding: 20px;\n border-radius: 4px;\n background-color: var(--color-neutral-background2);\n margin: 20px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr {\n background-color: var(--color-status-danger-background1);\n}\n\n.b6Vf2DbiFQkD7AEkJ7p_ h2 {\n color: var(--color-neutral-foreground1);\n margin-top: 0;\n}\n\n._05tS4aUzls4kEWk9hkA7 {\n color: var(--color-neutral-foreground1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr .b6Vf2DbiFQkD7AEkJ7p_ {\n color: var(--color-status-danger-foreground1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr ._05tS4aUzls4kEWk9hkA7 {\n color: var(--color-status-danger-foreground1);\n}\n\n._05tS4aUzls4kEWk9hkA7 code {\n background-color: var(--color-neutral-background1);\n padding: 2px 5px;\n border-radius: 3px;\n font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n font-size: 0.9em;\n}\n\n.ScZ3E77NPMqtBzp0OwUr ._05tS4aUzls4kEWk9hkA7 code {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.kheFps3bT2VbnjAMYfSr {\n font-weight: bold;\n margin-top: 20px;\n color: var(--color-neutral-foreground2);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/UIManager.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oCAAoC;EACpC,0CAA0C;EAC1C,oCAAoC;EACpC,0CAA0C;EAC1C,oCAAoC;EACpC,oCAAoC;AACtC;;AAEA;EACE;IACE,oCAAoC;IACpC,0CAA0C;IAC1C,oCAAoC;IACpC,0CAA0C;IAC1C,oCAAoC;IACpC,oCAAoC;EACtC;AACF;;AAEA;EACE,kDAAkD;EAClD,SAAS;EACT,UAAU;EACV;;;;;;;cAOY;AACd;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,kDAAkD;EAClD,YAAY;EACZ,wCAAwC;AAC1C;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,uCAAuC;EACvC,aAAa;AACf;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,kDAAkD;EAClD,gBAAgB;EAChB,kBAAkB;EAClB,2DAA2D;EAC3D,gBAAgB;AAClB;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,uCAAuC;AACzC\",\"sourcesContent\":[\":root {\\n --color-neutral-background1: #ffffff;\\n --color-status-danger-background1: #fdf3f4;\\n --color-neutral-background2: #fafafa;\\n --color-status-danger-foreground1: #b10e1c;\\n --color-neutral-foreground1: #242424;\\n --color-neutral-foreground2: #424242;\\n}\\n\\n@media (prefers-color-scheme: dark) {\\n :root {\\n --color-neutral-background1: #292929;\\n --color-status-danger-background1: #3b0509;\\n --color-neutral-background2: #1f1f1f;\\n --color-status-danger-foreground1: #dc626d;\\n --color-neutral-foreground1: #ffffff;\\n --color-neutral-foreground2: #d6d6d6;\\n }\\n}\\n\\n:global body {\\n background-color: var(--color-neutral-background1);\\n margin: 0;\\n padding: 0;\\n font-family:\\n 'Segoe UI',\\n 'Segoe UI Web (West European)',\\n -apple-system,\\n BlinkMacSystemFont,\\n Roboto,\\n 'Helvetica Neue',\\n sans-serif;\\n}\\n\\n.statusContainer {\\n padding: 20px;\\n border-radius: 4px;\\n background-color: var(--color-neutral-background2);\\n margin: 20px;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n\\n.errorContainer {\\n background-color: var(--color-status-danger-background1);\\n}\\n\\n.title h2 {\\n color: var(--color-neutral-foreground1);\\n margin-top: 0;\\n}\\n\\n.message {\\n color: var(--color-neutral-foreground1);\\n}\\n\\n.errorContainer .title {\\n color: var(--color-status-danger-foreground1);\\n}\\n\\n.errorContainer .message {\\n color: var(--color-status-danger-foreground1);\\n}\\n\\n.message code {\\n background-color: var(--color-neutral-background1);\\n padding: 2px 5px;\\n border-radius: 3px;\\n font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\\n font-size: 0.9em;\\n}\\n\\n.errorContainer .message code {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.warning {\\n font-weight: bold;\\n margin-top: 20px;\\n color: var(--color-neutral-foreground2);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"statusContainer\": `v64eNmuXrV4WWsOKdGgy`,\n\t\"errorContainer\": `ScZ3E77NPMqtBzp0OwUr`,\n\t\"title\": `b6Vf2DbiFQkD7AEkJ7p_`,\n\t\"message\": `_05tS4aUzls4kEWk9hkA7`,\n\t\"warning\": `kheFps3bT2VbnjAMYfSr`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","join","cssWithMappingToString","list","toString","this","map","needLayer","length","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","css","styleElement","styleSheet","cssText","firstChild","removeChild","appendChild","document","createTextNode","memo","insert","style","target","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","insertStyleElement","styleTagTransform","apply","parentNode","removeStyleElement","nonce","setAttribute","util","objectUtil","assertEqual","_","assertIs","_arg","assertNever","_x","arrayToEnum","items","getValidEnumValues","validKeys","objectKeys","filter","filtered","objectValues","Object","keys","object","key","prototype","hasOwnProperty","call","find","arr","checker","isInteger","Number","val","isFinite","Math","floor","joinValues","array","separator","jsonStringifyReplacer","value","mergeShapes","first","second","ZodParsedType","getParsedType","string","isNaN","nan","number","boolean","function","bigint","symbol","Array","isArray","null","then","catch","promise","Map","Set","set","Date","date","unknown","ZodIssueCode","quotelessJson","replace","ZodError","errors","issues","constructor","super","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","name","format","_mapper","mapper","issue","message","fieldErrors","_errors","processError","error","code","unionErrors","returnTypeError","argumentsError","path","curr","el","assert","isEmpty","flatten","formErrors","create","_ctx","invalid_type","received","expected","invalid_literal","unrecognized_keys","invalid_union","invalid_union_discriminator","invalid_enum_value","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","includes","position","startsWith","endsWith","too_small","type","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","overrideErrorMap","setErrorMap","getErrorMap","makeIssue","params","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","slice","reverse","EMPTY_PATH","addIssueToContext","ctx","overrideMap","common","contextualErrorMap","schemaErrorMap","x","ParseStatus","dirty","abort","mergeArray","status","results","arrayValue","s","INVALID","mergeObjectAsync","pairs","syncPairs","pair","mergeObjectSync","finalObject","alwaysSet","freeze","DIRTY","OK","isAborted","isDirty","isValid","isAsync","Promise","errorUtil","errToObj","_ZodEnum_cache","_ZodNativeEnum_cache","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","get","__classPrivateFieldSet","ParseInputLazyPath","parent","_cachedPath","_path","_key","handleResult","success","_error","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","ZodType","_def","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","resolve","parse","safeParse","async","err","toLowerCase","parseAsync","safeParseAsync","maybeAsyncResult","refine","check","getIssueProperties","_refinement","setError","refinement","refinementData","ZodEffects","schema","typeName","ZodFirstPartyTypeKind","effect","superRefine","def","spa","bind","optional","nullable","nullish","or","and","transform","brand","default","describe","pipe","readonly","isNullable","isOptional","version","vendor","validate","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","defaultValueFunc","ZodDefault","innerType","defaultValue","ZodBranded","catchValueFunc","ZodCatch","catchValue","This","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","nanoidRegex","jwtRegex","durationRegex","emailRegex","emojiRegex","ipv4Regex","ipv4CidrRegex","ipv6Regex","ipv6CidrRegex","base64Regex","base64urlRegex","dateRegexSource","dateRegex","RegExp","timeRegexSource","args","secondsRegexSource","precision","datetimeRegex","regex","opts","local","offset","isValidJWT","jwt","alg","test","header","split","padEnd","decoded","atob","typ","isValidCidr","ip","ZodString","coerce","String","checks","tooBig","tooSmall","URL","lastIndex","trim","toUpperCase","_regex","_addCheck","email","url","emoji","uuid","nanoid","cuid","cuid2","ulid","base64url","cidr","datetime","time","duration","min","minLength","max","maxLength","len","nonempty","isDatetime","ch","isDate","isTime","isDuration","isEmail","isURL","isEmoji","isUUID","isNANOID","isCUID","isCUID2","isULID","isIP","isCIDR","isBase64","isBase64url","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","parseInt","toFixed","ZodNumber","arguments","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","minValue","maxValue","isInt","ZodBigInt","BigInt","_getInvalidInput","ZodBoolean","Boolean","ZodDate","getTime","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","_any","ZodUnknown","_unknown","ZodNever","never","ZodVoid","void","exactLength","all","element","deepPartialify","ZodObject","newShape","shape","fieldSchema","unwrap","ZodTuple","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","strip","augmentation","merge","merging","setKey","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","enum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","from","discriminatorValues","mergeValues","a","b","aType","bType","valid","bKeys","sharedKeys","indexOf","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","left","right","rest","itemIndex","schemas","ZodRecord","keySchema","keyType","valueSchema","valueType","third","ZodMap","entries","finalMap","ZodSet","minSize","size","maxSize","finalizeSet","elements","parsedSet","add","values","ZodFunction","implement","makeArgsIssue","makeReturnsIssue","returns","fn","me","parsedArgs","Reflect","parsedReturns","parameters","returnType","func","strictImplement","getter","expectedValues","enumValues","Values","Enum","extract","newDef","exclude","opt","WeakMap","nativeEnumValues","promisified","sourceType","checkCtx","arg","fatal","processed","executeRefinement","acc","inner","createWithPreprocess","preprocess","removeDefault","newCtx","removeCatch","ZodNaN","BRAND","Symbol","inResult","in","out","handleAsync","cleanParams","p","_params","r","_fatal","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","onumber","oboolean","NEVER","ZodTaskStartDescription","remainingTasks","totalTasks","totalErrors","totalWarnings","inputPath","outputPath","matchingZodObject","ZodTaskMessageLocation","file","line","column","ZodTaskNote","text","location","ZodTaskMessage","source","notes","ZodTaskEndDescription","warnings","ZodTiming","start","end","threwException","ZodTaskDescription","timings","startTime","durationMilliseconds","lastUpdated","tasks","ZodResolveMapEntry","dependencies","requiredBy","isExternal","isLinked","scopedVersions","ZodResolveMap","ZodPackageRecord","ZodPackageJson","ZodPackageHashesEntry","browser","node","ZodDependency","ZodLinkPackageDefinition","peerDependencies","ZodLinkedPath","rootPath","includeAll","ignoredPackages","ignoreResolutions","resolveStrategy","remote","resolveMap","hostUrl","packages","definitions","transformedDefinitions","packageHashes","hashesWithSource","hashesWithNoSource","ZodLinkPathInput","linkedPath","ZodLinkPathOutput","linkedPaths","ZodNotifyLinkChangeInput","packagePath","hash","definition","ZodPackageSettingsMatchObject","ZodPackageSettingsMatch","ZodGeneratedPackageSettingsMatch","ZodGetLinkConfigOutput","packageSettings","match","generated","linkUpdateSource","linkConfigSource","linkPathsSource","linkDoneSource","linkDisconnectedSource","reason","subscribe","self","observer","teardownRef","isDone","unsubscribed","teardownImmediately","unsubscribe","next","complete","operations","reduce","pipeReducer","prev","initialValue","observerList","obs","addObserver","removeObserver","nextValue","createChain","execute","op","links","nextOp","noop","freezeIfAvailable","createInnerProxy","callback","_memo","_cacheKey","cacheKey","Proxy","_obj","_1","_2","lastOfPath","createRecursiveProxy","mergeWithoutOverrides","obj1","objs","assign","overrides","omitPrototype","asyncIterator","sleep","ms","res","setTimeout","_define_property","defineProperty","enumerable","configurable","writable","UnknownCauseError","cause","trpcError","stack","getCauseFromUnknown","defaultFormatter","defaultTransformer","serialize","deserialize","output","TransformResultError","response","transformer","ok","transformResultInner","lazySymbol","once","uncalled","isLazy","emptyRouter","_errorShape","_meta","queries","mutations","subscriptions","errorFormatter","reservedWords","createRouterFactory","config","reservedWordsUsed","v","procedures","lazy","createLazyLoader","ref","load","router","lazyPath","lazyKey","aggregate","record","nestedKey","nestedItem","nestedRouterKey","newPath","_config","createCaller","createCallerFactory","ctxOrCallback","procedure","lazyRouter","getProcedureAtPath","getRawInput","signal","onError","mergeRouters","routerList","currentErrorFormatter","nextRouter","current","isDev","every","allowOutsideOfServer","isServer","$types","_Symbol","_Symbol1","toStringTag","dispose","asyncDispose","middlewareMarker","createMiddlewareFactory","createMiddlewareInner","middlewares","_middlewares","unstable_pipe","middlewareBuilderOrFn","pipedMiddleware","createInputMiddleware","inputMiddleware","parsedInput","rawInput","combinedInput","_type","createOutputMiddleware","outputMiddleware","StandardSchemaV1Error","getParseFn","procedureParser","parser","isStandardSchema","validateSync","createNewBuilder","def1","def2","inputs","meta","createBuilder","initDef","use","unstable_concat","builder","query","resolver","createResolver","mutation","subscription","experimental_caller","caller","_defIn","finalBuilder","marker","invoke","codeblock","callRecursive","createProcedureCaller","callerOverride","callerWrapper","middleware","_nextOpts","nextOpts","isServerDefault","globalThis","process","env","TRPCBuilder","context","defaultMeta","_cause","isTRPCClientError","$request","requestId","refCount","observers","subscriber","_sub","resetIfNeeded","findIndex","requestAsPromise","req$","observable","ac","AbortController","reject","onDone","obs$","addEventListener","observableToPromise","envelope","onConnectionStateChange","onStarted","onStopped","onData","onComplete","runtime","link","untypedClientSymbol","for","clientCallTypeMap","mutate","throwFatalError","batchLoader","pendingItems","dispatchTimer","dispatch","groupedItems","lastGroup","aborted","it","groupItems","clearTimeout","batch","fetch","_item","valueOrPromise","METHOD","getInput","dict","arrayToDict","_input","parts","queryParts","methodOverride","AbortError","throwIfAborted","DOMException","httpBatchLink","resolvedOpts","maxURLLength","Infinity","maxItems","batchOps","signals","abortedCount","onAbort","getUrl","body","getBody","resolvedHeaders","heads","headers","iterator","fromEntries","contentTypeHeader","trpcAcceptHeader","customFetchImpl","getFetch","method","json","responseJSON","opList","loaders","_res","transformed","asArray","lazyDefaults","enabled","closeMs","keepAliveDefaults","pongTimeoutMs","intervalMs","exponentialBackoff","attemptIndex","TRPCWebSocketClosedError","ResettableTimeout","reset","timeout","onTimeout","timeoutMs","stop","rej","RequestManager","register","callbacks","outgoingRequests","delete","messageId","pendingRequests","flush","requests","request","getPendingRequests","getPendingRequest","getOutgoingRequests","getRequests","hasPendingRequests","hasOutgoingRequests","setupPingInterval","ws","pingTimeout","pongTimeout","send","close","WsConnection","wsObservable","isOpen","readyState","WebSocketPonyfill","OPEN","openPromise","isClosed","CLOSING","CLOSED","open","connectCount","wsPromise","urlOptions","connectionParams","prefix","prepareUrl","keepAliveOpts","removeEventListener","asyncWsOpen","buildConnectionMessage","WebSocket","keepAlive","WsClient","allowReconnect","connectionState","activeConnection","reconnect","reconnecting","inactivityTimeout","requestsToAwait","requestManager","lastEventId","batchSend","event","connection","closedError","tryReconnect","reconnectRetryDelay","setupWebSocketListeners","handleCloseOrError","reqs","lazyMode","onOpen","incomingMessage","handleIncomingRequest","handleResponseMessage","onClose","completed","messageOrMessages","messages","lazyOptions","retryDelayMs","wsLink","client","connStateSubscription","requestSubscription","createCloudpackClient","global","g","NodeWebSocket","ensureWebsocketDefined","reporter","NODE_TLS_REJECT_UNAUTHORIZED","ignoreLogMessage","ignoreSelfSignedCertErrors","wsClient","tempUrl","makeUrl","isSSL","protocol","proxy","pathCopy","procedureType","clientCallType","pop","createTRPCClientProxy","createTRPCClient","condition","true","false","yes","no","props","prop","setAttributes","locals","UIManager","elementId","getElementById","updateStatus","tip","isError","console","debug","innerHTML","styles","statusContainer","errorContainer","title","warning","ConnectionManager","clients","connectionStates","checkInterval","checkIntervalMs","addClient","getClient","checkConnection","getSessionId","warn","startMonitoring","onConnectionChange","clearInterval","setInterval","wasConnected","isConnected","stopMonitoring","closeAll","log","clear","isApiServerActive","isActive","app","ui","connectionManager","linkedPathData","handleHostDisconnection","handleLinkDisconnection","isUnreachable","unreachable","linkClient","isLinkClosed","publishData","cleanup","hostClient","unlinkedPath","unlinkPath","onDataChanged","updateData","notifyLinkChange","setupLinkPathHandler","getData","setupData","linkPath","setupConfig","hostConfig","getLinkConfig","initialize","__cloudpack","pageSessionContext","apiUrl","hostApiServerUrls","linkSessionId","hostSessionId","handleConnectionChange","setupLinkUpdateHandler","___CSS_LOADER_EXPORT___","createElement","attributes"],"sourceRoot":""}
1
+ {"version":3,"file":"lib/index.js","mappings":";4GAEAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAUD,EAAK,GACfE,EAAaF,EAAK,GACtB,IAAKE,EACH,OAAOD,EAET,GAAoB,mBAATE,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DC,OAAON,GAC7EO,EAAgB,OAAOD,OAAOD,EAAM,OACxC,MAAO,CAACR,GAASS,OAAO,CAACC,IAAgBC,KAAK,KAChD,CACA,MAAO,CAACX,GAASW,KAAK,KACxB,WCTAd,EAAOC,QAAU,SAAUc,GACzB,IAAIC,EAAO,GA4EX,OAzEAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUjB,GACxB,IAAIC,EAAU,GACViB,OAA+B,IAAZlB,EAAK,GAoB5B,OAnBIA,EAAK,KACPC,GAAW,cAAcS,OAAOV,EAAK,GAAI,QAEvCA,EAAK,KACPC,GAAW,UAAUS,OAAOV,EAAK,GAAI,OAEnCkB,IACFjB,GAAW,SAASS,OAAOV,EAAK,GAAGmB,OAAS,EAAI,IAAIT,OAAOV,EAAK,IAAM,GAAI,OAE5EC,GAAWY,EAAuBb,GAC9BkB,IACFjB,GAAW,KAETD,EAAK,KACPC,GAAW,KAETD,EAAK,KACPC,GAAW,KAENA,CACT,GAAGW,KAAK,GACV,EAGAE,EAAKM,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAE7B,IAAIC,EAAyB,CAAC,EAC9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIZ,KAAKG,OAAQS,IAAK,CACpC,IAAIC,EAAKb,KAAKY,GAAG,GACP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAEF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQF,OAAQW,IAAM,CAC1C,IAAI9B,EAAO,GAAGU,OAAOW,EAAQS,IACzBP,GAAUI,EAAuB3B,EAAK,WAGrB,IAAVyB,SACc,IAAZzB,EAAK,KAGdA,EAAK,GAAK,SAASU,OAAOV,EAAK,GAAGmB,OAAS,EAAI,IAAIT,OAAOV,EAAK,IAAM,GAAI,MAAMU,OAAOV,EAAK,GAAI,MAF/FA,EAAK,GAAKyB,GAMVH,IACGtB,EAAK,IAGRA,EAAK,GAAK,UAAUU,OAAOV,EAAK,GAAI,MAAMU,OAAOV,EAAK,GAAI,KAC1DA,EAAK,GAAKsB,GAHVtB,EAAK,GAAKsB,GAMVE,IACGxB,EAAK,IAGRA,EAAK,GAAK,cAAcU,OAAOV,EAAK,GAAI,OAAOU,OAAOV,EAAK,GAAI,KAC/DA,EAAK,GAAKwB,GAHVxB,EAAK,GAAK,GAAGU,OAAOc,IAMxBV,EAAKiB,KAAK/B,GACZ,CACF,EACOc,CACT,qBCpFWkB,EA6DAC,8tDA5DX,SAAWD,GACPA,EAAKE,YAAeC,MAEpBH,EAAKI,SADL,SAAkBC,GAAQ,EAK1BL,EAAKM,YAHL,SAAqBC,GACjB,MAAM,IAAIC,KACd,EAEAR,EAAKS,YAAeC,IAChB,MAAMC,EAAM,CAAC,EACb,IAAK,MAAM3C,KAAQ0C,EACfC,EAAI3C,GAAQA,EAEhB,OAAO2C,GAEXX,EAAKY,mBAAsBD,IACvB,MAAME,EAAYb,EAAKc,WAAWH,GAAKI,OAAQnB,GAA6B,iBAAhBe,EAAIA,EAAIf,KAC9DoB,EAAW,CAAC,EAClB,IAAK,MAAMpB,KAAKiB,EACZG,EAASpB,GAAKe,EAAIf,GAEtB,OAAOI,EAAKiB,aAAaD,IAE7BhB,EAAKiB,aAAgBN,GACVX,EAAKc,WAAWH,GAAK1B,IAAI,SAAUiC,GACtC,OAAOP,EAAIO,EACf,GAEJlB,EAAKc,WAAoC,mBAAhBK,OAAOC,KACzBT,GAAQQ,OAAOC,KAAKT,GACpBU,IACC,MAAMD,EAAO,GACb,IAAK,MAAME,KAAOD,EACVF,OAAOI,UAAUC,eAAeC,KAAKJ,EAAQC,IAC7CF,EAAKrB,KAAKuB,GAGlB,OAAOF,GAEfpB,EAAK0B,KAAO,CAACC,EAAKC,KACd,IAAK,MAAM5D,KAAQ2D,EACf,GAAIC,EAAQ5D,GACR,OAAOA,GAInBgC,EAAK6B,UAAwC,mBAArBC,OAAOD,UACxBE,GAAQD,OAAOD,UAAUE,GACzBA,GAAuB,iBAARA,GAAoBD,OAAOE,SAASD,IAAQE,KAAKC,MAAMH,KAASA,EAItF/B,EAAKmC,WAHL,SAAoBC,EAAOC,EAAY,OACnC,OAAOD,EAAMnD,IAAK8C,GAAwB,iBAARA,EAAmB,IAAIA,KAASA,GAAMnD,KAAKyD,EACjF,EAEArC,EAAKsC,sBAAwB,CAACnC,EAAGoC,IACR,iBAAVA,EACAA,EAAMxD,WAEVwD,CAEd,CA3DD,CA2DGvC,IAASA,EAAO,CAAC,IAEpB,SAAWC,GACPA,EAAWuC,YAAc,CAACC,EAAOC,KACtB,IACAD,KACAC,GAGd,CAPD,CAOGzC,IAAeA,EAAa,CAAC,IACzB,MAAM0C,EAAgB3C,EAAKS,YAAY,CAC1C,SACA,MACA,SACA,UACA,QACA,UACA,OACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,UACA,UACA,OACA,QACA,MACA,QAESmC,EAAiBnE,IAE1B,cADiBA,GAEb,IAAK,YACD,OAAOkE,EAAcjD,UACzB,IAAK,SACD,OAAOiD,EAAcE,OACzB,IAAK,SACD,OAAOf,OAAOgB,MAAMrE,GAAQkE,EAAcI,IAAMJ,EAAcK,OAClE,IAAK,UACD,OAAOL,EAAcM,QACzB,IAAK,WACD,OAAON,EAAcO,SACzB,IAAK,SACD,OAAOP,EAAcQ,OACzB,IAAK,SACD,OAAOR,EAAcS,OACzB,IAAK,SACD,OAAIC,MAAMC,QAAQ7E,GACPkE,EAAcP,MAEZ,OAAT3D,EACOkE,EAAcY,KAErB9E,EAAK+E,MAA6B,mBAAd/E,EAAK+E,MAAuB/E,EAAKgF,OAA+B,mBAAfhF,EAAKgF,MACnEd,EAAce,QAEN,oBAARC,KAAuBlF,aAAgBkF,IACvChB,EAAc1D,IAEN,oBAAR2E,KAAuBnF,aAAgBmF,IACvCjB,EAAckB,IAEL,oBAATC,MAAwBrF,aAAgBqF,KACxCnB,EAAcoB,KAElBpB,EAActB,OACzB,QACI,OAAOsB,EAAcqB,UCjIpBC,EAAejE,EAAKS,YAAY,CACzC,eACA,kBACA,SACA,gBACA,8BACA,qBACA,oBACA,oBACA,sBACA,eACA,iBACA,YACA,UACA,6BACA,kBACA,eAESyD,EAAiBvD,GACbpC,KAAKC,UAAUmC,EAAK,KAAM,GAC3BwD,QAAQ,cAAe,OAEhC,MAAMC,UAAiB5D,MAC1B,UAAI6D,GACA,OAAOrF,KAAKsF,MAChB,CACA,WAAAC,CAAYD,GACRE,QACAxF,KAAKsF,OAAS,GACdtF,KAAKyF,SAAYC,IACb1F,KAAKsF,OAAS,IAAItF,KAAKsF,OAAQI,IAEnC1F,KAAK2F,UAAY,CAACC,EAAO,MACrB5F,KAAKsF,OAAS,IAAItF,KAAKsF,UAAWM,IAEtC,MAAMC,aAAyBtD,UAC3BJ,OAAO2D,eAEP3D,OAAO2D,eAAe9F,KAAM6F,GAG5B7F,KAAK+F,UAAYF,EAErB7F,KAAKgG,KAAO,WACZhG,KAAKsF,OAASA,CAClB,CACA,MAAAW,CAAOC,GACH,MAAMC,EAASD,GACX,SAAUE,GACN,OAAOA,EAAMC,OACjB,EACEC,EAAc,CAAEC,QAAS,IACzBC,EAAgBC,IAClB,IAAK,MAAML,KAASK,EAAMnB,OACtB,GAAmB,kBAAfc,EAAMM,KACNN,EAAMO,YAAY1G,IAAIuG,QAErB,GAAmB,wBAAfJ,EAAMM,KACXF,EAAaJ,EAAMQ,sBAElB,GAAmB,sBAAfR,EAAMM,KACXF,EAAaJ,EAAMS,qBAElB,GAA0B,IAAtBT,EAAMU,KAAK3G,OAChBmG,EAAYC,QAAQxF,KAAKoF,EAAOC,QAE/B,CACD,IAAIW,EAAOT,EACPlG,EAAI,EACR,KAAOA,EAAIgG,EAAMU,KAAK3G,QAAQ,CAC1B,MAAM6G,EAAKZ,EAAMU,KAAK1G,GACLA,IAAMgG,EAAMU,KAAK3G,OAAS,GAYvC4G,EAAKC,GAAMD,EAAKC,IAAO,CAAET,QAAS,IAClCQ,EAAKC,GAAIT,QAAQxF,KAAKoF,EAAOC,KAX7BW,EAAKC,GAAMD,EAAKC,IAAO,CAAET,QAAS,IAatCQ,EAAOA,EAAKC,GACZ5G,GACJ,CACJ,GAIR,OADAoG,EAAaxG,MACNsG,CACX,CACA,aAAOW,CAAO1D,GACV,KAAMA,aAAiB6B,GACnB,MAAM,IAAI5D,MAAM,mBAAmB+B,IAE3C,CACA,QAAAxD,GACI,OAAOC,KAAKqG,OAChB,CACA,WAAIA,GACA,OAAO9G,KAAKC,UAAUQ,KAAKsF,OAAQtE,EAAKsC,sBAAuB,EACnE,CACA,WAAI4D,GACA,OAA8B,IAAvBlH,KAAKsF,OAAOnF,MACvB,CACA,OAAAgH,CAAQhB,EAAUC,GAAUA,EAAMC,SAC9B,MAAMC,EAAc,CAAC,EACfc,EAAa,GACnB,IAAK,MAAM1B,KAAO1F,KAAKsF,OACfI,EAAIoB,KAAK3G,OAAS,GAClBmG,EAAYZ,EAAIoB,KAAK,IAAMR,EAAYZ,EAAIoB,KAAK,KAAO,GACvDR,EAAYZ,EAAIoB,KAAK,IAAI/F,KAAKoF,EAAOT,KAGrC0B,EAAWrG,KAAKoF,EAAOT,IAG/B,MAAO,CAAE0B,aAAYd,cACzB,CACA,cAAIc,GACA,OAAOpH,KAAKmH,SAChB,EAEJ/B,EAASiC,OAAU/B,GACD,IAAIF,EAASE,GC/H/B,MAwGA,EAxGiB,CAACc,EAAOkB,KACrB,IAAIjB,EACJ,OAAQD,EAAMM,MACV,KAAKzB,EAAasC,aAEVlB,EADAD,EAAMoB,WAAa7D,EAAcjD,UACvB,WAGA,YAAY0F,EAAMqB,sBAAsBrB,EAAMoB,WAE5D,MACJ,KAAKvC,EAAayC,gBACdrB,EAAU,mCAAmC9G,KAAKC,UAAU4G,EAAMqB,SAAUzG,EAAKsC,yBACjF,MACJ,KAAK2B,EAAa0C,kBACdtB,EAAU,kCAAkCrF,EAAKmC,WAAWiD,EAAMhE,KAAM,QACxE,MACJ,KAAK6C,EAAa2C,cACdvB,EAAU,gBACV,MACJ,KAAKpB,EAAa4C,4BACdxB,EAAU,yCAAyCrF,EAAKmC,WAAWiD,EAAM0B,WACzE,MACJ,KAAK7C,EAAa8C,mBACd1B,EAAU,gCAAgCrF,EAAKmC,WAAWiD,EAAM0B,uBAAuB1B,EAAMoB,YAC7F,MACJ,KAAKvC,EAAa+C,kBACd3B,EAAU,6BACV,MACJ,KAAKpB,EAAagD,oBACd5B,EAAU,+BACV,MACJ,KAAKpB,EAAaiD,aACd7B,EAAU,eACV,MACJ,KAAKpB,EAAakD,eACkB,iBAArB/B,EAAMgC,WACT,aAAchC,EAAMgC,YACpB/B,EAAU,gCAAgCD,EAAMgC,WAAWC,YAClB,iBAA9BjC,EAAMgC,WAAWE,WACxBjC,EAAU,GAAGA,uDAA6DD,EAAMgC,WAAWE,aAG1F,eAAgBlC,EAAMgC,WAC3B/B,EAAU,mCAAmCD,EAAMgC,WAAWG,cAEzD,aAAcnC,EAAMgC,WACzB/B,EAAU,iCAAiCD,EAAMgC,WAAWI,YAG5DxH,EAAKM,YAAY8E,EAAMgC,YAI3B/B,EAD0B,UAArBD,EAAMgC,WACD,WAAWhC,EAAMgC,aAGjB,UAEd,MACJ,KAAKnD,EAAawD,UAEVpC,EADe,UAAfD,EAAMsC,KACI,sBAAsBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,WAAa,eAAexC,EAAMyC,qBAC1F,WAAfzC,EAAMsC,KACD,uBAAuBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,WAAa,UAAUxC,EAAMyC,uBACtF,WAAfzC,EAAMsC,KACD,kBAAkBtC,EAAMuC,MAAQ,oBAAsBvC,EAAMwC,UAAY,4BAA8B,kBAAkBxC,EAAMyC,UACpH,SAAfzC,EAAMsC,KACD,gBAAgBtC,EAAMuC,MAAQ,oBAAsBvC,EAAMwC,UAAY,4BAA8B,kBAAkB,IAAI9D,KAAKhC,OAAOsD,EAAMyC,YAE5I,gBACd,MACJ,KAAK5D,EAAa6D,QAEVzC,EADe,UAAfD,EAAMsC,KACI,sBAAsBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,UAAY,eAAexC,EAAM2C,qBACzF,WAAf3C,EAAMsC,KACD,uBAAuBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,UAAY,WAAWxC,EAAM2C,uBACtF,WAAf3C,EAAMsC,KACD,kBAAkBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,wBAA0B,eAAexC,EAAM2C,UACnG,WAAf3C,EAAMsC,KACD,kBAAkBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,wBAA0B,eAAexC,EAAM2C,UACnG,SAAf3C,EAAMsC,KACD,gBAAgBtC,EAAMuC,MAAQ,UAAYvC,EAAMwC,UAAY,2BAA6B,kBAAkB,IAAI9D,KAAKhC,OAAOsD,EAAM2C,YAEjI,gBACd,MACJ,KAAK9D,EAAa+D,OACd3C,EAAU,gBACV,MACJ,KAAKpB,EAAagE,2BACd5C,EAAU,2CACV,MACJ,KAAKpB,EAAaiE,gBACd7C,EAAU,gCAAgCD,EAAM+C,aAChD,MACJ,KAAKlE,EAAamE,WACd/C,EAAU,wBACV,MACJ,QACIA,EAAUiB,EAAK+B,aACfrI,EAAKM,YAAY8E,GAEzB,MAAO,CAAEC,YCvGb,IAAIiD,EAAmB,EAEhB,SAASC,EAAYtJ,GACxBqJ,EAAmBrJ,CACvB,CACO,SAASuJ,IACZ,OAAOF,CACX,CCNO,MAAMG,EAAaC,IACtB,MAAM,KAAEjK,EAAI,KAAEqH,EAAI,UAAE6C,EAAS,UAAEC,GAAcF,EACvCG,EAAW,IAAI/C,KAAU8C,EAAU9C,MAAQ,IAC3CgD,EAAY,IACXF,EACH9C,KAAM+C,GAEV,QAA0BnJ,IAAtBkJ,EAAUvD,QACV,MAAO,IACAuD,EACH9C,KAAM+C,EACNxD,QAASuD,EAAUvD,SAG3B,IAAI0D,EAAe,GACnB,MAAMC,EAAOL,EACR5H,OAAQkI,KAAQA,GAChBC,QACAC,UACL,IAAK,MAAMlK,KAAO+J,EACdD,EAAe9J,EAAI6J,EAAW,CAAErK,OAAM4J,aAAcU,IAAgB1D,QAExE,MAAO,IACAuD,EACH9C,KAAM+C,EACNxD,QAAS0D,IAGJK,EAAa,GACnB,SAASC,EAAkBC,EAAKV,GACnC,MAAMW,EAAcf,IACdpD,EAAQqD,EAAU,CACpBG,UAAWA,EACXnK,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACV6C,UAAW,CACPW,EAAIE,OAAOC,mBACXH,EAAII,eACJH,EACAA,IAAgB,OAAkB7J,EAAY,GAChDqB,OAAQ4I,KAAQA,KAEtBL,EAAIE,OAAOlF,OAAOvE,KAAKqF,EAC3B,CACO,MAAMwE,EACT,WAAArF,GACIvF,KAAKuD,MAAQ,OACjB,CACA,KAAAsH,GACuB,UAAf7K,KAAKuD,QACLvD,KAAKuD,MAAQ,QACrB,CACA,KAAAuH,GACuB,YAAf9K,KAAKuD,QACLvD,KAAKuD,MAAQ,UACrB,CACA,iBAAOwH,CAAWC,EAAQC,GACtB,MAAMC,EAAa,GACnB,IAAK,MAAMC,KAAKF,EAAS,CACrB,GAAiB,YAAbE,EAAEH,OACF,OAAOI,EACM,UAAbD,EAAEH,QACFA,EAAOH,QACXK,EAAWnK,KAAKoK,EAAE5H,MACtB,CACA,MAAO,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAO2H,EAC1C,CACA,6BAAaG,CAAiBL,EAAQM,GAClC,MAAMC,EAAY,GAClB,IAAK,MAAMC,KAAQF,EAAO,CACtB,MAAMhJ,QAAYkJ,EAAKlJ,IACjBiB,QAAciI,EAAKjI,MACzBgI,EAAUxK,KAAK,CACXuB,MACAiB,SAER,CACA,OAAOqH,EAAYa,gBAAgBT,EAAQO,EAC/C,CACA,sBAAOE,CAAgBT,EAAQM,GAC3B,MAAMI,EAAc,CAAC,EACrB,IAAK,MAAMF,KAAQF,EAAO,CACtB,MAAM,IAAEhJ,EAAG,MAAEiB,GAAUiI,EACvB,GAAmB,YAAflJ,EAAI0I,OACJ,OAAOI,EACX,GAAqB,YAAjB7H,EAAMyH,OACN,OAAOI,EACQ,UAAf9I,EAAI0I,QACJA,EAAOH,QACU,UAAjBtH,EAAMyH,QACNA,EAAOH,QACO,cAAdvI,EAAIiB,YAAiD,IAAhBA,EAAMA,QAAyBiI,EAAKG,YACzED,EAAYpJ,EAAIiB,OAASA,EAAMA,MAEvC,CACA,MAAO,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAOmI,EAC1C,EAEG,MAAMN,EAAUjJ,OAAOyJ,OAAO,CACjCZ,OAAQ,YAECa,EAAStI,IAAU,CAAGyH,OAAQ,QAASzH,UACvCuI,EAAMvI,IAAU,CAAGyH,OAAQ,QAASzH,UACpCwI,EAAapB,GAAmB,YAAbA,EAAEK,OACrBgB,EAAWrB,GAAmB,UAAbA,EAAEK,OACnBiB,EAAWtB,GAAmB,UAAbA,EAAEK,OACnBkB,EAAWvB,GAAyB,oBAAZwB,SAA2BxB,aAAawB,QC5GtE,IAAIC,GACX,SAAWA,GACPA,EAAUC,SAAYhG,GAA+B,iBAAZA,EAAuB,CAAEA,WAAYA,GAAW,CAAC,EAE1F+F,EAAUrM,SAAYsG,GAA+B,iBAAZA,EAAuBA,EAAUA,GAASA,OACtF,CAJD,CAIG+F,IAAcA,EAAY,CAAC,ICA9B,MAAME,EACF,WAAA/G,CAAYgH,EAAQhJ,EAAOuD,EAAMxE,GAC7BtC,KAAKwM,YAAc,GACnBxM,KAAKuM,OAASA,EACdvM,KAAKP,KAAO8D,EACZvD,KAAKyM,MAAQ3F,EACb9G,KAAK0M,KAAOpK,CAChB,CACA,QAAIwE,GASA,OARK9G,KAAKwM,YAAYrM,SACdkE,MAAMC,QAAQtE,KAAK0M,MACnB1M,KAAKwM,YAAYzL,QAAQf,KAAKyM,SAAUzM,KAAK0M,MAG7C1M,KAAKwM,YAAYzL,QAAQf,KAAKyM,MAAOzM,KAAK0M,OAG3C1M,KAAKwM,WAChB,EAEJ,MAAMG,EAAe,CAACrC,EAAKsC,KACvB,GAAIX,EAAQW,GACR,MAAO,CAAEC,SAAS,EAAMpN,KAAMmN,EAAOrJ,OAGrC,IAAK+G,EAAIE,OAAOlF,OAAOnF,OACnB,MAAM,IAAIqB,MAAM,6CAEpB,MAAO,CACHqL,SAAS,EACT,SAAIpG,GACA,GAAIzG,KAAK8M,OACL,OAAO9M,KAAK8M,OAChB,MAAMrG,EAAQ,IAAIrB,EAASkF,EAAIE,OAAOlF,QAEtC,OADAtF,KAAK8M,OAASrG,EACPzG,KAAK8M,MAChB,IAIZ,SAASC,EAAoBrD,GACzB,IAAKA,EACD,MAAO,CAAC,EACZ,MAAM,SAAEsD,EAAQ,mBAAEC,EAAkB,eAAEC,EAAc,YAAEC,GAAgBzD,EACtE,GAAIsD,IAAaC,GAAsBC,GACnC,MAAM,IAAI1L,MAAM,6FAEpB,OAAIwL,EACO,CAAEA,SAAUA,EAAUG,eAa1B,CAAEH,SAZS,CAACI,EAAK9C,KACpB,MAAM,QAAEjE,GAAYqD,EACpB,MAAiB,uBAAb0D,EAAI1G,KACG,CAAEL,QAASA,GAAWiE,EAAIjB,mBAEb,IAAbiB,EAAI7K,KACJ,CAAE4G,QAASA,GAAW6G,GAAkB5C,EAAIjB,cAEtC,iBAAb+D,EAAI1G,KACG,CAAEL,QAASiE,EAAIjB,cACnB,CAAEhD,QAASA,GAAW4G,GAAsB3C,EAAIjB,eAE7B8D,cAClC,CACO,MAAME,EACT,eAAIF,GACA,OAAOnN,KAAKsN,KAAKH,WACrB,CACA,QAAAI,CAASC,GACL,OAAO5J,EAAc4J,EAAM/N,KAC/B,CACA,eAAAgO,CAAgBD,EAAOlD,GACnB,OAAQA,GAAO,CACXE,OAAQgD,EAAMjB,OAAO/B,OACrB/K,KAAM+N,EAAM/N,KACZiO,WAAY9J,EAAc4J,EAAM/N,MAChCiL,eAAgB1K,KAAKsN,KAAKN,SAC1BlG,KAAM0G,EAAM1G,KACZyF,OAAQiB,EAAMjB,OAEtB,CACA,mBAAAoB,CAAoBH,GAChB,MAAO,CACHxC,OAAQ,IAAIJ,EACZN,IAAK,CACDE,OAAQgD,EAAMjB,OAAO/B,OACrB/K,KAAM+N,EAAM/N,KACZiO,WAAY9J,EAAc4J,EAAM/N,MAChCiL,eAAgB1K,KAAKsN,KAAKN,SAC1BlG,KAAM0G,EAAM1G,KACZyF,OAAQiB,EAAMjB,QAG1B,CACA,UAAAqB,CAAWJ,GACP,MAAMZ,EAAS5M,KAAK6N,OAAOL,GAC3B,GAAItB,EAAQU,GACR,MAAM,IAAIpL,MAAM,0CAEpB,OAAOoL,CACX,CACA,WAAAkB,CAAYN,GACR,MAAMZ,EAAS5M,KAAK6N,OAAOL,GAC3B,OAAOrB,QAAQ4B,QAAQnB,EAC3B,CACA,KAAAoB,CAAMvO,EAAMiK,GACR,MAAMkD,EAAS5M,KAAKiO,UAAUxO,EAAMiK,GACpC,GAAIkD,EAAOC,QACP,OAAOD,EAAOnN,KAClB,MAAMmN,EAAOnG,KACjB,CACA,SAAAwH,CAAUxO,EAAMiK,GACZ,MAAMY,EAAM,CACRE,OAAQ,CACJlF,OAAQ,GACR4I,MAAOxE,GAAQwE,QAAS,EACxBzD,mBAAoBf,GAAQsD,UAEhClG,KAAM4C,GAAQ5C,MAAQ,GACtB4D,eAAgB1K,KAAKsN,KAAKN,SAC1BT,OAAQ,KACR9M,OACAiO,WAAY9J,EAAcnE,IAExBmN,EAAS5M,KAAK4N,WAAW,CAAEnO,OAAMqH,KAAMwD,EAAIxD,KAAMyF,OAAQjC,IAC/D,OAAOqC,EAAarC,EAAKsC,EAC7B,CACA,YAAYnN,GACR,MAAM6K,EAAM,CACRE,OAAQ,CACJlF,OAAQ,GACR4I,QAASlO,KAAK,aAAakO,OAE/BpH,KAAM,GACN4D,eAAgB1K,KAAKsN,KAAKN,SAC1BT,OAAQ,KACR9M,OACAiO,WAAY9J,EAAcnE,IAE9B,IAAKO,KAAK,aAAakO,MACnB,IACI,MAAMtB,EAAS5M,KAAK4N,WAAW,CAAEnO,OAAMqH,KAAM,GAAIyF,OAAQjC,IACzD,OAAO2B,EAAQW,GACT,CACErJ,MAAOqJ,EAAOrJ,OAEhB,CACE+B,OAAQgF,EAAIE,OAAOlF,OAE/B,CACA,MAAO6I,GACCA,GAAK9H,SAAS+H,eAAe/F,SAAS,iBACtCrI,KAAK,aAAakO,OAAQ,GAE9B5D,EAAIE,OAAS,CACTlF,OAAQ,GACR4I,OAAO,EAEf,CAEJ,OAAOlO,KAAK8N,YAAY,CAAErO,OAAMqH,KAAM,GAAIyF,OAAQjC,IAAO9F,KAAMoI,GAAWX,EAAQW,GAC5E,CACErJ,MAAOqJ,EAAOrJ,OAEhB,CACE+B,OAAQgF,EAAIE,OAAOlF,QAE/B,CACA,gBAAM+I,CAAW5O,EAAMiK,GACnB,MAAMkD,QAAe5M,KAAKsO,eAAe7O,EAAMiK,GAC/C,GAAIkD,EAAOC,QACP,OAAOD,EAAOnN,KAClB,MAAMmN,EAAOnG,KACjB,CACA,oBAAM6H,CAAe7O,EAAMiK,GACvB,MAAMY,EAAM,CACRE,OAAQ,CACJlF,OAAQ,GACRmF,mBAAoBf,GAAQsD,SAC5BkB,OAAO,GAEXpH,KAAM4C,GAAQ5C,MAAQ,GACtB4D,eAAgB1K,KAAKsN,KAAKN,SAC1BT,OAAQ,KACR9M,OACAiO,WAAY9J,EAAcnE,IAExB8O,EAAmBvO,KAAK6N,OAAO,CAAEpO,OAAMqH,KAAMwD,EAAIxD,KAAMyF,OAAQjC,IAC/DsC,QAAgBV,EAAQqC,GAAoBA,EAAmBpC,QAAQ4B,QAAQQ,IACrF,OAAO5B,EAAarC,EAAKsC,EAC7B,CACA,MAAA4B,CAAOC,EAAOpI,GACV,MAAMqI,EAAsB3L,GACD,iBAAZsD,QAA2C,IAAZA,EAC/B,CAAEA,WAEe,mBAAZA,EACLA,EAAQtD,GAGRsD,EAGf,OAAOrG,KAAK2O,YAAY,CAAC5L,EAAKuH,KAC1B,MAAMsC,EAAS6B,EAAM1L,GACf6L,EAAW,IAAMtE,EAAI7E,SAAS,CAChCiB,KAAMzB,EAAa+D,UAChB0F,EAAmB3L,KAE1B,MAAuB,oBAAZoJ,SAA2BS,aAAkBT,QAC7CS,EAAOpI,KAAM/E,KACXA,IACDmP,KACO,MAOdhC,IACDgC,KACO,IAMnB,CACA,UAAAC,CAAWJ,EAAOK,GACd,OAAO9O,KAAK2O,YAAY,CAAC5L,EAAKuH,MACrBmE,EAAM1L,KACPuH,EAAI7E,SAAmC,mBAAnBqJ,EAAgCA,EAAe/L,EAAKuH,GAAOwE,IACxE,GAMnB,CACA,WAAAH,CAAYE,GACR,OAAO,IAAIE,GAAW,CAClBC,OAAQhP,KACRiP,SAAUC,GAAsBH,WAChCI,OAAQ,CAAEzG,KAAM,aAAcmG,eAEtC,CACA,WAAAO,CAAYP,GACR,OAAO7O,KAAK2O,YAAYE,EAC5B,CACA,WAAAtJ,CAAY8J,GAERrP,KAAKsP,IAAMtP,KAAKsO,eAChBtO,KAAKsN,KAAO+B,EACZrP,KAAKgO,MAAQhO,KAAKgO,MAAMuB,KAAKvP,MAC7BA,KAAKiO,UAAYjO,KAAKiO,UAAUsB,KAAKvP,MACrCA,KAAKqO,WAAarO,KAAKqO,WAAWkB,KAAKvP,MACvCA,KAAKsO,eAAiBtO,KAAKsO,eAAeiB,KAAKvP,MAC/CA,KAAKsP,IAAMtP,KAAKsP,IAAIC,KAAKvP,MACzBA,KAAKwO,OAASxO,KAAKwO,OAAOe,KAAKvP,MAC/BA,KAAK6O,WAAa7O,KAAK6O,WAAWU,KAAKvP,MACvCA,KAAKoP,YAAcpP,KAAKoP,YAAYG,KAAKvP,MACzCA,KAAKwP,SAAWxP,KAAKwP,SAASD,KAAKvP,MACnCA,KAAKyP,SAAWzP,KAAKyP,SAASF,KAAKvP,MACnCA,KAAK0P,QAAU1P,KAAK0P,QAAQH,KAAKvP,MACjCA,KAAKoD,MAAQpD,KAAKoD,MAAMmM,KAAKvP,MAC7BA,KAAK0E,QAAU1E,KAAK0E,QAAQ6K,KAAKvP,MACjCA,KAAK2P,GAAK3P,KAAK2P,GAAGJ,KAAKvP,MACvBA,KAAK4P,IAAM5P,KAAK4P,IAAIL,KAAKvP,MACzBA,KAAK6P,UAAY7P,KAAK6P,UAAUN,KAAKvP,MACrCA,KAAK8P,MAAQ9P,KAAK8P,MAAMP,KAAKvP,MAC7BA,KAAK+P,QAAU/P,KAAK+P,QAAQR,KAAKvP,MACjCA,KAAKyE,MAAQzE,KAAKyE,MAAM8K,KAAKvP,MAC7BA,KAAKgQ,SAAWhQ,KAAKgQ,SAAST,KAAKvP,MACnCA,KAAKiQ,KAAOjQ,KAAKiQ,KAAKV,KAAKvP,MAC3BA,KAAKkQ,SAAWlQ,KAAKkQ,SAASX,KAAKvP,MACnCA,KAAKmQ,WAAanQ,KAAKmQ,WAAWZ,KAAKvP,MACvCA,KAAKoQ,WAAapQ,KAAKoQ,WAAWb,KAAKvP,MACvCA,KAAK,aAAe,CAChBqQ,QAAS,EACTC,OAAQ,MACRC,SAAW9Q,GAASO,KAAK,aAAaP,GAE9C,CACA,QAAA+P,GACI,OAAOgB,GAAYnJ,OAAOrH,KAAMA,KAAKsN,KACzC,CACA,QAAAmC,GACI,OAAOgB,GAAYpJ,OAAOrH,KAAMA,KAAKsN,KACzC,CACA,OAAAoC,GACI,OAAO1P,KAAKyP,WAAWD,UAC3B,CACA,KAAApM,GACI,OAAOsN,GAASrJ,OAAOrH,KAC3B,CACA,OAAA0E,GACI,OAAOiM,GAAWtJ,OAAOrH,KAAMA,KAAKsN,KACxC,CACA,EAAAqC,CAAGiB,GACC,OAAOC,GAASxJ,OAAO,CAACrH,KAAM4Q,GAAS5Q,KAAKsN,KAChD,CACA,GAAAsC,CAAIkB,GACA,OAAOC,GAAgB1J,OAAOrH,KAAM8Q,EAAU9Q,KAAKsN,KACvD,CACA,SAAAuC,CAAUA,GACN,OAAO,IAAId,GAAW,IACfhC,EAAoB/M,KAAKsN,MAC5B0B,OAAQhP,KACRiP,SAAUC,GAAsBH,WAChCI,OAAQ,CAAEzG,KAAM,YAAamH,cAErC,CACA,QAAQR,GACJ,MAAM2B,EAAkC,mBAAR3B,EAAqBA,EAAM,IAAMA,EACjE,OAAO,IAAI4B,GAAW,IACflE,EAAoB/M,KAAKsN,MAC5B4D,UAAWlR,KACXmR,aAAcH,EACd/B,SAAUC,GAAsB+B,YAExC,CACA,KAAAnB,GACI,OAAO,IAAIsB,GAAW,CAClBnC,SAAUC,GAAsBkC,WAChC1I,KAAM1I,QACH+M,EAAoB/M,KAAKsN,OAEpC,CACA,MAAM+B,GACF,MAAMgC,EAAgC,mBAARhC,EAAqBA,EAAM,IAAMA,EAC/D,OAAO,IAAIiC,GAAS,IACbvE,EAAoB/M,KAAKsN,MAC5B4D,UAAWlR,KACXuR,WAAYF,EACZpC,SAAUC,GAAsBoC,UAExC,CACA,QAAAtB,CAAS7C,GAEL,OAAO,IAAIqE,EADExR,KAAKuF,aACF,IACTvF,KAAKsN,KACRH,eAER,CACA,IAAA8C,CAAKwB,GACD,OAAOC,GAAYrK,OAAOrH,KAAMyR,EACpC,CACA,QAAAvB,GACI,OAAOyB,GAAYtK,OAAOrH,KAC9B,CACA,UAAAoQ,GACI,OAAOpQ,KAAKiO,eAAUvN,GAAWmM,OACrC,CACA,UAAAsD,GACI,OAAOnQ,KAAKiO,UAAU,MAAMpB,OAChC,EAEJ,MAAM+E,EAAY,iBACZC,EAAa,cACbC,EAAY,4BAGZC,EAAY,yFACZC,EAAc,oBACdC,EAAW,mDACXC,EAAgB,2SAahBC,EAAa,qFAKnB,IAAIC,EAEJ,MAAMC,EAAY,sHACZC,EAAgB,2IAGhBC,EAAY,wpBACZC,EAAgB,0rBAEhBC,EAAc,mEAEdC,EAAiB,yEAMjBC,EAAkB,oMAClBC,EAAY,IAAIC,OAAO,IAAIF,MACjC,SAASG,EAAgBC,GACrB,IAAIC,EAAqB,WAQzB,OAPID,EAAKE,UACLD,EAAqB,GAAGA,WAA4BD,EAAKE,aAElC,MAAlBF,EAAKE,YACVD,EAAqB,GAAGA,eAGrB,8BAA8BA,KADXD,EAAKE,UAAY,IAAM,KAErD,CACA,SAASC,EAAUH,GACf,OAAO,IAAIF,OAAO,IAAIC,EAAgBC,MAC1C,CAEO,SAASI,EAAcJ,GAC1B,IAAIK,EAAQ,GAAGT,KAAmBG,EAAgBC,KAClD,MAAMM,EAAO,GAKb,OAJAA,EAAKtS,KAAKgS,EAAKO,MAAQ,KAAO,KAC1BP,EAAKQ,QACLF,EAAKtS,KAAK,wBACdqS,EAAQ,GAAGA,KAASC,EAAKzT,KAAK,QACvB,IAAIiT,OAAO,IAAIO,KAC1B,CACA,SAASI,EAAUC,EAAIpD,GACnB,QAAiB,OAAZA,GAAqBA,IAAYgC,EAAUqB,KAAKD,OAGpC,OAAZpD,GAAqBA,IAAYkC,EAAUmB,KAAKD,GAIzD,CACA,SAASE,EAAWC,EAAKC,GACrB,IAAK5B,EAASyB,KAAKE,GACf,OAAO,EACX,IACI,MAAOE,GAAUF,EAAIG,MAAM,KAErB3U,EAAS0U,EACV3O,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACd6O,OAAOF,EAAO3T,QAAW,EAAK2T,EAAO3T,OAAS,GAAM,EAAI,KACvD8T,EAAU1U,KAAKyO,MAAMkG,KAAK9U,IAChC,QAAuB,iBAAZ6U,GAAoC,OAAZA,GAE/B,QAASA,GAA4B,QAAjBA,GAASE,MAE5BF,EAAQJ,KAETA,GAAOI,EAAQJ,MAAQA,EAG/B,CACA,MACI,OAAO,CACX,CACJ,CACA,SAASO,EAAYX,EAAIpD,GACrB,QAAiB,OAAZA,GAAqBA,IAAYiC,EAAcoB,KAAKD,OAGxC,OAAZpD,GAAqBA,IAAYmC,EAAckB,KAAKD,GAI7D,CACO,MAAMY,WAAkBhH,EAC3B,MAAAQ,CAAOL,GAKH,GAJIxN,KAAKsN,KAAKgH,SACV9G,EAAM/N,KAAO8U,OAAO/G,EAAM/N,OAEXO,KAAKuN,SAASC,KACd7J,EAAcE,OAAQ,CACrC,MAAMyG,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcE,OACxB2D,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,MAAMJ,EAAS,IAAIJ,EACnB,IAAIN,EACJ,IAAK,MAAMmE,KAASzO,KAAKsN,KAAKkH,OAC1B,GAAmB,QAAf/F,EAAMgG,KACFjH,EAAM/N,KAAKU,OAASsO,EAAMlL,QAC1B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAAS4F,EAAMlL,MACfmF,KAAM,SACNE,WAAW,EACXD,OAAO,EACPtC,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,QAAf4D,EAAMgG,KACPjH,EAAM/N,KAAKU,OAASsO,EAAMlL,QAC1B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAAS0F,EAAMlL,MACfmF,KAAM,SACNE,WAAW,EACXD,OAAO,EACPtC,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,WAAf4D,EAAMgG,KAAmB,CAC9B,MAAMC,EAASlH,EAAM/N,KAAKU,OAASsO,EAAMlL,MACnCoR,EAAWnH,EAAM/N,KAAKU,OAASsO,EAAMlL,OACvCmR,GAAUC,KACVrK,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAC9BoK,EACArK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAAS0F,EAAMlL,MACfmF,KAAM,SACNE,WAAW,EACXD,OAAO,EACPtC,QAASoI,EAAMpI,UAGdsO,GACLtK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAAS4F,EAAMlL,MACfmF,KAAM,SACNE,WAAW,EACXD,OAAO,EACPtC,QAASoI,EAAMpI,UAGvB2E,EAAOH,QAEf,MACK,GAAmB,UAAf4D,EAAMgG,KACNtC,EAAWuB,KAAKlG,EAAM/N,QACvB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,QACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,UAAf4D,EAAMgG,KACNrC,IACDA,EAAa,IAAIS,OA9KjB,uDA8KqC,MAEpCT,EAAWsB,KAAKlG,EAAM/N,QACvB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,QACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,SAAf4D,EAAMgG,KACN1C,EAAU2B,KAAKlG,EAAM/N,QACtB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,OACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,WAAf4D,EAAMgG,KACNzC,EAAY0B,KAAKlG,EAAM/N,QACxB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,SACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,SAAf4D,EAAMgG,KACN7C,EAAU8B,KAAKlG,EAAM/N,QACtB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,OACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,UAAf4D,EAAMgG,KACN5C,EAAW6B,KAAKlG,EAAM/N,QACvB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,QACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,SAAf4D,EAAMgG,KACN3C,EAAU4B,KAAKlG,EAAM/N,QACtB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,OACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,cAGV,GAAmB,QAAf4D,EAAMgG,KACX,IACI,IAAIG,IAAIpH,EAAM/N,KAClB,CACA,MACI6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,MACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,OACX,KAEoB,UAAf4D,EAAMgG,MACXhG,EAAM2E,MAAMyB,UAAY,EACLpG,EAAM2E,MAAMM,KAAKlG,EAAM/N,QAEtC6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,QACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,UAGS,SAAf4D,EAAMgG,KACXjH,EAAM/N,KAAO+N,EAAM/N,KAAKqV,OAEJ,aAAfrG,EAAMgG,KACNjH,EAAM/N,KAAK4I,SAASoG,EAAMlL,MAAOkL,EAAMnG,YACxCgC,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,CAAEC,SAAUoG,EAAMlL,MAAO+E,SAAUmG,EAAMnG,UACrDjC,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,gBAAf4D,EAAMgG,KACXjH,EAAM/N,KAAO+N,EAAM/N,KAAK2O,cAEJ,gBAAfK,EAAMgG,KACXjH,EAAM/N,KAAO+N,EAAM/N,KAAKsV,cAEJ,eAAftG,EAAMgG,KACNjH,EAAM/N,KAAK8I,WAAWkG,EAAMlL,SAC7B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,CAAEG,WAAYkG,EAAMlL,OAChC8C,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,aAAf4D,EAAMgG,KACNjH,EAAM/N,KAAK+I,SAASiG,EAAMlL,SAC3B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,CAAEI,SAAUiG,EAAMlL,OAC9B8C,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,aAAf4D,EAAMgG,KACGtB,EAAc1E,GACjBiF,KAAKlG,EAAM/N,QAClB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,WACZ/B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,SAAf4D,EAAMgG,KACG7B,EACHc,KAAKlG,EAAM/N,QAClB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,OACZ/B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,SAAf4D,EAAMgG,KACGvB,EAAUzE,GACbiF,KAAKlG,EAAM/N,QAClB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAakD,eACnBC,WAAY,OACZ/B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,aAAf4D,EAAMgG,KACNvC,EAAcwB,KAAKlG,EAAM/N,QAC1B6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,WACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,OAAf4D,EAAMgG,KACNjB,EAAUhG,EAAM/N,KAAMgP,EAAM4B,WAC7B/F,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,KACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,QAAf4D,EAAMgG,KACNd,EAAWnG,EAAM/N,KAAMgP,EAAMoF,OAC9BvJ,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,MACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,SAAf4D,EAAMgG,KACNL,EAAY5G,EAAM/N,KAAMgP,EAAM4B,WAC/B/F,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,OACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,WAAf4D,EAAMgG,KACNhC,EAAYiB,KAAKlG,EAAM/N,QACxB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,SACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,cAAf4D,EAAMgG,KACN/B,EAAegB,KAAKlG,EAAM/N,QAC3B6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnBlC,WAAY,YACZ1B,KAAMzB,EAAakD,eACnB9B,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAIX7J,EAAKM,YAAYmN,GAGzB,MAAO,CAAEzD,OAAQA,EAAOzH,MAAOA,MAAOiK,EAAM/N,KAChD,CACA,MAAAuV,CAAO5B,EAAOhL,EAAY/B,GACtB,OAAOrG,KAAK6O,WAAYpP,GAAS2T,EAAMM,KAAKjU,GAAO,CAC/C2I,aACA1B,KAAMzB,EAAakD,kBAChBiE,EAAUC,SAAShG,IAE9B,CACA,SAAA4O,CAAUxG,GACN,OAAO,IAAI4F,GAAU,IACdrU,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ/F,IAEtC,CACA,KAAAyG,CAAM7O,GACF,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,WAAYrI,EAAUC,SAAShG,IACjE,CACA,GAAA8O,CAAI9O,GACA,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,SAAUrI,EAAUC,SAAShG,IAC/D,CACA,KAAA+O,CAAM/O,GACF,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,WAAYrI,EAAUC,SAAShG,IACjE,CACA,IAAAgP,CAAKhP,GACD,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,UAAWrI,EAAUC,SAAShG,IAChE,CACA,MAAAiP,CAAOjP,GACH,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,YAAarI,EAAUC,SAAShG,IAClE,CACA,IAAAkP,CAAKlP,GACD,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,UAAWrI,EAAUC,SAAShG,IAChE,CACA,KAAAmP,CAAMnP,GACF,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,WAAYrI,EAAUC,SAAShG,IACjE,CACA,IAAAoP,CAAKpP,GACD,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,UAAWrI,EAAUC,SAAShG,IAChE,CACA,MAAAjH,CAAOiH,GACH,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,YAAarI,EAAUC,SAAShG,IAClE,CACA,SAAAqP,CAAUrP,GAEN,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,eACHrI,EAAUC,SAAShG,IAE9B,CACA,GAAAuN,CAAI9L,GACA,OAAO9H,KAAKiV,UAAU,CAAER,KAAM,SAAUrI,EAAUC,SAASvE,IAC/D,CACA,EAAA2L,CAAG3L,GACC,OAAO9H,KAAKiV,UAAU,CAAER,KAAM,QAASrI,EAAUC,SAASvE,IAC9D,CACA,IAAA6N,CAAK7N,GACD,OAAO9H,KAAKiV,UAAU,CAAER,KAAM,UAAWrI,EAAUC,SAASvE,IAChE,CACA,QAAA8N,CAAS9N,GACL,MAAuB,iBAAZA,EACA9H,KAAKiV,UAAU,CAClBR,KAAM,WACNxB,UAAW,KACXM,QAAQ,EACRD,OAAO,EACPjN,QAASyB,IAGV9H,KAAKiV,UAAU,CAClBR,KAAM,WACNxB,eAAyC,IAAvBnL,GAASmL,UAA4B,KAAOnL,GAASmL,UACvEM,OAAQzL,GAASyL,SAAU,EAC3BD,MAAOxL,GAASwL,QAAS,KACtBlH,EAAUC,SAASvE,GAASzB,UAEvC,CACA,IAAAtB,CAAKsB,GACD,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,OAAQpO,WAC1C,CACA,IAAAwP,CAAK/N,GACD,MAAuB,iBAAZA,EACA9H,KAAKiV,UAAU,CAClBR,KAAM,OACNxB,UAAW,KACX5M,QAASyB,IAGV9H,KAAKiV,UAAU,CAClBR,KAAM,OACNxB,eAAyC,IAAvBnL,GAASmL,UAA4B,KAAOnL,GAASmL,aACpE7G,EAAUC,SAASvE,GAASzB,UAEvC,CACA,QAAAyP,CAASzP,GACL,OAAOrG,KAAKiV,UAAU,CAAER,KAAM,cAAerI,EAAUC,SAAShG,IACpE,CACA,KAAA+M,CAAMA,EAAO/M,GACT,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,QACNrB,MAAOA,KACJhH,EAAUC,SAAShG,IAE9B,CACA,QAAAgC,CAAS9E,EAAOuE,GACZ,OAAO9H,KAAKiV,UAAU,CAClBR,KAAM,WACNlR,MAAOA,EACP+E,SAAUR,GAASQ,YAChB8D,EAAUC,SAASvE,GAASzB,UAEvC,CACA,UAAAkC,CAAWhF,EAAO8C,GACd,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,aACNlR,MAAOA,KACJ6I,EAAUC,SAAShG,IAE9B,CACA,QAAAmC,CAASjF,EAAO8C,GACZ,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,WACNlR,MAAOA,KACJ6I,EAAUC,SAAShG,IAE9B,CACA,GAAA0P,CAAIC,EAAW3P,GACX,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAOyS,KACJ5J,EAAUC,SAAShG,IAE9B,CACA,GAAA4P,CAAIC,EAAW7P,GACX,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO2S,KACJ9J,EAAUC,SAAShG,IAE9B,CACA,MAAAlG,CAAOgW,EAAK9P,GACR,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,SACNlR,MAAO4S,KACJ/J,EAAUC,SAAShG,IAE9B,CAIA,QAAA+P,CAAS/P,GACL,OAAOrG,KAAK+V,IAAI,EAAG3J,EAAUC,SAAShG,GAC1C,CACA,IAAAyO,GACI,OAAO,IAAIT,GAAU,IACdrU,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ,CAAEC,KAAM,UAE9C,CACA,WAAArG,GACI,OAAO,IAAIiG,GAAU,IACdrU,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ,CAAEC,KAAM,iBAE9C,CACA,WAAAM,GACI,OAAO,IAAIV,GAAU,IACdrU,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ,CAAEC,KAAM,iBAE9C,CACA,cAAI4B,GACA,QAASrW,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,aAAZA,EAAG7B,KAC9C,CACA,UAAI8B,GACA,QAASvW,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,UAAI+B,GACA,QAASxW,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,cAAIgC,GACA,QAASzW,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,aAAZA,EAAG7B,KAC9C,CACA,WAAIiC,GACA,QAAS1W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,UAAZA,EAAG7B,KAC9C,CACA,SAAIkC,GACA,QAAS3W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,QAAZA,EAAG7B,KAC9C,CACA,WAAImC,GACA,QAAS5W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,UAAZA,EAAG7B,KAC9C,CACA,UAAIoC,GACA,QAAS7W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,YAAIqC,GACA,QAAS9W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,WAAZA,EAAG7B,KAC9C,CACA,UAAIsC,GACA,QAAS/W,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,WAAIuC,GACA,QAAShX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,UAAZA,EAAG7B,KAC9C,CACA,UAAIwC,GACA,QAASjX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,QAAIyC,GACA,QAASlX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,OAAZA,EAAG7B,KAC9C,CACA,UAAI0C,GACA,QAASnX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,SAAZA,EAAG7B,KAC9C,CACA,YAAI2C,GACA,QAASpX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,WAAZA,EAAG7B,KAC9C,CACA,eAAI4C,GAEA,QAASrX,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,cAAZA,EAAG7B,KAC9C,CACA,aAAIuB,GACA,IAAID,EAAM,KACV,IAAK,MAAMO,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARsB,GAAgBO,EAAG/S,MAAQwS,KAC3BA,EAAMO,EAAG/S,OAGrB,OAAOwS,CACX,CACA,aAAIG,GACA,IAAID,EAAM,KACV,IAAK,MAAMK,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARwB,GAAgBK,EAAG/S,MAAQ0S,KAC3BA,EAAMK,EAAG/S,OAGrB,OAAO0S,CACX,EAWJ,SAASqB,GAAmBvU,EAAKwU,GAC7B,MAAMC,GAAezU,EAAIhD,WAAWgU,MAAM,KAAK,IAAM,IAAI5T,OACnDsX,GAAgBF,EAAKxX,WAAWgU,MAAM,KAAK,IAAM,IAAI5T,OACrDuX,EAAWF,EAAcC,EAAeD,EAAcC,EAG5D,OAFe3U,OAAO6U,SAAS5U,EAAI6U,QAAQF,GAAUvS,QAAQ,IAAK,KAClDrC,OAAO6U,SAASJ,EAAKK,QAAQF,GAAUvS,QAAQ,IAAK,KACxC,IAAMuS,CACtC,CAhBArD,GAAUhN,OAAUqC,GACT,IAAI2K,GAAU,CACjBG,OAAQ,GACRvF,SAAUC,GAAsBmF,UAChCC,OAAQ5K,GAAQ4K,SAAU,KACvBvH,EAAoBrD,KAYxB,MAAMmO,WAAkBxK,EAC3B,WAAA9H,GACIC,SAASsS,WACT9X,KAAK+V,IAAM/V,KAAK+X,IAChB/X,KAAKiW,IAAMjW,KAAKgY,IAChBhY,KAAKuX,KAAOvX,KAAKmJ,UACrB,CACA,MAAA0E,CAAOL,GAKH,GAJIxN,KAAKsN,KAAKgH,SACV9G,EAAM/N,KAAOqD,OAAO0K,EAAM/N,OAEXO,KAAKuN,SAASC,KACd7J,EAAcK,OAAQ,CACrC,MAAMsG,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcK,OACxBwD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,IAAId,EACJ,MAAMU,EAAS,IAAIJ,EACnB,IAAK,MAAM6D,KAASzO,KAAKsN,KAAKkH,OACP,QAAf/F,EAAMgG,KACDzT,EAAK6B,UAAU2K,EAAM/N,QACtB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU,UACVD,SAAU,QACVnB,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,QAAf4D,EAAMgG,MACMhG,EAAM7F,UAAY4E,EAAM/N,KAAOgP,EAAMlL,MAAQiK,EAAM/N,MAAQgP,EAAMlL,SAE9E+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAAS4F,EAAMlL,MACfmF,KAAM,SACNE,UAAW6F,EAAM7F,UACjBD,OAAO,EACPtC,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,QAAf4D,EAAMgG,MACIhG,EAAM7F,UAAY4E,EAAM/N,KAAOgP,EAAMlL,MAAQiK,EAAM/N,MAAQgP,EAAMlL,SAE5E+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAAS0F,EAAMlL,MACfmF,KAAM,SACNE,UAAW6F,EAAM7F,UACjBD,OAAO,EACPtC,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,eAAf4D,EAAMgG,KACyC,IAAhD6C,GAAmB9J,EAAM/N,KAAMgP,EAAMlL,SACrC+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAaiE,gBACnBC,WAAYsF,EAAMlL,MAClB8C,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,WAAf4D,EAAMgG,KACN3R,OAAOE,SAASwK,EAAM/N,QACvB6K,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAamE,WACnB/C,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAIX7J,EAAKM,YAAYmN,GAGzB,MAAO,CAAEzD,OAAQA,EAAOzH,MAAOA,MAAOiK,EAAM/N,KAChD,CACA,GAAAsY,CAAIxU,EAAO8C,GACP,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAM6I,EAAUrM,SAASsG,GAChE,CACA,EAAA6R,CAAG3U,EAAO8C,GACN,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAO6I,EAAUrM,SAASsG,GACjE,CACA,GAAA2R,CAAIzU,EAAO8C,GACP,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAM6I,EAAUrM,SAASsG,GAChE,CACA,EAAA8R,CAAG5U,EAAO8C,GACN,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAO6I,EAAUrM,SAASsG,GACjE,CACA,QAAA4R,CAASxD,EAAMlR,EAAOqF,EAAWvC,GAC7B,OAAO,IAAIwR,GAAU,IACd7X,KAAKsN,KACRkH,OAAQ,IACDxU,KAAKsN,KAAKkH,OACb,CACIC,OACAlR,QACAqF,YACAvC,QAAS+F,EAAUrM,SAASsG,MAI5C,CACA,SAAA4O,CAAUxG,GACN,OAAO,IAAIoJ,GAAU,IACd7X,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ/F,IAEtC,CACA,GAAA2J,CAAI/R,GACA,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNpO,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,QAAAgS,CAAShS,GACL,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO,EACPqF,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,QAAAiS,CAASjS,GACL,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO,EACPqF,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,WAAAkS,CAAYlS,GACR,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO,EACPqF,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,WAAAmS,CAAYnS,GACR,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO,EACPqF,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,UAAA8C,CAAW5F,EAAO8C,GACd,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,aACNlR,MAAOA,EACP8C,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,MAAAoS,CAAOpS,GACH,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,SACNpO,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,IAAAqS,CAAKrS,GACD,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACN7L,WAAW,EACXrF,MAAOT,OAAO6V,iBACdtS,QAAS+F,EAAUrM,SAASsG,KAC7B4O,UAAU,CACTR,KAAM,MACN7L,WAAW,EACXrF,MAAOT,OAAO8V,iBACdvS,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,YAAIwS,GACA,IAAI9C,EAAM,KACV,IAAK,MAAMO,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARsB,GAAgBO,EAAG/S,MAAQwS,KAC3BA,EAAMO,EAAG/S,OAGrB,OAAOwS,CACX,CACA,YAAI+C,GACA,IAAI7C,EAAM,KACV,IAAK,MAAMK,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARwB,GAAgBK,EAAG/S,MAAQ0S,KAC3BA,EAAMK,EAAG/S,OAGrB,OAAO0S,CACX,CACA,SAAI8C,GACA,QAAS/Y,KAAKsN,KAAKkH,OAAO9R,KAAM4T,GAAmB,QAAZA,EAAG7B,MAA+B,eAAZ6B,EAAG7B,MAAyBzT,EAAK6B,UAAUyT,EAAG/S,OAC/G,CACA,YAAIP,GACA,IAAIiT,EAAM,KACNF,EAAM,KACV,IAAK,MAAMO,KAAMtW,KAAKsN,KAAKkH,OAAQ,CAC/B,GAAgB,WAAZ8B,EAAG7B,MAAiC,QAAZ6B,EAAG7B,MAA8B,eAAZ6B,EAAG7B,KAChD,OAAO,EAEU,QAAZ6B,EAAG7B,MACI,OAARsB,GAAgBO,EAAG/S,MAAQwS,KAC3BA,EAAMO,EAAG/S,OAEI,QAAZ+S,EAAG7B,OACI,OAARwB,GAAgBK,EAAG/S,MAAQ0S,KAC3BA,EAAMK,EAAG/S,MAErB,CACA,OAAOT,OAAOE,SAAS+S,IAAQjT,OAAOE,SAASiT,EACnD,EAEJ4B,GAAUxQ,OAAUqC,GACT,IAAImO,GAAU,CACjBrD,OAAQ,GACRvF,SAAUC,GAAsB2I,UAChCvD,OAAQ5K,GAAQ4K,SAAU,KACvBvH,EAAoBrD,KAGxB,MAAMsP,WAAkB3L,EAC3B,WAAA9H,GACIC,SAASsS,WACT9X,KAAK+V,IAAM/V,KAAK+X,IAChB/X,KAAKiW,IAAMjW,KAAKgY,GACpB,CACA,MAAAnK,CAAOL,GACH,GAAIxN,KAAKsN,KAAKgH,OACV,IACI9G,EAAM/N,KAAOwZ,OAAOzL,EAAM/N,KAC9B,CACA,MACI,OAAOO,KAAKkZ,iBAAiB1L,EACjC,CAGJ,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcQ,OAC7B,OAAOnE,KAAKkZ,iBAAiB1L,GAEjC,IAAIlD,EACJ,MAAMU,EAAS,IAAIJ,EACnB,IAAK,MAAM6D,KAASzO,KAAKsN,KAAKkH,OACP,QAAf/F,EAAMgG,MACWhG,EAAM7F,UAAY4E,EAAM/N,KAAOgP,EAAMlL,MAAQiK,EAAM/N,MAAQgP,EAAMlL,SAE9E+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBC,KAAM,SACNG,QAAS4F,EAAMlL,MACfqF,UAAW6F,EAAM7F,UACjBvC,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,QAAf4D,EAAMgG,MACIhG,EAAM7F,UAAY4E,EAAM/N,KAAOgP,EAAMlL,MAAQiK,EAAM/N,MAAQgP,EAAMlL,SAE5E+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBJ,KAAM,SACNK,QAAS0F,EAAMlL,MACfqF,UAAW6F,EAAM7F,UACjBvC,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAGS,eAAf4D,EAAMgG,KACPjH,EAAM/N,KAAOgP,EAAMlL,QAAU0V,OAAO,KACpC3O,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAaiE,gBACnBC,WAAYsF,EAAMlL,MAClB8C,QAASoI,EAAMpI,UAEnB2E,EAAOH,SAIX7J,EAAKM,YAAYmN,GAGzB,MAAO,CAAEzD,OAAQA,EAAOzH,MAAOA,MAAOiK,EAAM/N,KAChD,CACA,gBAAAyZ,CAAiB1L,GACb,MAAMlD,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcQ,OACxBqD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,GAAA2M,CAAIxU,EAAO8C,GACP,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAM6I,EAAUrM,SAASsG,GAChE,CACA,EAAA6R,CAAG3U,EAAO8C,GACN,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAO6I,EAAUrM,SAASsG,GACjE,CACA,GAAA2R,CAAIzU,EAAO8C,GACP,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAM6I,EAAUrM,SAASsG,GAChE,CACA,EAAA8R,CAAG5U,EAAO8C,GACN,OAAOrG,KAAKiY,SAAS,MAAO1U,GAAO,EAAO6I,EAAUrM,SAASsG,GACjE,CACA,QAAA4R,CAASxD,EAAMlR,EAAOqF,EAAWvC,GAC7B,OAAO,IAAI2S,GAAU,IACdhZ,KAAKsN,KACRkH,OAAQ,IACDxU,KAAKsN,KAAKkH,OACb,CACIC,OACAlR,QACAqF,YACAvC,QAAS+F,EAAUrM,SAASsG,MAI5C,CACA,SAAA4O,CAAUxG,GACN,OAAO,IAAIuK,GAAU,IACdhZ,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ/F,IAEtC,CACA,QAAA4J,CAAShS,GACL,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO0V,OAAO,GACdrQ,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,QAAAiS,CAASjS,GACL,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO0V,OAAO,GACdrQ,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,WAAAkS,CAAYlS,GACR,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO0V,OAAO,GACdrQ,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,WAAAmS,CAAYnS,GACR,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAO0V,OAAO,GACdrQ,WAAW,EACXvC,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,UAAA8C,CAAW5F,EAAO8C,GACd,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,aACNlR,QACA8C,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,YAAIwS,GACA,IAAI9C,EAAM,KACV,IAAK,MAAMO,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARsB,GAAgBO,EAAG/S,MAAQwS,KAC3BA,EAAMO,EAAG/S,OAGrB,OAAOwS,CACX,CACA,YAAI+C,GACA,IAAI7C,EAAM,KACV,IAAK,MAAMK,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARwB,GAAgBK,EAAG/S,MAAQ0S,KAC3BA,EAAMK,EAAG/S,OAGrB,OAAO0S,CACX,EAEJ+C,GAAU3R,OAAUqC,GACT,IAAIsP,GAAU,CACjBxE,OAAQ,GACRvF,SAAUC,GAAsB8J,UAChC1E,OAAQ5K,GAAQ4K,SAAU,KACvBvH,EAAoBrD,KAGxB,MAAMyP,WAAmB9L,EAC5B,MAAAQ,CAAOL,GAKH,GAJIxN,KAAKsN,KAAKgH,SACV9G,EAAM/N,KAAO2Z,QAAQ5L,EAAM/N,OAEZO,KAAKuN,SAASC,KACd7J,EAAcM,QAAS,CACtC,MAAMqG,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcM,QACxBuD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,EAEJ0Z,GAAW9R,OAAUqC,GACV,IAAIyP,GAAW,CAClBlK,SAAUC,GAAsBiK,WAChC7E,OAAQ5K,GAAQ4K,SAAU,KACvBvH,EAAoBrD,KAGxB,MAAM2P,WAAgBhM,EACzB,MAAAQ,CAAOL,GAKH,GAJIxN,KAAKsN,KAAKgH,SACV9G,EAAM/N,KAAO,IAAIqF,KAAK0I,EAAM/N,OAEbO,KAAKuN,SAASC,KACd7J,EAAcoB,KAAM,CACnC,MAAMuF,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcoB,KACxByC,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,GAAItI,OAAOgB,MAAM0J,EAAM/N,KAAK6Z,WAKxB,OAHAjP,EADYrK,KAAKyN,gBAAgBD,GACV,CACnB9G,KAAMzB,EAAaiD,eAEhBkD,EAEX,MAAMJ,EAAS,IAAIJ,EACnB,IAAIN,EACJ,IAAK,MAAMmE,KAASzO,KAAKsN,KAAKkH,OACP,QAAf/F,EAAMgG,KACFjH,EAAM/N,KAAK6Z,UAAY7K,EAAMlL,QAC7B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBpC,QAASoI,EAAMpI,QACfuC,WAAW,EACXD,OAAO,EACPE,QAAS4F,EAAMlL,MACfmF,KAAM,SAEVsC,EAAOH,SAGS,QAAf4D,EAAMgG,KACPjH,EAAM/N,KAAK6Z,UAAY7K,EAAMlL,QAC7B+G,EAAMtK,KAAKyN,gBAAgBD,EAAOlD,GAClCD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBzC,QAASoI,EAAMpI,QACfuC,WAAW,EACXD,OAAO,EACPI,QAAS0F,EAAMlL,MACfmF,KAAM,SAEVsC,EAAOH,SAIX7J,EAAKM,YAAYmN,GAGzB,MAAO,CACHzD,OAAQA,EAAOzH,MACfA,MAAO,IAAIuB,KAAK0I,EAAM/N,KAAK6Z,WAEnC,CACA,SAAArE,CAAUxG,GACN,OAAO,IAAI4K,GAAQ,IACZrZ,KAAKsN,KACRkH,OAAQ,IAAIxU,KAAKsN,KAAKkH,OAAQ/F,IAEtC,CACA,GAAAsH,CAAIwD,EAASlT,GACT,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAOgW,EAAQD,UACfjT,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,GAAA4P,CAAIuD,EAASnT,GACT,OAAOrG,KAAKiV,UAAU,CAClBR,KAAM,MACNlR,MAAOiW,EAAQF,UACfjT,QAAS+F,EAAUrM,SAASsG,IAEpC,CACA,WAAIkT,GACA,IAAIxD,EAAM,KACV,IAAK,MAAMO,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARsB,GAAgBO,EAAG/S,MAAQwS,KAC3BA,EAAMO,EAAG/S,OAGrB,OAAc,MAAPwS,EAAc,IAAIjR,KAAKiR,GAAO,IACzC,CACA,WAAIyD,GACA,IAAIvD,EAAM,KACV,IAAK,MAAMK,KAAMtW,KAAKsN,KAAKkH,OACP,QAAZ8B,EAAG7B,OACS,OAARwB,GAAgBK,EAAG/S,MAAQ0S,KAC3BA,EAAMK,EAAG/S,OAGrB,OAAc,MAAP0S,EAAc,IAAInR,KAAKmR,GAAO,IACzC,EAEJoD,GAAQhS,OAAUqC,GACP,IAAI2P,GAAQ,CACf7E,OAAQ,GACRF,OAAQ5K,GAAQ4K,SAAU,EAC1BrF,SAAUC,GAAsBmK,WAC7BtM,EAAoBrD,KAGxB,MAAM+P,WAAkBpM,EAC3B,MAAAQ,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcS,OAAQ,CACrC,MAAMkG,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcS,OACxBoD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,EAEJga,GAAUpS,OAAUqC,GACT,IAAI+P,GAAU,CACjBxK,SAAUC,GAAsBuK,aAC7B1M,EAAoBrD,KAGxB,MAAMgQ,WAAqBrM,EAC9B,MAAAQ,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcjD,UAAW,CACxC,MAAM4J,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcjD,UACxB8G,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,EAEJia,GAAarS,OAAUqC,GACZ,IAAIgQ,GAAa,CACpBzK,SAAUC,GAAsBwK,gBAC7B3M,EAAoBrD,KAGxB,MAAMiQ,WAAgBtM,EACzB,MAAAQ,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcY,KAAM,CACnC,MAAM+F,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcY,KACxBiD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,EAEJka,GAAQtS,OAAUqC,GACP,IAAIiQ,GAAQ,CACf1K,SAAUC,GAAsByK,WAC7B5M,EAAoBrD,KAGxB,MAAMkQ,WAAevM,EACxB,WAAA9H,GACIC,SAASsS,WAET9X,KAAK6Z,MAAO,CAChB,CACA,MAAAhM,CAAOL,GACH,OAAO1B,EAAG0B,EAAM/N,KACpB,EAEJma,GAAOvS,OAAUqC,GACN,IAAIkQ,GAAO,CACd3K,SAAUC,GAAsB0K,UAC7B7M,EAAoBrD,KAGxB,MAAMoQ,WAAmBzM,EAC5B,WAAA9H,GACIC,SAASsS,WAET9X,KAAK+Z,UAAW,CACpB,CACA,MAAAlM,CAAOL,GACH,OAAO1B,EAAG0B,EAAM/N,KACpB,EAEJqa,GAAWzS,OAAUqC,GACV,IAAIoQ,GAAW,CAClB7K,SAAUC,GAAsB4K,cAC7B/M,EAAoBrD,KAGxB,MAAMsQ,WAAiB3M,EAC1B,MAAAQ,CAAOL,GACH,MAAMlD,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcsW,MACxBzS,SAAU8C,EAAIoD,aAEXtC,CACX,EAEJ4O,GAAS3S,OAAUqC,GACR,IAAIsQ,GAAS,CAChB/K,SAAUC,GAAsB8K,YAC7BjN,EAAoBrD,KAGxB,MAAMwQ,WAAgB7M,EACzB,MAAAQ,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcjD,UAAW,CACxC,MAAM4J,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcwW,KACxB3S,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,EAEJya,GAAQ7S,OAAUqC,GACP,IAAIwQ,GAAQ,CACfjL,SAAUC,GAAsBgL,WAC7BnN,EAAoBrD,KAGxB,MAAMgH,WAAiBrD,EAC1B,MAAAQ,CAAOL,GACH,MAAM,IAAElD,EAAG,OAAEU,GAAWhL,KAAK2N,oBAAoBH,GAC3C6B,EAAMrP,KAAKsN,KACjB,GAAIhD,EAAIoD,aAAe/J,EAAcP,MAMjC,OALAiH,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcP,MACxBoE,SAAU8C,EAAIoD,aAEXtC,EAEX,GAAwB,OAApBiE,EAAI+K,YAAsB,CAC1B,MAAM1F,EAASpK,EAAI7K,KAAKU,OAASkP,EAAI+K,YAAY7W,MAC3CoR,EAAWrK,EAAI7K,KAAKU,OAASkP,EAAI+K,YAAY7W,OAC/CmR,GAAUC,KACVtK,EAAkBC,EAAK,CACnB5D,KAAMgO,EAASzP,EAAa6D,QAAU7D,EAAawD,UACnDI,QAAU8L,EAAWtF,EAAI+K,YAAY7W,WAAQ7C,EAC7CqI,QAAU2L,EAASrF,EAAI+K,YAAY7W,WAAQ7C,EAC3CgI,KAAM,QACNE,WAAW,EACXD,OAAO,EACPtC,QAASgJ,EAAI+K,YAAY/T,UAE7B2E,EAAOH,QAEf,CA2BA,GA1BsB,OAAlBwE,EAAI2G,WACA1L,EAAI7K,KAAKU,OAASkP,EAAI2G,UAAUzS,QAChC8G,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAASwG,EAAI2G,UAAUzS,MACvBmF,KAAM,QACNE,WAAW,EACXD,OAAO,EACPtC,QAASgJ,EAAI2G,UAAU3P,UAE3B2E,EAAOH,SAGO,OAAlBwE,EAAI6G,WACA5L,EAAI7K,KAAKU,OAASkP,EAAI6G,UAAU3S,QAChC8G,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAASsG,EAAI6G,UAAU3S,MACvBmF,KAAM,QACNE,WAAW,EACXD,OAAO,EACPtC,QAASgJ,EAAI6G,UAAU7P,UAE3B2E,EAAOH,SAGXP,EAAIE,OAAO0D,MACX,OAAO/B,QAAQkO,IAAI,IAAI/P,EAAI7K,MAAMQ,IAAI,CAACjB,EAAMoB,IACjCiP,EAAI3G,KAAKoF,YAAY,IAAIxB,EAAmBhC,EAAKtL,EAAMsL,EAAIxD,KAAM1G,MACxEoE,KAAMoI,GACChC,EAAYG,WAAWC,EAAQ4B,IAG9C,MAAMA,EAAS,IAAItC,EAAI7K,MAAMQ,IAAI,CAACjB,EAAMoB,IAC7BiP,EAAI3G,KAAKkF,WAAW,IAAItB,EAAmBhC,EAAKtL,EAAMsL,EAAIxD,KAAM1G,KAE3E,OAAOwK,EAAYG,WAAWC,EAAQ4B,EAC1C,CACA,WAAI0N,GACA,OAAOta,KAAKsN,KAAK5E,IACrB,CACA,GAAAqN,CAAIC,EAAW3P,GACX,OAAO,IAAIqK,GAAS,IACb1Q,KAAKsN,KACR0I,UAAW,CAAEzS,MAAOyS,EAAW3P,QAAS+F,EAAUrM,SAASsG,KAEnE,CACA,GAAA4P,CAAIC,EAAW7P,GACX,OAAO,IAAIqK,GAAS,IACb1Q,KAAKsN,KACR4I,UAAW,CAAE3S,MAAO2S,EAAW7P,QAAS+F,EAAUrM,SAASsG,KAEnE,CACA,MAAAlG,CAAOgW,EAAK9P,GACR,OAAO,IAAIqK,GAAS,IACb1Q,KAAKsN,KACR8M,YAAa,CAAE7W,MAAO4S,EAAK9P,QAAS+F,EAAUrM,SAASsG,KAE/D,CACA,QAAA+P,CAAS/P,GACL,OAAOrG,KAAK+V,IAAI,EAAG1P,EACvB,EAYJ,SAASkU,GAAevL,GACpB,GAAIA,aAAkBwL,GAAW,CAC7B,MAAMC,EAAW,CAAC,EAClB,IAAK,MAAMnY,KAAO0M,EAAO0L,MAAO,CAC5B,MAAMC,EAAc3L,EAAO0L,MAAMpY,GACjCmY,EAASnY,GAAOkO,GAAYnJ,OAAOkT,GAAeI,GACtD,CACA,OAAO,IAAIH,GAAU,IACdxL,EAAO1B,KACVoN,MAAO,IAAMD,GAErB,CACK,OAAIzL,aAAkB0B,GAChB,IAAIA,GAAS,IACb1B,EAAO1B,KACV5E,KAAM6R,GAAevL,EAAOsL,WAG3BtL,aAAkBwB,GAChBA,GAAYnJ,OAAOkT,GAAevL,EAAO4L,WAE3C5L,aAAkByB,GAChBA,GAAYpJ,OAAOkT,GAAevL,EAAO4L,WAE3C5L,aAAkB6L,GAChBA,GAASxT,OAAO2H,EAAOtN,MAAMzB,IAAKjB,GAASub,GAAevb,KAG1DgQ,CAEf,CAxCA0B,GAASrJ,OAAS,CAAC2H,EAAQtF,IAChB,IAAIgH,GAAS,CAChBhI,KAAMsG,EACNgH,UAAW,KACXE,UAAW,KACXkE,YAAa,KACbnL,SAAUC,GAAsBwB,YAC7B3D,EAAoBrD,KAkCxB,MAAM8Q,WAAkBnN,EAC3B,WAAA9H,GACIC,SAASsS,WACT9X,KAAK8a,QAAU,KAKf9a,KAAK+a,UAAY/a,KAAKgb,YAqCtBhb,KAAKib,QAAUjb,KAAKkb,MACxB,CACA,UAAAC,GACI,GAAqB,OAAjBnb,KAAK8a,QACL,OAAO9a,KAAK8a,QAChB,MAAMJ,EAAQ1a,KAAKsN,KAAKoN,QAClBtY,EAAOpB,EAAKc,WAAW4Y,GAE7B,OADA1a,KAAK8a,QAAU,CAAEJ,QAAOtY,QACjBpC,KAAK8a,OAChB,CACA,MAAAjN,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAActB,OAAQ,CACrC,MAAMiI,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAActB,OACxBmF,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,MAAM,OAAEJ,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,IAC3C,MAAEkN,EAAOtY,KAAMgZ,GAAcpb,KAAKmb,aAClCE,EAAY,GAClB,KAAMrb,KAAKsN,KAAKgO,oBAAoBtB,IAAsC,UAA1Bha,KAAKsN,KAAKiO,aACtD,IAAK,MAAMjZ,KAAOgI,EAAI7K,KACb2b,EAAU/S,SAAS/F,IACpB+Y,EAAUta,KAAKuB,GAI3B,MAAMgJ,EAAQ,GACd,IAAK,MAAMhJ,KAAO8Y,EAAW,CACzB,MAAMI,EAAed,EAAMpY,GACrBiB,EAAQ+G,EAAI7K,KAAK6C,GACvBgJ,EAAMvK,KAAK,CACPuB,IAAK,CAAE0I,OAAQ,QAASzH,MAAOjB,GAC/BiB,MAAOiY,EAAa3N,OAAO,IAAIvB,EAAmBhC,EAAK/G,EAAO+G,EAAIxD,KAAMxE,IACxEqJ,UAAWrJ,KAAOgI,EAAI7K,MAE9B,CACA,GAAIO,KAAKsN,KAAKgO,oBAAoBtB,GAAU,CACxC,MAAMuB,EAAcvb,KAAKsN,KAAKiO,YAC9B,GAAoB,gBAAhBA,EACA,IAAK,MAAMjZ,KAAO+Y,EACd/P,EAAMvK,KAAK,CACPuB,IAAK,CAAE0I,OAAQ,QAASzH,MAAOjB,GAC/BiB,MAAO,CAAEyH,OAAQ,QAASzH,MAAO+G,EAAI7K,KAAK6C,WAIjD,GAAoB,WAAhBiZ,EACDF,EAAUlb,OAAS,IACnBkK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa0C,kBACnBvF,KAAMiZ,IAEVrQ,EAAOH,cAGV,GAAoB,UAAhB0Q,EAGL,MAAM,IAAI/Z,MAAM,uDAExB,KACK,CAED,MAAM8Z,EAAWtb,KAAKsN,KAAKgO,SAC3B,IAAK,MAAMhZ,KAAO+Y,EAAW,CACzB,MAAM9X,EAAQ+G,EAAI7K,KAAK6C,GACvBgJ,EAAMvK,KAAK,CACPuB,IAAK,CAAE0I,OAAQ,QAASzH,MAAOjB,GAC/BiB,MAAO+X,EAASzN,OAAO,IAAIvB,EAAmBhC,EAAK/G,EAAO+G,EAAIxD,KAAMxE,IAEpEqJ,UAAWrJ,KAAOgI,EAAI7K,MAE9B,CACJ,CACA,OAAI6K,EAAIE,OAAO0D,MACJ/B,QAAQ4B,UACVvJ,KAAK0J,UACN,MAAM3C,EAAY,GAClB,IAAK,MAAMC,KAAQF,EAAO,CACtB,MAAMhJ,QAAYkJ,EAAKlJ,IACjBiB,QAAciI,EAAKjI,MACzBgI,EAAUxK,KAAK,CACXuB,MACAiB,QACAoI,UAAWH,EAAKG,WAExB,CACA,OAAOJ,IAEN/G,KAAM+G,GACAX,EAAYa,gBAAgBT,EAAQO,IAIxCX,EAAYa,gBAAgBT,EAAQM,EAEnD,CACA,SAAIoP,GACA,OAAO1a,KAAKsN,KAAKoN,OACrB,CACA,MAAAe,CAAOpV,GAEH,OADA+F,EAAUC,SACH,IAAImO,GAAU,IACdxa,KAAKsN,KACRiO,YAAa,iBACG7a,IAAZ2F,EACE,CACE2G,SAAU,CAAC5G,EAAOkE,KACd,MAAMjB,EAAerJ,KAAKsN,KAAKN,WAAW5G,EAAOkE,GAAKjE,SAAWiE,EAAIjB,aACrE,MAAmB,sBAAfjD,EAAMM,KACC,CACHL,QAAS+F,EAAUC,SAAShG,GAASA,SAAWgD,GAEjD,CACHhD,QAASgD,KAInB,CAAC,GAEf,CACA,KAAAqS,GACI,OAAO,IAAIlB,GAAU,IACdxa,KAAKsN,KACRiO,YAAa,SAErB,CACA,WAAAP,GACI,OAAO,IAAIR,GAAU,IACdxa,KAAKsN,KACRiO,YAAa,eAErB,CAkBA,MAAAL,CAAOS,GACH,OAAO,IAAInB,GAAU,IACdxa,KAAKsN,KACRoN,MAAO,KAAM,IACN1a,KAAKsN,KAAKoN,WACViB,KAGf,CAMA,KAAAC,CAAMC,GAUF,OATe,IAAIrB,GAAU,CACzBe,YAAaM,EAAQvO,KAAKiO,YAC1BD,SAAUO,EAAQvO,KAAKgO,SACvBZ,MAAO,KAAM,IACN1a,KAAKsN,KAAKoN,WACVmB,EAAQvO,KAAKoN,UAEpBzL,SAAUC,GAAsBsL,WAGxC,CAoCA,MAAAsB,CAAOxZ,EAAK0M,GACR,OAAOhP,KAAKib,QAAQ,CAAE,CAAC3Y,GAAM0M,GACjC,CAsBA,QAAAsM,CAASS,GACL,OAAO,IAAIvB,GAAU,IACdxa,KAAKsN,KACRgO,SAAUS,GAElB,CACA,IAAAC,CAAKC,GACD,MAAMvB,EAAQ,CAAC,EACf,IAAK,MAAMpY,KAAOtB,EAAKc,WAAWma,GAC1BA,EAAK3Z,IAAQtC,KAAK0a,MAAMpY,KACxBoY,EAAMpY,GAAOtC,KAAK0a,MAAMpY,IAGhC,OAAO,IAAIkY,GAAU,IACdxa,KAAKsN,KACRoN,MAAO,IAAMA,GAErB,CACA,IAAAwB,CAAKD,GACD,MAAMvB,EAAQ,CAAC,EACf,IAAK,MAAMpY,KAAOtB,EAAKc,WAAW9B,KAAK0a,OAC9BuB,EAAK3Z,KACNoY,EAAMpY,GAAOtC,KAAK0a,MAAMpY,IAGhC,OAAO,IAAIkY,GAAU,IACdxa,KAAKsN,KACRoN,MAAO,IAAMA,GAErB,CAIA,WAAAyB,GACI,OAAO5B,GAAeva,KAC1B,CACA,OAAAoc,CAAQH,GACJ,MAAMxB,EAAW,CAAC,EAClB,IAAK,MAAMnY,KAAOtB,EAAKc,WAAW9B,KAAK0a,OAAQ,CAC3C,MAAMC,EAAc3a,KAAK0a,MAAMpY,GAC3B2Z,IAASA,EAAK3Z,GACdmY,EAASnY,GAAOqY,EAGhBF,EAASnY,GAAOqY,EAAYnL,UAEpC,CACA,OAAO,IAAIgL,GAAU,IACdxa,KAAKsN,KACRoN,MAAO,IAAMD,GAErB,CACA,QAAA4B,CAASJ,GACL,MAAMxB,EAAW,CAAC,EAClB,IAAK,MAAMnY,KAAOtB,EAAKc,WAAW9B,KAAK0a,OACnC,GAAIuB,IAASA,EAAK3Z,GACdmY,EAASnY,GAAOtC,KAAK0a,MAAMpY,OAE1B,CAED,IAAIga,EADgBtc,KAAK0a,MAAMpY,GAE/B,KAAOga,aAAoB9L,IACvB8L,EAAWA,EAAShP,KAAK4D,UAE7BuJ,EAASnY,GAAOga,CACpB,CAEJ,OAAO,IAAI9B,GAAU,IACdxa,KAAKsN,KACRoN,MAAO,IAAMD,GAErB,CACA,KAAA8B,GACI,OAAOC,GAAcxb,EAAKc,WAAW9B,KAAK0a,OAC9C,EAEJF,GAAUnT,OAAS,CAACqT,EAAOhR,IAChB,IAAI8Q,GAAU,CACjBE,MAAO,IAAMA,EACba,YAAa,QACbD,SAAUtB,GAAS3S,SACnB4H,SAAUC,GAAsBsL,aAC7BzN,EAAoBrD,KAG/B8Q,GAAUiC,aAAe,CAAC/B,EAAOhR,IACtB,IAAI8Q,GAAU,CACjBE,MAAO,IAAMA,EACba,YAAa,SACbD,SAAUtB,GAAS3S,SACnB4H,SAAUC,GAAsBsL,aAC7BzN,EAAoBrD,KAG/B8Q,GAAUkC,WAAa,CAAChC,EAAOhR,IACpB,IAAI8Q,GAAU,CACjBE,QACAa,YAAa,QACbD,SAAUtB,GAAS3S,SACnB4H,SAAUC,GAAsBsL,aAC7BzN,EAAoBrD,KAGxB,MAAMmH,WAAiBxD,EAC1B,MAAAQ,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACnC1F,EAAU9H,KAAKsN,KAAKxF,QAuB1B,GAAIwC,EAAIE,OAAO0D,MACX,OAAO/B,QAAQkO,IAAIvS,EAAQ7H,IAAIiO,MAAO0C,IAClC,MAAM+L,EAAW,IACVrS,EACHE,OAAQ,IACDF,EAAIE,OACPlF,OAAQ,IAEZiH,OAAQ,MAEZ,MAAO,CACHK,aAAcgE,EAAO9C,YAAY,CAC7BrO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQoQ,IAEZrS,IAAKqS,MAETnY,KAxCR,SAAuByG,GAEnB,IAAK,MAAM2B,KAAU3B,EACjB,GAA6B,UAAzB2B,EAAOA,OAAO5B,OACd,OAAO4B,EAAOA,OAGtB,IAAK,MAAMA,KAAU3B,EACjB,GAA6B,UAAzB2B,EAAOA,OAAO5B,OAGd,OADAV,EAAIE,OAAOlF,OAAOvE,QAAQ6L,EAAOtC,IAAIE,OAAOlF,QACrCsH,EAAOA,OAItB,MAAMjG,EAAcsE,EAAQhL,IAAK2M,GAAW,IAAIxH,EAASwH,EAAOtC,IAAIE,OAAOlF,SAK3E,OAJA+E,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa2C,cACnBjB,gBAEGyE,CACX,GAqBK,CACD,IAAIP,EACJ,MAAMvF,EAAS,GACf,IAAK,MAAMsL,KAAU9I,EAAS,CAC1B,MAAM6U,EAAW,IACVrS,EACHE,OAAQ,IACDF,EAAIE,OACPlF,OAAQ,IAEZiH,OAAQ,MAENK,EAASgE,EAAOhD,WAAW,CAC7BnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQoQ,IAEZ,GAAsB,UAAlB/P,EAAO5B,OACP,OAAO4B,EAEgB,UAAlBA,EAAO5B,QAAuBH,IACnCA,EAAQ,CAAE+B,SAAQtC,IAAKqS,IAEvBA,EAASnS,OAAOlF,OAAOnF,QACvBmF,EAAOvE,KAAK4b,EAASnS,OAAOlF,OAEpC,CACA,GAAIuF,EAEA,OADAP,EAAIE,OAAOlF,OAAOvE,QAAQ8J,EAAMP,IAAIE,OAAOlF,QACpCuF,EAAM+B,OAEjB,MAAMjG,EAAcrB,EAAOrF,IAAKqF,GAAW,IAAIF,EAASE,IAKxD,OAJA+E,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa2C,cACnBjB,gBAEGyE,CACX,CACJ,CACA,WAAItD,GACA,OAAO9H,KAAKsN,KAAKxF,OACrB,EAEJ+I,GAASxJ,OAAS,CAACuV,EAAOlT,IACf,IAAImH,GAAS,CAChB/I,QAAS8U,EACT3N,SAAUC,GAAsB2B,YAC7B9D,EAAoBrD,KAU/B,MAAMmT,GAAoBnU,GAClBA,aAAgBoU,GACTD,GAAiBnU,EAAKsG,QAExBtG,aAAgBqG,GACd8N,GAAiBnU,EAAKwI,aAExBxI,aAAgBqU,GACd,CAACrU,EAAKnF,OAERmF,aAAgBsU,GACdtU,EAAKZ,QAEPY,aAAgBuU,GAEdjc,EAAKiB,aAAayG,EAAKwU,MAEzBxU,aAAgBuI,GACd4L,GAAiBnU,EAAK4E,KAAK4D,WAE7BxI,aAAgBgR,GACd,MAAChZ,GAEHgI,aAAgBiR,GACd,CAAC,MAEHjR,aAAgB8H,GACd,MAAC9P,KAAcmc,GAAiBnU,EAAKkS,WAEvClS,aAAgB+H,GACd,CAAC,QAASoM,GAAiBnU,EAAKkS,WAElClS,aAAgB0I,IAGhB1I,aAAgBiJ,GAFdkL,GAAiBnU,EAAKkS,UAKxBlS,aAAgB4I,GACduL,GAAiBnU,EAAK4E,KAAK4D,WAG3B,GAGR,MAAMiM,WAA8B9P,EACvC,MAAAQ,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACzC,GAAIlD,EAAIoD,aAAe/J,EAActB,OAMjC,OALAgI,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAActB,OACxBmF,SAAU8C,EAAIoD,aAEXtC,EAEX,MAAMgS,EAAgBpd,KAAKod,cACrBC,EAAqB/S,EAAI7K,KAAK2d,GAC9BxM,EAAS5Q,KAAKsd,WAAWC,IAAIF,GACnC,OAAKzM,EAQDtG,EAAIE,OAAO0D,MACJ0C,EAAO9C,YAAY,CACtBrO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAILsG,EAAOhD,WAAW,CACrBnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,KAlBZD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa4C,4BACnBC,QAASzD,MAAMmZ,KAAKxd,KAAKsd,WAAWlb,QACpC0E,KAAM,CAACsW,KAEJhS,EAgBf,CACA,iBAAIgS,GACA,OAAOpd,KAAKsN,KAAK8P,aACrB,CACA,WAAItV,GACA,OAAO9H,KAAKsN,KAAKxF,OACrB,CACA,cAAIwV,GACA,OAAOtd,KAAKsN,KAAKgQ,UACrB,CASA,aAAOjW,CAAO+V,EAAetV,EAAS4B,GAElC,MAAM4T,EAAa,IAAI3Y,IAEvB,IAAK,MAAM+D,KAAQZ,EAAS,CACxB,MAAM2V,EAAsBZ,GAAiBnU,EAAKgS,MAAM0C,IACxD,IAAKK,EAAoBtd,OACrB,MAAM,IAAIqB,MAAM,mCAAmC4b,sDAEvD,IAAK,MAAM7Z,KAASka,EAAqB,CACrC,GAAIH,EAAWI,IAAIna,GACf,MAAM,IAAI/B,MAAM,0BAA0B+S,OAAO6I,0BAAsC7I,OAAOhR,MAElG+Z,EAAWzY,IAAItB,EAAOmF,EAC1B,CACJ,CACA,OAAO,IAAIyU,GAAsB,CAC7BlO,SAAUC,GAAsBiO,sBAChCC,gBACAtV,UACAwV,gBACGvQ,EAAoBrD,IAE/B,EAEJ,SAASiU,GAAYC,EAAGC,GACpB,MAAMC,EAAQla,EAAcga,GACtBG,EAAQna,EAAcia,GAC5B,GAAID,IAAMC,EACN,MAAO,CAAEG,OAAO,EAAMve,KAAMme,GAE3B,GAAIE,IAAUna,EAActB,QAAU0b,IAAUpa,EAActB,OAAQ,CACvE,MAAM4b,EAAQjd,EAAKc,WAAW+b,GACxBK,EAAald,EAAKc,WAAW8b,GAAG7b,OAAQO,IAAgC,IAAxB2b,EAAME,QAAQ7b,IAC9D8b,EAAS,IAAKR,KAAMC,GAC1B,IAAK,MAAMvb,KAAO4b,EAAY,CAC1B,MAAMG,EAAcV,GAAYC,EAAEtb,GAAMub,EAAEvb,IAC1C,IAAK+b,EAAYL,MACb,MAAO,CAAEA,OAAO,GAEpBI,EAAO9b,GAAO+b,EAAY5e,IAC9B,CACA,MAAO,CAAEue,OAAO,EAAMve,KAAM2e,EAChC,CACK,GAAIN,IAAUna,EAAcP,OAAS2a,IAAUpa,EAAcP,MAAO,CACrE,GAAIwa,EAAEzd,SAAW0d,EAAE1d,OACf,MAAO,CAAE6d,OAAO,GAEpB,MAAMM,EAAW,GACjB,IAAK,IAAIvC,EAAQ,EAAGA,EAAQ6B,EAAEzd,OAAQ4b,IAAS,CAC3C,MAEMsC,EAAcV,GAFNC,EAAE7B,GACF8B,EAAE9B,IAEhB,IAAKsC,EAAYL,MACb,MAAO,CAAEA,OAAO,GAEpBM,EAASvd,KAAKsd,EAAY5e,KAC9B,CACA,MAAO,CAAEue,OAAO,EAAMve,KAAM6e,EAChC,CACK,OAAIR,IAAUna,EAAcoB,MAAQgZ,IAAUpa,EAAcoB,OAAS6Y,KAAOC,EACtE,CAAEG,OAAO,EAAMve,KAAMme,GAGrB,CAAEI,OAAO,EAExB,CACO,MAAMjN,WAAwB1D,EACjC,MAAAQ,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GAC3C+Q,EAAe,CAACC,EAAYC,KAC9B,GAAI1S,EAAUyS,IAAezS,EAAU0S,GACnC,OAAOrT,EAEX,MAAMsT,EAASf,GAAYa,EAAWjb,MAAOkb,EAAYlb,OACzD,OAAKmb,EAAOV,QAMRhS,EAAQwS,IAAexS,EAAQyS,KAC/BzT,EAAOH,QAEJ,CAAEG,OAAQA,EAAOzH,MAAOA,MAAOmb,EAAOjf,QARzC4K,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAagE,6BAEhBmC,IAOf,OAAId,EAAIE,OAAO0D,MACJ/B,QAAQkO,IAAI,CACfra,KAAKsN,KAAKqR,KAAK7Q,YAAY,CACvBrO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZtK,KAAKsN,KAAKsR,MAAM9Q,YAAY,CACxBrO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,MAEb9F,KAAK,EAAEma,EAAMC,KAAWL,EAAaI,EAAMC,IAGvCL,EAAave,KAAKsN,KAAKqR,KAAK/Q,WAAW,CAC1CnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IACRtK,KAAKsN,KAAKsR,MAAMhR,WAAW,CAC3BnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAGpB,EAEJyG,GAAgB1J,OAAS,CAACsX,EAAMC,EAAOlV,IAC5B,IAAIqH,GAAgB,CACvB4N,KAAMA,EACNC,MAAOA,EACP3P,SAAUC,GAAsB6B,mBAC7BhE,EAAoBrD,KAIxB,MAAMmR,WAAiBxN,EAC1B,MAAAQ,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GACjD,GAAIlD,EAAIoD,aAAe/J,EAAcP,MAMjC,OALAiH,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcP,MACxBoE,SAAU8C,EAAIoD,aAEXtC,EAEX,GAAId,EAAI7K,KAAKU,OAASH,KAAKsN,KAAK5L,MAAMvB,OAQlC,OAPAkK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAAS7I,KAAKsN,KAAK5L,MAAMvB,OACzByI,WAAW,EACXD,OAAO,EACPD,KAAM,UAEH0C,GAEEpL,KAAKsN,KAAKuR,MACVvU,EAAI7K,KAAKU,OAASH,KAAKsN,KAAK5L,MAAMvB,SAC3CkK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAAS/I,KAAKsN,KAAK5L,MAAMvB,OACzByI,WAAW,EACXD,OAAO,EACPD,KAAM,UAEVsC,EAAOH,SAEX,MAAMnJ,EAAQ,IAAI4I,EAAI7K,MACjBQ,IAAI,CAACjB,EAAM8f,KACZ,MAAM9P,EAAShP,KAAKsN,KAAK5L,MAAMod,IAAc9e,KAAKsN,KAAKuR,KACvD,OAAK7P,EAEEA,EAAOnB,OAAO,IAAIvB,EAAmBhC,EAAKtL,EAAMsL,EAAIxD,KAAMgY,IADtD,OAGV/c,OAAQ4I,KAAQA,GACrB,OAAIL,EAAIE,OAAO0D,MACJ/B,QAAQkO,IAAI3Y,GAAO8C,KAAMyG,GACrBL,EAAYG,WAAWC,EAAQC,IAInCL,EAAYG,WAAWC,EAAQtJ,EAE9C,CACA,SAAIA,GACA,OAAO1B,KAAKsN,KAAK5L,KACrB,CACA,IAAAmd,CAAKA,GACD,OAAO,IAAIhE,GAAS,IACb7a,KAAKsN,KACRuR,QAER,EAEJhE,GAASxT,OAAS,CAAC0X,EAASrV,KACxB,IAAKrF,MAAMC,QAAQya,GACf,MAAM,IAAIvd,MAAM,yDAEpB,OAAO,IAAIqZ,GAAS,CAChBnZ,MAAOqd,EACP9P,SAAUC,GAAsB2L,SAChCgE,KAAM,QACH9R,EAAoBrD,MAGxB,MAAMsV,WAAkB3R,EAC3B,aAAI4R,GACA,OAAOjf,KAAKsN,KAAK4R,OACrB,CACA,eAAIC,GACA,OAAOnf,KAAKsN,KAAK8R,SACrB,CACA,MAAAvR,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GACjD,GAAIlD,EAAIoD,aAAe/J,EAActB,OAMjC,OALAgI,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAActB,OACxBmF,SAAU8C,EAAIoD,aAEXtC,EAEX,MAAME,EAAQ,GACR4T,EAAUlf,KAAKsN,KAAK4R,QACpBE,EAAYpf,KAAKsN,KAAK8R,UAC5B,IAAK,MAAM9c,KAAOgI,EAAI7K,KAClB6L,EAAMvK,KAAK,CACPuB,IAAK4c,EAAQrR,OAAO,IAAIvB,EAAmBhC,EAAKhI,EAAKgI,EAAIxD,KAAMxE,IAC/DiB,MAAO6b,EAAUvR,OAAO,IAAIvB,EAAmBhC,EAAKA,EAAI7K,KAAK6C,GAAMgI,EAAIxD,KAAMxE,IAC7EqJ,UAAWrJ,KAAOgI,EAAI7K,OAG9B,OAAI6K,EAAIE,OAAO0D,MACJtD,EAAYS,iBAAiBL,EAAQM,GAGrCV,EAAYa,gBAAgBT,EAAQM,EAEnD,CACA,WAAIgP,GACA,OAAOta,KAAKsN,KAAK8R,SACrB,CACA,aAAO/X,CAAO5D,EAAOC,EAAQ2b,GACzB,OACW,IAAIL,GADXtb,aAAkB2J,EACG,CACjB6R,QAASzb,EACT2b,UAAW1b,EACXuL,SAAUC,GAAsB8P,aAC7BjS,EAAoBsS,IAGV,CACjBH,QAAS7K,GAAUhN,SACnB+X,UAAW3b,EACXwL,SAAUC,GAAsB8P,aAC7BjS,EAAoBrJ,IAE/B,EAEG,MAAM4b,WAAejS,EACxB,aAAI4R,GACA,OAAOjf,KAAKsN,KAAK4R,OACrB,CACA,eAAIC,GACA,OAAOnf,KAAKsN,KAAK8R,SACrB,CACA,MAAAvR,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GACjD,GAAIlD,EAAIoD,aAAe/J,EAAc1D,IAMjC,OALAoK,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAc1D,IACxBuH,SAAU8C,EAAIoD,aAEXtC,EAEX,MAAM8T,EAAUlf,KAAKsN,KAAK4R,QACpBE,EAAYpf,KAAKsN,KAAK8R,UACtB9T,EAAQ,IAAIhB,EAAI7K,KAAK8f,WAAWtf,IAAI,EAAEqC,EAAKiB,GAAQwY,KAC9C,CACHzZ,IAAK4c,EAAQrR,OAAO,IAAIvB,EAAmBhC,EAAKhI,EAAKgI,EAAIxD,KAAM,CAACiV,EAAO,SACvExY,MAAO6b,EAAUvR,OAAO,IAAIvB,EAAmBhC,EAAK/G,EAAO+G,EAAIxD,KAAM,CAACiV,EAAO,cAGrF,GAAIzR,EAAIE,OAAO0D,MAAO,CAClB,MAAMsR,EAAW,IAAI7a,IACrB,OAAOwH,QAAQ4B,UAAUvJ,KAAK0J,UAC1B,IAAK,MAAM1C,KAAQF,EAAO,CACtB,MAAMhJ,QAAYkJ,EAAKlJ,IACjBiB,QAAciI,EAAKjI,MACzB,GAAmB,YAAfjB,EAAI0I,QAAyC,YAAjBzH,EAAMyH,OAClC,OAAOI,EAEQ,UAAf9I,EAAI0I,QAAuC,UAAjBzH,EAAMyH,QAChCA,EAAOH,QAEX2U,EAAS3a,IAAIvC,EAAIiB,MAAOA,EAAMA,MAClC,CACA,MAAO,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAOic,IAE9C,CACK,CACD,MAAMA,EAAW,IAAI7a,IACrB,IAAK,MAAM6G,KAAQF,EAAO,CACtB,MAAMhJ,EAAMkJ,EAAKlJ,IACXiB,EAAQiI,EAAKjI,MACnB,GAAmB,YAAfjB,EAAI0I,QAAyC,YAAjBzH,EAAMyH,OAClC,OAAOI,EAEQ,UAAf9I,EAAI0I,QAAuC,UAAjBzH,EAAMyH,QAChCA,EAAOH,QAEX2U,EAAS3a,IAAIvC,EAAIiB,MAAOA,EAAMA,MAClC,CACA,MAAO,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAOic,EAC1C,CACJ,EAEJF,GAAOjY,OAAS,CAAC6X,EAASE,EAAW1V,IAC1B,IAAI4V,GAAO,CACdF,YACAF,UACAjQ,SAAUC,GAAsBoQ,UAC7BvS,EAAoBrD,KAGxB,MAAM+V,WAAepS,EACxB,MAAAQ,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GACjD,GAAIlD,EAAIoD,aAAe/J,EAAckB,IAMjC,OALAwF,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAckB,IACxB2C,SAAU8C,EAAIoD,aAEXtC,EAEX,MAAMiE,EAAMrP,KAAKsN,KACG,OAAhB+B,EAAIqQ,SACApV,EAAI7K,KAAKkgB,KAAOtQ,EAAIqQ,QAAQnc,QAC5B8G,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAawD,UACnBI,QAASwG,EAAIqQ,QAAQnc,MACrBmF,KAAM,MACNE,WAAW,EACXD,OAAO,EACPtC,QAASgJ,EAAIqQ,QAAQrZ,UAEzB2E,EAAOH,SAGK,OAAhBwE,EAAIuQ,SACAtV,EAAI7K,KAAKkgB,KAAOtQ,EAAIuQ,QAAQrc,QAC5B8G,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAa6D,QACnBC,QAASsG,EAAIuQ,QAAQrc,MACrBmF,KAAM,MACNE,WAAW,EACXD,OAAO,EACPtC,QAASgJ,EAAIuQ,QAAQvZ,UAEzB2E,EAAOH,SAGf,MAAMuU,EAAYpf,KAAKsN,KAAK8R,UAC5B,SAASS,EAAYC,GACjB,MAAMC,EAAY,IAAInb,IACtB,IAAK,MAAM0V,KAAWwF,EAAU,CAC5B,GAAuB,YAAnBxF,EAAQtP,OACR,OAAOI,EACY,UAAnBkP,EAAQtP,QACRA,EAAOH,QACXkV,EAAUC,IAAI1F,EAAQ/W,MAC1B,CACA,MAAO,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAOwc,EAC1C,CACA,MAAMD,EAAW,IAAIxV,EAAI7K,KAAKwgB,UAAUhgB,IAAI,CAACjB,EAAMoB,IAAMgf,EAAUvR,OAAO,IAAIvB,EAAmBhC,EAAKtL,EAAMsL,EAAIxD,KAAM1G,KACtH,OAAIkK,EAAIE,OAAO0D,MACJ/B,QAAQkO,IAAIyF,GAAUtb,KAAMsb,GAAaD,EAAYC,IAGrDD,EAAYC,EAE3B,CACA,GAAA/J,CAAI2J,EAASrZ,GACT,OAAO,IAAIoZ,GAAO,IACXzf,KAAKsN,KACRoS,QAAS,CAAEnc,MAAOmc,EAASrZ,QAAS+F,EAAUrM,SAASsG,KAE/D,CACA,GAAA4P,CAAI2J,EAASvZ,GACT,OAAO,IAAIoZ,GAAO,IACXzf,KAAKsN,KACRsS,QAAS,CAAErc,MAAOqc,EAASvZ,QAAS+F,EAAUrM,SAASsG,KAE/D,CACA,IAAAsZ,CAAKA,EAAMtZ,GACP,OAAOrG,KAAK+V,IAAI4J,EAAMtZ,GAAS4P,IAAI0J,EAAMtZ,EAC7C,CACA,QAAA+P,CAAS/P,GACL,OAAOrG,KAAK+V,IAAI,EAAG1P,EACvB,EAEJoZ,GAAOpY,OAAS,CAAC+X,EAAW1V,IACjB,IAAI+V,GAAO,CACdL,YACAM,QAAS,KACTE,QAAS,KACT3Q,SAAUC,GAAsBuQ,UAC7B1S,EAAoBrD,KAGxB,MAAMwW,WAAoB7S,EAC7B,WAAA9H,GACIC,SAASsS,WACT9X,KAAKuQ,SAAWvQ,KAAKmgB,SACzB,CACA,MAAAtS,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACzC,GAAIlD,EAAIoD,aAAe/J,EAAcO,SAMjC,OALAmG,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcO,SACxBsD,SAAU8C,EAAIoD,aAEXtC,EAEX,SAASgV,EAAcrN,EAAMtM,GACzB,OAAOgD,EAAU,CACbhK,KAAMsT,EACNjM,KAAMwD,EAAIxD,KACV6C,UAAW,CAACW,EAAIE,OAAOC,mBAAoBH,EAAII,eAAgBlB,IAAe,GAAiBzH,OAAQ4I,KAAQA,GAC/Gf,UAAW,CACPlD,KAAMzB,EAAa+C,kBACnBnB,eAAgBJ,IAG5B,CACA,SAAS4Z,EAAiBC,EAAS7Z,GAC/B,OAAOgD,EAAU,CACbhK,KAAM6gB,EACNxZ,KAAMwD,EAAIxD,KACV6C,UAAW,CAACW,EAAIE,OAAOC,mBAAoBH,EAAII,eAAgBlB,IAAe,GAAiBzH,OAAQ4I,KAAQA,GAC/Gf,UAAW,CACPlD,KAAMzB,EAAagD,oBACnBrB,gBAAiBH,IAG7B,CACA,MAAMiD,EAAS,CAAEsD,SAAU1C,EAAIE,OAAOC,oBAChC8V,EAAKjW,EAAI7K,KACf,GAAIO,KAAKsN,KAAKgT,mBAAmB3P,GAAY,CAIzC,MAAM6P,EAAKxgB,KACX,OAAO8L,EAAGoC,kBAAmB6E,GACzB,MAAMtM,EAAQ,IAAIrB,EAAS,IACrBqb,QAAmBD,EAAGlT,KAAKyF,KAAK1E,WAAW0E,EAAMrJ,GAAQjF,MAAOvC,IAElE,MADAuE,EAAMhB,SAAS2a,EAAcrN,EAAM7Q,IAC7BuE,IAEJmG,QAAe8T,QAAQC,MAAMJ,EAAIvgB,KAAMygB,GAO7C,aAN4BD,EAAGlT,KAAKgT,QAAQhT,KAAK5E,KAC5C2F,WAAWzB,EAAQlD,GACnBjF,MAAOvC,IAER,MADAuE,EAAMhB,SAAS4a,EAAiBzT,EAAQ1K,IAClCuE,GAGd,EACJ,CACK,CAID,MAAM+Z,EAAKxgB,KACX,OAAO8L,EAAG,YAAaiH,GACnB,MAAM0N,EAAaD,EAAGlT,KAAKyF,KAAK9E,UAAU8E,EAAMrJ,GAChD,IAAK+W,EAAW5T,QACZ,MAAM,IAAIzH,EAAS,CAACgb,EAAcrN,EAAM0N,EAAWha,SAEvD,MAAMmG,EAAS8T,QAAQC,MAAMJ,EAAIvgB,KAAMygB,EAAWhhB,MAC5CmhB,EAAgBJ,EAAGlT,KAAKgT,QAAQrS,UAAUrB,EAAQlD,GACxD,IAAKkX,EAAc/T,QACf,MAAM,IAAIzH,EAAS,CAACib,EAAiBzT,EAAQgU,EAAcna,SAE/D,OAAOma,EAAcnhB,IACzB,EACJ,CACJ,CACA,UAAAohB,GACI,OAAO7gB,KAAKsN,KAAKyF,IACrB,CACA,UAAA+N,GACI,OAAO9gB,KAAKsN,KAAKgT,OACrB,CACA,IAAAvN,IAAQrR,GACJ,OAAO,IAAIwe,GAAY,IAChBlgB,KAAKsN,KACRyF,KAAM8H,GAASxT,OAAO3F,GAAOmd,KAAK/E,GAAWzS,WAErD,CACA,OAAAiZ,CAAQQ,GACJ,OAAO,IAAIZ,GAAY,IAChBlgB,KAAKsN,KACRgT,QAASQ,GAEjB,CACA,SAAAX,CAAUY,GAEN,OADsB/gB,KAAKgO,MAAM+S,EAErC,CACA,eAAAC,CAAgBD,GAEZ,OADsB/gB,KAAKgO,MAAM+S,EAErC,CACA,aAAO1Z,CAAO0L,EAAMuN,EAAS5W,GACzB,OAAO,IAAIwW,GAAY,CACnBnN,KAAOA,GAAc8H,GAASxT,OAAO,IAAIwX,KAAK/E,GAAWzS,UACzDiZ,QAASA,GAAWxG,GAAWzS,SAC/B4H,SAAUC,GAAsBgR,eAC7BnT,EAAoBrD,IAE/B,EAEG,MAAMoT,WAAgBzP,EACzB,UAAI2B,GACA,OAAOhP,KAAKsN,KAAK2T,QACrB,CACA,MAAApT,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GAEzC,OADmBxN,KAAKsN,KAAK2T,SACXpT,OAAO,CAAEpO,KAAM6K,EAAI7K,KAAMqH,KAAMwD,EAAIxD,KAAMyF,OAAQjC,GACvE,EAEJwS,GAAQzV,OAAS,CAAC4Z,EAAQvX,IACf,IAAIoT,GAAQ,CACfmE,OAAQA,EACRhS,SAAUC,GAAsB4N,WAC7B/P,EAAoBrD,KAGxB,MAAMqT,WAAmB1P,EAC5B,MAAAQ,CAAOL,GACH,GAAIA,EAAM/N,OAASO,KAAKsN,KAAK/J,MAAO,CAChC,MAAM+G,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB9C,SAAU8C,EAAI7K,KACdiH,KAAMzB,EAAayC,gBACnBD,SAAUzH,KAAKsN,KAAK/J,QAEjB6H,CACX,CACA,MAAO,CAAEJ,OAAQ,QAASzH,MAAOiK,EAAM/N,KAC3C,CACA,SAAI8D,GACA,OAAOvD,KAAKsN,KAAK/J,KACrB,EASJ,SAASiZ,GAAcyD,EAAQvW,GAC3B,OAAO,IAAIsT,GAAQ,CACfiD,SACAhR,SAAUC,GAAsB8N,WAC7BjQ,EAAoBrD,IAE/B,CAbAqT,GAAW1V,OAAS,CAAC9D,EAAOmG,IACjB,IAAIqT,GAAW,CAClBxZ,MAAOA,EACP0L,SAAUC,GAAsB6N,cAC7BhQ,EAAoBrD,KAUxB,MAAMsT,WAAgB3P,EACzB,MAAAQ,CAAOL,GACH,GAA0B,iBAAfA,EAAM/N,KAAmB,CAChC,MAAM6K,EAAMtK,KAAKyN,gBAAgBD,GAC3B0T,EAAiBlhB,KAAKsN,KAAK2S,OAMjC,OALA5V,EAAkBC,EAAK,CACnB7C,SAAUzG,EAAKmC,WAAW+d,GAC1B1Z,SAAU8C,EAAIoD,WACdhH,KAAMzB,EAAasC,eAEhB6D,CACX,CAIA,GAHKpL,KAAKmhB,SACNnhB,KAAKmhB,OAAS,IAAIvc,IAAI5E,KAAKsN,KAAK2S,UAE/BjgB,KAAKmhB,OAAOzD,IAAIlQ,EAAM/N,MAAO,CAC9B,MAAM6K,EAAMtK,KAAKyN,gBAAgBD,GAC3B0T,EAAiBlhB,KAAKsN,KAAK2S,OAMjC,OALA5V,EAAkBC,EAAK,CACnB9C,SAAU8C,EAAI7K,KACdiH,KAAMzB,EAAa8C,mBACnBD,QAASoZ,IAEN9V,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,CACA,WAAIqI,GACA,OAAO9H,KAAKsN,KAAK2S,MACrB,CACA,QAAI/C,GACA,MAAMkE,EAAa,CAAC,EACpB,IAAK,MAAMre,KAAO/C,KAAKsN,KAAK2S,OACxBmB,EAAWre,GAAOA,EAEtB,OAAOqe,CACX,CACA,UAAIC,GACA,MAAMD,EAAa,CAAC,EACpB,IAAK,MAAMre,KAAO/C,KAAKsN,KAAK2S,OACxBmB,EAAWre,GAAOA,EAEtB,OAAOqe,CACX,CACA,QAAIE,GACA,MAAMF,EAAa,CAAC,EACpB,IAAK,MAAMre,KAAO/C,KAAKsN,KAAK2S,OACxBmB,EAAWre,GAAOA,EAEtB,OAAOqe,CACX,CACA,OAAAG,CAAQtB,EAAQuB,EAASxhB,KAAKsN,MAC1B,OAAO0P,GAAQ3V,OAAO4Y,EAAQ,IACvBjgB,KAAKsN,QACLkU,GAEX,CACA,OAAAC,CAAQxB,EAAQuB,EAASxhB,KAAKsN,MAC1B,OAAO0P,GAAQ3V,OAAOrH,KAAK8H,QAAQ/F,OAAQ2f,IAASzB,EAAO5X,SAASqZ,IAAO,IACpE1hB,KAAKsN,QACLkU,GAEX,EAEJxE,GAAQ3V,OAASmV,GACV,MAAMS,WAAsB5P,EAC/B,MAAAQ,CAAOL,GACH,MAAMmU,EAAmB3gB,EAAKY,mBAAmB5B,KAAKsN,KAAK2S,QACrD3V,EAAMtK,KAAKyN,gBAAgBD,GACjC,GAAIlD,EAAIoD,aAAe/J,EAAcE,QAAUyG,EAAIoD,aAAe/J,EAAcK,OAAQ,CACpF,MAAMkd,EAAiBlgB,EAAKiB,aAAa0f,GAMzC,OALAtX,EAAkBC,EAAK,CACnB7C,SAAUzG,EAAKmC,WAAW+d,GAC1B1Z,SAAU8C,EAAIoD,WACdhH,KAAMzB,EAAasC,eAEhB6D,CACX,CAIA,GAHKpL,KAAKmhB,SACNnhB,KAAKmhB,OAAS,IAAIvc,IAAI5D,EAAKY,mBAAmB5B,KAAKsN,KAAK2S,WAEvDjgB,KAAKmhB,OAAOzD,IAAIlQ,EAAM/N,MAAO,CAC9B,MAAMyhB,EAAiBlgB,EAAKiB,aAAa0f,GAMzC,OALAtX,EAAkBC,EAAK,CACnB9C,SAAU8C,EAAI7K,KACdiH,KAAMzB,EAAa8C,mBACnBD,QAASoZ,IAEN9V,CACX,CACA,OAAOU,EAAG0B,EAAM/N,KACpB,CACA,QAAIyd,GACA,OAAOld,KAAKsN,KAAK2S,MACrB,EAEJhD,GAAc5V,OAAS,CAAC4Y,EAAQvW,IACrB,IAAIuT,GAAc,CACrBgD,OAAQA,EACRhR,SAAUC,GAAsB+N,iBAC7BlQ,EAAoBrD,KAGxB,MAAMiH,WAAmBtD,EAC5B,MAAAuN,GACI,OAAO5a,KAAKsN,KAAK5E,IACrB,CACA,MAAAmF,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACzC,GAAIlD,EAAIoD,aAAe/J,EAAce,UAAgC,IAArB4F,EAAIE,OAAO0D,MAMvD,OALA7D,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAce,QACxB8C,SAAU8C,EAAIoD,aAEXtC,EAEX,MAAMwW,EAActX,EAAIoD,aAAe/J,EAAce,QAAU4F,EAAI7K,KAAO0M,QAAQ4B,QAAQzD,EAAI7K,MAC9F,OAAOqM,EAAG8V,EAAYpd,KAAM/E,GACjBO,KAAKsN,KAAK5E,KAAK2F,WAAW5O,EAAM,CACnCqH,KAAMwD,EAAIxD,KACVkG,SAAU1C,EAAIE,OAAOC,sBAGjC,EAEJkG,GAAWtJ,OAAS,CAAC2H,EAAQtF,IAClB,IAAIiH,GAAW,CAClBjI,KAAMsG,EACNC,SAAUC,GAAsByB,cAC7B5D,EAAoBrD,KAGxB,MAAMqF,WAAmB1B,EAC5B,SAAA6D,GACI,OAAOlR,KAAKsN,KAAK0B,MACrB,CACA,UAAA6S,GACI,OAAO7hB,KAAKsN,KAAK0B,OAAO1B,KAAK2B,WAAaC,GAAsBH,WAC1D/O,KAAKsN,KAAK0B,OAAO6S,aACjB7hB,KAAKsN,KAAK0B,MACpB,CACA,MAAAnB,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GAC3C2B,EAASnP,KAAKsN,KAAK6B,QAAU,KAC7B2S,EAAW,CACbrc,SAAWsc,IACP1X,EAAkBC,EAAKyX,GACnBA,EAAIC,MACJhX,EAAOF,QAGPE,EAAOH,SAGf,QAAI/D,GACA,OAAOwD,EAAIxD,IACf,GAGJ,GADAgb,EAASrc,SAAWqc,EAASrc,SAAS8J,KAAKuS,GACvB,eAAhB3S,EAAOzG,KAAuB,CAC9B,MAAMuZ,EAAY9S,EAAOU,UAAUvF,EAAI7K,KAAMqiB,GAC7C,GAAIxX,EAAIE,OAAO0D,MACX,OAAO/B,QAAQ4B,QAAQkU,GAAWzd,KAAK0J,MAAO+T,IAC1C,GAAqB,YAAjBjX,EAAOzH,MACP,OAAO6H,EACX,MAAMwB,QAAe5M,KAAKsN,KAAK0B,OAAOlB,YAAY,CAC9CrO,KAAMwiB,EACNnb,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,MAAsB,YAAlBsC,EAAO5B,OACAI,EACW,UAAlBwB,EAAO5B,QAEU,UAAjBA,EAAOzH,MADAsI,EAAMe,EAAOrJ,OAGjBqJ,IAGV,CACD,GAAqB,YAAjB5B,EAAOzH,MACP,OAAO6H,EACX,MAAMwB,EAAS5M,KAAKsN,KAAK0B,OAAOpB,WAAW,CACvCnO,KAAMwiB,EACNnb,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,MAAsB,YAAlBsC,EAAO5B,OACAI,EACW,UAAlBwB,EAAO5B,QAEU,UAAjBA,EAAOzH,MADAsI,EAAMe,EAAOrJ,OAGjBqJ,CACX,CACJ,CACA,GAAoB,eAAhBuC,EAAOzG,KAAuB,CAC9B,MAAMwZ,EAAqBC,IACvB,MAAMvV,EAASuC,EAAON,WAAWsT,EAAKL,GACtC,GAAIxX,EAAIE,OAAO0D,MACX,OAAO/B,QAAQ4B,QAAQnB,GAE3B,GAAIA,aAAkBT,QAClB,MAAM,IAAI3K,MAAM,6FAEpB,OAAO2gB,GAEX,IAAyB,IAArB7X,EAAIE,OAAO0D,MAAiB,CAC5B,MAAMkU,EAAQpiB,KAAKsN,KAAK0B,OAAOpB,WAAW,CACtCnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,MAAqB,YAAjB8X,EAAMpX,OACCI,GACU,UAAjBgX,EAAMpX,QACNA,EAAOH,QAEXqX,EAAkBE,EAAM7e,OACjB,CAAEyH,OAAQA,EAAOzH,MAAOA,MAAO6e,EAAM7e,OAChD,CAEI,OAAOvD,KAAKsN,KAAK0B,OAAOlB,YAAY,CAAErO,KAAM6K,EAAI7K,KAAMqH,KAAMwD,EAAIxD,KAAMyF,OAAQjC,IAAO9F,KAAM4d,GAClE,YAAjBA,EAAMpX,OACCI,GACU,UAAjBgX,EAAMpX,QACNA,EAAOH,QACJqX,EAAkBE,EAAM7e,OAAOiB,KAAK,KAChC,CAAEwG,OAAQA,EAAOzH,MAAOA,MAAO6e,EAAM7e,UAI5D,CACA,GAAoB,cAAhB4L,EAAOzG,KAAsB,CAC7B,IAAyB,IAArB4B,EAAIE,OAAO0D,MAAiB,CAC5B,MAAMmU,EAAOriB,KAAKsN,KAAK0B,OAAOpB,WAAW,CACrCnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,IAAK2B,EAAQoW,GACT,OAAOjX,EACX,MAAMwB,EAASuC,EAAOU,UAAUwS,EAAK9e,MAAOue,GAC5C,GAAIlV,aAAkBT,QAClB,MAAM,IAAI3K,MAAM,mGAEpB,MAAO,CAAEwJ,OAAQA,EAAOzH,MAAOA,MAAOqJ,EAC1C,CAEI,OAAO5M,KAAKsN,KAAK0B,OAAOlB,YAAY,CAAErO,KAAM6K,EAAI7K,KAAMqH,KAAMwD,EAAIxD,KAAMyF,OAAQjC,IAAO9F,KAAM6d,GAClFpW,EAAQoW,GAENlW,QAAQ4B,QAAQoB,EAAOU,UAAUwS,EAAK9e,MAAOue,IAAWtd,KAAMoI,IAAW,CAC5E5B,OAAQA,EAAOzH,MACfA,MAAOqJ,KAHAxB,EAOvB,CACApK,EAAKM,YAAY6N,EACrB,EAEJJ,GAAW1H,OAAS,CAAC2H,EAAQG,EAAQzF,IAC1B,IAAIqF,GAAW,CAClBC,SACAC,SAAUC,GAAsBH,WAChCI,YACGpC,EAAoBrD,KAG/BqF,GAAWuT,qBAAuB,CAACC,EAAYvT,EAAQtF,IAC5C,IAAIqF,GAAW,CAClBC,SACAG,OAAQ,CAAEzG,KAAM,aAAcmH,UAAW0S,GACzCtT,SAAUC,GAAsBH,cAC7BhC,EAAoBrD,KAIxB,MAAM8G,WAAoBnD,EAC7B,MAAAQ,CAAOL,GAEH,OADmBxN,KAAKuN,SAASC,KACd7J,EAAcjD,UACtBoL,OAAGpL,GAEPV,KAAKsN,KAAK4D,UAAUrD,OAAOL,EACtC,CACA,MAAAoN,GACI,OAAO5a,KAAKsN,KAAK4D,SACrB,EAEJV,GAAYnJ,OAAS,CAACqB,EAAMgB,IACjB,IAAI8G,GAAY,CACnBU,UAAWxI,EACXuG,SAAUC,GAAsBsB,eAC7BzD,EAAoBrD,KAGxB,MAAM+G,WAAoBpD,EAC7B,MAAAQ,CAAOL,GAEH,OADmBxN,KAAKuN,SAASC,KACd7J,EAAcY,KACtBuH,EAAG,MAEP9L,KAAKsN,KAAK4D,UAAUrD,OAAOL,EACtC,CACA,MAAAoN,GACI,OAAO5a,KAAKsN,KAAK4D,SACrB,EAEJT,GAAYpJ,OAAS,CAACqB,EAAMgB,IACjB,IAAI+G,GAAY,CACnBS,UAAWxI,EACXuG,SAAUC,GAAsBuB,eAC7B1D,EAAoBrD,KAGxB,MAAMuH,WAAmB5D,EAC5B,MAAAQ,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACzC,IAAI/N,EAAO6K,EAAI7K,KAIf,OAHI6K,EAAIoD,aAAe/J,EAAcjD,YACjCjB,EAAOO,KAAKsN,KAAK6D,gBAEdnR,KAAKsN,KAAK4D,UAAUrD,OAAO,CAC9BpO,OACAqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,GAEhB,CACA,aAAAkY,GACI,OAAOxiB,KAAKsN,KAAK4D,SACrB,EAEJD,GAAW5J,OAAS,CAACqB,EAAMgB,IAChB,IAAIuH,GAAW,CAClBC,UAAWxI,EACXuG,SAAUC,GAAsB+B,WAChCE,aAAwC,mBAAnBzH,EAAOqG,QAAyBrG,EAAOqG,QAAU,IAAMrG,EAAOqG,WAChFhD,EAAoBrD,KAGxB,MAAM4H,WAAiBjE,EAC1B,MAAAQ,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GAEnCiV,EAAS,IACRnY,EACHE,OAAQ,IACDF,EAAIE,OACPlF,OAAQ,KAGVsH,EAAS5M,KAAKsN,KAAK4D,UAAUrD,OAAO,CACtCpO,KAAMgjB,EAAOhjB,KACbqH,KAAM2b,EAAO3b,KACbyF,OAAQ,IACDkW,KAGX,OAAIvW,EAAQU,GACDA,EAAOpI,KAAMoI,IACT,CACH5B,OAAQ,QACRzH,MAAyB,UAAlBqJ,EAAO5B,OACR4B,EAAOrJ,MACPvD,KAAKsN,KAAKiE,WAAW,CACnB,SAAI9K,GACA,OAAO,IAAIrB,EAASqd,EAAOjY,OAAOlF,OACtC,EACAkI,MAAOiV,EAAOhjB,UAMvB,CACHuL,OAAQ,QACRzH,MAAyB,UAAlBqJ,EAAO5B,OACR4B,EAAOrJ,MACPvD,KAAKsN,KAAKiE,WAAW,CACnB,SAAI9K,GACA,OAAO,IAAIrB,EAASqd,EAAOjY,OAAOlF,OACtC,EACAkI,MAAOiV,EAAOhjB,OAIlC,CACA,WAAAijB,GACI,OAAO1iB,KAAKsN,KAAK4D,SACrB,EAEJI,GAASjK,OAAS,CAACqB,EAAMgB,IACd,IAAI4H,GAAS,CAChBJ,UAAWxI,EACXuG,SAAUC,GAAsBoC,SAChCC,WAAoC,mBAAjB7H,EAAOjF,MAAuBiF,EAAOjF,MAAQ,IAAMiF,EAAOjF,SAC1EsI,EAAoBrD,KAGxB,MAAMiZ,WAAetV,EACxB,MAAAQ,CAAOL,GAEH,GADmBxN,KAAKuN,SAASC,KACd7J,EAAcI,IAAK,CAClC,MAAMuG,EAAMtK,KAAKyN,gBAAgBD,GAMjC,OALAnD,EAAkBC,EAAK,CACnB5D,KAAMzB,EAAasC,aACnBE,SAAU9D,EAAcI,IACxByD,SAAU8C,EAAIoD,aAEXtC,CACX,CACA,MAAO,CAAEJ,OAAQ,QAASzH,MAAOiK,EAAM/N,KAC3C,EAEJkjB,GAAOtb,OAAUqC,GACN,IAAIiZ,GAAO,CACd1T,SAAUC,GAAsByT,UAC7B5V,EAAoBrD,KAGxB,MAAMkZ,GAAQC,OAAO,aACrB,MAAMzR,WAAmB/D,EAC5B,MAAAQ,CAAOL,GACH,MAAM,IAAElD,GAAQtK,KAAK2N,oBAAoBH,GACnC/N,EAAO6K,EAAI7K,KACjB,OAAOO,KAAKsN,KAAK5E,KAAKmF,OAAO,CACzBpO,OACAqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,GAEhB,CACA,MAAAsQ,GACI,OAAO5a,KAAKsN,KAAK5E,IACrB,EAEG,MAAMgJ,WAAoBrE,EAC7B,MAAAQ,CAAOL,GACH,MAAM,OAAExC,EAAM,IAAEV,GAAQtK,KAAK2N,oBAAoBH,GACjD,GAAIlD,EAAIE,OAAO0D,MAqBX,MApBoBA,WAChB,MAAM4U,QAAiB9iB,KAAKsN,KAAKyV,GAAGjV,YAAY,CAC5CrO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,MAAwB,YAApBwY,EAAS9X,OACFI,EACa,UAApB0X,EAAS9X,QACTA,EAAOH,QACAgB,EAAMiX,EAASvf,QAGfvD,KAAKsN,KAAK0V,IAAIlV,YAAY,CAC7BrO,KAAMqjB,EAASvf,MACfuD,KAAMwD,EAAIxD,KACVyF,OAAQjC,KAIb2Y,GAEN,CACD,MAAMH,EAAW9iB,KAAKsN,KAAKyV,GAAGnV,WAAW,CACrCnO,KAAM6K,EAAI7K,KACVqH,KAAMwD,EAAIxD,KACVyF,OAAQjC,IAEZ,MAAwB,YAApBwY,EAAS9X,OACFI,EACa,UAApB0X,EAAS9X,QACTA,EAAOH,QACA,CACHG,OAAQ,QACRzH,MAAOuf,EAASvf,QAIbvD,KAAKsN,KAAK0V,IAAIpV,WAAW,CAC5BnO,KAAMqjB,EAASvf,MACfuD,KAAMwD,EAAIxD,KACVyF,OAAQjC,GAGpB,CACJ,CACA,aAAOjD,CAAOuW,EAAGC,GACb,OAAO,IAAInM,GAAY,CACnBqR,GAAInF,EACJoF,IAAKnF,EACL5O,SAAUC,GAAsBwC,aAExC,EAEG,MAAMC,WAAoBtE,EAC7B,MAAAQ,CAAOL,GACH,MAAMZ,EAAS5M,KAAKsN,KAAK4D,UAAUrD,OAAOL,GACpC5B,EAAUnM,IACRwM,EAAQxM,KACRA,EAAK8D,MAAQpB,OAAOyJ,OAAOnM,EAAK8D,QAE7B9D,GAEX,OAAOyM,EAAQU,GAAUA,EAAOpI,KAAM/E,GAASmM,EAAOnM,IAASmM,EAAOgB,EAC1E,CACA,MAAAgO,GACI,OAAO5a,KAAKsN,KAAK4D,SACrB,EAgBJ,SAASgS,GAAYxZ,EAAQjK,GACzB,MAAM0jB,EAAsB,mBAAXzZ,EAAwBA,EAAOjK,GAA0B,iBAAXiK,EAAsB,CAAErD,QAASqD,GAAWA,EAE3G,MADwB,iBAANyZ,EAAiB,CAAE9c,QAAS8c,GAAMA,CAExD,CACO,SAASna,GAAOyF,EAAO2U,EAAU,CAAC,EAWzCpB,GACI,OAAIvT,EACOmL,GAAOvS,SAAS+H,YAAY,CAAC3P,EAAM6K,KACtC,MAAM+Y,EAAI5U,EAAMhP,GAChB,GAAI4jB,aAAalX,QACb,OAAOkX,EAAE7e,KAAM6e,IACX,IAAKA,EAAG,CACJ,MAAM3Z,EAASwZ,GAAYE,EAAS3jB,GAC9B6jB,EAAS5Z,EAAOsY,OAASA,IAAS,EACxC1X,EAAI7E,SAAS,CAAEiB,KAAM,YAAagD,EAAQsY,MAAOsB,GACrD,IAGR,IAAKD,EAAG,CACJ,MAAM3Z,EAASwZ,GAAYE,EAAS3jB,GAC9B6jB,EAAS5Z,EAAOsY,OAASA,IAAS,EACxC1X,EAAI7E,SAAS,CAAEiB,KAAM,YAAagD,EAAQsY,MAAOsB,GACrD,IAGD1J,GAAOvS,QAClB,CAnDAsK,GAAYtK,OAAS,CAACqB,EAAMgB,IACjB,IAAIiI,GAAY,CACnBT,UAAWxI,EACXuG,SAAUC,GAAsByC,eAC7B5E,EAAoBrD,KAiDxB,MAAM6Z,GAAO,CAChBlhB,OAAQmY,GAAUkC,YAEf,IAAIxN,IACX,SAAWA,GACPA,EAAiC,UAAI,YACrCA,EAAiC,UAAI,YACrCA,EAA8B,OAAI,SAClCA,EAAiC,UAAI,YACrCA,EAAkC,WAAI,aACtCA,EAA+B,QAAI,UACnCA,EAAiC,UAAI,YACrCA,EAAoC,aAAI,eACxCA,EAA+B,QAAI,UACnCA,EAA8B,OAAI,SAClCA,EAAkC,WAAI,aACtCA,EAAgC,SAAI,WACpCA,EAA+B,QAAI,UACnCA,EAAgC,SAAI,WACpCA,EAAiC,UAAI,YACrCA,EAAgC,SAAI,WACpCA,EAA6C,sBAAI,wBACjDA,EAAuC,gBAAI,kBAC3CA,EAAgC,SAAI,WACpCA,EAAiC,UAAI,YACrCA,EAA8B,OAAI,SAClCA,EAA8B,OAAI,SAClCA,EAAmC,YAAI,cACvCA,EAA+B,QAAI,UACnCA,EAAkC,WAAI,aACtCA,EAA+B,QAAI,UACnCA,EAAkC,WAAI,aACtCA,EAAqC,cAAI,gBACzCA,EAAmC,YAAI,cACvCA,EAAmC,YAAI,cACvCA,EAAkC,WAAI,aACtCA,EAAgC,SAAI,WACpCA,EAAkC,WAAI,aACtCA,EAAkC,WAAI,aACtCA,EAAmC,YAAI,cACvCA,EAAmC,YAAI,aAC1C,CArCD,CAqCGA,KAA0BA,GAAwB,CAAC,IAKtD,MAAMsU,GAAiB,CAEvBC,EAAK/Z,EAAS,CACVrD,QAAS,yBAAyBod,EAAIzd,UACpCgD,GAAQvJ,GAASA,aAAgBgkB,EAAK/Z,GACtCga,GAAarP,GAAUhN,OACvBsc,GAAa9L,GAAUxQ,OACvBuc,GAAUjB,GAAOtb,OACjBwc,GAAa7K,GAAU3R,OACvByc,GAAc3K,GAAW9R,OACzB0c,GAAW1K,GAAQhS,OACnB2c,GAAavK,GAAUpS,OACvB4c,GAAgBvK,GAAarS,OAC7B6c,GAAWvK,GAAQtS,OACnB8c,GAAUvK,GAAOvS,OACjB+c,GAActK,GAAWzS,OACzBgd,GAAYrK,GAAS3S,OACrBid,GAAWpK,GAAQ7S,OACnBkd,GAAY7T,GAASrJ,OACrBmd,GAAahK,GAAUnT,OACvBod,GAAmBjK,GAAUiC,aAC7BiI,GAAY7T,GAASxJ,OACrBsd,GAAyBxH,GAAsB9V,OAC/Cud,GAAmB7T,GAAgB1J,OACnCwd,GAAYhK,GAASxT,OACrByd,GAAa9F,GAAU3X,OACvB0d,GAAUzF,GAAOjY,OACjB2d,GAAUvF,GAAOpY,OACjB4d,GAAe/E,GAAY7Y,OAC3B6d,GAAWpI,GAAQzV,OACnB8d,GAAcpI,GAAW1V,OACzB+d,GAAWpI,GAAQ3V,OACnBge,GAAiBpI,GAAc5V,OAC/Bie,GAAc3U,GAAWtJ,OACzBke,GAAcxW,GAAW1H,OACzBme,GAAehV,GAAYnJ,OAC3Boe,GAAehV,GAAYpJ,OAC3Bqe,GAAiB3W,GAAWuT,qBAC5BqD,GAAejU,GAAYrK,OAC3Bue,GAAU,IAAMlC,KAAalU,WAC7BqW,GAAU,IAAMlC,KAAanU,WAC7BsW,GAAW,IAAMhC,KAActU,WACxB8E,GAAS,CAClBzQ,OAAUke,GAAQ1N,GAAUhN,OAAO,IAAK0a,EAAKzN,QAAQ,IACrDtQ,OAAU+d,GAAQlK,GAAUxQ,OAAO,IAAK0a,EAAKzN,QAAQ,IACrDrQ,QAAW8d,GAAQ5I,GAAW9R,OAAO,IAC9B0a,EACHzN,QAAQ,IAEZnQ,OAAU4d,GAAQ/I,GAAU3R,OAAO,IAAK0a,EAAKzN,QAAQ,IACrDvP,KAAQgd,GAAQ1I,GAAQhS,OAAO,IAAK0a,EAAKzN,QAAQ,KAGxCyR,GAAQ3a,ECxmHrB,GCCA,ECFa4a,ICAe,UAAS,CACjChb,OAAQ,WAAU,QAAQ2E,GAAG,WAAU,WAAWA,GAAG,WAAU,aAC/DsW,eAAgB,YAChBC,WAAY,YACZC,YAAa,YACbC,cAAe,cDLoB,UAAS,CAC5CvlB,GAAI,YACJmF,KAAM,YAAWwJ,WACjB6W,UAAW,YAAW7W,WACtB8W,WAAY,YAAW9W,cEGpB,SAAS+W,GAAkB7L,GAE9B,OAAO,GAASA,GAAOe,QAC3B,CCTO,MAAM+K,GAAyBD,GAAkB,CACpDE,KAAM,YACNC,KAAM,YAAWlX,WACjBmX,OAAQ,YAAWnX,aCFVoX,GAAcL,GAAkB,CACzCM,KAAM,YACNC,SAAUN,GAAuBhX,aAExBuX,GAAiBR,GAAkB,CAC5CM,KAAM,YACNG,OAAQ,YACRF,SAAUN,GAAuBhX,WACjCyX,MAAO,SAAQL,IAAapX,aCTnB0X,GAAwB,UAAS,CAC1CrmB,GAAI,YACJwE,OAAQ,SAAQ0hB,IAAgBvX,WAChC2X,SAAU,SAAQJ,IAAgBvX,aCJzB4X,GAAY,UAAS,CAE9BphB,KAAM,YAENqhB,MAAO,YAEPC,IAAK,YAAW9X,WAEhB+X,eAAgB,aAAY/X,aCLnBgY,GAAqB,UACtB,CACRxc,OAAQ,WAAU,WAAW2E,GAAG,WAAU,aAAaH,WACvDiY,QAAS,SAAQL,IAAW5X,WAC5BkY,UAAW,YACXC,qBAAsB,YAAWnY,WACjCoY,YAAa,YAAWpY,aAEvB0L,OAAO8K,GAAwBtL,OAC/BQ,OAAOgM,GAAsBxM,OCXP,GAAS,CAChCmN,MAAO,GAAQL,MCDnB,MAAMM,GAAqB,GAAO,IAAMvB,GAAkB,CACtDvgB,KAAM,KACNqK,QAAS,KACTvJ,KAAM,KACNihB,aAAc,GAAS,MACvBC,WAAY,GAAS,MACrBC,WAAY,KAAYzY,WACxB0Y,SAAU,KAAY1Y,WACtB2Y,eAAgB,GAAS,GAAO,IAAML,KAAqBtY,cAElD4Y,GAAgB,GAAS,KAAYN,ICT5CO,GAAoBC,GAAmB,GAAS,GAAQ,CAACA,EAAgB,QACzEC,GAAwB,GAAS,CACnCC,QAAS,GAAS,MAClBC,KAAM,GAAS,QAEbC,GAAgB,GAAS,KAAY,GAAQ,CAAC,KAAe,QAAclZ,WACpEmZ,GAA2B,GAAS,CAE7C3iB,KAAM,KACNqK,QAAS,KAETtR,QAAS,KAETgpB,aAAcW,GACdE,iBAAkBF,KAETG,GAAgBtC,GAAkB,CAC3Czf,KAAM,KACNgiB,SAAU,KAAWtZ,WACrBuZ,WAAY,KAAYvZ,WACxBwZ,gBAAiB,KAAW5lB,QAAQoM,WACpCyZ,kBAAmB,KAAYzZ,WAC/B0Z,gBAAiB,GAAO,CAAC,SAAU,cAAc1Z,WACjD2Z,OAAQ,GACI,CACRC,WAAYhB,GACZiB,QAAS,KACTC,SAAU,GAAS,CAEfC,YAAalB,GAAiB,GAAS,CAAC,IAExCmB,uBAAwBnB,GAAiBM,MAE7Cc,cAAe,GAAS,CACpBC,iBAAkBnB,GAClBoB,mBAAoBpB,OAGvB/Y,aAEIoa,GAAmB,GAAS,CAAEC,WAAYhB,KAC1CiB,GAAoB,GAAS,CACtCV,WAAYhB,GACZ2B,YAAa,GAAQlB,MC5CZmB,GAA2B,GAAS,CAC7CC,YAAa,KACbC,KAAM,KAAW1a,WACjB2a,WAAYxB,GAAyBnZ,aCFnC4a,GAAgC,GAAS,CAAEpkB,KAAM,KAAYqK,QAAS,KAAWb,aACjF6a,GAA0B,GAAQ,CAAC,KAAYD,KAC/CE,GAAmC,GAAQ,CAAC,KAAYF,GAA8B/N,aAC/EkO,GAAyBhE,GAAkB,CACpDiE,gBAAiB,GAAQ,GAAS,CAAEC,MAAO,GAAQ,CAACJ,GAAyB,GAAQA,QAA8BrP,eACnH0P,UAAW,GACC,CAAEF,gBAAiB,GAAQ,GAAS,CAAEC,MAAOH,KAAoCtP,iBACxFA,gBACNA,cC8BU2P,IA3BH,YAsBA,YAKqC,CAC3C7jB,KAAM,CAAC,OAAQ,UACf4B,KAAMshB,KAKGY,GAAkC,CAC3C9jB,KAAM,CAAC,OAAQ,UACf4B,KAAM6hB,IAKGM,GAAiC,CAC1C/jB,KAAM,CAAC,OAAQ,SACf4B,KAAMkhB,IAKGkB,GAAgC,CACzChkB,KAAM,CAAC,OAAQ,QACf4B,KAAMohB,IAKGiB,GAAwC,CACjDjkB,KAAM,CAAC,OAAQ,gBACf4B,KAAM,UAAS,CAAEsiB,OAAQ,QAAO,CAAC,OAAQ,mBCtE7C,IAAIC,GAAW9oB,OAAOkF,OAClB6jB,GAAY/oB,OAAOgpB,eACnBC,GAAmBjpB,OAAOkpB,yBAC1BC,GAAoBnpB,OAAOopB,oBAC3BC,GAAerpB,OAAOspB,eACtBC,GAAevpB,OAAOI,UAAUC,eAChCmpB,GAAa,CAACC,EAAIC,IAAQ,WAC7B,OAAOA,IAAO,EAAID,EAAGN,GAAkBM,GAAI,MAAMC,EAAM,CAAE9sB,QAAS,CAAC,IAAKA,QAAS8sB,GAAMA,EAAI9sB,OAC5F,EAWI+sB,GAAU,CAACD,EAAKE,EAAYta,KAAYA,EAAgB,MAAPoa,EAAcZ,GAASO,GAAaK,IAAQ,CAAC,EAVhF,EAACG,EAAIxO,EAAMyO,EAAQC,KACpC,GAAI1O,GAAwB,iBAATA,GAAqC,mBAATA,EAAqB,IAAK,IAA4Dlb,EAAxDF,EAAOkpB,GAAkB9N,GAAOpd,EAAI,EAAG+rB,EAAI/pB,EAAKjC,OAAaC,EAAI+rB,EAAG/rB,IAChJkC,EAAMF,EAAKhC,GACNsrB,GAAajpB,KAAKupB,EAAI1pB,IAOwE8pB,YAPhE9pB,GAAgB4oB,GAAUc,EAAI1pB,EAAK,CACrEib,KAAO3c,GAAM4c,EAAK5c,IAAI2O,KAAK,KAAMjN,GACjC+pB,aAAcH,EAAOd,GAAiB5N,EAAMlb,KAAS4pB,EAAKG,aAG5D,OAAOL,GAE6FI,EAAYL,GAAeF,GAAQA,EAAIS,WAGvI7a,EAHoJyZ,GAAUzZ,EAAQ,UAAW,CACrLlO,MAAOsoB,EACPQ,YAAY,IACAR,IAITU,GAAiBZ,GAAW,CAAE,+GAA+G5sB,EAASD,GACzJ,SAAS0tB,EAAUC,GAElB,OAAO3tB,EAAOC,QAAUytB,EAAY,mBAAqB3J,QAAU,iBAAmBA,OAAO6J,SAAW,SAASC,GAChH,cAAcA,CACf,EAAI,SAASA,GACZ,OAAOA,GAAO,mBAAqB9J,QAAU8J,EAAIpnB,cAAgBsd,QAAU8J,IAAQ9J,OAAOtgB,UAAY,gBAAkBoqB,CACzH,EAAG7tB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,QAASytB,EAAUC,EAC5F,CACA3tB,EAAOC,QAAUytB,EAAW1tB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OAClG,IAII6tB,GAAsBjB,GAAW,CAAE,oHAAoH5sB,EAASD,GACnK,IAAI+tB,EAAYN,KAA0B,QAW1CztB,EAAOC,QAVP,SAAuB+tB,EAAGzJ,GACzB,GAAI,UAAYwJ,EAAUC,KAAOA,EAAG,OAAOA,EAC3C,IAAI5qB,EAAI4qB,EAAEjK,OAAOkK,aACjB,QAAI,IAAW7qB,EAAG,CACjB,IAAI9B,EAAI8B,EAAEO,KAAKqqB,EAAGzJ,GAAK,WACvB,GAAI,UAAYwJ,EAAUzsB,GAAI,OAAOA,EACrC,MAAM,IAAI4sB,UAAU,+CACrB,CACA,OAAQ,WAAa3J,EAAI9O,OAASzR,QAAQgqB,EAC3C,EACgChuB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACtG,IAIIkuB,GAAwBtB,GAAW,CAAE,sHAAsH5sB,EAASD,GACvK,IAAIouB,EAAUX,KAA0B,QACpCQ,EAAcH,KAKlB9tB,EAAOC,QAJP,SAAyB+tB,GACxB,IAAI1sB,EAAI2sB,EAAYD,EAAG,UACvB,MAAO,UAAYI,EAAQ9sB,GAAKA,EAAIA,EAAI,EACzC,EACkCtB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACxG,IAIIouB,GAAyBxB,GAAW,CAAE,uHAAuH5sB,EAASD,GACzK,IAAIsuB,EAAgBH,KASpBnuB,EAAOC,QARP,SAAyBmD,EAAGmhB,EAAGyJ,GAC9B,OAAQzJ,EAAI+J,EAAc/J,MAAOnhB,EAAIC,OAAOgpB,eAAejpB,EAAGmhB,EAAG,CAChE9f,MAAOupB,EACPT,YAAY,EACZgB,cAAc,EACdC,UAAU,IACNprB,EAAEmhB,GAAKyJ,EAAG5qB,CAChB,EACkCpD,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACxG,IAIIwuB,GAAwB5B,GAAW,CAAE,sHAAsH5sB,EAASD,GACvK,IAAIqsB,EAAiBgC,KACrB,SAASK,EAAQtrB,EAAGmhB,GACnB,IAAIyJ,EAAI3qB,OAAOC,KAAKF,GACpB,GAAIC,OAAOsrB,sBAAuB,CACjC,IAAIhB,EAAItqB,OAAOsrB,sBAAsBvrB,GACrCmhB,IAAMoJ,EAAIA,EAAE1qB,OAAO,SAAS2rB,GAC3B,OAAOvrB,OAAOkpB,yBAAyBnpB,EAAGwrB,GAAKrB,UAChD,IAAKS,EAAE/rB,KAAK4f,MAAMmM,EAAGL,EACtB,CACA,OAAOK,CACR,CAYAhuB,EAAOC,QAXP,SAAwBmD,GACvB,IAAK,IAAImhB,EAAI,EAAGA,EAAIvL,UAAU3X,OAAQkjB,IAAK,CAC1C,IAAIyJ,EAAI,MAAQhV,UAAUuL,GAAKvL,UAAUuL,GAAK,CAAC,EAC/CA,EAAI,EAAImK,EAAQrrB,OAAO2qB,IAAI,GAAIa,QAAQ,SAASD,GAC/CvC,EAAejpB,EAAGwrB,EAAKZ,EAAEY,GAC1B,GAAKvrB,OAAOyrB,0BAA4BzrB,OAAO0rB,iBAAiB3rB,EAAGC,OAAOyrB,0BAA0Bd,IAAMU,EAAQrrB,OAAO2qB,IAAIa,QAAQ,SAASD,GAC7IvrB,OAAOgpB,eAAejpB,EAAGwrB,EAAKvrB,OAAOkpB,yBAAyByB,EAAGY,GAClE,EACD,CACA,OAAOxrB,CACR,EACiCpD,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACvG,ICvGA,SAAS,GAAW+uB,GACnB,MAAMC,EAAO,CACZ,SAAAD,CAAUE,GACT,IAAIC,EAAc,KACdC,GAAS,EACTC,GAAe,EACfC,GAAsB,EAC1B,SAASC,IACY,OAAhBJ,EAIAE,IACJA,GAAe,EACY,mBAAhBF,EAA4BA,IAC9BA,GAAaA,EAAYI,eANjCD,GAAsB,CAOxB,CAuBA,OAtBAH,EAAcH,EAAU,CACvB,IAAAQ,CAAK/qB,GACJ,IAAIgrB,EACAL,GACiC,QAApCK,EAAiBP,EAASM,YAAqC,IAAnBC,GAA6BA,EAAe9rB,KAAKurB,EAAUzqB,EACzG,EACA,KAAAkD,CAAM0H,GACL,IAAIqgB,EACAN,IACJA,GAAS,EAC8B,QAAtCM,EAAkBR,EAASvnB,aAAuC,IAApB+nB,GAA8BA,EAAgB/rB,KAAKurB,EAAU7f,GAC5GkgB,IACD,EACA,QAAAI,GACC,IAAIC,EACAR,IACJA,GAAS,EACoC,QAA5CQ,EAAqBV,EAASS,gBAA6C,IAAvBC,GAAiCA,EAAmBjsB,KAAKurB,GAC9GK,IACD,IAEGD,GAAqBC,IAClB,CAAEA,cACV,EACApe,KAAI,IAAI0e,IACAA,EAAWC,OAAOC,GAAad,IAGxC,OAAOA,CACR,CACA,SAASc,GAAYC,EAAMvO,GAC1B,OAAOA,EAAGuO,EACX,CCnDA,SAASC,GAAY1b,GACpB,OAAO,GAAY2a,GAClB,SAASgB,EAAQjT,EAAQ,EAAGkT,EAAK5b,EAAK4b,IACrC,MAAMX,EAAOjb,EAAK6b,MAAMnT,GACxB,IAAKuS,EAAM,MAAM,IAAI9sB,MAAM,oEAQ3B,OAPqB8sB,EAAK,CACzBW,KACAX,KAAKa,GACiBH,EAAQjT,EAAQ,EAAGoT,IAK3C,CACaH,GACDlB,UAAUE,GAExB,CAIA,SAASoB,GAAQ7rB,GAChB,OAAOc,MAAMC,QAAQf,GAASA,EAAQ,CAACA,EACxC,CCiDA,SAAS,GAASA,GACjB,QAASA,IAAUc,MAAMC,QAAQf,IAA2B,iBAAVA,CACnD,CAWkD,mBAAXsf,QAA2BA,OAAOwM,cAOzE,MAAM,GAAO9O,GAAOA,IAcpB,SAAS+O,GAAMC,EAAK,GACnB,OAAO,IAAIpjB,QAASqjB,GAAQC,WAAWD,EAAKD,GAC7C,CC5GA,IAAIG,GAAwB5D,GAAQqB,KAA0B,GAC1DwC,GAAuB7D,GAAQyB,KAAyB,GAYxD,GAAkB,MAAMqC,UAAwBpuB,MACnD,WAAA+D,CAAYc,EAASgN,GACpB,IAAIwc,EAAcC,EAClB,MAAMC,EAAQ1c,aAAmC,EAASA,EAAK0c,MAC/DvqB,MAAMa,EAAS,CAAE0pB,WACjB,EAAIL,GAAsB3f,SAAS/P,KAAM,aAAS,IAClD,EAAI0vB,GAAsB3f,SAAS/P,KAAM,aAAS,IAClD,EAAI0vB,GAAsB3f,SAAS/P,KAAM,YAAQ,IACjD,EAAI0vB,GAAsB3f,SAAS/P,KAAM,YAAQ,GACjDA,KAAKgwB,KAAO3c,aAAmC,EAASA,EAAK2c,KAC7DhwB,KAAK+vB,MAAQA,EACb/vB,KAAK0a,MAAQrH,SAAqE,QAAhCwc,EAAexc,EAAKzG,cAAqC,IAAjBijB,OAA0B,EAASA,EAAappB,MAC1IzG,KAAKP,KAAO4T,SAAsE,QAAjCyc,EAAgBzc,EAAKzG,cAAsC,IAAlBkjB,OAA2B,EAASA,EAAcrpB,MAAMhH,KAClJO,KAAKgG,KAAO,kBACZ7D,OAAO2D,eAAe9F,KAAM4vB,EAAgBrtB,UAC7C,CACA,WAAOib,CAAKyS,EAAQ5c,EAAO,CAAC,GAC3B,MAAM0c,EAAQE,EACd,OA7BF,SAA2BF,GAC1B,OAAOA,aAAiB,EACzB,CA2BM,CAAkBA,IACjB1c,EAAK2c,OAAMD,EAAMC,MAAO,EAAIL,GAAqB5f,UAAS,EAAI4f,GAAqB5f,SAAS,CAAC,EAAGggB,EAAMC,MAAO3c,EAAK2c,OAC/GD,GA3BF,GADqBpuB,EA8BHouB,IA7BD,GAASpuB,EAAW,QAAsC,iBAAzBA,EAAW,MAAQ,MAAqD,iBAA5BA,EAAW,MAAW,QA6BnF,IAAIiuB,EAAgBG,EAAMtpB,MAAMJ,SAAS,EAAIspB,GAAqB5f,UAAS,EAAI4f,GAAqB5f,SAAS,CAAC,EAAGsD,GAAO,CAAC,EAAG,CAAEzG,OAAQmjB,KACtK,IAAIH,EA3BO,iBADgBzhB,EA4BoB4hB,GA3BnB5hB,EAChC,GAASA,IAAkC,iBAAnBA,EAAa,QAAuBA,EAAa,QA0Bf,iBAAkB,EAAIwhB,GAAqB5f,UAAS,EAAI4f,GAAqB5f,SAAS,CAAC,EAAGsD,GAAO,CAAC,EAAG,CAAE0c,WA/BtK,IAA6BpuB,EAGOwM,CA6BnC,GClCD,SAAS,GAAe+hB,GAEvB,OADqBA,EAWjB,UAXiBA,IAYd,CACN1iB,MAboB0iB,EAcpBC,OAdoBD,GACK,CACzB1iB,MAAO,CACN4iB,UAAY3wB,GAASA,EACrB4wB,YAAc5wB,GAASA,GAExB0wB,OAAQ,CACPC,UAAY3wB,GAASA,EACrB4wB,YAAc5wB,GAASA,GAQ1B,CCpBA,MAAM,GAAc8gB,GAAqB,mBAAPA,EAUlC,IAAI,GAAuBuL,GAAQyB,KAAyB,GAiB5D,MAAM+C,GAAS,CACdC,MAAO,MACPC,SAAU,OACVC,aAAc,SAEf,SAASC,GAASrd,GACjB,MAAO,UAAWA,EAAOA,EAAK6c,YAAY1iB,MAAM4iB,UAAU/c,EAAK7F,OAdhE,SAAqBpK,GACpB,MAAMutB,EAAO,CAAC,EACd,IAAK,IAAI5U,EAAQ,EAAGA,EAAQ3Y,EAAMjD,OAAQ4b,IAAS,CAClD,MAAMzB,EAAUlX,EAAM2Y,GACtB4U,EAAK5U,GAASzB,CACf,CACA,OAAOqW,CACR,CAOyEC,CAAYvd,EAAKwd,OAAO5wB,IAAK6wB,GAAWzd,EAAK6c,YAAY1iB,MAAM4iB,UAAUU,IAClJ,CACA,MAAM,GAAUzd,IACf,MAAM0d,EAAQ1d,EAAK8B,IAAIpB,MAAM,KAE7B,IAAIoB,EADS4b,EAAM,GAAG5rB,QAAQ,MAAO,IACpB,IAAMkO,EAAKvM,KAC5B,MAAMkqB,EAAa,GAGnB,GAFID,EAAM,IAAIC,EAAWjwB,KAAKgwB,EAAM,IAChC,WAAY1d,GAAM2d,EAAWjwB,KAAK,WACpB,UAAdsS,EAAK3K,MAAkC,iBAAd2K,EAAK3K,KAAyB,CAC1D,MAAM8E,EAAQkjB,GAASrd,QACT,IAAV7F,GAA4C,SAAxB6F,EAAK4d,gBAA2BD,EAAWjwB,KAAK,SAASzB,mBAAmBC,KAAKC,UAAUgO,MACpH,CAEA,OADIwjB,EAAW7wB,SAAQgV,GAAO,IAAM6b,EAAWpxB,KAAK,MAC7CuV,GAEF,GAAW9B,IAChB,GAAkB,UAAdA,EAAK3K,MAA4C,SAAxB2K,EAAK4d,eAA2B,OAC7D,MAAMzjB,EAAQkjB,GAASrd,GACvB,YAAiB,IAAV7F,EAAmBjO,KAAKC,UAAUgO,QAAS,GAYnD,IAAI0jB,GAAa,cAAc1vB,MAC9B,WAAA+D,GACC,MAAMS,EAAO,aACbR,MAAMQ,GACNhG,KAAKgG,KAAOA,EACZhG,KAAKqG,QAAUL,CAChB,GAOD,MAAMmrB,GAAkBC,IACvB,IAAIC,EACJ,GAAMD,aAAuC,EAASA,EAAOE,QAA7D,CAEA,GADoD,QAAnDD,EAAwBD,EAAOD,sBAAsD,IAA1BE,GAAoCA,EAAsB5uB,KAAK2uB,GAC/F,oBAAjBG,aAA8B,MAAM,IAAIA,aAAa,aAAc,cAC9E,MAAM,IAAIL,EAHmE,GChEnDpF,GAAQyB,KAAyB,GChB5D,IAAI,GAAWprB,OAAOkF,OAClB,GAAYlF,OAAOgpB,eACnB,GAAmBhpB,OAAOkpB,yBAC1B,GAAoBlpB,OAAOopB,oBAC3B,GAAeppB,OAAOspB,eACtB,GAAetpB,OAAOI,UAAUC,eAChC,GAAa,CAACopB,EAAIC,IAAQ,WAC7B,OAAOA,IAAO,EAAID,EAAG,GAAkBA,GAAI,MAAMC,EAAM,CAAE9sB,QAAS,CAAC,IAAKA,QAAS8sB,GAAMA,EAAI9sB,OAC5F,EAWI,GAAU,CAAC8sB,EAAKE,EAAYta,KAAYA,EAAgB,MAAPoa,EAAc,GAAS,GAAaA,IAAQ,CAAC,EAVhF,EAACG,EAAIxO,EAAMyO,EAAQC,KACpC,GAAI1O,GAAwB,iBAATA,GAAqC,mBAATA,EAAqB,IAAK,IAA4Dlb,EAAxDF,EAAO,GAAkBob,GAAOpd,EAAI,EAAG+rB,EAAI/pB,EAAKjC,OAAaC,EAAI+rB,EAAG/rB,IAChJkC,EAAMF,EAAKhC,GACN,GAAaqC,KAAKupB,EAAI1pB,IAOwE,YAPhEA,GAAgB,GAAU0pB,EAAI1pB,EAAK,CACrEib,KAAO3c,GAAM4c,EAAK5c,IAAI2O,KAAK,KAAMjN,GACjC+pB,aAAcH,EAAO,GAAiB1O,EAAMlb,KAAS4pB,EAAKG,aAG5D,OAAOL,GAE6F,EAAYD,GAAeF,GAAQA,EAAIS,WAGvI7a,EAHoJ,GAAUA,EAAQ,UAAW,CACrLlO,MAAOsoB,EACPQ,YAAY,IACAR,IAIb,MAAM,GAAO,OACP2F,GAAqB7vB,IACtBQ,OAAOyJ,QAAQzJ,OAAOyJ,OAAOjK,IAElC,SAAS8vB,GAAiBC,EAAU5qB,EAAM6qB,GACzC,IAAIC,EACJ,MAAMC,EAAW/qB,EAAKlH,KAAK,KAyB3B,OAxBsC,QAArCgyB,EAAiBD,EAAKE,UAA0C,IAAnBD,IAA8BD,EAAKE,GAAY,IAAIC,MAAM,GAAM,CAC5G,GAAAvU,CAAIwU,EAAMzvB,GACT,GAAmB,iBAARA,GAA4B,SAARA,EAC/B,OAAOmvB,GAAiBC,EAAU,IAAI5qB,EAAMxE,GAAMqvB,EACnD,EACA,KAAAhR,CAAMqR,EAAIC,EAAIlf,GACb,MAAMmf,EAAaprB,EAAKA,EAAK3G,OAAS,GACtC,IAAIkT,EAAO,CACVN,OACAjM,QAYD,MAVmB,SAAforB,EAAuB7e,EAAO,CACjCN,KAAMA,EAAK5S,QAAU,EAAI,CAAC4S,EAAK,IAAM,GACrCjM,KAAMA,EAAKoD,MAAM,GAAI,IAEE,UAAfgoB,IAAwB7e,EAAO,CACvCN,KAAMA,EAAK5S,QAAU,EAAI4S,EAAK,GAAK,GACnCjM,KAAMA,EAAKoD,MAAM,GAAI,KAEtBsnB,GAAkBne,EAAKN,MACvBye,GAAkBne,EAAKvM,MAChB4qB,EAASre,EACjB,KAEMse,EAAKE,EACb,CAMA,MAAM,GAAwBH,GAAaD,GAAiBC,EAAU,GAAIvvB,OAAOkF,OAAO,OAuFxF,IAAI,GAAiB,GAAW,CAAE,+GAA+GtI,EAASD,GACzJ,SAAS0tB,EAAUC,GAElB,OAAO3tB,EAAOC,QAAUytB,EAAY,mBAAqB3J,QAAU,iBAAmBA,OAAO6J,SAAW,SAASC,GAChH,cAAcA,CACf,EAAI,SAASA,GACZ,OAAOA,GAAO,mBAAqB9J,QAAU8J,EAAIpnB,cAAgBsd,QAAU8J,IAAQ9J,OAAOtgB,UAAY,gBAAkBoqB,CACzH,EAAG7tB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,QAASytB,EAAUC,EAC5F,CACA3tB,EAAOC,QAAUytB,EAAW1tB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OAClG,IAII,GAAsB,GAAW,CAAE,oHAAoHA,EAASD,GACnK,IAAI+tB,EAAY,KAA0B,QAW1C/tB,EAAOC,QAVP,SAAuB+tB,EAAGzJ,GACzB,GAAI,UAAYwJ,EAAUC,KAAOA,EAAG,OAAOA,EAC3C,IAAI5qB,EAAI4qB,EAAEjK,OAAOkK,aACjB,QAAI,IAAW7qB,EAAG,CACjB,IAAI9B,EAAI8B,EAAEO,KAAKqqB,EAAGzJ,GAAK,WACvB,GAAI,UAAYwJ,EAAUzsB,GAAI,OAAOA,EACrC,MAAM,IAAI4sB,UAAU,+CACrB,CACA,OAAQ,WAAa3J,EAAI9O,OAASzR,QAAQgqB,EAC3C,EACgChuB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACtG,IAII,GAAwB,GAAW,CAAE,sHAAsHA,EAASD,GACvK,IAAIouB,EAAU,KAA0B,QACpCH,EAAc,KAKlBjuB,EAAOC,QAJP,SAAyB+tB,GACxB,IAAI1sB,EAAI2sB,EAAYD,EAAG,UACvB,MAAO,UAAYI,EAAQ9sB,GAAKA,EAAIA,EAAI,EACzC,EACkCtB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACxG,IAII,GAAyB,GAAW,CAAE,uHAAuHA,EAASD,GACzK,IAAIsuB,EAAgB,KASpBtuB,EAAOC,QARP,SAAyBmD,EAAGmhB,EAAGyJ,GAC9B,OAAQzJ,EAAI+J,EAAc/J,MAAOnhB,EAAIC,OAAOgpB,eAAejpB,EAAGmhB,EAAG,CAChE9f,MAAOupB,EACPT,YAAY,EACZgB,cAAc,EACdC,UAAU,IACNprB,EAAEmhB,GAAKyJ,EAAG5qB,CAChB,EACkCpD,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACxG,IAII,GAAwB,GAAW,CAAE,sHAAsHA,EAASD,GACvK,IAAIqsB,EAAiB,KACrB,SAASqC,EAAQtrB,EAAGmhB,GACnB,IAAIyJ,EAAI3qB,OAAOC,KAAKF,GACpB,GAAIC,OAAOsrB,sBAAuB,CACjC,IAAIhB,EAAItqB,OAAOsrB,sBAAsBvrB,GACrCmhB,IAAMoJ,EAAIA,EAAE1qB,OAAO,SAAS2rB,GAC3B,OAAOvrB,OAAOkpB,yBAAyBnpB,EAAGwrB,GAAKrB,UAChD,IAAKS,EAAE/rB,KAAK4f,MAAMmM,EAAGL,EACtB,CACA,OAAOK,CACR,CAYAhuB,EAAOC,QAXP,SAAwBmD,GACvB,IAAK,IAAImhB,EAAI,EAAGA,EAAIvL,UAAU3X,OAAQkjB,IAAK,CAC1C,IAAIyJ,EAAI,MAAQhV,UAAUuL,GAAKvL,UAAUuL,GAAK,CAAC,EAC/CA,EAAI,EAAImK,EAAQrrB,OAAO2qB,IAAI,GAAIa,QAAQ,SAASD,GAC/CvC,EAAejpB,EAAGwrB,EAAKZ,EAAEY,GAC1B,GAAKvrB,OAAOyrB,0BAA4BzrB,OAAO0rB,iBAAiB3rB,EAAGC,OAAOyrB,0BAA0Bd,IAAMU,EAAQrrB,OAAO2qB,IAAIa,QAAQ,SAASD,GAC7IvrB,OAAOgpB,eAAejpB,EAAGwrB,EAAKvrB,OAAOkpB,yBAAyByB,EAAGY,GAClE,EACD,CACA,OAAOxrB,CACR,EACiCpD,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACvG,IAI2B,GAAQ,KAAyB,GCtOhC,GAAQ,KAA0B,GACxByC,MAmBRA,MAA9B,IAgBI2wB,GAAyB,GAAQ,KAAyB,GAqD1DC,GAAuB,cAAc5wB,MACxC,WAAA+D,GACCC,MAAM,2CACP,GAMD,SAAS,GAAgB6sB,EAAUnC,GAClC,IAAItjB,EACJ,IACCA,EA7BF,SAA8BylB,EAAUnC,GACvC,GAAI,UAAWmC,EAAU,CACxB,MAAM5rB,EAAQypB,EAAYG,YAAYgC,EAAS5rB,OAC/C,MAAO,CACN6rB,IAAI,EACJ7rB,OAAO,EAAI0rB,GAAuBpiB,UAAS,EAAIoiB,GAAuBpiB,SAAS,CAAC,EAAGsiB,GAAW,CAAC,EAAG,CAAE5rB,UAEtG,CAKA,MAAO,CACN6rB,IAAI,EACJ1lB,QANc,EAAIulB,GAAuBpiB,UAAS,EAAIoiB,GAAuBpiB,SAAS,CAAC,EAAGsiB,EAASzlB,UAAWylB,EAASzlB,OAAOlE,MAAiC,SAAzB2pB,EAASzlB,OAAOlE,OAAoB,CAC1KA,KAAM,OACNjJ,KAAMywB,EAAYG,YAAYgC,EAASzlB,OAAOnN,QAMhD,CAaW8yB,CAAqBF,EAAUnC,EACzC,CAAE,MAAOsC,GACR,MAAM,IAAIJ,EACX,CACA,KAAKxlB,EAAO0lB,IAAQ,GAAS1lB,EAAOnG,MAAMA,QAAgD,iBAA/BmG,EAAOnG,MAAMA,MAAY,MAAiB,MAAM,IAAI2rB,GAC/G,GAAIxlB,EAAO0lB,KAAO,GAAS1lB,EAAOA,QAAS,MAAM,IAAIwlB,GACrD,OAAOxlB,CACR,CAI2B,GAAQ,KAAyB,GACzCiW,OAAO,QA8NJA,SC/UtB,MAAM4P,GAAkB,KACvB,MAAM,IAAIjxB,MAAM,4FAOjB,SAAS,GAAWkxB,GACnB,IAAIC,EAAe,KACfC,EAAgB,KAsCpB,SAASC,IACR,MAAMC,EA9BP,SAAoBpxB,GACnB,MAAMoxB,EAAe,CAAC,IACtB,IAAI/W,EAAQ,EACZ,OAAa,CACZ,MAAM/c,EAAO0C,EAAMqa,GACnB,IAAK/c,EAAM,MACX,MAAM+zB,EAAYD,EAAaA,EAAa3yB,OAAS,GAEpD,IAAI6yB,EAYAC,EAbDj0B,EAAKsyB,SAEyB,QAAhC0B,EAAeh0B,EAAKk0B,cAAqC,IAAjBF,GAA2BA,EAAavwB,KAAKzD,EAAM,IAAIwC,MAAM,YACtGua,KAGe2W,EAAYniB,SAASwiB,EAAUrzB,OAAOV,GAAMiB,IAAKkzB,GAAOA,EAAG7wB,OAE1EywB,EAAUhyB,KAAK/B,GACf+c,KAGwB,IAArBgX,EAAU5yB,OAMd2yB,EAAa/xB,KAAK,KAJiB,QAAjCkyB,EAAgBj0B,EAAKk0B,cAAsC,IAAlBD,GAA4BA,EAAcxwB,KAAKzD,EAAM,IAAIwC,MAAM,2CACzGua,IAIF,CACA,OAAO+W,CACR,CAEsBM,CAAWT,GArChCU,aAAaT,GACbA,EAAgB,KAChBD,EAAe,KAqCf,IAAK,MAAMjxB,KAASoxB,EAAc,CACjC,IAAKpxB,EAAMvB,OAAQ,SACnB,MAAMmzB,EAAQ,CAAE5xB,SAChB,IAAK,MAAM1C,KAAQ0C,EAAO1C,EAAKs0B,MAAQA,EACvBZ,EAAYa,MAAMD,EAAM5xB,MAAMzB,IAAKuzB,GAAUA,EAAMlxB,MAC3DkC,KAAK0J,MAAOtB,UACbT,QAAQkO,IAAIzN,EAAO3M,IAAIiO,MAAOulB,EAAgB1X,KACnD,MAAM/c,EAAOs0B,EAAM5xB,MAAMqa,GACzB,IACC,IAAI2X,EACJ,MAAMnwB,QAAc4I,QAAQ4B,QAAQ0lB,GACD,QAAlCC,EAAgB10B,EAAK+O,eAAuC,IAAlB2lB,GAA4BA,EAAcjxB,KAAKzD,EAAMuE,EACjG,CAAE,MAAOwsB,GACR,IAAI4D,EAC8B,QAAjCA,EAAgB30B,EAAKk0B,cAAsC,IAAlBS,GAA4BA,EAAclxB,KAAKzD,EAAM+wB,EAChG,CACA/wB,EAAKs0B,MAAQ,KACbt0B,EAAKk0B,OAAS,KACdl0B,EAAK+O,QAAU,QAEhB,IAAK,MAAM/O,KAAQs0B,EAAM5xB,MAAO,CAC/B,IAAIkyB,EAC8B,QAAjCA,EAAgB50B,EAAKk0B,cAAsC,IAAlBU,GAA4BA,EAAcnxB,KAAKzD,EAAM,IAAIwC,MAAM,mBACzGxC,EAAKs0B,MAAQ,IACd,IACE7uB,MAAOsrB,IACT,IAAK,MAAM/wB,KAAQs0B,EAAM5xB,MAAO,CAC/B,IAAImyB,EAC8B,QAAjCA,EAAgB70B,EAAKk0B,cAAsC,IAAlBW,GAA4BA,EAAcpxB,KAAKzD,EAAM+wB,GAC/F/wB,EAAKs0B,MAAQ,IACd,GAEF,CACD,CAoBA,MAAO,CAAEQ,KAnBT,SAAcxxB,GACb,IAAIyxB,EACJ,MAAM/0B,EAAO,CACZsyB,SAAS,EACThvB,MACAgxB,MAAO,KACPvlB,QAAS0kB,GACTS,OAAQT,IAEH/tB,EAAU,IAAIyH,QAAQ,CAAC4B,EAASmlB,KACrC,IAAIc,EACJh1B,EAAKk0B,OAASA,EACdl0B,EAAK+O,QAAUA,EACoB,QAAlCimB,EAAgBrB,SAA4C,IAAlBqB,IAA6BrB,EAAe,IACvFA,EAAa5xB,KAAK/B,KAGnB,OADqC,QAApC+0B,EAAiBnB,SAA8C,IAAnBmB,IAA8BnB,EAAgBnD,WAAWoD,IAC/FnuB,CACR,EAED,CA8CA,IAAI,GAAuBonB,GAAQyB,KAAyB,GAI5D,SAAS0G,GAAc5gB,GACtB,IAAI6gB,EAAoBC,EACxB,MAAMC,EJxJP,SAAgC/gB,GAC/B,MAAO,CACN8B,IAAK9B,EAAK8B,IAAIpV,WACdwzB,MAAOlgB,EAAKkgB,MACZrD,YAAa,GAAe7c,EAAK6c,aACjCe,eAAgB5d,EAAK4d,eAEvB,CIiJsB,CAAuB5d,GACtCghB,EAA4D,QAA5CH,EAAqB7gB,EAAKghB,oBAAiD,IAAvBH,EAAgCA,EAAqBI,IACzHC,EAAgD,QAApCJ,EAAiB9gB,EAAKkhB,gBAAyC,IAAnBJ,EAA4BA,EAAiBG,IAC3G,MAAO,KACN,MAAM5B,EAAehqB,IACb,CACN,QAAA6H,CAASikB,GACR,GAAIH,IAAiBC,KAAYC,IAAaD,IAAU,OAAO,EAC/D,GAAIE,EAASr0B,OAASo0B,EAAU,OAAO,EACvC,MAAMztB,EAAO0tB,EAASv0B,IAAKgvB,GAAOA,EAAGnoB,MAAMlH,KAAK,KAC1CixB,EAAS2D,EAASv0B,IAAKgvB,GAAOA,EAAGzhB,OAOvC,OANY,IAAO,EAAI,GAAqBuC,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGqkB,GAAe,CAAC,EAAG,CAC7G1rB,OACA5B,OACA+pB,SACAO,OAAQ,QAEEjxB,QAAUk0B,CACtB,EACA,WAAMd,CAAMiB,GACX,MAAM1tB,EAAO0tB,EAASv0B,IAAKgvB,GAAOA,EAAGnoB,MAAMlH,KAAK,KAC1CixB,EAAS2D,EAASv0B,IAAKgvB,GAAOA,EAAGzhB,OACjC4jB,EAjEX,YAA4BqD,GAC3B,MAAMC,EAAK,IAAIC,gBACTC,EAAQH,EAAQt0B,OACtB,IAAI00B,EAAe,EACnB,MAAMC,EAAU,OACTD,IAAiBD,GAAOF,EAAG5pB,SAElC,IAAK,MAAMsmB,KAAUqD,GAAarD,aAAuC,EAASA,EAAOE,SAASwD,IAC7F1D,SAAwCA,EAAO2D,iBAAiB,QAASD,EAAS,CAAEE,MAAM,IAC/F,OAAON,EAAGtD,MACX,CAuDoB,IAAmBoD,EAASv0B,IAAKgvB,GAAOA,EAAGmC,SACpD5B,OJpIe,CAACnc,GAiD3BnF,eAA2BmF,GAC1B,MAAM2c,EAAO,CAAC,EACRR,QArBPthB,eAAiCmF,GAChC,IAAI4hB,EACJ9D,GAAe9d,EAAK+d,QACpB,MAAMjc,EAAM9B,EAAK6hB,OAAO7hB,GAClB8hB,EAAO9hB,EAAK+hB,QAAQ/hB,IACpB,KAAE3K,GAAS2K,EACXgiB,OAAwB,WAC7B,MAAMC,QAAcjiB,EAAKkiB,UACzB,OAAI1S,OAAO6J,YAAY4I,EAAcnzB,OAAOqzB,YAAYF,GACjDA,CACP,EAJ6B,GAKxBC,GAAU,EAAI,GAAqBxlB,UAAS,EAAI,GAAqBA,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGsD,EAAKoiB,kBAAoB,CAAE,eAAgBpiB,EAAKoiB,mBAAsB,CAAC,GAAIpiB,EAAKqiB,iBAAmB,CAAE,cAAeriB,EAAKqiB,uBAAqB,GAASL,GACjR,OA/FD,SAAkBM,GACjB,GAAIA,EAAiB,OAAOA,EAC5B,GAAsB,oBAAXC,QAA0B,GAAWA,OAAOrC,OAAQ,OAAOqC,OAAOrC,MAC7E,GAA0B,oBAAfsC,YAA8B,GAAWA,WAAWtC,OAAQ,OAAOsC,WAAWtC,MACzF,MAAM,IAAI/xB,MAAM,gCACjB,CA0FQs0B,CAASziB,EAAKkgB,MAAduC,CAAqB3gB,EAAK,CAChC4gB,OAAyD,QAAhDd,EAAuB5hB,EAAK4d,sBAAqD,IAAzBgE,EAAkCA,EAAuB3E,GAAO5nB,GACjI0oB,OAAQ/d,EAAK+d,OACb+D,OACAI,WAEF,CAGmB,CAAkBliB,GACpC2c,EAAKqC,SAAW7C,EAChB,MAAMwG,QAAaxG,EAAIwG,OAEvB,OADAhG,EAAKiG,aAAeD,EACb,CACNA,OACAhG,OAEF,CA1DQ,EAAY,EAAI,GAAqBjgB,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGsD,GAAO,CAAC,EAAG,CACrGoiB,kBAAmB,mBACnBP,OAAM,GACNE,QAAO,MIgIc,EAAkB,EAAI,GAAqBrlB,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGqkB,GAAe,CAAC,EAAG,CAC9HttB,OACA+pB,SACAnoB,OACA6sB,QAAO,IACDliB,EAAKkiB,QACkB,mBAAjBliB,EAAKkiB,QAA+BliB,EAAKkiB,QAAQ,CAAEW,OAAQ1B,IAC/DnhB,EAAKkiB,QAFc,CAAC,EAI5BnE,YAOD,OALgB/sB,MAAMC,QAAQkrB,EAAIwG,MAAQxG,EAAIwG,KAAOxB,EAASv0B,IAAI,IAAMuvB,EAAIwG,OACrD/1B,IAAKjB,IAAS,CACpCgxB,KAAMR,EAAIQ,KACVgG,KAAMh3B,IAGR,IAKIm3B,EAAU,CACf5F,MAHa,GAAWmC,EAAY,UAIpClC,SAHgB,GAAWkC,EAAY,cAKxC,MAAO,EAAGzD,QACF,GAAYjB,IAElB,GAAgB,iBAAZiB,EAAGvmB,KAAyB,MAAM,IAAIlH,MAAM,wFAGhD,IAAI40B,EAgBJ,OAlBeD,EAAQlH,EAAGvmB,MACHorB,KAAK7E,GAEpBzqB,KAAMgrB,IACb4G,EAAO5G,EACP,MAAM6G,EAAc,GAAgB7G,EAAIwG,KAAM5B,EAAalE,YAAYC,QAClEkG,EAAY/D,IAIjBtE,EAASM,KAAK,CACbgI,QAAS9G,EAAIQ,KACbpjB,OAAQypB,EAAYzpB,SAErBohB,EAASS,YAPRT,EAASvnB,MAAM,GAAgB+W,KAAK6Y,EAAY5vB,MAAO,CAAEupB,KAAMR,EAAIQ,UAQlEvrB,MAAO0J,IACT6f,EAASvnB,MAAM,GAAgB+W,KAAKrP,EAAK,CAAE6hB,KAAMoG,aAAmC,EAASA,EAAKpG,UAE5F,SAIX,CChHA,SAAS,GAAgBuG,GACxB,IAAIhzB,EAAQgzB,EACZ,MAAMC,EAAe,GAQfC,EAAM,GAAYzI,IAPJ,CAACA,SACN,IAAVzqB,GAAkByqB,EAASM,KAAK/qB,GACpCizB,EAAaz1B,KAAKitB,IAMlB0I,CAAY1I,GACL,KALe,CAACA,IACvBwI,EAAaG,OAAOH,EAAarY,QAAQ6P,GAAW,IAKnD4I,CAAe5I,MASjB,OANAyI,EAAInI,KAAQuI,IACX,GAAItzB,IAAUszB,EAAd,CACAtzB,EAAQszB,EACR,IAAK,MAAM7I,KAAYwI,EAAcxI,EAASM,KAAKuI,EAFpB,GAIhCJ,EAAIlZ,IAAM,IAAMha,EACTkzB,CACR,CCrJ2B3K,GAAQyB,KAAyB,GDyFhC1K,SEtF5B,MAAMiU,GAAe,CACpBC,SAAS,EACTC,QAAS,GAEJC,GAAoB,CACzBF,SAAS,EACTG,cAAe,IACfC,WAAY,KAOPC,GAAsBC,GACH,IAAjBA,EAAqB,EAAIp0B,KAAK8S,IAAI,IAAM,GAAKshB,EAAc,KAS7D,GAAW,CAAC9zB,KAAUwP,IACH,mBAAVxP,EAAuBA,KAASwP,GAAQxP,EAKvD,IAAI+zB,GAA0BxL,GAAQqB,KAA0B,GAC5DoK,GAA2B,MAAMA,UAAiC/1B,MACrE,WAAA+D,CAAY8N,GACX7N,MAAM6N,EAAKhN,QAAS,CAAE0pB,MAAO1c,EAAK0c,QAClC/vB,KAAKgG,KAAO,2BACZ7D,OAAO2D,eAAe9F,KAAMu3B,EAAyBh1B,UACtD,GAMGi1B,GAAoB,MACvB,WAAAjyB,CAAYkyB,EAAWC,GACtB13B,KAAKy3B,UAAYA,EACjBz3B,KAAK03B,UAAYA,GACjB,EAAIJ,GAAwBvnB,SAAS/P,KAAM,eAAW,EACvD,CAKA,KAAA23B,GACM33B,KAAK43B,UACVvE,aAAarzB,KAAK43B,SAClB53B,KAAK43B,QAAUnI,WAAWzvB,KAAKy3B,UAAWz3B,KAAK03B,WAChD,CACA,KAAArQ,GACCgM,aAAarzB,KAAK43B,SAClB53B,KAAK43B,QAAUnI,WAAWzvB,KAAKy3B,UAAWz3B,KAAK03B,UAChD,CACA,IAAAG,GACCxE,aAAarzB,KAAK43B,SAClB53B,KAAK43B,aAAU,CAChB,GAED,SAASE,KACR,IAAI/pB,EACAmlB,EAKJ,MAAO,CACNxuB,QALe,IAAIyH,QAAQ,CAACqjB,EAAKuI,KACjChqB,EAAUyhB,EACV0D,EAAS6E,IAIThqB,UACAmlB,SAEF,CAuBA,IAAI8E,GAA0BlM,GAAQqB,KAA0B,GAS5D8K,GAAiB,MACpB,WAAA1yB,IACC,EAAIyyB,GAAwBjoB,SAAS/P,KAAM,mBAAoB,IAAIqE,QACnE,EAAI2zB,GAAwBjoB,SAAS/P,KAAM,kBAAmB,CAAC,EAChE,CASA,QAAAk4B,CAAS7xB,EAAS8xB,GACjB,MAAQzzB,QAAS4iB,EAAG,QAAEvZ,GAAY+pB,KAiBlC,OAhBA93B,KAAKo4B,iBAAiBr3B,KAAK,CAC1BF,GAAI0T,OAAOlO,EAAQxF,IACnBwF,UACAihB,MACA6Q,UAAW,CACV7J,KAAM6J,EAAU7J,KAChBG,SAAU,KACT0J,EAAU1J,WACV1gB,KAEDtH,MAAQvE,IACPi2B,EAAU1xB,MAAMvE,GAChB6L,QAII,KACN/N,KAAKq4B,OAAOhyB,EAAQxF,IACpBs3B,EAAU1J,WACV1gB,IAEF,CAIA,OAAOuqB,GACY,OAAdA,IACJt4B,KAAKo4B,iBAAmBp4B,KAAKo4B,iBAAiBr2B,OAAO,EAAGlB,QAASA,IAAO0T,OAAO+jB,WACxEt4B,KAAKu4B,gBAAgBhkB,OAAO+jB,IACpC,CASA,KAAAE,GACC,MAAMC,EAAWz4B,KAAKo4B,iBACtBp4B,KAAKo4B,iBAAmB,GACxB,IAAK,MAAMM,KAAWD,EAAUz4B,KAAKu4B,gBAAgBG,EAAQ73B,IAAM63B,EACnE,OAAOD,CACR,CAKA,kBAAAE,GACC,OAAOx2B,OAAO8d,OAAOjgB,KAAKu4B,gBAC3B,CAIA,iBAAAK,CAAkBN,GACjB,OAAkB,OAAdA,EAA2B,KACxBt4B,KAAKu4B,gBAAgBhkB,OAAO+jB,GACpC,CAIA,mBAAAO,GACC,OAAO74B,KAAKo4B,gBACb,CAMA,WAAAU,GACC,MAAO,IAAI94B,KAAK64B,sBAAsB54B,IAAKy4B,IAAY,CACtDK,MAAO,WACP1yB,QAASqyB,EAAQryB,QACjBihB,IAAKoR,EAAQpR,IACb6Q,UAAWO,EAAQP,gBACZn4B,KAAK24B,qBAAqB14B,IAAKy4B,IAAY,CAClDK,MAAO,UACP1yB,QAASqyB,EAAQryB,QACjBihB,IAAKoR,EAAQpR,IACb6Q,UAAWO,EAAQP,aAErB,CAIA,kBAAAa,GACC,OAAOh5B,KAAK24B,qBAAqBx4B,OAAS,CAC3C,CAIA,uBAAA84B,GACC,OAAOj5B,KAAK24B,qBAAqBO,KAAMR,GAAuC,iBAA3BA,EAAQryB,QAAQ0vB,OACpE,CAIA,mBAAAoD,GACC,OAAOn5B,KAAKo4B,iBAAiBj4B,OAAS,CACvC,GAKGi5B,GAA0BtN,GAAQqB,KAA0B,GA2BhE,SAASkM,GAAkBC,GAAI,WAAEnC,EAAU,cAAED,IAC5C,IAAIqC,EACAC,EACJ,SAASnS,IACRkS,EAAc9J,WAAW,KACxB6J,EAAGG,KAAK,QACRD,EAAc/J,WAAW,KACxB6J,EAAGI,SACDxC,IACDC,EACJ,CASAmC,EAAGvE,iBAAiB,OAAQ1N,GAC5BiS,EAAGvE,iBAAiB,UAAW,EAAGt1B,WACjC4zB,aAAakG,GACblS,IACa,SAAT5nB,IAPJ4zB,aAAamG,GAJbnG,aAAakG,GACblS,OAYDiS,EAAGvE,iBAAiB,QAAS,KAC5B1B,aAAakG,GACblG,aAAamG,IAEf,CAKA,IAAIG,GAAe,MAAMA,EACxB,WAAAp0B,CAAY8N,GACX,IAAIumB,EAQJ,IAPA,EAAIR,GAAwBrpB,SAAS/P,KAAM,OAAQ25B,EAAaE,eAChE,EAAIT,GAAwBrpB,SAAS/P,KAAM,yBAAqB,IAChE,EAAIo5B,GAAwBrpB,SAAS/P,KAAM,kBAAc,IACzD,EAAIo5B,GAAwBrpB,SAAS/P,KAAM,qBAAiB,IAC5D,EAAIo5B,GAAwBrpB,SAAS/P,KAAM,eAAgB,GAAgB,QAC3E,EAAIo5B,GAAwBrpB,SAAS/P,KAAM,cAAe,MAC1DA,KAAK85B,kBAAyE,QAApDF,EAAwBvmB,EAAKymB,yBAAyD,IAA1BF,EAAmCA,EAAwBG,WAC5I/5B,KAAK85B,kBAAmB,MAAM,IAAIt4B,MAAM,gJAC7CxB,KAAKg6B,WAAa3mB,EAAK2mB,WACvBh6B,KAAKi6B,cAAgB5mB,EAAK6mB,SAC3B,CACA,MAAIZ,GACH,OAAOt5B,KAAKm6B,aAAa5c,KAC1B,CACA,MAAI+b,CAAGA,GACNt5B,KAAKm6B,aAAa7L,KAAKgL,EACxB,CAIA,MAAAc,GACC,QAASp6B,KAAKs5B,IAAMt5B,KAAKs5B,GAAGe,aAAer6B,KAAK85B,kBAAkBQ,OAASt6B,KAAKu6B,WACjF,CAIA,QAAAC,GACC,QAASx6B,KAAKs5B,KAAOt5B,KAAKs5B,GAAGe,aAAer6B,KAAK85B,kBAAkBW,SAAWz6B,KAAKs5B,GAAGe,aAAer6B,KAAK85B,kBAAkBY,OAC7H,CACA,UAAMC,GACL,IAAIC,EAAQ56B,KACZ,GAAI46B,EAAML,YAAa,OAAOK,EAAML,YACpCK,EAAM/5B,KAAO84B,EAAaE,aAC1B,MAAMgB,EAlPR3sB,eAA0B8rB,GACzB,MAAM7kB,QAAY,GAAS6kB,EAAW7kB,KACtC,IAAK6kB,EAAWc,iBAAkB,OAAO3lB,EACzC,MAAM4lB,EAAS5lB,EAAI9M,SAAS,KAAO,IAAM,IAEzC,OAAO8M,EADkB,GAAG4lB,qBAE7B,CA4OoBC,CAAWJ,EAAMZ,YAAYx1B,KAAM2Q,GAAQ,IAAIylB,EAAMd,kBAAkB3kB,IACzFylB,EAAML,YAAcM,EAAUr2B,KAAK0J,MAAOorB,IACzCsB,EAAMtB,GAAKA,EACXA,EAAGvE,iBAAiB,UAAW,UAAS,KAAEt1B,IAC5B,SAATA,GAAiBO,KAAKy5B,KAAK,OAChC,GACImB,EAAMX,cAAclD,SAASsC,GAAkBC,EAAIsB,EAAMX,eAC7DX,EAAGvE,iBAAiB,QAAS,KACxB6F,EAAMtB,KAAOA,IAAIsB,EAAMtB,GAAK,cAnGpC,SAAqBA,GACpB,MAAM,QAAE50B,EAAO,QAAEqJ,EAAO,OAAEmlB,GAAW4E,KAMrC,OALAwB,EAAGvE,iBAAiB,OAAQ,KAC3BuE,EAAG2B,oBAAoB,QAAS/H,GAChCnlB,MAEDurB,EAAGvE,iBAAiB,QAAS7B,GACtBxuB,CACR,CA6FSw2B,CAAY5B,GACdsB,EAAMZ,WAAWc,kBAAkBxB,EAAGG,WAtP7CvrB,eAAsC4sB,GACrC,MAAMz0B,EAAU,CACf0vB,OAAQ,mBACRt2B,WAAY,GAASq7B,IAEtB,OAAOv7B,KAAKC,UAAU6G,EACvB,CAgPwD80B,CAAuBP,EAAMZ,WAAWc,qBAE9F,UACOF,EAAML,WACb,CAAE,QACDK,EAAML,YAAc,IACrB,CACD,CAKA,WAAMb,GAEL,UADa15B,KAECu6B,WACd,CAAE,QACD,IAAIa,EACuB,QAA1BA,EALWp7B,KAKOs5B,UAA6B,IAAb8B,GAAuBA,EAAS1B,OACpE,CACD,IAED,EAAIN,GAAwBrpB,SAAS4pB,GAAc,eAAgB,GAyBnE,IAAI,GAAwB7N,GAAQqB,KAA0B,GAC1D,GAAuBrB,GAAQyB,KAAyB,GAKxD8N,GAAW,MACd,WAAA91B,CAAY8N,GACX,IAAIioB,GACJ,EAAI,GAAsBvrB,SAAS/P,KAAM,uBAAmB,IAC5D,EAAI,GAAsB+P,SAAS/P,KAAM,kBAAkB,IAC3D,EAAI,GAAsB+P,SAAS/P,KAAM,iBAAkB,IAAIi4B,KAC/D,EAAI,GAAsBloB,SAAS/P,KAAM,wBAAoB,IAC7D,EAAI,GAAsB+P,SAAS/P,KAAM,2BAAuB,IAChE,EAAI,GAAsB+P,SAAS/P,KAAM,yBAAqB,IAC9D,EAAI,GAAsB+P,SAAS/P,KAAM,iBAAa,IACtD,EAAI,GAAsB+P,SAAS/P,KAAM,gBAAY,IACrD,EAAI,GAAsB+P,SAAS/P,KAAM,eAAgB,MACzDA,KAAKm4B,UAAY,CAChBoD,OAAQloB,EAAKkoB,OACbC,QAASnoB,EAAKmoB,QACdC,QAASpoB,EAAKooB,SAEf,MAAMC,GAAc,EAAI,GAAqB3rB,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAG+mB,IAAezjB,EAAKsoB,MAChH37B,KAAK47B,kBAAoB,IAAIpE,GAAkB,KAC1Cx3B,KAAK67B,eAAe1C,uBAAyBn5B,KAAK67B,eAAe7C,qBACpEh5B,KAAK47B,kBAAkBjE,QAGxB33B,KAAK05B,QAAQj1B,MAAM,IAAM,OACvBi3B,EAAY1E,SACfh3B,KAAK87B,iBAAmB,IAAInC,GAAa,CACxCG,kBAAmBzmB,EAAK0mB,UACxBC,WAAY3mB,EACZ6mB,WAAW,EAAI,GAAqBnqB,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGknB,IAAoB5jB,EAAK6mB,aAE7Gl6B,KAAK87B,iBAAiB3B,aAAarM,UAAU,CAAEQ,KAAOgL,IAChDA,GACLt5B,KAAK+7B,wBAAwBzC,MAE9Bt5B,KAAKg8B,oBAAmE,QAA5CV,EAAqBjoB,EAAK4oB,oBAAiD,IAAvBX,EAAgCA,EAAqBlE,GACrIp3B,KAAKk8B,SAAWR,EAAY3E,QAC5B/2B,KAAKm8B,gBAAkB,GAAgB,CACtCzzB,KAAM,QACNqwB,MAAO2C,EAAY3E,QAAU,OAAS,aACtCtwB,MAAO,OAEHzG,KAAKk8B,UAAUl8B,KAAK26B,OAAOl2B,MAAM,IAAM,KAC7C,CAKA,UAAMk2B,GACL,IAAIC,EAAQ56B,KACZ46B,EAAMwB,gBAAiB,EACmB,eAAtCxB,EAAMuB,gBAAgB5e,MAAMwb,OAAwB6B,EAAMuB,gBAAgB7N,KAAK,CAClF5lB,KAAM,QACNqwB,MAAO,aACPtyB,MAAO,OAER,UACOm0B,EAAMkB,iBAAiBnB,MAC9B,CAAE,MAAOl0B,GAKR,OAJAm0B,EAAMyB,UAAU,IAAI9E,GAAyB,CAC5ClxB,QAAS,uBACT0pB,MAAOtpB,KAEDm0B,EAAM0B,YACd,CACD,CAKA,WAAM5C,GACL,IAAI6C,EAASv8B,KACbu8B,EAAOH,gBAAiB,EACxBG,EAAOX,kBAAkB/D,OACzB,MAAM2E,EAAkB,GACxB,IAAK,MAAM9D,KAAW6D,EAAOV,eAAe/C,cAA8C,iBAA3BJ,EAAQryB,QAAQ0vB,OAA2B2C,EAAQP,UAAU1J,WACjG,aAAlBiK,EAAQK,MAAsBL,EAAQP,UAAU1xB,MAAM,GAAgB+W,KAAK,IAAI+Z,GAAyB,CAAElxB,QAAS,+CACvHm2B,EAAgBz7B,KAAK23B,EAAQpR,WAC5Bnb,QAAQkO,IAAImiB,GAAiB/3B,MAAM,IAAM,YACzC83B,EAAOT,iBAAiBpC,QAAQj1B,MAAM,IAAM,MAClD83B,EAAOJ,gBAAgB7N,KAAK,CAC3B5lB,KAAM,QACNqwB,MAAO,OACPtyB,MAAO,MAET,CAWA,OAAAiyB,EAAUzJ,IAAI,GAAEpuB,EAAE,KAAE6H,EAAI,KAAE5B,EAAI,MAAE0G,EAAK,OAAE4jB,GAAQ,YAAElB,EAAW,YAAEuM,IAC7D,OAAO,GAAYzO,IAClB,MAAMljB,EAAQ9K,KAAK08B,UAAU,CAC5B77B,KACAk1B,OAAQrtB,EACRgB,OAAQ,CACP8D,MAAO0iB,EAAY1iB,MAAM4iB,UAAU5iB,GACnC1G,OACA21B,iBAEC,EAAI,GAAqB1sB,UAAS,EAAI,GAAqBA,SAAS,CAAC,EAAGie,GAAW,CAAC,EAAG,CAAE,IAAAM,CAAKqO,GAChG,MAAMtG,EAAc,GAAgBsG,EAAOzM,EAAYC,QAClDkG,EAAY/D,GAIjBtE,EAASM,KAAK,CAAE1hB,OAAQypB,EAAYzpB,SAHnCohB,EAASvnB,MAAM,GAAgB+W,KAAK6Y,EAAY5vB,OAIlD,KACA,MAAO,KACNqE,IACa,iBAATpC,GAA2B1I,KAAK87B,iBAAiB1B,UAAUp6B,KAAKy5B,KAAK,CACxE54B,KACAk1B,OAAQ,sBAET3E,SAAwCA,EAAO6J,oBAAoB,QAASnwB,KAG/E,CACA,cAAI8xB,GACH,OAvJ6BA,EAuJA58B,KAAK87B,kBAtJpB1B,SAAiB,CAC/Bv5B,GAAI+7B,EAAW/7B,GACfk4B,MAAO,OACPO,GAAIsD,EAAWtD,IAEZsD,EAAWpC,WAAmB,CACjC35B,GAAI+7B,EAAW/7B,GACfk4B,MAAO,SACPO,GAAIsD,EAAWtD,IAEXsD,EAAWtD,GACT,CACNz4B,GAAI+7B,EAAW/7B,GACfk4B,MAAO,aACPO,GAAIsD,EAAWtD,IAJW,KAX5B,IAA+BsD,CAwJ9B,CACA,SAAAP,CAAUQ,GACT,IAAIC,EAAS98B,KAMb,GALAA,KAAKm8B,gBAAgB7N,KAAK,CACzB5lB,KAAM,QACNqwB,MAAO,aACPtyB,MAAO,GAAgB+W,KAAKqf,KAEzB78B,KAAKs8B,aAAc,OACvB,MAAMS,EAAe7uB,MAAOmpB,IAC3B,UACO/H,GAAMwN,EAAOd,oBAAoB3E,IACnCyF,EAAOV,uBACJU,EAAOhB,iBAAiBpC,cACxBoD,EAAOhB,iBAAiBnB,OAC1BmC,EAAOjB,eAAe7C,sBAAsB8D,EAAOrD,KAAKqD,EAAOjB,eAAelD,qBAAqB14B,IAAI,EAAGoG,aAAcA,KAE7Hy2B,EAAOR,aAAe,IACvB,CAAE,MAAO9J,SACFuK,EAAa1F,EAAe,EACnC,GAEDr3B,KAAKs8B,aAAeS,EAAa,EAClC,CACA,uBAAAhB,CAAwBzC,GACvB,IAAI0D,EAASh9B,KACb,MAAMi9B,EAAsBlN,IAC3B,MAAMmN,EAAOl9B,KAAK67B,eAAelD,qBACjC,IAAK,MAAM,QAAEtyB,EAAO,UAAE8xB,KAAe+E,EACb,iBAAnB72B,EAAQ0vB,SACZoC,EAAU1xB,MAAM,GAAgB+W,KAAKuS,QAAqCA,EAAQ,IAAIwH,GAAyB,CAC9GlxB,QAAS,mBACT0pB,YAED/vB,KAAK67B,eAAexD,OAAOhyB,EAAQxF,MAGrCy4B,EAAGvE,iBAAiB,OAAQ,KAC3B,GAAI7mB,UACH,IAAIivB,EAAuBC,EACvBJ,EAAOd,UAAUc,EAAOpB,kBAAkBvU,QAC4B,QAAzE8V,GAAyBC,EAAkBJ,EAAO7E,WAAWoD,cAA8C,IAA1B4B,GAAoCA,EAAsB16B,KAAK26B,GACjJJ,EAAOb,gBAAgB7N,KAAK,CAC3B5lB,KAAM,QACNqwB,MAAO,UACPtyB,MAAO,SAENhC,MAAOgC,IACT6yB,EAAGI,MAAM,KACTuD,EAAmBx2B,OAGrB6yB,EAAGvE,iBAAiB,UAAW,EAAGt1B,WAEjC,GADAO,KAAK47B,kBAAkBjE,QACH,iBAATl4B,GAAqB,CAAC,OAAQ,QAAQ4I,SAAS5I,GAAO,OACjE,MAAM49B,EAAkB99B,KAAKyO,MAAMvO,GAC/B,WAAY49B,EACfr9B,KAAKs9B,sBAAsBD,GAG5Br9B,KAAKu9B,sBAAsBF,KAE5B/D,EAAGvE,iBAAiB,QAAU4H,IAC7B,IAAIa,EAAuBC,EAC3BR,EAAmBN,GACuD,QAAzEa,GAAyBC,EAAmBz9B,KAAKm4B,WAAWqD,eAA+C,IAA1BgC,GAAoCA,EAAsB/6B,KAAKg7B,EAAkBd,GAC9J38B,KAAKk8B,WAAYl8B,KAAK67B,eAAe5C,2BAA2Bj5B,KAAKq8B,UAAU,IAAI9E,GAAyB,CAChHlxB,QAAS,mBACT0pB,MAAO4M,OAGTrD,EAAGvE,iBAAiB,QAAU4H,IAC7B,IAAIe,EAAuBC,EAC3BV,EAAmBN,GACuD,QAAzEe,GAAyBC,EAAmB39B,KAAKm4B,WAAWsD,eAA+C,IAA1BiC,GAAoCA,EAAsBj7B,KAAKk7B,EAAkBhB,GACnK38B,KAAKq8B,UAAU,IAAI9E,GAAyB,CAC3ClxB,QAAS,mBACT0pB,MAAO4M,MAGV,CACA,qBAAAY,CAAsBl3B,GACrB,MAAMqyB,EAAU14B,KAAK67B,eAAejD,kBAAkBvyB,EAAQxF,IAC9D,IAAK63B,EAAS,OACdA,EAAQP,UAAU7J,KAAKjoB,GACvB,IAAIu3B,GAAY,EACZ,WAAYv3B,GAAsC,iBAA3BqyB,EAAQryB,QAAQ0vB,SACd,SAAxB1vB,EAAQuG,OAAOlE,OAAiBgwB,EAAQryB,QAAQqD,OAAO+yB,YAAcp2B,EAAQuG,OAAO/L,IAC5D,YAAxBwF,EAAQuG,OAAOlE,OAAoBk1B,GAAY,IAEhDA,IACHlF,EAAQP,UAAU1J,WAClBzuB,KAAK67B,eAAexD,OAAOhyB,EAAQxF,IAErC,CACA,qBAAAy8B,CAAsBj3B,GACE,cAAnBA,EAAQ0vB,QAAwB/1B,KAAKq8B,UAAU,IAAI9E,GAAyB,CAAElxB,QAAS,+BAC5F,CAIA,IAAAozB,CAAKoE,GACJ,IAAK79B,KAAK87B,iBAAiB1B,SAAU,MAAM,IAAI54B,MAAM,iCACrD,MAAMs8B,EAAWD,aAA6Bx5B,MAAQw5B,EAAoB,CAACA,GAC3E79B,KAAK87B,iBAAiBxC,GAAGG,KAAKl6B,KAAKC,UAA8B,IAApBs+B,EAAS39B,OAAe29B,EAAS,GAAKA,GACpF,CAMA,SAAApB,CAAUr2B,EAAS8xB,GAClB,IAAI4F,EAAS/9B,KAWb,OAVAA,KAAK47B,kBAAkBjE,QACvB,GAAIzpB,UACE6vB,EAAOjC,iBAAiB1B,gBAAgB2D,EAAOpD,aAC9CrL,GAAM,GACPyO,EAAOlC,eAAe1C,uBAC3B4E,EAAOtE,KAAKsE,EAAOlC,eAAerD,QAAQv4B,IAAI,EAAGoG,QAAS23B,KAAgBA,MACxEv5B,MAAO0J,IACTnO,KAAK67B,eAAexD,OAAOhyB,EAAQxF,IACnCs3B,EAAU1xB,MAAM,GAAgB+W,KAAKrP,MAE/BnO,KAAK67B,eAAe3D,SAAS7xB,EAAS8xB,EAC9C,GAWD,SAAS8F,GAAO5qB,GACf,MAAM,OAAE6qB,GAAW7qB,EACb6c,EAAc,GAAe7c,EAAK6c,aACxC,MAAO,IACC,EAAGjB,QACF,GAAYjB,IAClB,MAAMmQ,EAAoC,iBAAZlP,EAAGvmB,KAA0Bw1B,EAAO/B,gBAAgBrO,UAAU,CAAE,IAAAQ,CAAK1hB,GAClGohB,EAASM,KAAK,CACb1hB,SACA0pB,QAASrH,EAAGqH,SAEd,IAAO,KACD8H,EAAsBF,EAAOxF,QAAQ,CAC1CzJ,KACAiB,gBACEpC,UAAUE,GACb,MAAO,KACNoQ,EAAoB/P,cACpB8P,SAAsEA,EAAsB9P,gBAKjG,CCzpBA,IAAI,GAAwBvC,GAAQqB,KAA0B,GAC1DkR,GAAyBvS,GAAQyB,KAAyB,GAC1D+Q,GAAoB,MACvB,WAAA/4B,CAAY8N,IACX,EAAI,GAAsBtD,SAAS/P,KAAM,aAAS,IAClD,EAAI,GAAsB+P,SAAS/P,KAAM,eAAW,IACpD,EAAI,GAAsB+P,SAAS/P,KAAM,iBAAa,GACtDA,KAAKu+B,UAAY,EACjBv+B,KAAKw+B,QAAU,CAAC,EAChBx+B,KAAKkvB,MAAQ7b,EAAK6b,MAAMjvB,IAAKw+B,GAASA,EAAKz+B,KAAKw+B,SACjD,CACA,QAAAE,CAASrrB,GACR,IAAIsrB,EAQJ,OAPe5P,GAAY,CAC1BG,MAAOlvB,KAAKkvB,MACZD,IAAI,EAAIoP,GAAuBtuB,UAAS,EAAIsuB,GAAuBtuB,SAAS,CAAC,EAAGsD,GAAO,CAAC,EAAG,CAC1FijB,QAA4C,QAAlCqI,EAAgBtrB,EAAKijB,eAAuC,IAAlBqI,EAA2BA,EAAgB,CAAC,EAChG99B,KAAMb,KAAKu+B,cAGCtuB,KHZP+W,IACP,IAAI4X,EAAW,EACXnO,EAAe,KACnB,MAAMoO,EAAY,GA+BlB,OAAO,GAAYC,IAClBF,IACAC,EAAU99B,KAAK+9B,GA/BXrO,IACJA,EAAezJ,EAAO8G,UAAU,CAC/B,IAAAQ,CAAK/qB,GACJ,IAAK,MAAMyqB,KAAY6Q,EAAW,CACjC,IAAItQ,EACiC,QAApCA,EAAiBP,EAASM,YAAqC,IAAnBC,GAA6BA,EAAe9rB,KAAKurB,EAAUzqB,EACzG,CACD,EACA,KAAAkD,CAAMA,GACL,IAAK,MAAMunB,KAAY6Q,EAAW,CACjC,IAAIrQ,EACmC,QAAtCA,EAAkBR,EAASvnB,aAAuC,IAApB+nB,GAA8BA,EAAgB/rB,KAAKurB,EAAUvnB,EAC7G,CACD,EACA,QAAAgoB,GACC,IAAK,MAAMT,KAAY6Q,EAAW,CACjC,IAAInQ,EACyC,QAA5CA,EAAqBV,EAASS,gBAA6C,IAAvBC,GAAiCA,EAAmBjsB,KAAKurB,EAC/G,CACD,KAcM,CAAE,WAAAK,GACRuQ,IAZF,WACC,GAAiB,IAAbA,GAAkBnO,EAAc,CACnC,MAAMsO,EAAOtO,EACbA,EAAe,KACfsO,EAAK1Q,aACN,CACD,CAOE2Q,GACA,MAAMjjB,EAAQ8iB,EAAUI,UAAWC,GAAMA,IAAMJ,GAC3C/iB,GAAS,GAAG8iB,EAAUlI,OAAO5a,EAAO,EACzC,MG9BF,CACA,sBAAMojB,CAAiB9rB,GAEtB,IACC,MAAM+rB,EAFKp/B,KAEQ0+B,SAASrrB,GAG5B,abcH,SAA6BgsB,GAC5B,MAAM3K,EAAK,IAAIC,gBA0Bf,OAzBgB,IAAIxoB,QAAQ,CAAC4B,EAASmlB,KACrC,IAAIhF,GAAS,EACb,SAASoR,IACJpR,IACJA,GAAS,EACTqR,EAAKlR,cACN,CACAqG,EAAGtD,OAAO2D,iBAAiB,QAAS,KACnC7B,EAAOwB,EAAGtD,OAAOpG,UAElB,MAAMuU,EAAOF,EAAavR,UAAU,CACnC,IAAAQ,CAAK7uB,GACJyuB,GAAS,EACTngB,EAAQtO,GACR6/B,GACD,EACA,KAAA74B,CAAMhH,GACLyzB,EAAOzzB,EACR,EACA,QAAAgvB,GACCiG,EAAG5pB,QACHw0B,GACD,KAIH,Ca5C0BE,CAAoBJ,IACrBxyB,OAAOnN,IAE9B,CAAE,MAAO0O,GACR,MAAM,GAAgBqP,KAAKrP,EAC5B,CACD,CACA,KAAAoiB,CAAMzpB,EAAM0G,EAAO6F,GAClB,OAAOrT,KAAKm/B,iBAAiB,CAC5Bz2B,KAAM,QACN5B,OACA0G,QACA8oB,QAASjjB,aAAmC,EAASA,EAAKijB,QAC1DlF,OAAQ/d,aAAmC,EAASA,EAAK+d,QAE3D,CACA,QAAAZ,CAAS1pB,EAAM0G,EAAO6F,GACrB,OAAOrT,KAAKm/B,iBAAiB,CAC5Bz2B,KAAM,WACN5B,OACA0G,QACA8oB,QAASjjB,aAAmC,EAASA,EAAKijB,QAC1DlF,OAAQ/d,aAAmC,EAASA,EAAK+d,QAE3D,CACA,YAAAX,CAAa3pB,EAAM0G,EAAO6F,GAQzB,OAPoBrT,KAAK0+B,SAAS,CACjCh2B,KAAM,eACN5B,OACA0G,QACA8oB,QAASjjB,EAAKijB,QACdlF,OAAQ/d,EAAK+d,SAEKtD,UAAU,CAC5B,IAAAQ,CAAKmR,GACJ,OAAQA,EAAS7yB,OAAOlE,MACvB,IAAK,QACJ,IAAIg3B,EACuD,QAA1DA,EAAwBrsB,EAAKssB,+BAA+D,IAA1BD,GAAoCA,EAAsBj9B,KAAK4Q,EAAMosB,EAAS7yB,QACjJ,MAED,IAAK,UACJ,IAAIgzB,EACmC,QAAtCA,EAAkBvsB,EAAKwsB,iBAA2C,IAApBD,GAA8BA,EAAgBn9B,KAAK4Q,EAAM,CAAEijB,QAASmJ,EAASnJ,UAC5H,MAED,IAAK,UACJ,IAAIwJ,EACmC,QAAtCA,EAAkBzsB,EAAK0sB,iBAA2C,IAApBD,GAA8BA,EAAgBr9B,KAAK4Q,GAClG,MAED,IAAK,OACL,UAAK,EACJ,IAAI2sB,EAC6B,QAAhCA,EAAe3sB,EAAK4sB,cAAqC,IAAjBD,GAA2BA,EAAav9B,KAAK4Q,EAAMosB,EAAS7yB,OAAOnN,MAI/G,EACA,KAAAgH,CAAM0H,GACL,IAAI+xB,EAC+B,QAAlCA,EAAgB7sB,EAAKooB,eAAuC,IAAlByE,GAA4BA,EAAcz9B,KAAK4Q,EAAMlF,EACjG,EACA,QAAAsgB,GACC,IAAI0R,EACqC,QAAxCA,EAAmB9sB,EAAK+sB,kBAA6C,IAArBD,GAA+BA,EAAiB19B,KAAK4Q,EACvG,GAEF,GAWD,MAAMgtB,GAAsBxd,OAAOyd,IAAI,sBACjCC,GAAoB,CACzBhQ,MAAO,QACPiQ,OAAQ,WACR1S,UAAW,gBAoCiBhC,GAAQyB,KAAyB,GAoHjCzB,GAAQyB,KAAyB,GAwDnCzB,GA/CCH,GAAW,CAAE,sHAAsH5sB,EAASD,GAUvK,SAAS2hC,EAAsBpd,GAC9B,SAASqd,EAAkChT,GAC1C,GAAIvrB,OAAOurB,KAASA,EAAK,OAAOvhB,QAAQ+mB,OAAO,IAAIlG,UAAUU,EAAM,uBACnE,IAAIvB,EAAIuB,EAAIiT,KACZ,OAAOx0B,QAAQ4B,QAAQ2f,EAAInqB,OAAOiB,KAAK,SAASo8B,GAC/C,MAAO,CACNr9B,MAAOq9B,EACPD,KAAMxU,EAER,EACD,CACA,OAAOsU,EAAwB,SAAiC/S,GAC/D1tB,KAAKmL,EAAIuiB,EAAK1tB,KAAKmsB,EAAIuB,EAAIY,IAC5B,GAAyB/rB,UAAY,CACpC4I,EAAG,KACHghB,EAAG,KACHmC,KAAM,WACL,OAAOoS,EAAkC1gC,KAAKmsB,EAAExL,MAAM3gB,KAAKmL,EAAG2M,WAC/D,EACA,OAAU,SAAiB4V,GAC1B,IAAIvB,EAAInsB,KAAKmL,EAAU,OACvB,YAAO,IAAWghB,EAAIhgB,QAAQ4B,QAAQ,CACrCxK,MAAOmqB,EACPiT,MAAM,IACFD,EAAkCvU,EAAExL,MAAM3gB,KAAKmL,EAAG2M,WACxD,EACA,MAAS,SAAgB4V,GACxB,IAAIvB,EAAInsB,KAAKmL,EAAU,OACvB,YAAO,IAAWghB,EAAIhgB,QAAQ+mB,OAAOxF,GAAOgT,EAAkCvU,EAAExL,MAAM3gB,KAAKmL,EAAG2M,WAC/F,GACE,IAAI2oB,EAAsBpd,EAC9B,CACAvkB,EAAOC,QAzCP,SAA0BskB,GACzB,IAAI8I,EAAGW,EAAGL,EAAGvqB,EAAI,EACjB,IAAK,oBAAsB2gB,SAAWiK,EAAIjK,OAAOwM,cAAe5C,EAAI5J,OAAO6J,UAAWxqB,KAAM,CAC3F,GAAI4qB,GAAK,OAASX,EAAI9I,EAAEyJ,IAAK,OAAOX,EAAE1pB,KAAK4gB,GAC3C,GAAIoJ,GAAK,OAASN,EAAI9I,EAAEoJ,IAAK,OAAO,IAAIgU,EAAsBtU,EAAE1pB,KAAK4gB,IACrEyJ,EAAI,kBAAmBL,EAAI,YAC5B,CACA,MAAM,IAAIO,UAAU,+BACrB,EAiCmCluB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACzG,GAImC8hC,GAAyB,GAqJ/B/U,GAAQyB,KAAyB,GA0D9D,IAAIuT,GAAmBnV,GAAW,CAAE,iHAAiH5sB,EAASD,GAuD7JA,EAAOC,QAtDP,WACC,IAAIskB,EAAI,mBAAqB0d,gBAAkBA,gBAAkB,SAASrT,EAAKsT,GAC9E,IAAIC,EAAMz/B,QACV,OAAOy/B,EAAIj7B,KAAO,kBAAmBi7B,EAAIx6B,MAAQinB,EAAKuT,EAAIC,WAAaF,EAAKC,CAC7E,EAAG/+B,EAAI,CAAC,EAAGiqB,EAAI,GACf,SAASgV,EAAMzT,EAAKsT,GACnB,GAAI,MAAQA,EAAK,CAChB,GAAI7+B,OAAO6+B,KAASA,EAAK,MAAM,IAAIhU,UAAU,oFAC7C,GAAIU,EAAK,IAAIjB,EAAIuU,EAAIne,OAAOue,cAAgBve,OAAY,IAAE,wBAC1D,QAAI,IAAW4J,IAAMA,EAAIuU,EAAIne,OAAOwe,SAAWxe,OAAY,IAAE,mBAAoB6K,GAAM,IAAIZ,EAAIL,EAC/F,GAAI,mBAAqBA,EAAG,MAAM,IAAIO,UAAU,6BAChDF,IAAML,EAAI,WACT,IACCK,EAAErqB,KAAKu+B,EACR,CAAE,MAAOJ,GACR,OAAOz0B,QAAQ+mB,OAAO0N,EACvB,CACD,GAAIzU,EAAEprB,KAAK,CACVm+B,EAAG8B,EACHM,EAAG7U,EACH7O,EAAG8P,GAEL,MAAOA,GAAOvB,EAAEprB,KAAK,CACpBugC,EAAGN,EACHpjB,EAAG8P,IAEJ,OAAOsT,CACR,CACA,MAAO,CACN9+B,IACAq/B,EAAGJ,EAAM5xB,KAAK,MAAM,GACpBqO,EAAGujB,EAAM5xB,KAAK,MAAM,GACpB+xB,EAAG,WACF,IAAI7U,EAAGK,EAAI9sB,KAAKkC,EAAGiJ,EAAI,EACvB,SAASmjB,IACR,KAAO7B,EAAIN,EAAEqV,OAAQ,IACpB,IAAK/U,EAAE7O,GAAK,IAAMzS,EAAG,OAAOA,EAAI,EAAGghB,EAAEprB,KAAK0rB,GAAItgB,QAAQ4B,UAAUvJ,KAAK8pB,GACrE,GAAI7B,EAAE6U,EAAG,CACR,IAAI5T,EAAMjB,EAAE6U,EAAE7+B,KAAKgqB,EAAEyS,GACrB,GAAIzS,EAAE7O,EAAG,OAAOzS,GAAK,EAAGgB,QAAQ4B,QAAQ2f,GAAKlpB,KAAK8pB,EAAMngB,EACzD,MAAOhD,GAAK,CACb,CAAE,MAAOy1B,GACR,OAAOzyB,EAAIyyB,EACZ,CACA,GAAI,IAAMz1B,EAAG,OAAO2hB,IAAM5qB,EAAIiK,QAAQ+mB,OAAOpG,GAAK3gB,QAAQ4B,UAC1D,GAAI+e,IAAM5qB,EAAG,MAAM4qB,CACpB,CACA,SAAS3e,EAAI8yB,GACZ,OAAOnU,EAAIA,IAAM5qB,EAAI,IAAImhB,EAAE4d,EAAKnU,GAAKmU,EAAK3S,GAC3C,CACA,OAAOA,GACR,EAEF,EAC4BxvB,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OAClG,IAII0iC,GAAwB9V,GAAW,CAAE,sHAAsH5sB,EAASD,GAIvKA,EAAOC,QAHP,SAAwBmD,EAAGo/B,GAC1BthC,KAAKk/B,EAAIh9B,EAAGlC,KAAKY,EAAI0gC,CACtB,EACiCxiC,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OACvG,IAII2iC,GAA8B/V,GAAW,CAAE,4HAA4H5sB,EAASD,GACnL,IAAI6iC,EAAkBF,KAItB3iC,EAAOC,QAHP,SAAgCmD,GAC/B,OAAO,IAAIy/B,EAAgBz/B,EAAG,EAC/B,EACyCpD,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OAC/G,IAII6iC,GAA6BjW,GAAW,CAAE,2HAA2H5sB,EAASD,GACjL,IAAI+iC,EAAgBJ,KAMpB,SAASK,EAAe5/B,GACvB,IAAImhB,EAAGyJ,EACP,SAASiV,EAAOrU,EAAKsU,GACpB,IACC,IAAI7V,EAAIjqB,EAAEwrB,GAAKsU,GAAMvV,EAAIN,EAAE5oB,MAAOg+B,EAAI9U,aAAaoV,EACnD11B,QAAQ4B,QAAQwzB,EAAI9U,EAAEyS,EAAIzS,GAAGjoB,KAAK,SAASy9B,GAC1C,GAAIV,EAAG,CACN,IAAInhC,EAAI,WAAastB,EAAM,SAAW,OACtC,IAAKjB,EAAE7rB,GAAKqhC,EAAItB,KAAM,OAAOoB,EAAO3hC,EAAG6hC,GACvCA,EAAM//B,EAAE9B,GAAG6hC,GAAK1+B,KACjB,CACA2+B,EAAO/V,EAAEwU,KAAO,SAAW,SAAUsB,EACtC,EAAG,SAASjB,GACXe,EAAO,QAASf,EACjB,EACD,CAAE,MAAOA,GACRkB,EAAO,QAASlB,EACjB,CACD,CACA,SAASkB,EAAOlB,EAAK7U,GACpB,OAAQ6U,GACP,IAAK,SACJ3d,EAAEtV,QAAQ,CACTxK,MAAO4oB,EACPwU,MAAM,IAEP,MACD,IAAK,QACJtd,EAAE6P,OAAO/G,GACT,MACD,QAAS9I,EAAEtV,QAAQ,CAClBxK,MAAO4oB,EACPwU,MAAM,KAGPtd,EAAIA,EAAEiL,MAAQyT,EAAO1e,EAAE/gB,IAAK+gB,EAAEtB,KAAO+K,EAAI,IAC3C,CACA9sB,KAAKmiC,QAAU,SAASnB,EAAK7U,GAC5B,OAAO,IAAIhgB,QAAQ,SAASsgB,EAAG8U,GAC9B,IAAInhC,EAAI,CACPkC,IAAK0+B,EACLjf,IAAKoK,EACLpe,QAAS0e,EACTyG,OAAQqO,EACRjT,KAAM,MAEPxB,EAAIA,EAAIA,EAAEwB,KAAOluB,GAAKijB,EAAIyJ,EAAI1sB,EAAG2hC,EAAOf,EAAK7U,GAC9C,EACD,EAAG,mBAAqBjqB,EAAU,SAAMlC,KAAa,YAAI,EAC1D,CACA8hC,EAAev/B,UAAU,mBAAqBsgB,QAAUA,OAAOwM,eAAiB,mBAAqB,WACpG,OAAOrvB,IACR,EAAG8hC,EAAev/B,UAAU+rB,KAAO,SAASpsB,GAC3C,OAAOlC,KAAKmiC,QAAQ,OAAQjgC,EAC7B,EAAG4/B,EAAev/B,UAAiB,MAAI,SAASL,GAC/C,OAAOlC,KAAKmiC,QAAQ,QAASjgC,EAC9B,EAAG4/B,EAAev/B,UAAkB,OAAI,SAASL,GAChD,OAAOlC,KAAKmiC,QAAQ,SAAUjgC,EAC/B,EACApD,EAAOC,QAhEP,SAA+BmD,GAC9B,OAAO,WACN,OAAO,IAAI4/B,EAAe5/B,EAAEye,MAAM3gB,KAAM8X,WACzC,CACD,EA4DwChZ,EAAOC,QAAQutB,YAAa,EAAMxtB,EAAOC,QAAiB,QAAID,EAAOC,OAC9G,ICtqBOmP,eAAek0B,GAAsBt6B,SCPrCoG,iBACH,GAAsB,oBAAXm0B,OAAwB,CAE/B,MAAMC,EAAID,OAEV,QAA2B,IAAhBC,EAAEvI,UAA2B,CACpC,MAAQA,UAAWwI,SAAwB,kCAE3CD,EAAEvI,UAAYwI,CAClB,CACJ,CACJ,CDFUC,GETH,UAAoC,SAAEC,IAClB,oBAAZC,UAGPA,QAAQC,IAAIC,6BAA+B,IAK3CH,GAAUI,iBAAiB,0EAEnC,CFDIC,CAA2B,CAAEL,SAAU36B,EAAQ26B,WAE/C,MAAMM,EFgoBF,IAAI1H,GEhoBwBvzB,GAC1Bk7B,EGTH,SAAiBx1B,EAAO6U,GAC3B,IAEI,OAAO,IAAIzN,IAAIpH,EAAO6U,EAC1B,CACA,MACI,MAAM,IAAI7gB,MAAM,iBAAiBgM,eACrC,CACJ,CHCoBy1B,CAAQn7B,EAAQqN,KAE1B+tB,EAA6B,SAArBF,EAAQG,SACtBH,EAAQG,SAAWD,EAAQ,SAAW,QACtC,MAAM/tB,EAAM6tB,EAAQjjC,WAAWoF,QAAQ,MAAO,IACxC+4B,ED+HV,SAA0B7qB,GAGzB,OAfD,SAA+B6qB,GAC9B,MAAMkF,EAAQ,GAAqB,EAAGt8B,OAAMiM,WAC3C,MAAMswB,EAAW,IAAIv8B,GACfw8B,GAT+BC,EASeF,EAAS7B,MARvDjB,GAAkBgD,IADY,IAACA,EAUrC,MAAM15B,EAAWw5B,EAASzjC,KAAK,KAC/B,OAAOs+B,EAAOoF,GAAez5B,KAAakJ,KAE3C,ONnEwB2e,EMmEApvB,GACnBA,IAAQ+9B,GAA4BnC,EACjCkF,EAAM9gC,GNpEP,IAAIwvB,MAAM,GAAM,CAAE,GAAAvU,CAAIwU,EAAM/rB,GAClC,GAAa,SAATA,EACJ,OAAO0rB,EAAS1rB,EACjB,IAJuB,IAAC0rB,CMuEzB,CAGe8R,CADC,IAAIlF,GAAkBjrB,GAGtC,CCnImBowB,CAAiB,CAC5BvU,MAAO,EbSI7b,EaRG,CACNqwB,UAAUzU,GACa,iBAAZA,EAAGvmB,KAEdi7B,KAAM1F,GAAO,CACTC,OAAQ6E,IAEZa,MAAO3P,GAAc,CACjB9e,SbCXqpB,IACP,MAAMqF,EAAMzU,GAAQ/b,EAAKswB,MAAM1jC,IAAKw+B,GAASA,EAAKD,IAC5CsF,EAAK1U,GAAQ/b,EAAKuwB,OAAO3jC,IAAKw+B,GAASA,EAAKD,IAClD,OAAQuF,GACA,GAAY/V,IAClB,MAAMkB,EAAQ7b,EAAKqwB,UAAUK,EAAM9U,IAAM4U,EAAMC,EAC/C,OAAO/U,GAAY,CAClBE,GAAI8U,EAAM9U,GACVC,UACEpB,UAAUE,UAVjB,IAAmB3a,EaWf,OAAO,IAAIye,MAAM,CAAE4H,MANLxrB,gBACJ60B,EAASrJ,UAKS,CACxBnc,IAAG,CAAC9L,EAAQuyB,IAEJvyB,EAAOjP,eAAewhC,GACfvyB,EAAOuyB,GAEX9F,EAAO8F,IAG1B,CDioBsBlY,GAAQgV,KAAoB,GACjBhV,GAAQ4V,KAA+B,GACxC5V,GAAQ8V,KAA8B,GAC3C9V,GAAQyB,KAAyB,+IKzqBxDzlB,GAAU,CAAC,EAEfA,GAAQm8B,kBAAoB,KAC5Bn8B,GAAQo8B,cAAgB,KACxBp8B,GAAQq8B,OAAS,UAAc,KAAM,QACrCr8B,GAAQs8B,OAAS,KACjBt8B,GAAQu8B,mBAAqB,KAEhB,KAAI,WAASv8B,IAKnB,SAAe,YAAW,WAAQw8B,OAAS,WAAQA,YAAS5jC,ECnB5D,MAAM6jC,GACHjqB,QAER,WAAA/U,CAAYi/B,EAAoB,QAC9BxkC,KAAKsa,QAAUmqB,SAASC,eAAeF,EACzC,CAKAG,YAAAA,CAAan3B,GACX,MAAM,QAAEnH,EAAO,IAAEu+B,EAAG,QAAEC,GAAU,EAAK,KAAEplC,GAAS+N,EAE5Cq3B,EACFplC,EAAOqlC,QAAQr+B,MAAMJ,EAAS5G,GAAQqlC,QAAQr+B,MAAMJ,GAEpD5G,EAAOqlC,QAAQC,MAAM1+B,EAAS5G,GAAQqlC,QAAQC,MAAM1+B,GAGjDrG,KAAKsa,UAEVta,KAAKsa,QAAQ0qB,UAAY,qBACXC,GAAOC,iBAAmBL,EAAU,IAAII,GAAOE,iBAAmB,2BACjEF,GAAOG,qDACRH,GAAO5+B,YAAYw+B,EAAU,UAAY,KAAKx+B,gBACxDu+B,EAAM,aAAaK,GAAO5+B,kCAAkCu+B,QAAY,uBAC9DK,GAAOI,uFAGvB,EC3BK,MAAMC,GACHC,QAAU,IAAI5gC,IACd6gC,iBAAmB,IAAI7gC,IACvB8gC,cAA+B,KACtBC,gBAA0B,IAK3CC,SAAAA,CAAU9kC,EAAcq9B,GACtBl+B,KAAKulC,QAAQ1gC,IAAIhE,EAAIq9B,GACrBl+B,KAAKwlC,iBAAiB3gC,IAAIhE,GAAI,EAChC,CAKA+kC,SAAAA,CAAU/kC,GACR,OAAOb,KAAKulC,QAAQhoB,IAAI1c,EAC1B,CAKA,qBAAMglC,CAAgBhlC,GACpB,MAAMq9B,EAASl+B,KAAKulC,QAAQhoB,IAAI1c,GAChC,IAAKq9B,EAAQ,OAAO,EAEpB,IAEE,aADMA,EAAO4H,aAAavV,SACnB,CACT,CAAE,MAAOruB,GAEP,OADA4iC,QAAQiB,KAAK,GAAGllC,4BAA8BqB,IACvC,CACT,CACF,CAKA8jC,eAAAA,CACEC,GAEIjmC,KAAKylC,eACP7P,OAAOsQ,cAAclmC,KAAKylC,eAG5BzlC,KAAKylC,cAAgB7P,OAAOuQ,YAAY,KACrC,WACC,IAAK,MAAOtlC,EAAIM,KAAMnB,KAAKulC,QAAS,CAClC,GAAU,QAAN1kC,GAAsB,QAANA,EAAc,MAAM,IAAIW,MAAM,sBAAsBX,KAExE,MAAMulC,EAAepmC,KAAKwlC,iBAAiBjoB,IAAI1c,KAAO,EAChDwlC,QAAoBrmC,KAAK6lC,gBAAgBhlC,GAE3CulC,IAAiBC,SACbJ,EAAmB,CAAEplC,KAAIwlC,cAAaD,iBAG9CpmC,KAAKwlC,iBAAiB3gC,IAAIhE,EAAIwlC,EAChC,CACD,EAbA,GAaI5hC,MAAOgC,IACVq+B,QAAQr+B,MAAM,kCAAmCA,MAElDzG,KAAK0lC,gBACV,CAKAY,cAAAA,GACMtmC,KAAKylC,gBACP7P,OAAOsQ,cAAclmC,KAAKylC,eAC1BzlC,KAAKylC,cAAgB,KAEzB,CAKA,cAAMc,GACJ,IAAK,MAAO1lC,EAAIq9B,KAAWl+B,KAAKulC,QAC9B,UACQrH,EAAOxE,QACboL,QAAQ0B,IAAI,UAAU3lC,WACxB,CAAE,MAAOsN,GACP22B,QAAQr+B,MAAM,iBAAiB5F,YAAcsN,EAC/C,CAEFnO,KAAKulC,QAAQkB,QACbzmC,KAAKwlC,iBAAiBiB,OACxB,EC7FKv4B,eAAew4B,GAAkBvxB,GACtC2vB,QAAQC,MAAM,mCAAmC5vB,KAEjD,MAAM+oB,QAAekE,GAAsB,CAAEjtB,QAC7C,IAAIwxB,GAAW,EACf,IACEA,UAAoBzI,EAAO4H,aAAavV,OAC1C,CAAE,MAAOruB,GAET,CAAE,cACMg8B,EAAOxE,OACf,CAEA,OAAOiN,CACT,CChBA,MAAMC,GAAM,ICaL,MACGC,GACAC,kBACAC,eAAuC,KAE/C,WAAAxhC,GACEvF,KAAK6mC,GAAK,IAAItC,GACdvkC,KAAK8mC,kBAAoB,IAAIxB,EAC/B,CAKA,uBAAiCp3B,MAAOxE,IAKtC,MAAM,GAAE7I,EAAE,YAAEwlC,EAAW,aAAED,GAAiB18B,EAEtC08B,IAAiBC,IACR,SAAPxlC,QACIb,KAAKgnC,0BACK,SAAPnmC,SACHb,KAAKinC,4BAQjB,6BAAcD,CAAwBl/B,GACpC,MAAMo/B,EAAgBp/B,GAASq/B,cAAe,EACxCnc,EAASkc,EAAgB,cAAgB,OAE/ClnC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,sBAAsB2kB,qCAC/B6Z,SAAS,IAGX,MAAMuC,EAAapnC,KAAK8mC,kBAAkBlB,UAAU,QACpD,IAiBIhB,EAjBAyC,GAAe,EACnB,GAAID,EACF,UACQA,EAAWE,YAAY9G,OAAO,IAC/BzV,GACHtrB,KAAM,CAAEurB,YAEVqc,GAAe,CACjB,CAAE,MAAOl5B,GAEPnO,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,kDAAkD2kB,KAAW6Z,SAAS,GACxG,OAGI7kC,KAAKunC,UAIPL,EACFtC,EACE,sLAEFA,EAAM,oFAEDyC,IACHzC,GACE,kIAIN5kC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,sBAAsB2kB,8BAC/B4Z,MACAC,SAAS,GAEb,CAKA,6BAAcoC,GAEZjnC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,8DACTw+B,SAAS,IAGX,MAAM2C,EAAaxnC,KAAK8mC,kBAAkBlB,UAAU,QACpD,GAAI4B,GAAcxnC,KAAK+mC,eAAgB,CACrC,MAAM,WAAEld,GAAe7pB,KAAK+mC,eACtBU,EAAe5d,EAAW/iB,KAChC,UACQ0gC,EAAWE,WAAWlH,OAAO,CAAE3W,WAAY,CAAE/iB,KAAM2gC,KACzDznC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,gGACTu+B,IAAK,mFAET,CAAE,MAAOz2B,GACPnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,kEAETu+B,IAAK,oEACLC,SAAS,EACTplC,KAAM0O,GAEV,CACF,MACEnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,0DACTu+B,IAAK,oEACLC,SAAS,UAIP7kC,KAAKunC,SACb,CAKA,yBACE,MAAMH,EAAapnC,KAAK8mC,kBAAkBlB,UAAU,QAC9C4B,EAAaxnC,KAAK8mC,kBAAkBlB,UAAU,QAE/CwB,GAAeI,GAGpBJ,EAAWO,cAAc7Z,UAAUnD,GAAkB,CACnDsV,OAAS2H,IACP5nC,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,2CAA4C5G,KAAMmoC,IAElFJ,EAAWK,iBACRrH,OAAOoH,GACPpjC,KAAK,IAAMxE,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,mDAC3C5B,MAAO0J,IACNnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,gFACTw+B,SAAS,EACTplC,KAAM0O,QAKlB,CAKA,0BAAc25B,GACZ,MAAMN,EAAaxnC,KAAK8mC,kBAAkBlB,UAAU,QAC9CwB,EAAapnC,KAAK8mC,kBAAkBlB,UAAU,QAC/CwB,GAAeI,UAGVJ,EAAWW,QAAQxX,MAAM1F,KAEnCuc,EAAWO,cAAc7Z,UAAUjD,GAAiB,CAClDoV,OAAS+H,IACPhoC,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,2BAA4B5G,KAAMuoC,IAGlEhoC,KAAK+mC,eAAiBiB,EAEjBR,EAAWS,SAASzH,OAAOxgC,KAAK+mC,gBAAgBviC,KAAMoI,IACzD,MAAM,WAAEwc,EAAU,YAAEW,GAAgBnd,EACpC5M,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,uDAAwD5G,KAAMmN,IAEzFw6B,EAAWE,YACb9G,OAAO,IACH1V,GACHrrB,KAAM,CAAE2pB,aAAYW,iBAErBvlB,KAAK,KACJxE,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,oDAEjC5B,MAAO0J,IACNnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,yFACTu+B,IAAK,mCACLC,SAAS,EACTplC,KAAM0O,WAMpB,CAKA,iBAAc+5B,GACZ,MAAMd,EAAapnC,KAAK8mC,kBAAkBlB,UAAU,QAC9C4B,EAAaxnC,KAAK8mC,kBAAkBlB,UAAU,QAEpD,GAAKwB,GAAeI,EAEpB,IAGE,UAFsBJ,EAAWW,QAAQxX,MAAM3F,IAElC,CACX5qB,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,mCAEhC,MAAM8hC,QAAmBX,EAAWY,cAAc7X,QAClDvwB,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,mDAAoD5G,KAAM0oC,UAEpFf,EAAWE,YAAY9G,OAAO,IAC/B5V,GACHnrB,KAAM0oC,IAGRnoC,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,+CAClC,CACF,CAAE,MAAO8H,GACPnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,gEACTu+B,IAAK,mCACLC,SAAS,EACTplC,KAAM0O,GAEV,CACF,CAKA,aAAco5B,GACZvnC,KAAK8mC,kBAAkBR,uBACjBtmC,KAAK8mC,kBAAkBP,UAC/B,CAKA,gBAAa8B,GACXroC,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,yCAEhC,IAEE,IAAKuvB,OAAO0S,YAMV,MALAtoC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,yCACTu+B,IAAK,mCACLC,SAAS,IAEL,IAAIrjC,MAAM,kCAGlB,MAAM,mBAAE+mC,GAAuB3S,OAAO0S,YAEtC,IAAKC,EAOH,MANAvoC,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,mDACTu+B,IAAK,mCACLC,SAAS,EACTplC,KAAMm2B,OAAO0S,cAET,IAAI9mC,MAAM,mDAGlB,MAAM,OAAEgnC,EAAM,kBAAEC,GAAsBF,EAEtC,IAAKE,GAAqBA,EAAkBtoC,QAAU,EAOpD,YANAH,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS,wBACTu+B,IAAK,mCACLnlC,KAAM8oC,EACN1D,SAAS,IAMb,MAAMuC,QAAmBhF,GAAsB,CAAEjtB,IAAKqzB,IAItD,IAAInf,EAHJrpB,KAAK8mC,kBAAkBnB,UAAU,OAAQyB,GAIzC,IAAK,MAAMjyB,KAAOszB,EAGhB,GAFAzoC,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,+BAA+B8O,eACxCuxB,GAAkBvxB,GAC3B,CACZnV,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,gCAAgC8O,OAChEkU,EAAUlU,EACV,KACF,CAGF,IAAKkU,EAEH,kBADMrpB,KAAKgnC,wBAAwB,CAAEG,aAAa,IAKpD,MAAMK,QAAmBpF,GAAsB,CAAEjtB,IAAKkU,IACtDrpB,KAAK8mC,kBAAkBnB,UAAU,OAAQ6B,GAGzC,MAAMkB,QAAsBtB,EAAWtB,aAAavV,QAC9CoY,QAAsBnB,EAAW1B,aAAavV,QACpDvwB,KAAK6mC,GAAGlC,aAAa,CAAEt+B,QAAS,iBAAiBqiC,oBAAgCC,MAGjF3oC,KAAK8mC,kBAAkBd,gBAAgBhmC,KAAK4oC,wBAG5C5oC,KAAK6oC,+BACC7oC,KAAK8nC,6BACL9nC,KAAKkoC,aACb,CAAE,MAAO/5B,GACP,MAAMpE,EAAeoE,aAAe3M,MAAQ2M,EAAI9H,QAAUkO,OAAOpG,GACjEnO,KAAK6mC,GAAGlC,aAAa,CACnBt+B,QAAS0D,EACT86B,SAAS,EACTD,IAAK,mCACLnlC,KAAM0O,UAEFnO,KAAKunC,SACb,CACF,GD7UGX,GAAIyB,sBESTvpC,EAAOC,QAVP,SAA2B+pC,EAAKC,GAC9B,GAAIA,EAAaC,WACfD,EAAaC,WAAWC,QAAUH,MAC7B,CACL,KAAOC,EAAaG,YAClBH,EAAaI,YAAYJ,EAAaG,YAExCH,EAAaK,YAAY3E,SAAS4E,eAAeP,GACnD,CACF,WCVA,IAAInX,EAAO,CAAC,EA+BZ7yB,EAAOC,QAPP,SAA0BolC,EAAQmF,GAChC,IAAI73B,EAtBN,SAAmBA,GACjB,QAA4B,IAAjBkgB,EAAKlgB,GAAyB,CACvC,IAAI83B,EAAc9E,SAAS+E,cAAc/3B,GAGzC,GAAImkB,OAAO6T,mBAAqBF,aAAuB3T,OAAO6T,kBAC5D,IAGEF,EAAcA,EAAYG,gBAAgBC,IAC5C,CAAE,MAAOznC,GAEPqnC,EAAc,IAChB,CAEF5X,EAAKlgB,GAAU83B,CACjB,CACA,OAAO5X,EAAKlgB,EACd,CAIem4B,CAAUzF,GACvB,IAAK1yB,EACH,MAAM,IAAIjQ,MAAM,2GAElBiQ,EAAO23B,YAAYE,EACrB,WC9BA,IAAIO,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIn9B,GAAU,EACLxM,EAAI,EAAGA,EAAIypC,EAAY1pC,OAAQC,IACtC,GAAIypC,EAAYzpC,GAAG2pC,aAAeA,EAAY,CAC5Cn9B,EAASxM,EACT,KACF,CAEF,OAAOwM,CACT,CACA,SAASo9B,EAAalqC,EAAMgI,GAG1B,IAFA,IAAImiC,EAAa,CAAC,EACdC,EAAc,GACT9pC,EAAI,EAAGA,EAAIN,EAAKK,OAAQC,IAAK,CACpC,IAAIpB,EAAOc,EAAKM,GACZS,EAAKiH,EAAQua,KAAOrjB,EAAK,GAAK8I,EAAQua,KAAOrjB,EAAK,GAClD41B,EAAQqV,EAAWppC,IAAO,EAC1BkpC,EAAa,GAAGrqC,OAAOmB,EAAI,KAAKnB,OAAOk1B,GAC3CqV,EAAWppC,GAAM+zB,EAAQ,EACzB,IAAIuV,EAAoBL,EAAqBC,GACzCpoC,EAAM,CACRmnC,IAAK9pC,EAAK,GACVsB,MAAOtB,EAAK,GACZorC,UAAWprC,EAAK,GAChBwB,SAAUxB,EAAK,GACfyB,MAAOzB,EAAK,IAEd,IAA2B,IAAvBmrC,EACFN,EAAYM,GAAmBE,aAC/BR,EAAYM,GAAmBG,QAAQ3oC,OAClC,CACL,IAAI2oC,EAAUC,EAAgB5oC,EAAKmG,GACnCA,EAAQ0iC,QAAUpqC,EAClBypC,EAAYlT,OAAOv2B,EAAG,EAAG,CACvB2pC,WAAYA,EACZO,QAASA,EACTD,WAAY,GAEhB,CACAH,EAAYnpC,KAAKgpC,EACnB,CACA,OAAOG,CACT,CACA,SAASK,EAAgB5oC,EAAKmG,GAC5B,IAAI2iC,EAAM3iC,EAAQs8B,OAAOt8B,GAYzB,OAXA2iC,EAAIC,OAAO/oC,GACG,SAAiByc,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAO0qB,MAAQnnC,EAAImnC,KAAO1qB,EAAO9d,QAAUqB,EAAIrB,OAAS8d,EAAOgsB,YAAczoC,EAAIyoC,WAAahsB,EAAO5d,WAAamB,EAAInB,UAAY4d,EAAO3d,QAAUkB,EAAIlB,MACzJ,OAEFgqC,EAAIC,OAAO/oC,EAAMyc,EACnB,MACEqsB,EAAIE,QAER,CAEF,CACA7rC,EAAOC,QAAU,SAAUe,EAAMgI,GAG/B,IAAI8iC,EAAkBZ,EADtBlqC,EAAOA,GAAQ,GADfgI,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgB+iC,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAIzqC,EAAI,EAAGA,EAAIwqC,EAAgBzqC,OAAQC,IAAK,CAC/C,IACI2b,EAAQ+tB,EADKc,EAAgBxqC,IAEjCypC,EAAY9tB,GAAOsuB,YACrB,CAEA,IADA,IAAIS,EAAqBd,EAAaa,EAAS/iC,GACtCijC,EAAK,EAAGA,EAAKH,EAAgBzqC,OAAQ4qC,IAAM,CAClD,IACIC,EAASlB,EADKc,EAAgBG,IAEK,IAAnClB,EAAYmB,GAAQX,aACtBR,EAAYmB,GAAQV,UACpBT,EAAYlT,OAAOqU,EAAQ,GAE/B,CACAJ,EAAkBE,CACpB,CACF,WCvBAhsC,EAAOC,QAjBP,SAAgB+I,GACd,GAAwB,oBAAb28B,SACT,MAAO,CACLiG,OAAQ,WAAmB,EAC3BC,OAAQ,WAAmB,GAG/B,IAAI5B,EAAejhC,EAAQu8B,mBAAmBv8B,GAC9C,MAAO,CACL4iC,OAAQ,SAAgB/oC,IAjD5B,SAAeonC,EAAcjhC,EAASnG,GACpC,IAAImnC,EAAM,GACNnnC,EAAInB,WACNsoC,GAAO,cAAcppC,OAAOiC,EAAInB,SAAU,QAExCmB,EAAIrB,QACNwoC,GAAO,UAAUppC,OAAOiC,EAAIrB,MAAO,OAErC,IAAIJ,OAAiC,IAAdyB,EAAIlB,MACvBP,IACF4oC,GAAO,SAASppC,OAAOiC,EAAIlB,MAAMN,OAAS,EAAI,IAAIT,OAAOiC,EAAIlB,OAAS,GAAI,OAE5EqoC,GAAOnnC,EAAImnC,IACP5oC,IACF4oC,GAAO,KAELnnC,EAAIrB,QACNwoC,GAAO,KAELnnC,EAAInB,WACNsoC,GAAO,KAET,IAAIsB,EAAYzoC,EAAIyoC,UAChBA,GAA6B,oBAATjrC,OACtB2pC,GAAO,uDAAuDppC,OAAOP,KAAKE,SAASC,mBAAmBC,KAAKC,UAAU4qC,MAAe,QAKtItiC,EAAQm8B,kBAAkB6E,EAAKC,EAAcjhC,EAAQA,QACvD,CAoBM6Y,CAAMooB,EAAcjhC,EAASnG,EAC/B,EACAgpC,OAAQ,YArBZ,SAA4B5B,GAE1B,GAAgC,OAA5BA,EAAakC,WACf,OAAO,EAETlC,EAAakC,WAAW9B,YAAYJ,EACtC,CAgBMmC,CAAmBnC,EACrB,EAEJ,iBClDAjqC,EAAOC,QANP,SAAwCgqC,GACtC,IAAIoC,EAAmD,KACnDA,GACFpC,EAAaqC,aAAa,QAASD,EAEvC,sECLIE,QAA0B,GAA4B,KAE1DA,EAAwBtqC,KAAK,CAACjC,EAAO+B,GAAI,s6DAgFtC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wCAAwC,MAAQ,GAAG,SAAW,ulBAAulB,eAAiB,CAAC,+yDAA+yD,WAAa,MAEjgFwqC,EAAwB/G,OAAS,CAChC,gBAAmB,uBACnB,eAAkB,uBAClB,MAAS,uBACT,QAAW,wBACX,QAAW,wBAEZ,mBCrFAxlC,EAAOC,QANP,SAA4B+I,GAC1B,IAAIwS,EAAUmqB,SAAS6G,cAAc,SAGrC,OAFAxjC,EAAQo8B,cAAc5pB,EAASxS,EAAQyjC,YACvCzjC,EAAQq8B,OAAO7pB,EAASxS,EAAQA,SACzBwS,CACT","sources":["webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/helpers/util.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/ZodError.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/locales/en.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/errors.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/helpers/parseUtil.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/helpers/errorUtil.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/types.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/index.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/zod-npm-3.25.67-5734ab93c5/package/dist/esm/v3/index.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskStartDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskStats.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/matchingZodObject.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskMessageLocation.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskMessage.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskEndDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/Timing.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskDescription.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/TaskList.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodResolveMap.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/LinkPath.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodNotifyLinkChangeInput.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/types/ZodGetLinkConfigOutput.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/data/busSources.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/objectSpread2-BvkFp-_Y.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-24341b1145/package/dist/observable-UMO3vUa_.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/splitLink-B7Cuf2c_.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-24341b1145/package/dist/utils-DdbbrDku.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/TRPCClientError-CjKyS10w.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/unstable-internals-Bg7n9BBj.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/httpUtils-Bkv1johT.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/httpLink-CYOcG9kQ.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-24341b1145/package/dist/getErrorShape-Uhlrl4Bk.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-24341b1145/package/dist/tracked-gU3ttYjg.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/httpBatchLink-CA96-gnJ.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-server-virtual-24341b1145/package/dist/observable-CUiPknO-.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/loggerLink-ineCN1PO.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/wsLink-H5IjZfJW.mjs","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/@trpc-client-virtual-7372ece2b3/package/dist/index.mjs","webpack://@ms-cloudpack/link-proxy/../api-server/lib/trpc/createCloudpackClient.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/ensureWebsocketDefined.js","webpack://@ms-cloudpack/link-proxy/../api-server/lib/utilities/ignoreSelfSignedCertErrors.js","webpack://@ms-cloudpack/link-proxy/../path-string-parsing/lib/makeUrl.js","webpack://@ms-cloudpack/link-proxy/./src/UIManager.module.css?7168","webpack://@ms-cloudpack/link-proxy/./src/UIManager.ts","webpack://@ms-cloudpack/link-proxy/./src/ConnectionManager.ts","webpack://@ms-cloudpack/link-proxy/./src/isApiServerActive.ts","webpack://@ms-cloudpack/link-proxy/./src/index.ts","webpack://@ms-cloudpack/link-proxy/./src/LinkProxyApp.ts","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js","webpack://@ms-cloudpack/link-proxy/./src/UIManager.module.css","webpack://@ms-cloudpack/link-proxy/../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","export var util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nexport var objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nexport const ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n","import { util } from \"./helpers/util.js\";\nexport const ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nexport const quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","import { ZodIssueCode } from \"../ZodError.js\";\nimport { util, ZodParsedType } from \"../helpers/util.js\";\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\nexport default errorMap;\n","import defaultErrorMap from \"./locales/en.js\";\nlet overrideErrorMap = defaultErrorMap;\nexport { defaultErrorMap };\nexport function setErrorMap(map) {\n overrideErrorMap = map;\n}\nexport function getErrorMap() {\n return overrideErrorMap;\n}\n","import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexport const EMPTY_PATH = [];\nexport function addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexport class ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexport const INVALID = Object.freeze({\n status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n","export var errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n","import { ZodError, ZodIssueCode, } from \"./ZodError.js\";\nimport { defaultErrorMap, getErrorMap } from \"./errors.js\";\nimport { errorUtil } from \"./helpers/errorUtil.js\";\nimport { DIRTY, INVALID, OK, ParseStatus, addIssueToContext, isAborted, isAsync, isDirty, isValid, makeIssue, } from \"./helpers/parseUtil.js\";\nimport { util, ZodParsedType, getParsedType } from \"./helpers/util.js\";\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nexport class ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nexport class ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport class ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nexport class ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nexport class ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nexport class ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nexport class ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nexport class ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nexport class ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nexport class ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nexport class ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nexport class ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nexport class ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nexport class ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nexport class ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexport class ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nexport class ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nexport class ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexport class ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nexport class ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nexport class ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nZodEnum.create = createZodEnum;\nexport class ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nexport class ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nexport class ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!isValid(base))\n return INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nexport { ZodEffects as ZodTransformer };\nexport class ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nexport class ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nexport class ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nexport class ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nexport class ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexport const BRAND = Symbol(\"zod_brand\");\nexport class ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexport class ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexport class ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nexport function custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexport { ZodType as Schema, ZodType as ZodSchema };\nexport const late = {\n object: ZodObject.lazycreate,\n};\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nexport const coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexport { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, };\nexport const NEVER = INVALID;\n","import z3 from \"./v3/index.js\";\nexport * from \"./v3/index.js\";\nexport default z3;\n","import * as z from \"./external.js\";\nexport * from \"./external.js\";\nexport { z };\nexport default z;\n","import z from 'zod';\nexport const ZodTaskStartDescription = z.object({\n id: z.string(),\n name: z.string().optional(),\n inputPath: z.string().optional(),\n outputPath: z.string().optional(),\n});\n//# sourceMappingURL=TaskStartDescription.js.map","import z from 'zod';\nexport const ZodTaskStats = z.object({\n status: z.literal('idle').or(z.literal('pending').or(z.literal('unknown'))),\n remainingTasks: z.number(),\n totalTasks: z.number(),\n totalErrors: z.number(),\n totalWarnings: z.number(),\n});\n//# sourceMappingURL=TaskStats.js.map","import { z } from 'zod';\n/**\n * Get a Zod object that strictly matches the expected type, including any optional properties.\n *\n * Defining TS types first and using this helper to ensure matching zod objects (rather than\n * defining the zod type first and using `infer`) helps reduce type explosion in intellisense\n * and API reports, and allows reusing types that are already defined elsewhere.\n */\nexport function matchingZodObject(shape) {\n // Cast the return value to convert back to the original type with optional properties\n return z.object(shape).strict();\n}\n//# sourceMappingURL=matchingZodObject.js.map","import z from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nexport const ZodTaskMessageLocation = matchingZodObject({\n file: z.string(),\n line: z.number().optional(),\n column: z.number().optional(),\n});\n//# sourceMappingURL=TaskMessageLocation.js.map","import z from 'zod';\nimport { ZodTaskMessageLocation } from './TaskMessageLocation.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nexport const ZodTaskNote = matchingZodObject({\n text: z.string(),\n location: ZodTaskMessageLocation.optional(),\n});\nexport const ZodTaskMessage = matchingZodObject({\n text: z.string(),\n source: z.string(),\n location: ZodTaskMessageLocation.optional(),\n notes: z.array(ZodTaskNote).optional(),\n});\n//# sourceMappingURL=TaskMessage.js.map","import z from 'zod';\nimport { ZodTaskMessage } from './TaskMessage.js';\nexport const ZodTaskEndDescription = z.object({\n id: z.string(),\n errors: z.array(ZodTaskMessage).optional(),\n warnings: z.array(ZodTaskMessage).optional(),\n});\n//# sourceMappingURL=TaskEndDescription.js.map","import z from 'zod';\nexport const ZodTiming = z.object({\n /** Name of the timing */\n name: z.string(),\n /** Start time in milliseconds */\n start: z.number(),\n /** End time in milliseconds */\n end: z.number().optional(),\n /** Exited prematurely. */\n threwException: z.boolean().optional(),\n});\n//# sourceMappingURL=Timing.js.map","import z from 'zod';\nimport { ZodTaskStartDescription } from './TaskStartDescription.js';\nimport { ZodTaskEndDescription } from './TaskEndDescription.js';\nimport { ZodTiming } from './Timing.js';\nexport const ZodTaskDescription = z\n .object({\n status: z.literal('pending').or(z.literal('complete')).optional(),\n timings: z.array(ZodTiming).optional(),\n startTime: z.number(),\n durationMilliseconds: z.number().optional(),\n lastUpdated: z.number().optional(),\n})\n .extend(ZodTaskStartDescription.shape)\n .extend(ZodTaskEndDescription.shape);\n//# sourceMappingURL=TaskDescription.js.map","import { z } from 'zod';\nimport { ZodTaskDescription } from './TaskDescription.js';\nexport const ZodTaskList = z.object({\n tasks: z.array(ZodTaskDescription),\n});\n//# sourceMappingURL=TaskList.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nconst ZodResolveMapEntry = z.lazy(() => matchingZodObject({\n name: z.string(),\n version: z.string(),\n path: z.string(),\n dependencies: z.record(z.string()),\n requiredBy: z.record(z.string()),\n isExternal: z.boolean().optional(),\n isLinked: z.boolean().optional(),\n scopedVersions: z.record(z.lazy(() => ZodResolveMapEntry)).optional(),\n}));\nexport const ZodResolveMap = z.record(z.string(), ZodResolveMapEntry);\n//# sourceMappingURL=ZodResolveMap.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nimport { ZodResolveMap } from '../types/ZodResolveMap.js';\nconst ZodPackageRecord = (ZodPackageJson) => z.record(z.union([ZodPackageJson, z.undefined()]));\nconst ZodPackageHashesEntry = z.object({\n browser: z.record(z.string()),\n node: z.record(z.string()),\n});\nconst ZodDependency = z.record(z.string(), z.union([z.undefined(), z.string()])).optional();\nexport const ZodLinkPackageDefinition = z.object({\n // Name and version are required for the import map.\n name: z.string(),\n version: z.string(),\n // The exports are also required for the import map.\n exports: z.any(),\n // Dependencies are required for the resolve map.\n dependencies: ZodDependency,\n peerDependencies: ZodDependency,\n});\nexport const ZodLinkedPath = matchingZodObject({\n path: z.string(),\n rootPath: z.string().optional(),\n includeAll: z.boolean().optional(),\n ignoredPackages: z.string().array().optional(),\n ignoreResolutions: z.boolean().optional(),\n resolveStrategy: z.enum(['dedupe', 'duplicate']).optional(),\n remote: z\n .object({\n resolveMap: ZodResolveMap,\n hostUrl: z.string(),\n packages: z.object({\n // Dummy package json as start should not require any non transformed package definitions\n definitions: ZodPackageRecord(z.object({})),\n // For linked packages, we need name and version across Cloudpack, and the exports for the import map.\n transformedDefinitions: ZodPackageRecord(ZodLinkPackageDefinition),\n }),\n packageHashes: z.object({\n hashesWithSource: ZodPackageHashesEntry,\n hashesWithNoSource: ZodPackageHashesEntry,\n }),\n })\n .optional(),\n});\nexport const ZodLinkPathInput = z.object({ linkedPath: ZodLinkedPath });\nexport const ZodLinkPathOutput = z.object({\n resolveMap: ZodResolveMap,\n linkedPaths: z.array(ZodLinkedPath),\n});\n//# sourceMappingURL=LinkPath.js.map","import { z } from 'zod';\nimport { ZodLinkPackageDefinition } from '../types/LinkPath.js';\nexport const ZodNotifyLinkChangeInput = z.object({\n packagePath: z.string(),\n hash: z.string().optional(),\n definition: ZodLinkPackageDefinition.optional(),\n});\n//# sourceMappingURL=ZodNotifyLinkChangeInput.js.map","import { z } from 'zod';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\n// Minimum acceptable match object for a low maintenance burden.\nconst ZodPackageSettingsMatchObject = z.object({ name: z.string(), version: z.string().optional() });\nconst ZodPackageSettingsMatch = z.union([z.string(), ZodPackageSettingsMatchObject]);\nconst ZodGeneratedPackageSettingsMatch = z.union([z.string(), ZodPackageSettingsMatchObject.required()]);\nexport const ZodGetLinkConfigOutput = matchingZodObject({\n packageSettings: z.array(z.object({ match: z.union([ZodPackageSettingsMatch, z.array(ZodPackageSettingsMatch)]) }).passthrough()),\n generated: z\n .object({ packageSettings: z.array(z.object({ match: ZodGeneratedPackageSettingsMatch }).passthrough()) })\n .passthrough(),\n}).passthrough();\n//# sourceMappingURL=ZodGetLinkConfigOutput.js.map","// This file is used in the browser,\n// so it must only import types (ts and zod) to not trigger a trpc server error due to bad tree shaking.\nimport z from 'zod';\nimport { ZodTaskStats } from '../types/TaskStats.js';\nimport { ZodTaskList } from '../types/TaskList.js';\nimport { createDataPath } from '@ms-cloudpack/data-bus';\nimport { ZodNotifyLinkChangeInput } from '../types/ZodNotifyLinkChangeInput.js';\nimport { ZodLinkPathInput, ZodLinkPathOutput } from '../types/LinkPath.js';\nimport { ZodGetLinkConfigOutput } from '../types/ZodGetLinkConfigOutput.js';\n/**\n * Used for tracking the reload count.\n */\nexport const reloadCountSource = createDataPath({\n path: ['session', 'version'],\n type: z.number(),\n});\n/**\n * Used for tracking the task stats displayed in the badge.\n */\nexport const taskStatsSource = createDataPath({\n path: ['task', 'stats'],\n type: ZodTaskStats,\n});\n/**\n * Used for tracking the list of tasks.\n */\nexport const taskListSource = createDataPath({\n path: ['task', 'list'],\n type: ZodTaskList,\n});\n/**\n * Used for tracking entry errors: `Failed to resolve module specifier \"${packageName}@${version}${filePath}\".`\n * This is used to display errors in the UI and to notify the user of the error when autoUpdateEntries is enabled.\n */\nexport const errorEntrySource = createDataPath({\n path: ['error', 'entry'],\n type: z.string(),\n});\n/**\n * Used for tracking link updates.\n */\nexport const linkUpdateSource = createDataPath({\n path: ['link', 'update'],\n type: ZodNotifyLinkChangeInput,\n});\n/**\n * Used for fetching the host configuration.\n */\nexport const linkConfigSource = createDataPath({\n path: ['link', 'config'],\n type: ZodGetLinkConfigOutput,\n});\n/**\n * Used for tracking linked paths.\n */\nexport const linkPathsSource = createDataPath({\n path: ['link', 'paths'],\n type: ZodLinkPathInput,\n});\n/**\n * Used for tracking when linking is done.\n */\nexport const linkDoneSource = createDataPath({\n path: ['link', 'done'],\n type: ZodLinkPathOutput,\n});\n/**\n * Used for detecting host disconnection on link.\n */\nexport const linkDisconnectedSource = createDataPath({\n path: ['link', 'disconnected'],\n type: z.object({ reason: z.enum(['lost', 'unreachable']) }),\n});\n//# sourceMappingURL=busSources.js.map","//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\nexport { __commonJS, __toESM, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=objectSpread2-BvkFp-_Y.mjs.map","//#region src/observable/observable.ts\n/** @public */\nfunction isObservable(x) {\n\treturn typeof x === \"object\" && x !== null && \"subscribe\" in x;\n}\n/** @public */\nfunction observable(subscribe) {\n\tconst self = {\n\t\tsubscribe(observer) {\n\t\t\tlet teardownRef = null;\n\t\t\tlet isDone = false;\n\t\t\tlet unsubscribed = false;\n\t\t\tlet teardownImmediately = false;\n\t\t\tfunction unsubscribe() {\n\t\t\t\tif (teardownRef === null) {\n\t\t\t\t\tteardownImmediately = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (unsubscribed) return;\n\t\t\t\tunsubscribed = true;\n\t\t\t\tif (typeof teardownRef === \"function\") teardownRef();\n\t\t\t\telse if (teardownRef) teardownRef.unsubscribe();\n\t\t\t}\n\t\t\tteardownRef = subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t},\n\t\t\t\terror(err) {\n\t\t\t\t\tvar _observer$error;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, err);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (teardownImmediately) unsubscribe();\n\t\t\treturn { unsubscribe };\n\t\t},\n\t\tpipe(...operations) {\n\t\t\treturn operations.reduce(pipeReducer, self);\n\t\t}\n\t};\n\treturn self;\n}\nfunction pipeReducer(prev, fn) {\n\treturn fn(prev);\n}\n/** @internal */\nfunction observableToPromise(observable$1) {\n\tconst ac = new AbortController();\n\tconst promise = new Promise((resolve, reject) => {\n\t\tlet isDone = false;\n\t\tfunction onDone() {\n\t\t\tif (isDone) return;\n\t\t\tisDone = true;\n\t\t\tobs$.unsubscribe();\n\t\t}\n\t\tac.signal.addEventListener(\"abort\", () => {\n\t\t\treject(ac.signal.reason);\n\t\t});\n\t\tconst obs$ = observable$1.subscribe({\n\t\t\tnext(data) {\n\t\t\t\tisDone = true;\n\t\t\t\tresolve(data);\n\t\t\t\tonDone();\n\t\t\t},\n\t\t\terror(data) {\n\t\t\t\treject(data);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tac.abort();\n\t\t\t\tonDone();\n\t\t\t}\n\t\t});\n\t});\n\treturn promise;\n}\n/**\n* @internal\n*/\nfunction observableToReadableStream(observable$1, signal) {\n\tlet unsub = null;\n\tconst onAbort = () => {\n\t\tunsub === null || unsub === void 0 || unsub.unsubscribe();\n\t\tunsub = null;\n\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t};\n\treturn new ReadableStream({\n\t\tstart(controller) {\n\t\t\tunsub = observable$1.subscribe({\n\t\t\t\tnext(data) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: true,\n\t\t\t\t\t\tvalue: data\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t\tcontroller.close();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (signal.aborted) onAbort();\n\t\t\telse signal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t},\n\t\tcancel() {\n\t\t\tonAbort();\n\t\t}\n\t});\n}\n/** @internal */\nfunction observableToAsyncIterable(observable$1, signal) {\n\tconst stream = observableToReadableStream(observable$1, signal);\n\tconst reader = stream.getReader();\n\tconst iterator = {\n\t\tasync next() {\n\t\t\tconst value = await reader.read();\n\t\t\tif (value.done) return {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t\tconst { value: result } = value;\n\t\t\tif (!result.ok) throw result.error;\n\t\t\treturn {\n\t\t\t\tvalue: result.value,\n\t\t\t\tdone: false\n\t\t\t};\n\t\t},\n\t\tasync return() {\n\t\t\tawait reader.cancel();\n\t\t\treturn {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\t};\n\treturn { [Symbol.asyncIterator]() {\n\t\treturn iterator;\n\t} };\n}\n\n//#endregion\nexport { isObservable, observable, observableToAsyncIterable, observableToPromise };\n//# sourceMappingURL=observable-UMO3vUa_.mjs.map","import { observable } from \"@trpc/server/observable\";\n\n//#region src/links/internals/createChain.ts\n/** @internal */\nfunction createChain(opts) {\n\treturn observable((observer) => {\n\t\tfunction execute(index = 0, op = opts.op) {\n\t\t\tconst next = opts.links[index];\n\t\t\tif (!next) throw new Error(\"No more links to execute - did you forget to add an ending link?\");\n\t\t\tconst subscription = next({\n\t\t\t\top,\n\t\t\t\tnext(nextOp) {\n\t\t\t\t\tconst nextObserver = execute(index + 1, nextOp);\n\t\t\t\t\treturn nextObserver;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t}\n\t\tconst obs$ = execute();\n\t\treturn obs$.subscribe(observer);\n\t});\n}\n\n//#endregion\n//#region src/links/splitLink.ts\nfunction asArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\nfunction splitLink(opts) {\n\treturn (runtime) => {\n\t\tconst yes = asArray(opts.true).map((link) => link(runtime));\n\t\tconst no = asArray(opts.false).map((link) => link(runtime));\n\t\treturn (props) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst links = opts.condition(props.op) ? yes : no;\n\t\t\t\treturn createChain({\n\t\t\t\t\top: props.op,\n\t\t\t\t\tlinks\n\t\t\t\t}).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createChain, splitLink };\n//# sourceMappingURL=splitLink-B7Cuf2c_.mjs.map","//#region src/unstable-core-do-not-import/rpc/codes.ts\n/**\n* JSON-RPC 2.0 Error codes\n*\n* `-32000` to `-32099` are reserved for implementation-defined server-errors.\n* For tRPC we're copying the last digits of HTTP 4XX errors.\n*/\nconst TRPC_ERROR_CODES_BY_KEY = {\n\tPARSE_ERROR: -32700,\n\tBAD_REQUEST: -32600,\n\tINTERNAL_SERVER_ERROR: -32603,\n\tNOT_IMPLEMENTED: -32603,\n\tBAD_GATEWAY: -32603,\n\tSERVICE_UNAVAILABLE: -32603,\n\tGATEWAY_TIMEOUT: -32603,\n\tUNAUTHORIZED: -32001,\n\tPAYMENT_REQUIRED: -32002,\n\tFORBIDDEN: -32003,\n\tNOT_FOUND: -32004,\n\tMETHOD_NOT_SUPPORTED: -32005,\n\tTIMEOUT: -32008,\n\tCONFLICT: -32009,\n\tPRECONDITION_FAILED: -32012,\n\tPAYLOAD_TOO_LARGE: -32013,\n\tUNSUPPORTED_MEDIA_TYPE: -32015,\n\tUNPROCESSABLE_CONTENT: -32022,\n\tTOO_MANY_REQUESTS: -32029,\n\tCLIENT_CLOSED_REQUEST: -32099\n};\nconst TRPC_ERROR_CODES_BY_NUMBER = {\n\t[-32700]: \"PARSE_ERROR\",\n\t[-32600]: \"BAD_REQUEST\",\n\t[-32603]: \"INTERNAL_SERVER_ERROR\",\n\t[-32001]: \"UNAUTHORIZED\",\n\t[-32002]: \"PAYMENT_REQUIRED\",\n\t[-32003]: \"FORBIDDEN\",\n\t[-32004]: \"NOT_FOUND\",\n\t[-32005]: \"METHOD_NOT_SUPPORTED\",\n\t[-32008]: \"TIMEOUT\",\n\t[-32009]: \"CONFLICT\",\n\t[-32012]: \"PRECONDITION_FAILED\",\n\t[-32013]: \"PAYLOAD_TOO_LARGE\",\n\t[-32015]: \"UNSUPPORTED_MEDIA_TYPE\",\n\t[-32022]: \"UNPROCESSABLE_CONTENT\",\n\t[-32029]: \"TOO_MANY_REQUESTS\",\n\t[-32099]: \"CLIENT_CLOSED_REQUEST\"\n};\n/**\n* tRPC error codes that are considered retryable\n* With out of the box SSE, the client will reconnect when these errors are encountered\n*/\nconst retryableRpcCodes = [\n\tTRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,\n\tTRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,\n\tTRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,\n\tTRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR\n];\n\n//#endregion\n//#region src/unstable-core-do-not-import/utils.ts\n/**\n* Ensures there are no duplicate keys when building a procedure.\n* @internal\n*/\nfunction mergeWithoutOverrides(obj1, ...objs) {\n\tconst newObj = Object.assign(Object.create(null), obj1);\n\tfor (const overrides of objs) for (const key in overrides) {\n\t\tif (key in newObj && newObj[key] !== overrides[key]) throw new Error(`Duplicate key ${key}`);\n\t\tnewObj[key] = overrides[key];\n\t}\n\treturn newObj;\n}\n/**\n* Check that value is object\n* @internal\n*/\nfunction isObject(value) {\n\treturn !!value && !Array.isArray(value) && typeof value === \"object\";\n}\nfunction isFunction(fn) {\n\treturn typeof fn === \"function\";\n}\n/**\n* Create an object without inheriting anything from `Object.prototype`\n* @internal\n*/\nfunction omitPrototype(obj) {\n\treturn Object.assign(Object.create(null), obj);\n}\nconst asyncIteratorsSupported = typeof Symbol === \"function\" && !!Symbol.asyncIterator;\nfunction isAsyncIterable(value) {\n\treturn asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value;\n}\n/**\n* Run an IIFE\n*/\nconst run = (fn) => fn();\nfunction noop() {}\nfunction identity(it) {\n\treturn it;\n}\n/**\n* Generic runtime assertion function. Throws, if the condition is not `true`.\n*\n* Can be used as a slightly less dangerous variant of type assertions. Code\n* mistakes would be revealed at runtime then (hopefully during testing).\n*/\nfunction assert(condition, msg = \"no additional info\") {\n\tif (!condition) throw new Error(`AssertionError: ${msg}`);\n}\nfunction sleep(ms = 0) {\n\treturn new Promise((res) => setTimeout(res, ms));\n}\n/**\n* Ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction abortSignalsAnyPonyfill(signals) {\n\tif (typeof AbortSignal.any === \"function\") return AbortSignal.any(signals);\n\tconst ac = new AbortController();\n\tfor (const signal of signals) {\n\t\tif (signal.aborted) {\n\t\t\ttrigger();\n\t\t\tbreak;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", trigger, { once: true });\n\t}\n\treturn ac.signal;\n\tfunction trigger() {\n\t\tac.abort();\n\t\tfor (const signal of signals) signal.removeEventListener(\"abort\", trigger);\n\t}\n}\n\n//#endregion\nexport { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, abortSignalsAnyPonyfill, assert, identity, isAsyncIterable, isFunction, isObject, mergeWithoutOverrides, noop, omitPrototype, retryableRpcCodes, run, sleep };\n//# sourceMappingURL=utils-DdbbrDku.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { isObject } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/TRPCClientError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isTRPCClientError(cause) {\n\treturn cause instanceof TRPCClientError;\n}\nfunction isTRPCErrorResponse(obj) {\n\treturn isObject(obj) && isObject(obj[\"error\"]) && typeof obj[\"error\"][\"code\"] === \"number\" && typeof obj[\"error\"][\"message\"] === \"string\";\n}\nfunction getMessageFromUnknownError(err, fallback) {\n\tif (typeof err === \"string\") return err;\n\tif (isObject(err) && typeof err[\"message\"] === \"string\") return err[\"message\"];\n\treturn fallback;\n}\nvar TRPCClientError = class TRPCClientError extends Error {\n\tconstructor(message, opts) {\n\t\tvar _opts$result, _opts$result2;\n\t\tconst cause = opts === null || opts === void 0 ? void 0 : opts.cause;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"shape\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"data\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"meta\", void 0);\n\t\tthis.meta = opts === null || opts === void 0 ? void 0 : opts.meta;\n\t\tthis.cause = cause;\n\t\tthis.shape = opts === null || opts === void 0 || (_opts$result = opts.result) === null || _opts$result === void 0 ? void 0 : _opts$result.error;\n\t\tthis.data = opts === null || opts === void 0 || (_opts$result2 = opts.result) === null || _opts$result2 === void 0 ? void 0 : _opts$result2.error.data;\n\t\tthis.name = \"TRPCClientError\";\n\t\tObject.setPrototypeOf(this, TRPCClientError.prototype);\n\t}\n\tstatic from(_cause, opts = {}) {\n\t\tconst cause = _cause;\n\t\tif (isTRPCClientError(cause)) {\n\t\t\tif (opts.meta) cause.meta = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, cause.meta), opts.meta);\n\t\t\treturn cause;\n\t\t}\n\t\tif (isTRPCErrorResponse(cause)) return new TRPCClientError(cause.error.message, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { result: cause }));\n\t\treturn new TRPCClientError(getMessageFromUnknownError(cause, \"Unknown error\"), (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { cause }));\n\t}\n};\n\n//#endregion\nexport { TRPCClientError, isTRPCClientError };\n//# sourceMappingURL=TRPCClientError-CjKyS10w.mjs.map","//#region src/internals/transformer.ts\n/**\n* @internal\n*/\n/**\n* @internal\n*/\nfunction getTransformer(transformer) {\n\tconst _transformer = transformer;\n\tif (!_transformer) return {\n\t\tinput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t},\n\t\toutput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t}\n\t};\n\tif (\"input\" in _transformer) return _transformer;\n\treturn {\n\t\tinput: _transformer,\n\t\toutput: _transformer\n\t};\n}\n\n//#endregion\nexport { getTransformer };\n//# sourceMappingURL=unstable-internals-Bg7n9BBj.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\n\n//#region src/getFetch.ts\nconst isFunction = (fn) => typeof fn === \"function\";\nfunction getFetch(customFetchImpl) {\n\tif (customFetchImpl) return customFetchImpl;\n\tif (typeof window !== \"undefined\" && isFunction(window.fetch)) return window.fetch;\n\tif (typeof globalThis !== \"undefined\" && isFunction(globalThis.fetch)) return globalThis.fetch;\n\tthrow new Error(\"No fetch implementation found\");\n}\n\n//#endregion\n//#region src/links/internals/httpUtils.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction resolveHTTPLinkOptions(opts) {\n\treturn {\n\t\turl: opts.url.toString(),\n\t\tfetch: opts.fetch,\n\t\ttransformer: getTransformer(opts.transformer),\n\t\tmethodOverride: opts.methodOverride\n\t};\n}\nfunction arrayToDict(array) {\n\tconst dict = {};\n\tfor (let index = 0; index < array.length; index++) {\n\t\tconst element = array[index];\n\t\tdict[index] = element;\n\t}\n\treturn dict;\n}\nconst METHOD = {\n\tquery: \"GET\",\n\tmutation: \"POST\",\n\tsubscription: \"PATCH\"\n};\nfunction getInput(opts) {\n\treturn \"input\" in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input) => opts.transformer.input.serialize(_input)));\n}\nconst getUrl = (opts) => {\n\tconst parts = opts.url.split(\"?\");\n\tconst base = parts[0].replace(/\\/$/, \"\");\n\tlet url = base + \"/\" + opts.path;\n\tconst queryParts = [];\n\tif (parts[1]) queryParts.push(parts[1]);\n\tif (\"inputs\" in opts) queryParts.push(\"batch=1\");\n\tif (opts.type === \"query\" || opts.type === \"subscription\") {\n\t\tconst input = getInput(opts);\n\t\tif (input !== void 0 && opts.methodOverride !== \"POST\") queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);\n\t}\n\tif (queryParts.length) url += \"?\" + queryParts.join(\"&\");\n\treturn url;\n};\nconst getBody = (opts) => {\n\tif (opts.type === \"query\" && opts.methodOverride !== \"POST\") return void 0;\n\tconst input = getInput(opts);\n\treturn input !== void 0 ? JSON.stringify(input) : void 0;\n};\nconst jsonHttpRequester = (opts) => {\n\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\tcontentTypeHeader: \"application/json\",\n\t\tgetUrl,\n\t\tgetBody\n\t}));\n};\n/**\n* Polyfill for DOMException with AbortError name\n*/\nvar AbortError = class extends Error {\n\tconstructor() {\n\t\tconst name = \"AbortError\";\n\t\tsuper(name);\n\t\tthis.name = name;\n\t\tthis.message = name;\n\t}\n};\n/**\n* Polyfill for `signal.throwIfAborted()`\n*\n* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted\n*/\nconst throwIfAborted = (signal) => {\n\tvar _signal$throwIfAborte;\n\tif (!(signal === null || signal === void 0 ? void 0 : signal.aborted)) return;\n\t(_signal$throwIfAborte = signal.throwIfAborted) === null || _signal$throwIfAborte === void 0 || _signal$throwIfAborte.call(signal);\n\tif (typeof DOMException !== \"undefined\") throw new DOMException(\"AbortError\", \"AbortError\");\n\tthrow new AbortError();\n};\nasync function fetchHTTPResponse(opts) {\n\tvar _opts$methodOverride;\n\tthrowIfAborted(opts.signal);\n\tconst url = opts.getUrl(opts);\n\tconst body = opts.getBody(opts);\n\tconst { type } = opts;\n\tconst resolvedHeaders = await (async () => {\n\t\tconst heads = await opts.headers();\n\t\tif (Symbol.iterator in heads) return Object.fromEntries(heads);\n\t\treturn heads;\n\t})();\n\tconst headers = (0, import_objectSpread2.default)((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts.contentTypeHeader ? { \"content-type\": opts.contentTypeHeader } : {}), opts.trpcAcceptHeader ? { \"trpc-accept\": opts.trpcAcceptHeader } : void 0), resolvedHeaders);\n\treturn getFetch(opts.fetch)(url, {\n\t\tmethod: (_opts$methodOverride = opts.methodOverride) !== null && _opts$methodOverride !== void 0 ? _opts$methodOverride : METHOD[type],\n\t\tsignal: opts.signal,\n\t\tbody,\n\t\theaders\n\t});\n}\nasync function httpRequest(opts) {\n\tconst meta = {};\n\tconst res = await fetchHTTPResponse(opts);\n\tmeta.response = res;\n\tconst json = await res.json();\n\tmeta.responseJSON = json;\n\treturn {\n\t\tjson,\n\t\tmeta\n\t};\n}\n\n//#endregion\nexport { fetchHTTPResponse, getBody, getFetch, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };\n//# sourceMappingURL=httpUtils-Bkv1johT.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-CjKyS10w.mjs\";\nimport { getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-Bkv1johT.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/internals/contentTypes.ts\nfunction isOctetType(input) {\n\treturn input instanceof Uint8Array || input instanceof Blob;\n}\nfunction isFormData(input) {\n\treturn input instanceof FormData;\n}\nfunction isNonJsonSerializable(input) {\n\treturn isOctetType(input) || isFormData(input);\n}\n\n//#endregion\n//#region src/links/httpLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nconst universalRequester = (opts) => {\n\tif (\"input\" in opts) {\n\t\tconst { input } = opts;\n\t\tif (isFormData(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"FormData is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: void 0,\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t\tif (isOctetType(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"Octet type input is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: \"application/octet-stream\",\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t}\n\treturn jsonHttpRequester(opts);\n};\n/**\n* @see https://trpc.io/docs/client/links/httpLink\n*/\nfunction httpLink(opts) {\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst { path, input, type } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst request = universalRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpath,\n\t\t\t\t\tinput,\n\t\t\t\t\tsignal: op.signal,\n\t\t\t\t\theaders() {\n\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ op });\n\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tlet meta = void 0;\n\t\t\t\trequest.then((res) => {\n\t\t\t\t\tmeta = res.meta;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((cause) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(cause, { meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { httpLink, isFormData, isNonJsonSerializable, isOctetType };\n//# sourceMappingURL=httpLink-CYOcG9kQ.mjs.map","import { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, isObject } from \"./utils-DdbbrDku.mjs\";\n\n//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region src/unstable-core-do-not-import/createProxy.ts\nconst noop = () => {};\nconst freezeIfAvailable = (obj) => {\n\tif (Object.freeze) Object.freeze(obj);\n};\nfunction createInnerProxy(callback, path, memo) {\n\tvar _memo$cacheKey;\n\tconst cacheKey = path.join(\".\");\n\t(_memo$cacheKey = memo[cacheKey]) !== null && _memo$cacheKey !== void 0 || (memo[cacheKey] = new Proxy(noop, {\n\t\tget(_obj, key) {\n\t\t\tif (typeof key !== \"string\" || key === \"then\") return void 0;\n\t\t\treturn createInnerProxy(callback, [...path, key], memo);\n\t\t},\n\t\tapply(_1, _2, args) {\n\t\t\tconst lastOfPath = path[path.length - 1];\n\t\t\tlet opts = {\n\t\t\t\targs,\n\t\t\t\tpath\n\t\t\t};\n\t\t\tif (lastOfPath === \"call\") opts = {\n\t\t\t\targs: args.length >= 2 ? [args[1]] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\telse if (lastOfPath === \"apply\") opts = {\n\t\t\t\targs: args.length >= 2 ? args[1] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\tfreezeIfAvailable(opts.args);\n\t\t\tfreezeIfAvailable(opts.path);\n\t\t\treturn callback(opts);\n\t\t}\n\t}));\n\treturn memo[cacheKey];\n}\n/**\n* Creates a proxy that calls the callback with the path and arguments\n*\n* @internal\n*/\nconst createRecursiveProxy = (callback) => createInnerProxy(callback, [], Object.create(null));\n/**\n* Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n*\n* @internal\n*/\nconst createFlatProxy = (callback) => {\n\treturn new Proxy(noop, { get(_obj, name) {\n\t\tif (name === \"then\") return void 0;\n\t\treturn callback(name);\n\t} });\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/getHTTPStatusCode.ts\nconst JSONRPC2_TO_HTTP_CODE = {\n\tPARSE_ERROR: 400,\n\tBAD_REQUEST: 400,\n\tUNAUTHORIZED: 401,\n\tPAYMENT_REQUIRED: 402,\n\tFORBIDDEN: 403,\n\tNOT_FOUND: 404,\n\tMETHOD_NOT_SUPPORTED: 405,\n\tTIMEOUT: 408,\n\tCONFLICT: 409,\n\tPRECONDITION_FAILED: 412,\n\tPAYLOAD_TOO_LARGE: 413,\n\tUNSUPPORTED_MEDIA_TYPE: 415,\n\tUNPROCESSABLE_CONTENT: 422,\n\tTOO_MANY_REQUESTS: 429,\n\tCLIENT_CLOSED_REQUEST: 499,\n\tINTERNAL_SERVER_ERROR: 500,\n\tNOT_IMPLEMENTED: 501,\n\tBAD_GATEWAY: 502,\n\tSERVICE_UNAVAILABLE: 503,\n\tGATEWAY_TIMEOUT: 504\n};\nconst HTTP_CODE_TO_JSONRPC2 = {\n\t400: \"BAD_REQUEST\",\n\t401: \"UNAUTHORIZED\",\n\t402: \"PAYMENT_REQUIRED\",\n\t403: \"FORBIDDEN\",\n\t404: \"NOT_FOUND\",\n\t405: \"METHOD_NOT_SUPPORTED\",\n\t408: \"TIMEOUT\",\n\t409: \"CONFLICT\",\n\t412: \"PRECONDITION_FAILED\",\n\t413: \"PAYLOAD_TOO_LARGE\",\n\t415: \"UNSUPPORTED_MEDIA_TYPE\",\n\t422: \"UNPROCESSABLE_CONTENT\",\n\t429: \"TOO_MANY_REQUESTS\",\n\t499: \"CLIENT_CLOSED_REQUEST\",\n\t500: \"INTERNAL_SERVER_ERROR\",\n\t501: \"NOT_IMPLEMENTED\",\n\t502: \"BAD_GATEWAY\",\n\t503: \"SERVICE_UNAVAILABLE\",\n\t504: \"GATEWAY_TIMEOUT\"\n};\nfunction getStatusCodeFromKey(code) {\n\tvar _JSONRPC2_TO_HTTP_COD;\n\treturn (_JSONRPC2_TO_HTTP_COD = JSONRPC2_TO_HTTP_CODE[code]) !== null && _JSONRPC2_TO_HTTP_COD !== void 0 ? _JSONRPC2_TO_HTTP_COD : 500;\n}\nfunction getStatusKeyFromCode(code) {\n\tvar _HTTP_CODE_TO_JSONRPC;\n\treturn (_HTTP_CODE_TO_JSONRPC = HTTP_CODE_TO_JSONRPC2[code]) !== null && _HTTP_CODE_TO_JSONRPC !== void 0 ? _HTTP_CODE_TO_JSONRPC : \"INTERNAL_SERVER_ERROR\";\n}\nfunction getHTTPStatusCode(json) {\n\tconst arr = Array.isArray(json) ? json : [json];\n\tconst httpStatuses = new Set(arr.map((res) => {\n\t\tif (\"error\" in res && isObject(res.error.data)) {\n\t\t\tvar _res$error$data;\n\t\t\tif (typeof ((_res$error$data = res.error.data) === null || _res$error$data === void 0 ? void 0 : _res$error$data[\"httpStatus\"]) === \"number\") return res.error.data[\"httpStatus\"];\n\t\t\tconst code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n\t\t\treturn getStatusCodeFromKey(code);\n\t\t}\n\t\treturn 200;\n\t}));\n\tif (httpStatuses.size !== 1) return 207;\n\tconst httpStatus = httpStatuses.values().next().value;\n\treturn httpStatus;\n}\nfunction getHTTPStatusCodeFromError(error) {\n\treturn getStatusCodeFromKey(error.code);\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/getErrorShape.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getErrorShape(opts) {\n\tconst { path, error, config } = opts;\n\tconst { code } = opts.error;\n\tconst shape = {\n\t\tmessage: error.message,\n\t\tcode: TRPC_ERROR_CODES_BY_KEY[code],\n\t\tdata: {\n\t\t\tcode,\n\t\t\thttpStatus: getHTTPStatusCodeFromError(error)\n\t\t}\n\t};\n\tif (config.isDev && typeof opts.error.stack === \"string\") shape.data.stack = opts.error.stack;\n\tif (typeof path === \"string\") shape.data.path = path;\n\treturn config.errorFormatter((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { shape }));\n}\n\n//#endregion\nexport { HTTP_CODE_TO_JSONRPC2, JSONRPC2_TO_HTTP_CODE, __commonJS, __toESM, createFlatProxy, createRecursiveProxy, getErrorShape, getHTTPStatusCode, getHTTPStatusCodeFromError, getStatusCodeFromKey, getStatusKeyFromCode, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=getErrorShape-Uhlrl4Bk.mjs.map","import { __toESM, createRecursiveProxy, require_defineProperty, require_objectSpread2 } from \"./getErrorShape-Uhlrl4Bk.mjs\";\nimport { isFunction, isObject, mergeWithoutOverrides, omitPrototype } from \"./utils-DdbbrDku.mjs\";\n\n//#region src/unstable-core-do-not-import/error/formatter.ts\nconst defaultFormatter = ({ shape }) => {\n\treturn shape;\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/TRPCError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar UnknownCauseError = class extends Error {};\nfunction getCauseFromUnknown(cause) {\n\tif (cause instanceof Error) return cause;\n\tconst type = typeof cause;\n\tif (type === \"undefined\" || type === \"function\" || cause === null) return void 0;\n\tif (type !== \"object\") return new Error(String(cause));\n\tif (isObject(cause)) return Object.assign(new UnknownCauseError(), cause);\n\treturn void 0;\n}\nfunction getTRPCErrorFromUnknown(cause) {\n\tif (cause instanceof TRPCError) return cause;\n\tif (cause instanceof Error && cause.name === \"TRPCError\") return cause;\n\tconst trpcError = new TRPCError({\n\t\tcode: \"INTERNAL_SERVER_ERROR\",\n\t\tcause\n\t});\n\tif (cause instanceof Error && cause.stack) trpcError.stack = cause.stack;\n\treturn trpcError;\n}\nvar TRPCError = class extends Error {\n\tconstructor(opts) {\n\t\tvar _ref, _opts$message, _this$cause;\n\t\tconst cause = getCauseFromUnknown(opts.cause);\n\t\tconst message = (_ref = (_opts$message = opts.message) !== null && _opts$message !== void 0 ? _opts$message : cause === null || cause === void 0 ? void 0 : cause.message) !== null && _ref !== void 0 ? _ref : opts.code;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"code\", void 0);\n\t\tthis.code = opts.code;\n\t\tthis.name = \"TRPCError\";\n\t\t(_this$cause = this.cause) !== null && _this$cause !== void 0 || (this.cause = cause);\n\t}\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/transformer.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getDataTransformer(transformer) {\n\tif (\"input\" in transformer) return transformer;\n\treturn {\n\t\tinput: transformer,\n\t\toutput: transformer\n\t};\n}\n/**\n* @internal\n*/\nconst defaultTransformer = {\n\tinput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t},\n\toutput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t}\n};\nfunction transformTRPCResponseItem(config, item) {\n\tif (\"error\" in item) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { error: config.transformer.output.serialize(item.error) });\n\tif (\"data\" in item.result) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { result: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item.result), {}, { data: config.transformer.output.serialize(item.result.data) }) });\n\treturn item;\n}\n/**\n* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n**/\nfunction transformTRPCResponse(config, itemOrItems) {\n\treturn Array.isArray(itemOrItems) ? itemOrItems.map((item) => transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);\n}\n/** @internal */\nfunction transformResultInner(response, transformer) {\n\tif (\"error\" in response) {\n\t\tconst error = transformer.deserialize(response.error);\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response), {}, { error })\n\t\t};\n\t}\n\tconst result = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response.result), (!response.result.type || response.result.type === \"data\") && {\n\t\ttype: \"data\",\n\t\tdata: transformer.deserialize(response.result.data)\n\t});\n\treturn {\n\t\tok: true,\n\t\tresult\n\t};\n}\nvar TransformResultError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Unable to transform response from server\");\n\t}\n};\n/**\n* Transforms and validates that the result is a valid TRPCResponse\n* @internal\n*/\nfunction transformResult(response, transformer) {\n\tlet result;\n\ttry {\n\t\tresult = transformResultInner(response, transformer);\n\t} catch (_unused) {\n\t\tthrow new TransformResultError();\n\t}\n\tif (!result.ok && (!isObject(result.error.error) || typeof result.error.error[\"code\"] !== \"number\")) throw new TransformResultError();\n\tif (result.ok && !isObject(result.result)) throw new TransformResultError();\n\treturn result;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/router.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nconst lazySymbol = Symbol(\"lazy\");\nfunction once(fn) {\n\tconst uncalled = Symbol();\n\tlet result = uncalled;\n\treturn () => {\n\t\tif (result === uncalled) result = fn();\n\t\treturn result;\n\t};\n}\n/**\n* Lazy load a router\n* @see https://trpc.io/docs/server/merging-routers#lazy-load\n*/\nfunction lazy(importRouter) {\n\tasync function resolve() {\n\t\tconst mod = await importRouter();\n\t\tif (isRouter(mod)) return mod;\n\t\tconst routers = Object.values(mod);\n\t\tif (routers.length !== 1 || !isRouter(routers[0])) throw new Error(\"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\");\n\t\treturn routers[0];\n\t}\n\tresolve[lazySymbol] = true;\n\treturn resolve;\n}\nfunction isLazy(input) {\n\treturn typeof input === \"function\" && lazySymbol in input;\n}\nfunction isRouter(value) {\n\treturn isObject(value) && isObject(value[\"_def\"]) && \"router\" in value[\"_def\"];\n}\nconst emptyRouter = {\n\t_ctx: null,\n\t_errorShape: null,\n\t_meta: null,\n\tqueries: {},\n\tmutations: {},\n\tsubscriptions: {},\n\terrorFormatter: defaultFormatter,\n\ttransformer: defaultTransformer\n};\n/**\n* Reserved words that can't be used as router or procedure names\n*/\nconst reservedWords = [\n\t\"then\",\n\t\"call\",\n\t\"apply\"\n];\n/**\n* @internal\n*/\nfunction createRouterFactory(config) {\n\tfunction createRouterInner(input) {\n\t\tconst reservedWordsUsed = new Set(Object.keys(input).filter((v) => reservedWords.includes(v)));\n\t\tif (reservedWordsUsed.size > 0) throw new Error(\"Reserved words used in `router({})` call: \" + Array.from(reservedWordsUsed).join(\", \"));\n\t\tconst procedures = omitPrototype({});\n\t\tconst lazy$1 = omitPrototype({});\n\t\tfunction createLazyLoader(opts) {\n\t\t\treturn {\n\t\t\t\tref: opts.ref,\n\t\t\t\tload: once(async () => {\n\t\t\t\t\tconst router$1 = await opts.ref();\n\t\t\t\t\tconst lazyPath = [...opts.path, opts.key];\n\t\t\t\t\tconst lazyKey = lazyPath.join(\".\");\n\t\t\t\t\topts.aggregate[opts.key] = step(router$1._def.record, lazyPath);\n\t\t\t\t\tdelete lazy$1[lazyKey];\n\t\t\t\t\tfor (const [nestedKey, nestedItem] of Object.entries(router$1._def.lazy)) {\n\t\t\t\t\t\tconst nestedRouterKey = [...lazyPath, nestedKey].join(\".\");\n\t\t\t\t\t\tlazy$1[nestedRouterKey] = createLazyLoader({\n\t\t\t\t\t\t\tref: nestedItem.ref,\n\t\t\t\t\t\t\tpath: lazyPath,\n\t\t\t\t\t\t\tkey: nestedKey,\n\t\t\t\t\t\t\taggregate: opts.aggregate[opts.key]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t\tfunction step(from, path = []) {\n\t\t\tconst aggregate = omitPrototype({});\n\t\t\tfor (const [key, item] of Object.entries(from !== null && from !== void 0 ? from : {})) {\n\t\t\t\tif (isLazy(item)) {\n\t\t\t\t\tlazy$1[[...path, key].join(\".\")] = createLazyLoader({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tref: item,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\taggregate\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (isRouter(item)) {\n\t\t\t\t\taggregate[key] = step(item._def.record, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (!isProcedure(item)) {\n\t\t\t\t\taggregate[key] = step(item, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst newPath = [...path, key].join(\".\");\n\t\t\t\tif (procedures[newPath]) throw new Error(`Duplicate key: ${newPath}`);\n\t\t\t\tprocedures[newPath] = item;\n\t\t\t\taggregate[key] = item;\n\t\t\t}\n\t\t\treturn aggregate;\n\t\t}\n\t\tconst record = step(input);\n\t\tconst _def = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({\n\t\t\t_config: config,\n\t\t\trouter: true,\n\t\t\tprocedures,\n\t\t\tlazy: lazy$1\n\t\t}, emptyRouter), {}, { record });\n\t\tconst router = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, record), {}, {\n\t\t\t_def,\n\t\t\tcreateCaller: createCallerFactory()({ _def })\n\t\t});\n\t\treturn router;\n\t}\n\treturn createRouterInner;\n}\nfunction isProcedure(procedureOrRouter) {\n\treturn typeof procedureOrRouter === \"function\";\n}\n/**\n* @internal\n*/\nasync function getProcedureAtPath(router, path) {\n\tconst { _def } = router;\n\tlet procedure = _def.procedures[path];\n\twhile (!procedure) {\n\t\tconst key = Object.keys(_def.lazy).find((key$1) => path.startsWith(key$1));\n\t\tif (!key) return null;\n\t\tconst lazyRouter = _def.lazy[key];\n\t\tawait lazyRouter.load();\n\t\tprocedure = _def.procedures[path];\n\t}\n\treturn procedure;\n}\n/**\n* @internal\n*/\nasync function callProcedure(opts) {\n\tconst { type, path } = opts;\n\tconst proc = await getProcedureAtPath(opts.router, path);\n\tif (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) throw new TRPCError({\n\t\tcode: \"NOT_FOUND\",\n\t\tmessage: `No \"${type}\"-procedure on path \"${path}\"`\n\t});\n\t/* istanbul ignore if -- @preserve */\n\tif (proc._def.type !== type && opts.allowMethodOverride && proc._def.type === \"subscription\") throw new TRPCError({\n\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\tmessage: `Method override is not supported for subscriptions`\n\t});\n\treturn proc(opts);\n}\nfunction createCallerFactory() {\n\treturn function createCallerInner(router) {\n\t\tconst { _def } = router;\n\t\treturn function createCaller(ctxOrCallback, opts) {\n\t\t\treturn createRecursiveProxy(async ({ path, args }) => {\n\t\t\t\tconst fullPath = path.join(\".\");\n\t\t\t\tif (path.length === 1 && path[0] === \"_def\") return _def;\n\t\t\t\tconst procedure = await getProcedureAtPath(router, fullPath);\n\t\t\t\tlet ctx = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tif (!procedure) throw new TRPCError({\n\t\t\t\t\t\tcode: \"NOT_FOUND\",\n\t\t\t\t\t\tmessage: `No procedure found on path \"${path}\"`\n\t\t\t\t\t});\n\t\t\t\t\tctx = isFunction(ctxOrCallback) ? await Promise.resolve(ctxOrCallback()) : ctxOrCallback;\n\t\t\t\t\treturn await procedure({\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\tgetRawInput: async () => args[0],\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\ttype: procedure._def.type,\n\t\t\t\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t\t\t\t});\n\t\t\t\t} catch (cause) {\n\t\t\t\t\tvar _opts$onError, _procedure$_def$type;\n\t\t\t\t\topts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\t\t\tinput: args[0],\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\ttype: (_procedure$_def$type = procedure === null || procedure === void 0 ? void 0 : procedure._def.type) !== null && _procedure$_def$type !== void 0 ? _procedure$_def$type : \"unknown\"\n\t\t\t\t\t});\n\t\t\t\t\tthrow cause;\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n}\nfunction mergeRouters(...routerList) {\n\tvar _routerList$;\n\tconst record = mergeWithoutOverrides({}, ...routerList.map((r) => r._def.record));\n\tconst errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter) => {\n\t\tif (nextRouter._def._config.errorFormatter && nextRouter._def._config.errorFormatter !== defaultFormatter) {\n\t\t\tif (currentErrorFormatter !== defaultFormatter && currentErrorFormatter !== nextRouter._def._config.errorFormatter) throw new Error(\"You seem to have several error formatters\");\n\t\t\treturn nextRouter._def._config.errorFormatter;\n\t\t}\n\t\treturn currentErrorFormatter;\n\t}, defaultFormatter);\n\tconst transformer = routerList.reduce((prev, current) => {\n\t\tif (current._def._config.transformer && current._def._config.transformer !== defaultTransformer) {\n\t\t\tif (prev !== defaultTransformer && prev !== current._def._config.transformer) throw new Error(\"You seem to have several transformers\");\n\t\t\treturn current._def._config.transformer;\n\t\t}\n\t\treturn prev;\n\t}, defaultTransformer);\n\tconst router = createRouterFactory({\n\t\terrorFormatter,\n\t\ttransformer,\n\t\tisDev: routerList.every((r) => r._def._config.isDev),\n\t\tallowOutsideOfServer: routerList.every((r) => r._def._config.allowOutsideOfServer),\n\t\tisServer: routerList.every((r) => r._def._config.isServer),\n\t\t$types: (_routerList$ = routerList[0]) === null || _routerList$ === void 0 ? void 0 : _routerList$._def._config.$types\n\t})(record);\n\treturn router;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/tracked.ts\nconst trackedSymbol = Symbol();\n/**\n* Produce a typed server-sent event message\n* @deprecated use `tracked(id, data)` instead\n*/\nfunction sse(event) {\n\treturn tracked(event.id, event.data);\n}\nfunction isTrackedEnvelope(value) {\n\treturn Array.isArray(value) && value[2] === trackedSymbol;\n}\n/**\n* Automatically track an event so that it can be resumed from a given id if the connection is lost\n*/\nfunction tracked(id, data) {\n\tif (id === \"\") throw new Error(\"`id` must not be an empty string as empty string is the same as not setting the id at all\");\n\treturn [\n\t\tid,\n\t\tdata,\n\t\ttrackedSymbol\n\t];\n}\n\n//#endregion\nexport { TRPCError, callProcedure, createCallerFactory, createRouterFactory, defaultFormatter, defaultTransformer, getCauseFromUnknown, getDataTransformer, getProcedureAtPath, getTRPCErrorFromUnknown, isTrackedEnvelope, lazy, mergeRouters, sse, tracked, transformResult, transformTRPCResponse };\n//# sourceMappingURL=tracked-gU3ttYjg.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-CjKyS10w.mjs\";\nimport { getUrl, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-Bkv1johT.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/internals/dataLoader.ts\n/**\n* A function that should never be called unless we messed something up.\n*/\nconst throwFatalError = () => {\n\tthrow new Error(\"Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new\");\n};\n/**\n* Dataloader that's very inspired by https://github.com/graphql/dataloader\n* Less configuration, no caching, and allows you to cancel requests\n* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled\n*/\nfunction dataLoader(batchLoader) {\n\tlet pendingItems = null;\n\tlet dispatchTimer = null;\n\tconst destroyTimerAndPendingItems = () => {\n\t\tclearTimeout(dispatchTimer);\n\t\tdispatchTimer = null;\n\t\tpendingItems = null;\n\t};\n\t/**\n\t* Iterate through the items and split them into groups based on the `batchLoader`'s validate function\n\t*/\n\tfunction groupItems(items) {\n\t\tconst groupedItems = [[]];\n\t\tlet index = 0;\n\t\twhile (true) {\n\t\t\tconst item = items[index];\n\t\t\tif (!item) break;\n\t\t\tconst lastGroup = groupedItems[groupedItems.length - 1];\n\t\t\tif (item.aborted) {\n\t\t\t\tvar _item$reject;\n\t\t\t\t(_item$reject = item.reject) === null || _item$reject === void 0 || _item$reject.call(item, new Error(\"Aborted\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst isValid = batchLoader.validate(lastGroup.concat(item).map((it) => it.key));\n\t\t\tif (isValid) {\n\t\t\t\tlastGroup.push(item);\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (lastGroup.length === 0) {\n\t\t\t\tvar _item$reject2;\n\t\t\t\t(_item$reject2 = item.reject) === null || _item$reject2 === void 0 || _item$reject2.call(item, new Error(\"Input is too big for a single dispatch\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tgroupedItems.push([]);\n\t\t}\n\t\treturn groupedItems;\n\t}\n\tfunction dispatch() {\n\t\tconst groupedItems = groupItems(pendingItems);\n\t\tdestroyTimerAndPendingItems();\n\t\tfor (const items of groupedItems) {\n\t\t\tif (!items.length) continue;\n\t\t\tconst batch = { items };\n\t\t\tfor (const item of items) item.batch = batch;\n\t\t\tconst promise = batchLoader.fetch(batch.items.map((_item) => _item.key));\n\t\t\tpromise.then(async (result) => {\n\t\t\t\tawait Promise.all(result.map(async (valueOrPromise, index) => {\n\t\t\t\t\tconst item = batch.items[index];\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar _item$resolve;\n\t\t\t\t\t\tconst value = await Promise.resolve(valueOrPromise);\n\t\t\t\t\t\t(_item$resolve = item.resolve) === null || _item$resolve === void 0 || _item$resolve.call(item, value);\n\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\tvar _item$reject3;\n\t\t\t\t\t\t(_item$reject3 = item.reject) === null || _item$reject3 === void 0 || _item$reject3.call(item, cause);\n\t\t\t\t\t}\n\t\t\t\t\titem.batch = null;\n\t\t\t\t\titem.reject = null;\n\t\t\t\t\titem.resolve = null;\n\t\t\t\t}));\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject4;\n\t\t\t\t\t(_item$reject4 = item.reject) === null || _item$reject4 === void 0 || _item$reject4.call(item, new Error(\"Missing result\"));\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t}).catch((cause) => {\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject5;\n\t\t\t\t\t(_item$reject5 = item.reject) === null || _item$reject5 === void 0 || _item$reject5.call(item, cause);\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tfunction load(key) {\n\t\tvar _dispatchTimer;\n\t\tconst item = {\n\t\t\taborted: false,\n\t\t\tkey,\n\t\t\tbatch: null,\n\t\t\tresolve: throwFatalError,\n\t\t\treject: throwFatalError\n\t\t};\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tvar _pendingItems;\n\t\t\titem.reject = reject;\n\t\t\titem.resolve = resolve;\n\t\t\t(_pendingItems = pendingItems) !== null && _pendingItems !== void 0 || (pendingItems = []);\n\t\t\tpendingItems.push(item);\n\t\t});\n\t\t(_dispatchTimer = dispatchTimer) !== null && _dispatchTimer !== void 0 || (dispatchTimer = setTimeout(dispatch));\n\t\treturn promise;\n\t}\n\treturn { load };\n}\n\n//#endregion\n//#region src/internals/signals.ts\n/**\n* Like `Promise.all()` but for abort signals\n* - When all signals have been aborted, the merged signal will be aborted\n* - If one signal is `null`, no signal will be aborted\n*/\nfunction allAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tconst count = signals.length;\n\tlet abortedCount = 0;\n\tconst onAbort = () => {\n\t\tif (++abortedCount === count) ac.abort();\n\t};\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) onAbort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", onAbort, { once: true });\n\treturn ac.signal;\n}\n/**\n* Like `Promise.race` but for abort signals\n*\n* Basically, a ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction raceAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) ac.abort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", () => ac.abort(), { once: true });\n\treturn ac.signal;\n}\nfunction abortSignalToPromise(signal) {\n\treturn new Promise((_, reject) => {\n\t\tif (signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t\treturn;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", () => {\n\t\t\treject(signal.reason);\n\t\t}, { once: true });\n\t});\n}\n\n//#endregion\n//#region src/links/httpBatchLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchLink\n*/\nfunction httpBatchLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst signal = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst res = await jsonHttpRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsignal\n\t\t\t\t\t}));\n\t\t\t\t\tconst resJSON = Array.isArray(res.json) ? res.json : batchOps.map(() => res.json);\n\t\t\t\t\tconst result = resJSON.map((item) => ({\n\t\t\t\t\t\tmeta: res.meta,\n\t\t\t\t\t\tjson: item\n\t\t\t\t\t}));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals };\n//# sourceMappingURL=httpBatchLink-CA96-gnJ.mjs.map","import { observable } from \"./observable-UMO3vUa_.mjs\";\n\n//#region src/observable/operators.ts\nfunction map(project) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet index = 0;\n\t\t\tconst subscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tdestination.next(project(value, index++));\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t});\n\t};\n}\nfunction share(_opts) {\n\treturn (source) => {\n\t\tlet refCount = 0;\n\t\tlet subscription = null;\n\t\tconst observers = [];\n\t\tfunction startIfNeeded() {\n\t\t\tif (subscription) return;\n\t\t\tsubscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$next;\n\t\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$error;\n\t\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction resetIfNeeded() {\n\t\t\tif (refCount === 0 && subscription) {\n\t\t\t\tconst _sub = subscription;\n\t\t\t\tsubscription = null;\n\t\t\t\t_sub.unsubscribe();\n\t\t\t}\n\t\t}\n\t\treturn observable((subscriber) => {\n\t\t\trefCount++;\n\t\t\tobservers.push(subscriber);\n\t\t\tstartIfNeeded();\n\t\t\treturn { unsubscribe() {\n\t\t\t\trefCount--;\n\t\t\t\tresetIfNeeded();\n\t\t\t\tconst index = observers.findIndex((v) => v === subscriber);\n\t\t\t\tif (index > -1) observers.splice(index, 1);\n\t\t\t} };\n\t\t});\n\t};\n}\nfunction tap(observer) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next2;\n\t\t\t\t\t(_observer$next2 = observer.next) === null || _observer$next2 === void 0 || _observer$next2.call(observer, value);\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tvar _observer$error2;\n\t\t\t\t\t(_observer$error2 = observer.error) === null || _observer$error2 === void 0 || _observer$error2.call(observer, error);\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete2;\n\t\t\t\t\t(_observer$complete2 = observer.complete) === null || _observer$complete2 === void 0 || _observer$complete2.call(observer);\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst distinctUnsetMarker = Symbol();\nfunction distinctUntilChanged(compare = (a, b) => a === b) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet lastValue = distinctUnsetMarker;\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tif (lastValue !== distinctUnsetMarker && compare(lastValue, value)) return;\n\t\t\t\t\tlastValue = value;\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst isDeepEqual = (a, b) => {\n\tif (a === b) return true;\n\tconst bothAreObjects = a && b && typeof a === \"object\" && typeof b === \"object\";\n\treturn !!bothAreObjects && Object.keys(a).length === Object.keys(b).length && Object.entries(a).every(([k, v]) => isDeepEqual(v, b[k]));\n};\nfunction distinctUntilDeepChanged() {\n\treturn distinctUntilChanged(isDeepEqual);\n}\n\n//#endregion\n//#region src/observable/behaviorSubject.ts\n/**\n* @internal\n* An observable that maintains and provides a \"current value\" to subscribers\n* @see https://www.learnrxjs.io/learn-rxjs/subjects/behaviorsubject\n*/\nfunction behaviorSubject(initialValue) {\n\tlet value = initialValue;\n\tconst observerList = [];\n\tconst addObserver = (observer) => {\n\t\tif (value !== void 0) observer.next(value);\n\t\tobserverList.push(observer);\n\t};\n\tconst removeObserver = (observer) => {\n\t\tobserverList.splice(observerList.indexOf(observer), 1);\n\t};\n\tconst obs = observable((observer) => {\n\t\taddObserver(observer);\n\t\treturn () => {\n\t\t\tremoveObserver(observer);\n\t\t};\n\t});\n\tobs.next = (nextValue) => {\n\t\tif (value === nextValue) return;\n\t\tvalue = nextValue;\n\t\tfor (const observer of observerList) observer.next(nextValue);\n\t};\n\tobs.get = () => value;\n\treturn obs;\n}\n\n//#endregion\nexport { behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, map, share, tap };\n//# sourceMappingURL=observable-CUiPknO-.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { observable, tap } from \"@trpc/server/observable\";\n\n//#region src/links/loggerLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isFormData(value) {\n\tif (typeof FormData === \"undefined\") return false;\n\treturn value instanceof FormData;\n}\nconst palettes = {\n\tcss: {\n\t\tquery: [\"72e3ff\", \"3fb0d8\"],\n\t\tmutation: [\"c5a3fc\", \"904dfc\"],\n\t\tsubscription: [\"ff49e1\", \"d83fbe\"]\n\t},\n\tansi: {\n\t\tregular: {\n\t\t\tquery: [\"\\x1B[30;46m\", \"\\x1B[97;46m\"],\n\t\t\tmutation: [\"\\x1B[30;45m\", \"\\x1B[97;45m\"],\n\t\t\tsubscription: [\"\\x1B[30;42m\", \"\\x1B[97;42m\"]\n\t\t},\n\t\tbold: {\n\t\t\tquery: [\"\\x1B[1;30;46m\", \"\\x1B[1;97;46m\"],\n\t\t\tmutation: [\"\\x1B[1;30;45m\", \"\\x1B[1;97;45m\"],\n\t\t\tsubscription: [\"\\x1B[1;30;42m\", \"\\x1B[1;97;42m\"]\n\t\t}\n\t}\n};\nfunction constructPartsAndArgs(opts) {\n\tconst { direction, type, withContext, path, id, input } = opts;\n\tconst parts = [];\n\tconst args = [];\n\tif (opts.colorMode === \"none\") parts.push(direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, path);\n\telse if (opts.colorMode === \"ansi\") {\n\t\tconst [lightRegular, darkRegular] = palettes.ansi.regular[type];\n\t\tconst [lightBold, darkBold] = palettes.ansi.bold[type];\n\t\tconst reset = \"\\x1B[0m\";\n\t\tparts.push(direction === \"up\" ? lightRegular : darkRegular, direction === \"up\" ? \">>\" : \"<<\", type, direction === \"up\" ? lightBold : darkBold, `#${id}`, path, reset);\n\t} else {\n\t\tconst [light, dark] = palettes.css[type];\n\t\tconst css = `\n background-color: #${direction === \"up\" ? light : dark};\n color: ${direction === \"up\" ? \"black\" : \"white\"};\n padding: 2px;\n `;\n\t\tparts.push(\"%c\", direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, `%c${path}%c`, \"%O\");\n\t\targs.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);\n\t}\n\tif (direction === \"up\") args.push(withContext ? {\n\t\tinput,\n\t\tcontext: opts.context\n\t} : { input });\n\telse args.push((0, import_objectSpread2.default)({\n\t\tinput,\n\t\tresult: opts.result,\n\t\telapsedMs: opts.elapsedMs\n\t}, withContext && { context: opts.context }));\n\treturn {\n\t\tparts,\n\t\targs\n\t};\n}\nconst defaultLogger = ({ c = console, colorMode = \"css\", withContext }) => (props) => {\n\tconst rawInput = props.input;\n\tconst input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;\n\tconst { parts, args } = constructPartsAndArgs((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, props), {}, {\n\t\tcolorMode,\n\t\tinput,\n\t\twithContext\n\t}));\n\tconst fn = props.direction === \"down\" && props.result && (props.result instanceof Error || \"error\" in props.result.result && props.result.result.error) ? \"error\" : \"log\";\n\tc[fn].apply(null, [parts.join(\" \")].concat(args));\n};\n/**\n* @see https://trpc.io/docs/v11/client/links/loggerLink\n*/\nfunction loggerLink(opts = {}) {\n\tvar _opts$colorMode, _opts$withContext;\n\tconst { enabled = () => true } = opts;\n\tconst colorMode = (_opts$colorMode = opts.colorMode) !== null && _opts$colorMode !== void 0 ? _opts$colorMode : typeof window === \"undefined\" ? \"ansi\" : \"css\";\n\tconst withContext = (_opts$withContext = opts.withContext) !== null && _opts$withContext !== void 0 ? _opts$withContext : colorMode === \"css\";\n\tconst { logger = defaultLogger({\n\t\tc: opts.console,\n\t\tcolorMode,\n\t\twithContext\n\t}) } = opts;\n\treturn () => {\n\t\treturn ({ op, next }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }));\n\t\t\t\tconst requestStartTime = Date.now();\n\t\t\t\tfunction logResult(result) {\n\t\t\t\t\tconst elapsedMs = Date.now() - requestStartTime;\n\t\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\tresult\n\t\t\t\t\t}))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\telapsedMs,\n\t\t\t\t\t\tresult\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\treturn next(op).pipe(tap({\n\t\t\t\t\tnext(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t},\n\t\t\t\t\terror(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t}\n\t\t\t\t})).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { loggerLink };\n//# sourceMappingURL=loggerLink-ineCN1PO.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-CjKyS10w.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { behaviorSubject, observable } from \"@trpc/server/observable\";\nimport { run, sleep, transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/wsLink/wsClient/options.ts\nconst lazyDefaults = {\n\tenabled: false,\n\tcloseMs: 0\n};\nconst keepAliveDefaults = {\n\tenabled: false,\n\tpongTimeoutMs: 1e3,\n\tintervalMs: 5e3\n};\n/**\n* Calculates a delay for exponential backoff based on the retry attempt index.\n* The delay starts at 0 for the first attempt and doubles for each subsequent attempt,\n* capped at 30 seconds.\n*/\nconst exponentialBackoff = (attemptIndex) => {\n\treturn attemptIndex === 0 ? 0 : Math.min(1e3 * 2 ** attemptIndex, 3e4);\n};\n\n//#endregion\n//#region src/links/internals/urlWithConnectionParams.ts\n/**\n* Get the result of a value or function that returns a value\n* It also optionally accepts typesafe arguments for the function\n*/\nconst resultOf = (value, ...args) => {\n\treturn typeof value === \"function\" ? value(...args) : value;\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/utils.ts\nvar import_defineProperty$3 = __toESM(require_defineProperty(), 1);\nvar TRPCWebSocketClosedError = class TRPCWebSocketClosedError extends Error {\n\tconstructor(opts) {\n\t\tsuper(opts.message, { cause: opts.cause });\n\t\tthis.name = \"TRPCWebSocketClosedError\";\n\t\tObject.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);\n\t}\n};\n/**\n* Utility class for managing a timeout that can be started, stopped, and reset.\n* Useful for scenarios where the timeout duration is reset dynamically based on events.\n*/\nvar ResettableTimeout = class {\n\tconstructor(onTimeout, timeoutMs) {\n\t\tthis.onTimeout = onTimeout;\n\t\tthis.timeoutMs = timeoutMs;\n\t\t(0, import_defineProperty$3.default)(this, \"timeout\", void 0);\n\t}\n\t/**\n\t* Resets the current timeout, restarting it with the same duration.\n\t* Does nothing if no timeout is active.\n\t*/\n\treset() {\n\t\tif (!this.timeout) return;\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstart() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstop() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = void 0;\n\t}\n};\nfunction withResolvers() {\n\tlet resolve;\n\tlet reject;\n\tconst promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n/**\n* Resolves a WebSocket URL and optionally appends connection parameters.\n*\n* If connectionParams are provided, appends 'connectionParams=1' query parameter.\n*/\nasync function prepareUrl(urlOptions) {\n\tconst url = await resultOf(urlOptions.url);\n\tif (!urlOptions.connectionParams) return url;\n\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\tconst connectionParams = `${prefix}connectionParams=1`;\n\treturn url + connectionParams;\n}\nasync function buildConnectionMessage(connectionParams) {\n\tconst message = {\n\t\tmethod: \"connectionParams\",\n\t\tdata: await resultOf(connectionParams)\n\t};\n\treturn JSON.stringify(message);\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/requestManager.ts\nvar import_defineProperty$2 = __toESM(require_defineProperty(), 1);\n/**\n* Manages WebSocket requests, tracking their lifecycle and providing utility methods\n* for handling outgoing and pending requests.\n*\n* - **Outgoing requests**: Requests that are queued and waiting to be sent.\n* - **Pending requests**: Requests that have been sent and are in flight awaiting a response.\n* For subscriptions, multiple responses may be received until the subscription is closed.\n*/\nvar RequestManager = class {\n\tconstructor() {\n\t\t(0, import_defineProperty$2.default)(this, \"outgoingRequests\", new Array());\n\t\t(0, import_defineProperty$2.default)(this, \"pendingRequests\", {});\n\t}\n\t/**\n\t* Registers a new request by adding it to the outgoing queue and setting up\n\t* callbacks for lifecycle events such as completion or error.\n\t*\n\t* @param message - The outgoing message to be sent.\n\t* @param callbacks - Callback functions to observe the request's state.\n\t* @returns A cleanup function to manually remove the request.\n\t*/\n\tregister(message, callbacks) {\n\t\tconst { promise: end, resolve } = withResolvers();\n\t\tthis.outgoingRequests.push({\n\t\t\tid: String(message.id),\n\t\t\tmessage,\n\t\t\tend,\n\t\t\tcallbacks: {\n\t\t\t\tnext: callbacks.next,\n\t\t\t\tcomplete: () => {\n\t\t\t\t\tcallbacks.complete();\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\terror: (e) => {\n\t\t\t\t\tcallbacks.error(e);\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tthis.delete(message.id);\n\t\t\tcallbacks.complete();\n\t\t\tresolve();\n\t\t};\n\t}\n\t/**\n\t* Deletes a request from both the outgoing and pending collections, if it exists.\n\t*/\n\tdelete(messageId) {\n\t\tif (messageId === null) return;\n\t\tthis.outgoingRequests = this.outgoingRequests.filter(({ id }) => id !== String(messageId));\n\t\tdelete this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Moves all outgoing requests to the pending state and clears the outgoing queue.\n\t*\n\t* The caller is expected to handle the actual sending of the requests\n\t* (e.g., sending them over the network) after this method is called.\n\t*\n\t* @returns The list of requests that were transitioned to the pending state.\n\t*/\n\tflush() {\n\t\tconst requests = this.outgoingRequests;\n\t\tthis.outgoingRequests = [];\n\t\tfor (const request of requests) this.pendingRequests[request.id] = request;\n\t\treturn requests;\n\t}\n\t/**\n\t* Retrieves all currently pending requests, which are in flight awaiting responses\n\t* or handling ongoing subscriptions.\n\t*/\n\tgetPendingRequests() {\n\t\treturn Object.values(this.pendingRequests);\n\t}\n\t/**\n\t* Retrieves a specific pending request by its message ID.\n\t*/\n\tgetPendingRequest(messageId) {\n\t\tif (messageId === null) return null;\n\t\treturn this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Retrieves all outgoing requests, which are waiting to be sent.\n\t*/\n\tgetOutgoingRequests() {\n\t\treturn this.outgoingRequests;\n\t}\n\t/**\n\t* Retrieves all requests, both outgoing and pending, with their respective states.\n\t*\n\t* @returns An array of all requests with their state (\"outgoing\" or \"pending\").\n\t*/\n\tgetRequests() {\n\t\treturn [...this.getOutgoingRequests().map((request) => ({\n\t\t\tstate: \"outgoing\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t})), ...this.getPendingRequests().map((request) => ({\n\t\t\tstate: \"pending\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t}))];\n\t}\n\t/**\n\t* Checks if there are any pending requests, including ongoing subscriptions.\n\t*/\n\thasPendingRequests() {\n\t\treturn this.getPendingRequests().length > 0;\n\t}\n\t/**\n\t* Checks if there are any pending subscriptions\n\t*/\n\thasPendingSubscriptions() {\n\t\treturn this.getPendingRequests().some((request) => request.message.method === \"subscription\");\n\t}\n\t/**\n\t* Checks if there are any outgoing requests waiting to be sent.\n\t*/\n\thasOutgoingRequests() {\n\t\treturn this.outgoingRequests.length > 0;\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsConnection.ts\nvar import_defineProperty$1 = __toESM(require_defineProperty(), 1);\n/**\n* Opens a WebSocket connection asynchronously and returns a promise\n* that resolves when the connection is successfully established.\n* The promise rejects if an error occurs during the connection attempt.\n*/\nfunction asyncWsOpen(ws) {\n\tconst { promise, resolve, reject } = withResolvers();\n\tws.addEventListener(\"open\", () => {\n\t\tws.removeEventListener(\"error\", reject);\n\t\tresolve();\n\t});\n\tws.addEventListener(\"error\", reject);\n\treturn promise;\n}\n/**\n* Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.\n*\n* - Sends \"PING\" messages at regular intervals defined by `intervalMs`.\n* - If a \"PONG\" response is not received within the `pongTimeoutMs`, the WebSocket is closed.\n* - The ping timer resets upon receiving any message to maintain activity.\n* - Automatically starts the ping process when the WebSocket connection is opened.\n* - Cleans up timers when the WebSocket is closed.\n*\n* @param ws - The WebSocket instance to manage.\n* @param options - Configuration options for ping-pong intervals and timeouts.\n*/\nfunction setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {\n\tlet pingTimeout;\n\tlet pongTimeout;\n\tfunction start() {\n\t\tpingTimeout = setTimeout(() => {\n\t\t\tws.send(\"PING\");\n\t\t\tpongTimeout = setTimeout(() => {\n\t\t\t\tws.close();\n\t\t\t}, pongTimeoutMs);\n\t\t}, intervalMs);\n\t}\n\tfunction reset() {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t}\n\tfunction pong() {\n\t\tclearTimeout(pongTimeout);\n\t\treset();\n\t}\n\tws.addEventListener(\"open\", start);\n\tws.addEventListener(\"message\", ({ data }) => {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t\tif (data === \"PONG\") pong();\n\t});\n\tws.addEventListener(\"close\", () => {\n\t\tclearTimeout(pingTimeout);\n\t\tclearTimeout(pongTimeout);\n\t});\n}\n/**\n* Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,\n* and observable state tracking.\n*/\nvar WsConnection = class WsConnection {\n\tconstructor(opts) {\n\t\tvar _opts$WebSocketPonyfi;\n\t\t(0, import_defineProperty$1.default)(this, \"id\", ++WsConnection.connectCount);\n\t\t(0, import_defineProperty$1.default)(this, \"WebSocketPonyfill\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"urlOptions\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"keepAliveOpts\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"wsObservable\", behaviorSubject(null));\n\t\t(0, import_defineProperty$1.default)(this, \"openPromise\", null);\n\t\tthis.WebSocketPonyfill = (_opts$WebSocketPonyfi = opts.WebSocketPonyfill) !== null && _opts$WebSocketPonyfi !== void 0 ? _opts$WebSocketPonyfi : WebSocket;\n\t\tif (!this.WebSocketPonyfill) throw new Error(\"No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill\");\n\t\tthis.urlOptions = opts.urlOptions;\n\t\tthis.keepAliveOpts = opts.keepAlive;\n\t}\n\tget ws() {\n\t\treturn this.wsObservable.get();\n\t}\n\tset ws(ws) {\n\t\tthis.wsObservable.next(ws);\n\t}\n\t/**\n\t* Checks if the WebSocket connection is open and ready to communicate.\n\t*/\n\tisOpen() {\n\t\treturn !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;\n\t}\n\t/**\n\t* Checks if the WebSocket connection is closed or in the process of closing.\n\t*/\n\tisClosed() {\n\t\treturn !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);\n\t}\n\tasync open() {\n\t\tvar _this = this;\n\t\tif (_this.openPromise) return _this.openPromise;\n\t\t_this.id = ++WsConnection.connectCount;\n\t\tconst wsPromise = prepareUrl(_this.urlOptions).then((url) => new _this.WebSocketPonyfill(url));\n\t\t_this.openPromise = wsPromise.then(async (ws) => {\n\t\t\t_this.ws = ws;\n\t\t\tws.addEventListener(\"message\", function({ data }) {\n\t\t\t\tif (data === \"PING\") this.send(\"PONG\");\n\t\t\t});\n\t\t\tif (_this.keepAliveOpts.enabled) setupPingInterval(ws, _this.keepAliveOpts);\n\t\t\tws.addEventListener(\"close\", () => {\n\t\t\t\tif (_this.ws === ws) _this.ws = null;\n\t\t\t});\n\t\t\tawait asyncWsOpen(ws);\n\t\t\tif (_this.urlOptions.connectionParams) ws.send(await buildConnectionMessage(_this.urlOptions.connectionParams));\n\t\t});\n\t\ttry {\n\t\t\tawait _this.openPromise;\n\t\t} finally {\n\t\t\t_this.openPromise = null;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection gracefully.\n\t* Waits for any ongoing open operation to complete before closing.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\ttry {\n\t\t\tawait _this2.openPromise;\n\t\t} finally {\n\t\t\tvar _this$ws;\n\t\t\t(_this$ws = _this2.ws) === null || _this$ws === void 0 || _this$ws.close();\n\t\t}\n\t}\n};\n(0, import_defineProperty$1.default)(WsConnection, \"connectCount\", 0);\n/**\n* Provides a backward-compatible representation of the connection state.\n*/\nfunction backwardCompatibility(connection) {\n\tif (connection.isOpen()) return {\n\t\tid: connection.id,\n\t\tstate: \"open\",\n\t\tws: connection.ws\n\t};\n\tif (connection.isClosed()) return {\n\t\tid: connection.id,\n\t\tstate: \"closed\",\n\t\tws: connection.ws\n\t};\n\tif (!connection.ws) return null;\n\treturn {\n\t\tid: connection.id,\n\t\tstate: \"connecting\",\n\t\tws: connection.ws\n\t};\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* A WebSocket client for managing TRPC operations, supporting lazy initialization,\n* reconnection, keep-alive, and request management.\n*/\nvar WsClient = class {\n\tconstructor(opts) {\n\t\tvar _opts$retryDelayMs;\n\t\t(0, import_defineProperty.default)(this, \"connectionState\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"allowReconnect\", false);\n\t\t(0, import_defineProperty.default)(this, \"requestManager\", new RequestManager());\n\t\t(0, import_defineProperty.default)(this, \"activeConnection\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnectRetryDelay\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"inactivityTimeout\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"callbacks\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"lazyMode\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnecting\", null);\n\t\tthis.callbacks = {\n\t\t\tonOpen: opts.onOpen,\n\t\t\tonClose: opts.onClose,\n\t\t\tonError: opts.onError\n\t\t};\n\t\tconst lazyOptions = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, lazyDefaults), opts.lazy);\n\t\tthis.inactivityTimeout = new ResettableTimeout(() => {\n\t\t\tif (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {\n\t\t\t\tthis.inactivityTimeout.reset();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.close().catch(() => null);\n\t\t}, lazyOptions.closeMs);\n\t\tthis.activeConnection = new WsConnection({\n\t\t\tWebSocketPonyfill: opts.WebSocket,\n\t\t\turlOptions: opts,\n\t\t\tkeepAlive: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, keepAliveDefaults), opts.keepAlive)\n\t\t});\n\t\tthis.activeConnection.wsObservable.subscribe({ next: (ws) => {\n\t\t\tif (!ws) return;\n\t\t\tthis.setupWebSocketListeners(ws);\n\t\t} });\n\t\tthis.reconnectRetryDelay = (_opts$retryDelayMs = opts.retryDelayMs) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : exponentialBackoff;\n\t\tthis.lazyMode = lazyOptions.enabled;\n\t\tthis.connectionState = behaviorSubject({\n\t\t\ttype: \"state\",\n\t\t\tstate: lazyOptions.enabled ? \"idle\" : \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\tif (!this.lazyMode) this.open().catch(() => null);\n\t}\n\t/**\n\t* Opens the WebSocket connection. Handles reconnection attempts and updates\n\t* the connection state accordingly.\n\t*/\n\tasync open() {\n\t\tvar _this = this;\n\t\t_this.allowReconnect = true;\n\t\tif (_this.connectionState.get().state !== \"connecting\") _this.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\ttry {\n\t\t\tawait _this.activeConnection.open();\n\t\t} catch (error) {\n\t\t\t_this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"Initialization error\",\n\t\t\t\tcause: error\n\t\t\t}));\n\t\t\treturn _this.reconnecting;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection and stops managing requests.\n\t* Ensures all outgoing and pending requests are properly finalized.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\t_this2.allowReconnect = false;\n\t\t_this2.inactivityTimeout.stop();\n\t\tconst requestsToAwait = [];\n\t\tfor (const request of _this2.requestManager.getRequests()) if (request.message.method === \"subscription\") request.callbacks.complete();\n\t\telse if (request.state === \"outgoing\") request.callbacks.error(TRPCClientError.from(new TRPCWebSocketClosedError({ message: \"Closed before connection was established\" })));\n\t\telse requestsToAwait.push(request.end);\n\t\tawait Promise.all(requestsToAwait).catch(() => null);\n\t\tawait _this2.activeConnection.close().catch(() => null);\n\t\t_this2.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"idle\",\n\t\t\terror: null\n\t\t});\n\t}\n\t/**\n\t* Method to request the server.\n\t* Handles data transformation, batching of requests, and subscription lifecycle.\n\t*\n\t* @param op - The operation details including id, type, path, input and signal\n\t* @param transformer - Data transformer for serializing requests and deserializing responses\n\t* @param lastEventId - Optional ID of the last received event for subscriptions\n\t*\n\t* @returns An observable that emits operation results and handles cleanup\n\t*/\n\trequest({ op: { id, type, path, input, signal }, transformer, lastEventId }) {\n\t\treturn observable((observer) => {\n\t\t\tconst abort = this.batchSend({\n\t\t\t\tid,\n\t\t\t\tmethod: type,\n\t\t\t\tparams: {\n\t\t\t\t\tinput: transformer.input.serialize(input),\n\t\t\t\t\tpath,\n\t\t\t\t\tlastEventId\n\t\t\t\t}\n\t\t\t}, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, observer), {}, { next(event) {\n\t\t\t\tconst transformed = transformResult(event, transformer.output);\n\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tobserver.next({ result: transformed.result });\n\t\t\t} }));\n\t\t\treturn () => {\n\t\t\t\tabort();\n\t\t\t\tif (type === \"subscription\" && this.activeConnection.isOpen()) this.send({\n\t\t\t\t\tid,\n\t\t\t\t\tmethod: \"subscription.stop\"\n\t\t\t\t});\n\t\t\t\tsignal === null || signal === void 0 || signal.removeEventListener(\"abort\", abort);\n\t\t\t};\n\t\t});\n\t}\n\tget connection() {\n\t\treturn backwardCompatibility(this.activeConnection);\n\t}\n\treconnect(closedError) {\n\t\tvar _this3 = this;\n\t\tthis.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: TRPCClientError.from(closedError)\n\t\t});\n\t\tif (this.reconnecting) return;\n\t\tconst tryReconnect = async (attemptIndex) => {\n\t\t\ttry {\n\t\t\t\tawait sleep(_this3.reconnectRetryDelay(attemptIndex));\n\t\t\t\tif (_this3.allowReconnect) {\n\t\t\t\t\tawait _this3.activeConnection.close();\n\t\t\t\t\tawait _this3.activeConnection.open();\n\t\t\t\t\tif (_this3.requestManager.hasPendingRequests()) _this3.send(_this3.requestManager.getPendingRequests().map(({ message }) => message));\n\t\t\t\t}\n\t\t\t\t_this3.reconnecting = null;\n\t\t\t} catch (_unused) {\n\t\t\t\tawait tryReconnect(attemptIndex + 1);\n\t\t\t}\n\t\t};\n\t\tthis.reconnecting = tryReconnect(0);\n\t}\n\tsetupWebSocketListeners(ws) {\n\t\tvar _this4 = this;\n\t\tconst handleCloseOrError = (cause) => {\n\t\t\tconst reqs = this.requestManager.getPendingRequests();\n\t\t\tfor (const { message, callbacks } of reqs) {\n\t\t\t\tif (message.method === \"subscription\") continue;\n\t\t\t\tcallbacks.error(TRPCClientError.from(cause !== null && cause !== void 0 ? cause : new TRPCWebSocketClosedError({\n\t\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\t\tcause\n\t\t\t\t})));\n\t\t\t\tthis.requestManager.delete(message.id);\n\t\t\t}\n\t\t};\n\t\tws.addEventListener(\"open\", () => {\n\t\t\trun(async () => {\n\t\t\t\tvar _this$callbacks$onOpe, _this$callbacks;\n\t\t\t\tif (_this4.lazyMode) _this4.inactivityTimeout.start();\n\t\t\t\t(_this$callbacks$onOpe = (_this$callbacks = _this4.callbacks).onOpen) === null || _this$callbacks$onOpe === void 0 || _this$callbacks$onOpe.call(_this$callbacks);\n\t\t\t\t_this4.connectionState.next({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t}).catch((error) => {\n\t\t\t\tws.close(3e3);\n\t\t\t\thandleCloseOrError(error);\n\t\t\t});\n\t\t});\n\t\tws.addEventListener(\"message\", ({ data }) => {\n\t\t\tthis.inactivityTimeout.reset();\n\t\t\tif (typeof data !== \"string\" || [\"PING\", \"PONG\"].includes(data)) return;\n\t\t\tconst incomingMessage = JSON.parse(data);\n\t\t\tif (\"method\" in incomingMessage) {\n\t\t\t\tthis.handleIncomingRequest(incomingMessage);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.handleResponseMessage(incomingMessage);\n\t\t});\n\t\tws.addEventListener(\"close\", (event) => {\n\t\t\tvar _this$callbacks$onClo, _this$callbacks2;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onClo = (_this$callbacks2 = this.callbacks).onClose) === null || _this$callbacks$onClo === void 0 || _this$callbacks$onClo.call(_this$callbacks2, event);\n\t\t\tif (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t\tws.addEventListener(\"error\", (event) => {\n\t\t\tvar _this$callbacks$onErr, _this$callbacks3;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onErr = (_this$callbacks3 = this.callbacks).onError) === null || _this$callbacks$onErr === void 0 || _this$callbacks$onErr.call(_this$callbacks3, event);\n\t\t\tthis.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t}\n\thandleResponseMessage(message) {\n\t\tconst request = this.requestManager.getPendingRequest(message.id);\n\t\tif (!request) return;\n\t\trequest.callbacks.next(message);\n\t\tlet completed = true;\n\t\tif (\"result\" in message && request.message.method === \"subscription\") {\n\t\t\tif (message.result.type === \"data\") request.message.params.lastEventId = message.result.id;\n\t\t\tif (message.result.type !== \"stopped\") completed = false;\n\t\t}\n\t\tif (completed) {\n\t\t\trequest.callbacks.complete();\n\t\t\tthis.requestManager.delete(message.id);\n\t\t}\n\t}\n\thandleIncomingRequest(message) {\n\t\tif (message.method === \"reconnect\") this.reconnect(new TRPCWebSocketClosedError({ message: \"Server requested reconnect\" }));\n\t}\n\t/**\n\t* Sends a message or batch of messages directly to the server.\n\t*/\n\tsend(messageOrMessages) {\n\t\tif (!this.activeConnection.isOpen()) throw new Error(\"Active connection is not open\");\n\t\tconst messages = messageOrMessages instanceof Array ? messageOrMessages : [messageOrMessages];\n\t\tthis.activeConnection.ws.send(JSON.stringify(messages.length === 1 ? messages[0] : messages));\n\t}\n\t/**\n\t* Groups requests for batch sending.\n\t*\n\t* @returns A function to abort the batched request.\n\t*/\n\tbatchSend(message, callbacks) {\n\t\tvar _this5 = this;\n\t\tthis.inactivityTimeout.reset();\n\t\trun(async () => {\n\t\t\tif (!_this5.activeConnection.isOpen()) await _this5.open();\n\t\t\tawait sleep(0);\n\t\t\tif (!_this5.requestManager.hasOutgoingRequests()) return;\n\t\t\t_this5.send(_this5.requestManager.flush().map(({ message: message$1 }) => message$1));\n\t\t}).catch((err) => {\n\t\t\tthis.requestManager.delete(message.id);\n\t\t\tcallbacks.error(TRPCClientError.from(err));\n\t\t});\n\t\treturn this.requestManager.register(message, callbacks);\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/createWsClient.ts\nfunction createWSClient(opts) {\n\treturn new WsClient(opts);\n}\n\n//#endregion\n//#region src/links/wsLink/wsLink.ts\nfunction wsLink(opts) {\n\tconst { client } = opts;\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst connStateSubscription = op.type === \"subscription\" ? client.connectionState.subscribe({ next(result) {\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tcontext: op.context\n\t\t\t\t\t});\n\t\t\t\t} }) : null;\n\t\t\t\tconst requestSubscription = client.request({\n\t\t\t\t\top,\n\t\t\t\t\ttransformer\n\t\t\t\t}).subscribe(observer);\n\t\t\t\treturn () => {\n\t\t\t\t\trequestSubscription.unsubscribe();\n\t\t\t\t\tconnStateSubscription === null || connStateSubscription === void 0 || connStateSubscription.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createWSClient, resultOf, wsLink };\n//# sourceMappingURL=wsLink-H5IjZfJW.mjs.map","import { __commonJS, __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { createChain, splitLink } from \"./splitLink-B7Cuf2c_.mjs\";\nimport { TRPCClientError, isTRPCClientError } from \"./TRPCClientError-CjKyS10w.mjs\";\nimport { fetchHTTPResponse, getBody, getFetch, getUrl, resolveHTTPLinkOptions } from \"./httpUtils-Bkv1johT.mjs\";\nimport { httpLink, isFormData, isNonJsonSerializable, isOctetType } from \"./httpLink-CYOcG9kQ.mjs\";\nimport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals } from \"./httpBatchLink-CA96-gnJ.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { loggerLink } from \"./loggerLink-ineCN1PO.mjs\";\nimport { createWSClient, resultOf, wsLink } from \"./wsLink-H5IjZfJW.mjs\";\nimport { behaviorSubject, observable, observableToPromise, share } from \"@trpc/server/observable\";\nimport { callProcedure, createFlatProxy, createRecursiveProxy, isAbortError, isAsyncIterable, iteratorResource, jsonlStreamConsumer, makeResource, retryableRpcCodes, run, sseStreamConsumer } from \"@trpc/server/unstable-core-do-not-import\";\nimport { getTRPCErrorFromUnknown, getTRPCErrorShape, isTrackedEnvelope } from \"@trpc/server\";\nimport { TRPC_ERROR_CODES_BY_KEY } from \"@trpc/server/rpc\";\n\n//#region src/internals/TRPCUntypedClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2$4 = __toESM(require_objectSpread2(), 1);\nvar TRPCUntypedClient = class {\n\tconstructor(opts) {\n\t\t(0, import_defineProperty.default)(this, \"links\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"runtime\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"requestId\", void 0);\n\t\tthis.requestId = 0;\n\t\tthis.runtime = {};\n\t\tthis.links = opts.links.map((link) => link(this.runtime));\n\t}\n\t$request(opts) {\n\t\tvar _opts$context;\n\t\tconst chain$ = createChain({\n\t\t\tlinks: this.links,\n\t\t\top: (0, import_objectSpread2$4.default)((0, import_objectSpread2$4.default)({}, opts), {}, {\n\t\t\t\tcontext: (_opts$context = opts.context) !== null && _opts$context !== void 0 ? _opts$context : {},\n\t\t\t\tid: ++this.requestId\n\t\t\t})\n\t\t});\n\t\treturn chain$.pipe(share());\n\t}\n\tasync requestAsPromise(opts) {\n\t\tvar _this = this;\n\t\ttry {\n\t\t\tconst req$ = _this.$request(opts);\n\t\t\tconst envelope = await observableToPromise(req$);\n\t\t\tconst data = envelope.result.data;\n\t\t\treturn data;\n\t\t} catch (err) {\n\t\t\tthrow TRPCClientError.from(err);\n\t\t}\n\t}\n\tquery(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"query\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tmutation(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"mutation\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tsubscription(path, input, opts) {\n\t\tconst observable$ = this.$request({\n\t\t\ttype: \"subscription\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts.context,\n\t\t\tsignal: opts.signal\n\t\t});\n\t\treturn observable$.subscribe({\n\t\t\tnext(envelope) {\n\t\t\t\tswitch (envelope.result.type) {\n\t\t\t\t\tcase \"state\": {\n\t\t\t\t\t\tvar _opts$onConnectionSta;\n\t\t\t\t\t\t(_opts$onConnectionSta = opts.onConnectionStateChange) === null || _opts$onConnectionSta === void 0 || _opts$onConnectionSta.call(opts, envelope.result);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"started\": {\n\t\t\t\t\t\tvar _opts$onStarted;\n\t\t\t\t\t\t(_opts$onStarted = opts.onStarted) === null || _opts$onStarted === void 0 || _opts$onStarted.call(opts, { context: envelope.context });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"stopped\": {\n\t\t\t\t\t\tvar _opts$onStopped;\n\t\t\t\t\t\t(_opts$onStopped = opts.onStopped) === null || _opts$onStopped === void 0 || _opts$onStopped.call(opts);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"data\":\n\t\t\t\t\tcase void 0: {\n\t\t\t\t\t\tvar _opts$onData;\n\t\t\t\t\t\t(_opts$onData = opts.onData) === null || _opts$onData === void 0 || _opts$onData.call(opts, envelope.result.data);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tvar _opts$onError;\n\t\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, err);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tvar _opts$onComplete;\n\t\t\t\t(_opts$onComplete = opts.onComplete) === null || _opts$onComplete === void 0 || _opts$onComplete.call(opts);\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/createTRPCUntypedClient.ts\nfunction createTRPCUntypedClient(opts) {\n\treturn new TRPCUntypedClient(opts);\n}\n\n//#endregion\n//#region src/createTRPCClient.ts\nconst untypedClientSymbol = Symbol.for(\"trpc_untypedClient\");\nconst clientCallTypeMap = {\n\tquery: \"query\",\n\tmutate: \"mutation\",\n\tsubscribe: \"subscription\"\n};\n/** @internal */\nconst clientCallTypeToProcedureType = (clientCallType) => {\n\treturn clientCallTypeMap[clientCallType];\n};\n/**\n* @internal\n*/\nfunction createTRPCClientProxy(client) {\n\tconst proxy = createRecursiveProxy(({ path, args }) => {\n\t\tconst pathCopy = [...path];\n\t\tconst procedureType = clientCallTypeToProcedureType(pathCopy.pop());\n\t\tconst fullPath = pathCopy.join(\".\");\n\t\treturn client[procedureType](fullPath, ...args);\n\t});\n\treturn createFlatProxy((key) => {\n\t\tif (key === untypedClientSymbol) return client;\n\t\treturn proxy[key];\n\t});\n}\nfunction createTRPCClient(opts) {\n\tconst client = new TRPCUntypedClient(opts);\n\tconst proxy = createTRPCClientProxy(client);\n\treturn proxy;\n}\n/**\n* Get an untyped client from a proxy client\n* @internal\n*/\nfunction getUntypedClient(client) {\n\treturn client[untypedClientSymbol];\n}\n\n//#endregion\n//#region src/links/httpBatchStreamLink.ts\nvar import_objectSpread2$3 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchStreamLink\n*/\nfunction httpBatchStreamLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst batchSignals = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst abortController = new AbortController();\n\t\t\t\t\tconst responsePromise = fetchHTTPResponse((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tsignal: raceAbortSignals(batchSignals, abortController.signal),\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tcontentTypeHeader: \"application/json\",\n\t\t\t\t\t\ttrpcAcceptHeader: \"application/jsonl\",\n\t\t\t\t\t\tgetUrl,\n\t\t\t\t\t\tgetBody,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t\tconst res = await responsePromise;\n\t\t\t\t\tconst [head] = await jsonlStreamConsumer({\n\t\t\t\t\t\tfrom: res.body,\n\t\t\t\t\t\tdeserialize: resolvedOpts.transformer.output.deserialize,\n\t\t\t\t\t\tformatError(opts$1) {\n\t\t\t\t\t\t\tconst error = opts$1.error;\n\t\t\t\t\t\t\treturn TRPCClientError.from({ error });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tabortController\n\t\t\t\t\t});\n\t\t\t\t\tconst promises = Object.keys(batchOps).map(async (key) => {\n\t\t\t\t\t\tlet json = await Promise.resolve(head[key]);\n\t\t\t\t\t\tif (\"result\" in json) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t* Not very pretty, but we need to unwrap nested data as promises\n\t\t\t\t\t\t\t* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tconst result = await Promise.resolve(json.result);\n\t\t\t\t\t\t\tjson = { result: { data: await Promise.resolve(result.data) } };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tjson,\n\t\t\t\t\t\t\tmeta: { response: res }\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\treturn promises;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tif (\"error\" in res.json) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(res.json, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else if (\"result\" in res.json) {\n\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\t\tresult: res.json.result\n\t\t\t\t\t\t});\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpBatchStreamLink} instead\n*/\nconst unstable_httpBatchStreamLink = httpBatchStreamLink;\n\n//#endregion\n//#region src/internals/inputWithTrackedEventId.ts\nvar import_objectSpread2$2 = __toESM(require_objectSpread2(), 1);\nfunction inputWithTrackedEventId(input, lastEventId) {\n\tif (!lastEventId) return input;\n\tif (input != null && typeof input !== \"object\") return input;\n\treturn (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, input !== null && input !== void 0 ? input : {}), {}, { lastEventId });\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\nvar require_asyncIterator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\"(exports, module) {\n\tfunction _asyncIterator$1(r) {\n\t\tvar n, t, o, e = 2;\n\t\tfor (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n\t\t\tif (t && null != (n = r[t])) return n.call(r);\n\t\t\tif (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n\t\t\tt = \"@@asyncIterator\", o = \"@@iterator\";\n\t\t}\n\t\tthrow new TypeError(\"Object is not async iterable\");\n\t}\n\tfunction AsyncFromSyncIterator(r) {\n\t\tfunction AsyncFromSyncIteratorContinuation(r$1) {\n\t\t\tif (Object(r$1) !== r$1) return Promise.reject(new TypeError(r$1 + \" is not an object.\"));\n\t\t\tvar n = r$1.done;\n\t\t\treturn Promise.resolve(r$1.value).then(function(r$2) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: r$2,\n\t\t\t\t\tdone: n\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {\n\t\t\tthis.s = r$1, this.n = r$1.next;\n\t\t}, AsyncFromSyncIterator.prototype = {\n\t\t\ts: null,\n\t\t\tn: null,\n\t\t\tnext: function next() {\n\t\t\t\treturn AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"return\": function _return(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.resolve({\n\t\t\t\t\tvalue: r$1,\n\t\t\t\t\tdone: !0\n\t\t\t\t}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"throw\": function _throw(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t}\n\t\t}, new AsyncFromSyncIterator(r);\n\t}\n\tmodule.exports = _asyncIterator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/httpSubscriptionLink.ts\nvar import_asyncIterator = __toESM(require_asyncIterator(), 1);\nasync function urlWithConnectionParams(opts) {\n\tlet url = await resultOf(opts.url);\n\tif (opts.connectionParams) {\n\t\tconst params = await resultOf(opts.connectionParams);\n\t\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\t\turl += prefix + \"connectionParams=\" + encodeURIComponent(JSON.stringify(params));\n\t}\n\treturn url;\n}\n/**\n* @see https://trpc.io/docs/client/links/httpSubscriptionLink\n*/\nfunction httpSubscriptionLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tvar _opts$EventSource;\n\t\t\t\tconst { type, path, input } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type !== \"subscription\") throw new Error(\"httpSubscriptionLink only supports subscriptions\");\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tconst ac = new AbortController();\n\t\t\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\t\t\tconst eventSourceStream = sseStreamConsumer({\n\t\t\t\t\turl: async () => getUrl({\n\t\t\t\t\t\ttransformer,\n\t\t\t\t\t\turl: await urlWithConnectionParams(opts),\n\t\t\t\t\t\tinput: inputWithTrackedEventId(input, lastEventId),\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}),\n\t\t\t\t\tinit: () => resultOf(opts.eventSourceOptions, { op }),\n\t\t\t\t\tsignal,\n\t\t\t\t\tdeserialize: transformer.output.deserialize,\n\t\t\t\t\tEventSource: (_opts$EventSource = opts.EventSource) !== null && _opts$EventSource !== void 0 ? _opts$EventSource : globalThis.EventSource\n\t\t\t\t});\n\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t} });\n\t\t\t\trun(async () => {\n\t\t\t\t\tvar _iteratorAbruptCompletion = false;\n\t\t\t\t\tvar _didIteratorError = false;\n\t\t\t\t\tvar _iteratorError;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor (var _iterator = (0, import_asyncIterator.default)(eventSourceStream), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {\n\t\t\t\t\t\t\tconst chunk = _step.value;\n\t\t\t\t\t\t\tswitch (chunk.type) {\n\t\t\t\t\t\t\t\tcase \"ping\": break;\n\t\t\t\t\t\t\t\tcase \"data\":\n\t\t\t\t\t\t\t\t\tconst chunkData = chunk.data;\n\t\t\t\t\t\t\t\t\tlet result;\n\t\t\t\t\t\t\t\t\tif (chunkData.id) {\n\t\t\t\t\t\t\t\t\t\tlastEventId = chunkData.id;\n\t\t\t\t\t\t\t\t\t\tresult = {\n\t\t\t\t\t\t\t\t\t\t\tid: chunkData.id,\n\t\t\t\t\t\t\t\t\t\t\tdata: chunkData\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t} else result = { data: chunkData.data };\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"connected\": {\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult: { type: \"started\" },\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"serialized-error\": {\n\t\t\t\t\t\t\t\t\tconst error = TRPCClientError.from({ error: chunk.error });\n\t\t\t\t\t\t\t\t\tif (retryableRpcCodes.includes(chunk.error.code)) {\n\t\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"connecting\": {\n\t\t\t\t\t\t\t\t\tconst lastState = connectionState.get();\n\t\t\t\t\t\t\t\t\tconst error = chunk.event && TRPCClientError.from(chunk.event);\n\t\t\t\t\t\t\t\t\tif (!error && lastState.state === \"connecting\") break;\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"timeout\": connectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t_didIteratorError = true;\n\t\t\t\t\t\t_iteratorError = err;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) await _iterator.return();\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { type: \"stopped\" } });\n\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((error) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(error));\n\t\t\t\t});\n\t\t\t\treturn () => {\n\t\t\t\t\tobserver.complete();\n\t\t\t\t\tac.abort();\n\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpSubscriptionLink} instead\n*/\nconst unstable_httpSubscriptionLink = httpSubscriptionLink;\n\n//#endregion\n//#region src/links/retryLink.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/v11/client/links/retryLink\n*/\nfunction retryLink(opts) {\n\treturn () => {\n\t\treturn (callOpts) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tlet next$;\n\t\t\t\tlet callNextTimeout = void 0;\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tattempt(1);\n\t\t\t\tfunction opWithLastEventId() {\n\t\t\t\t\tconst op = callOpts.op;\n\t\t\t\t\tif (!lastEventId) return op;\n\t\t\t\t\treturn (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, op), {}, { input: inputWithTrackedEventId(op.input, lastEventId) });\n\t\t\t\t}\n\t\t\t\tfunction attempt(attempts) {\n\t\t\t\t\tconst op = opWithLastEventId();\n\t\t\t\t\tnext$ = callOpts.next(op).subscribe({\n\t\t\t\t\t\terror(error) {\n\t\t\t\t\t\t\tvar _opts$retryDelayMs, _opts$retryDelayMs2;\n\t\t\t\t\t\t\tconst shouldRetry = opts.retry({\n\t\t\t\t\t\t\t\top,\n\t\t\t\t\t\t\t\tattempts,\n\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (!shouldRetry) {\n\t\t\t\t\t\t\t\tobserver.error(error);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst delayMs = (_opts$retryDelayMs = (_opts$retryDelayMs2 = opts.retryDelayMs) === null || _opts$retryDelayMs2 === void 0 ? void 0 : _opts$retryDelayMs2.call(opts, attempts)) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : 0;\n\t\t\t\t\t\t\tif (delayMs <= 0) {\n\t\t\t\t\t\t\t\tattempt(attempts + 1);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcallNextTimeout = setTimeout(() => attempt(attempts + 1), delayMs);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnext(envelope) {\n\t\t\t\t\t\t\tif ((!envelope.result.type || envelope.result.type === \"data\") && envelope.result.id) lastEventId = envelope.result.id;\n\t\t\t\t\t\t\tobserver.next(envelope);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete() {\n\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn () => {\n\t\t\t\t\tnext$.unsubscribe();\n\t\t\t\t\tclearTimeout(callNextTimeout);\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\nvar require_usingCtx = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\"(exports, module) {\n\tfunction _usingCtx() {\n\t\tvar r = \"function\" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {\n\t\t\tvar n$1 = Error();\n\t\t\treturn n$1.name = \"SuppressedError\", n$1.error = r$1, n$1.suppressed = e$1, n$1;\n\t\t}, e = {}, n = [];\n\t\tfunction using(r$1, e$1) {\n\t\t\tif (null != e$1) {\n\t\t\t\tif (Object(e$1) !== e$1) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n\t\t\t\tif (r$1) var o = e$1[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n\t\t\t\tif (void 0 === o && (o = e$1[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r$1)) var t = o;\n\t\t\t\tif (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n\t\t\t\tt && (o = function o$1() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tt.call(e$1);\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn Promise.reject(r$2);\n\t\t\t\t\t}\n\t\t\t\t}), n.push({\n\t\t\t\t\tv: e$1,\n\t\t\t\t\td: o,\n\t\t\t\t\ta: r$1\n\t\t\t\t});\n\t\t\t} else r$1 && n.push({\n\t\t\t\td: e$1,\n\t\t\t\ta: r$1\n\t\t\t});\n\t\t\treturn e$1;\n\t\t}\n\t\treturn {\n\t\t\te,\n\t\t\tu: using.bind(null, !1),\n\t\t\ta: using.bind(null, !0),\n\t\t\td: function d() {\n\t\t\t\tvar o, t = this.e, s = 0;\n\t\t\t\tfunction next() {\n\t\t\t\t\tfor (; o = n.pop();) try {\n\t\t\t\t\t\tif (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n\t\t\t\t\t\tif (o.d) {\n\t\t\t\t\t\t\tvar r$1 = o.d.call(o.v);\n\t\t\t\t\t\t\tif (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);\n\t\t\t\t\t\t} else s |= 1;\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn err(r$2);\n\t\t\t\t\t}\n\t\t\t\t\tif (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n\t\t\t\t\tif (t !== e) throw t;\n\t\t\t\t}\n\t\t\t\tfunction err(n$1) {\n\t\t\t\t\treturn t = t !== e ? new r(n$1, t) : n$1, next();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t}\n\t\t};\n\t}\n\tmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\nvar require_OverloadYield = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\"(exports, module) {\n\tfunction _OverloadYield(e, d) {\n\t\tthis.v = e, this.k = d;\n\t}\n\tmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\nvar require_awaitAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield$1 = require_OverloadYield();\n\tfunction _awaitAsyncGenerator$1(e) {\n\t\treturn new OverloadYield$1(e, 0);\n\t}\n\tmodule.exports = _awaitAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\nvar require_wrapAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield = require_OverloadYield();\n\tfunction _wrapAsyncGenerator$1(e) {\n\t\treturn function() {\n\t\t\treturn new AsyncGenerator(e.apply(this, arguments));\n\t\t};\n\t}\n\tfunction AsyncGenerator(e) {\n\t\tvar r, t;\n\t\tfunction resume(r$1, t$1) {\n\t\t\ttry {\n\t\t\t\tvar n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield;\n\t\t\t\tPromise.resolve(u ? o.v : o).then(function(t$2) {\n\t\t\t\t\tif (u) {\n\t\t\t\t\t\tvar i = \"return\" === r$1 ? \"return\" : \"next\";\n\t\t\t\t\t\tif (!o.k || t$2.done) return resume(i, t$2);\n\t\t\t\t\t\tt$2 = e[i](t$2).value;\n\t\t\t\t\t}\n\t\t\t\t\tsettle(n.done ? \"return\" : \"normal\", t$2);\n\t\t\t\t}, function(e$1) {\n\t\t\t\t\tresume(\"throw\", e$1);\n\t\t\t\t});\n\t\t\t} catch (e$1) {\n\t\t\t\tsettle(\"throw\", e$1);\n\t\t\t}\n\t\t}\n\t\tfunction settle(e$1, n) {\n\t\t\tswitch (e$1) {\n\t\t\t\tcase \"return\":\n\t\t\t\t\tr.resolve({\n\t\t\t\t\t\tvalue: n,\n\t\t\t\t\t\tdone: !0\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"throw\":\n\t\t\t\t\tr.reject(n);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: r.resolve({\n\t\t\t\t\tvalue: n,\n\t\t\t\t\tdone: !1\n\t\t\t\t});\n\t\t\t}\n\t\t\t(r = r.next) ? resume(r.key, r.arg) : t = null;\n\t\t}\n\t\tthis._invoke = function(e$1, n) {\n\t\t\treturn new Promise(function(o, u) {\n\t\t\t\tvar i = {\n\t\t\t\t\tkey: e$1,\n\t\t\t\t\targ: n,\n\t\t\t\t\tresolve: o,\n\t\t\t\t\treject: u,\n\t\t\t\t\tnext: null\n\t\t\t\t};\n\t\t\t\tt ? t = t.next = i : (r = t = i, resume(e$1, n));\n\t\t\t});\n\t\t}, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n\t}\n\tAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\t\treturn this;\n\t}, AsyncGenerator.prototype.next = function(e) {\n\t\treturn this._invoke(\"next\", e);\n\t}, AsyncGenerator.prototype[\"throw\"] = function(e) {\n\t\treturn this._invoke(\"throw\", e);\n\t}, AsyncGenerator.prototype[\"return\"] = function(e) {\n\t\treturn this._invoke(\"return\", e);\n\t};\n\tmodule.exports = _wrapAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/localLink.ts\nvar import_usingCtx = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* localLink is a terminating link that allows you to make tRPC procedure calls directly in your application without going through HTTP.\n*\n* @see https://trpc.io/docs/links/localLink\n*/\nfunction unstable_localLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\tconst transformChunk = (chunk) => {\n\t\tif (opts.transformer) return chunk;\n\t\tif (chunk === void 0) return chunk;\n\t\tconst serialized = JSON.stringify(transformer.input.serialize(chunk));\n\t\tconst deserialized = JSON.parse(transformer.output.deserialize(serialized));\n\t\treturn deserialized;\n\t};\n\treturn () => ({ op }) => observable((observer) => {\n\t\tlet ctx = void 0;\n\t\tconst ac = new AbortController();\n\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\tconst signalPromise = abortSignalToPromise(signal);\n\t\tsignalPromise.catch(() => {});\n\t\tlet input = op.input;\n\t\tasync function runProcedure(newInput) {\n\t\t\tinput = newInput;\n\t\t\tctx = await opts.createContext();\n\t\t\treturn callProcedure({\n\t\t\t\trouter: opts.router,\n\t\t\t\tpath: op.path,\n\t\t\t\tgetRawInput: async () => newInput,\n\t\t\t\tctx,\n\t\t\t\ttype: op.type,\n\t\t\t\tsignal\n\t\t\t});\n\t\t}\n\t\tfunction onErrorCallback(cause) {\n\t\t\tvar _opts$onError;\n\t\t\tif (isAbortError(cause)) return;\n\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\ttype: op.type,\n\t\t\t\tpath: op.path,\n\t\t\t\tinput,\n\t\t\t\tctx\n\t\t\t});\n\t\t}\n\t\tfunction coerceToTRPCClientError(cause) {\n\t\t\tif (isTRPCClientError(cause)) return cause;\n\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\tconst shape = getTRPCErrorShape({\n\t\t\t\tconfig: opts.router._def._config,\n\t\t\t\tctx,\n\t\t\t\terror,\n\t\t\t\tinput,\n\t\t\t\tpath: op.path,\n\t\t\t\ttype: op.type\n\t\t\t});\n\t\t\treturn TRPCClientError.from({ error: transformChunk(shape) });\n\t\t}\n\t\trun(async () => {\n\t\t\tswitch (op.type) {\n\t\t\t\tcase \"query\":\n\t\t\t\tcase \"mutation\": {\n\t\t\t\t\tconst result = await runProcedure(op.input);\n\t\t\t\t\tif (!isAsyncIterable(result)) {\n\t\t\t\t\t\tobserver.next({ result: { data: transformChunk(result) } });\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { data: (0, import_wrapAsyncGenerator.default)(function* () {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar _usingCtx$1 = (0, import_usingCtx.default)();\n\t\t\t\t\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(result));\n\t\t\t\t\t\t\tconst _finally = _usingCtx$1.u(makeResource({}, () => {\n\t\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\t\tconst res = yield (0, import_awaitAsyncGenerator.default)(Promise.race([iterator.next(), signalPromise]));\n\t\t\t\t\t\t\t\t\tif (res.done) return transformChunk(res.value);\n\t\t\t\t\t\t\t\t\tyield transformChunk(res.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tonErrorCallback(cause);\n\t\t\t\t\t\t\t\tthrow coerceToTRPCClientError(cause);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t\t_usingCtx$1.e = _;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tyield (0, import_awaitAsyncGenerator.default)(_usingCtx$1.d());\n\t\t\t\t\t\t}\n\t\t\t\t\t})() } });\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"subscription\": try {\n\t\t\t\t\tvar _usingCtx3 = (0, import_usingCtx.default)();\n\t\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t\t} });\n\t\t\t\t\tlet lastEventId = void 0;\n\t\t\t\t\tconst _finally = _usingCtx3.u(makeResource({}, async () => {\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t\t}));\n\t\t\t\t\twhile (true) try {\n\t\t\t\t\t\tvar _usingCtx4 = (0, import_usingCtx.default)();\n\t\t\t\t\t\tconst result = await runProcedure(inputWithTrackedEventId(op.input, lastEventId));\n\t\t\t\t\t\tif (!isAsyncIterable(result)) throw new Error(\"Expected an async iterable\");\n\t\t\t\t\t\tconst iterator = _usingCtx4.a(iteratorResource(result));\n\t\t\t\t\t\tobserver.next({ result: { type: \"started\" } });\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tlet res;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tres = await Promise.race([iterator.next(), signalPromise]);\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tif (isAbortError(cause)) return;\n\t\t\t\t\t\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\t\t\t\t\t\tif (!retryableRpcCodes.includes(TRPC_ERROR_CODES_BY_KEY[error.code])) throw coerceToTRPCClientError(error);\n\t\t\t\t\t\t\t\tonErrorCallback(error);\n\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: coerceToTRPCClientError(error)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res.done) return;\n\t\t\t\t\t\t\tlet chunk;\n\t\t\t\t\t\t\tif (isTrackedEnvelope(res.value)) {\n\t\t\t\t\t\t\t\tlastEventId = res.value[0];\n\t\t\t\t\t\t\t\tchunk = {\n\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\t\tdata: res.value[1]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} else chunk = { data: res.value };\n\t\t\t\t\t\t\tobserver.next({ result: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, chunk), {}, { data: transformChunk(chunk.data) }) });\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t_usingCtx4.e = _;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tawait _usingCtx4.d();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx3.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\t_usingCtx3.d();\n\t\t\t\t}\n\t\t\t}\n\t\t}).catch((cause) => {\n\t\t\tonErrorCallback(cause);\n\t\t\tobserver.error(coerceToTRPCClientError(cause));\n\t\t});\n\t\treturn () => {\n\t\t\tac.abort();\n\t\t};\n\t});\n}\n/**\n* @deprecated Renamed to `unstable_localLink`. This alias will be removed in a future major release.\n*/\nconst experimental_localLink = unstable_localLink;\n\n//#endregion\nexport { TRPCClientError, TRPCUntypedClient, clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, createTRPCClient as createTRPCProxyClient, createTRPCUntypedClient, createWSClient, experimental_localLink, getFetch, getUntypedClient, httpBatchLink, httpBatchStreamLink, httpLink, httpSubscriptionLink, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError, loggerLink, retryLink, splitLink, unstable_httpBatchStreamLink, unstable_httpSubscriptionLink, unstable_localLink, wsLink };\n//# sourceMappingURL=index.mjs.map","import { makeUrl } from '@ms-cloudpack/path-string-parsing';\nimport { createTRPCClient, createWSClient, httpBatchLink, splitLink, wsLink } from '@trpc/client';\nimport { ensureWebsocketDefined } from '../utilities/ensureWebsocketDefined.js';\nimport { ignoreSelfSignedCertErrors } from '../utilities/ignoreSelfSignedCertErrors.js';\n/**\n * Creates a cloudpack client that can be used to communicate with the cloudpack server using trpc.\n */\nexport async function createCloudpackClient(options) {\n // We polyfill websocket in node conditions.\n await ensureWebsocketDefined();\n ignoreSelfSignedCertErrors({ reporter: options.reporter });\n // Create the client.\n const wsClient = createWSClient(options);\n const tempUrl = makeUrl(options.url);\n // Replace the protocol with http so that we can use the same url for http requests.\n const isSSL = tempUrl.protocol === 'wss:';\n tempUrl.protocol = isSSL ? 'https:' : 'http:';\n const url = tempUrl.toString().replace(/\\/$/, '');\n const client = createTRPCClient({\n links: [\n splitLink({\n condition(op) {\n return op.type === 'subscription';\n },\n true: wsLink({\n client: wsClient,\n }),\n false: httpBatchLink({\n url,\n }),\n }),\n ],\n });\n const close = async () => {\n await wsClient.close();\n };\n // Ugh. This is a hack to get around the fact that the client is a proxy.\n // Make another proxy which defines the close method and passes through everything else\n // to the original client.\n return new Proxy({ close }, {\n get(target, prop) {\n // eslint-disable-next-line no-prototype-builtins\n if (target.hasOwnProperty(prop)) {\n return target[prop];\n }\n return client[prop];\n },\n });\n}\n//# sourceMappingURL=createCloudpackClient.js.map","export async function ensureWebsocketDefined() {\n if (typeof global !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const g = global;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (typeof g.WebSocket === 'undefined') {\n const { WebSocket: NodeWebSocket } = await import('ws');\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n g.WebSocket = NodeWebSocket;\n }\n }\n}\n//# sourceMappingURL=ensureWebsocketDefined.js.map","export function ignoreSelfSignedCertErrors({ reporter }) {\n if (typeof process !== 'undefined') {\n // When using self-signed certificates for the api server, node fails to make requests unless we set this.\n // eslint-disable-next-line no-restricted-properties -- ok to set properties\n process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\n // When we do this, node creates a console.error that we need to ignore:\n //\n // (node:26988) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0'\n // makes TLS connections and HTTPS requests insecure by disabling certificate verification.\n reporter?.ignoreLogMessage('Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable');\n }\n}\n//# sourceMappingURL=ignoreSelfSignedCertErrors.js.map","/**\n * Attempt to create a URL object from a string, and throw an informative error if it fails.\n * (The URL constructor throws a very generic error.)\n */\nexport function makeUrl(input, base) {\n try {\n // eslint-disable-next-line no-restricted-syntax -- this is the function definition\n return new URL(input, base);\n }\n catch {\n throw new Error(`Invalid URL: \"${input}\", base: \"${base || ''}\"`);\n }\n}\n//# sourceMappingURL=makeUrl.js.map","\n import API from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./UIManager.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./UIManager.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './UIManager.module.css';\n\n/**\n * UI Manager for handling status display\n */\nexport class UIManager {\n private element: HTMLElement | null;\n\n constructor(elementId: string = 'root') {\n this.element = document.getElementById(elementId);\n }\n\n /**\n * Display a status message to the user\n */\n updateStatus(input: { message: string; tip?: string; isError?: boolean; data?: unknown }): void {\n const { message, tip, isError = false, data } = input;\n\n if (isError) {\n data ? console.error(message, data) : console.error(message);\n } else {\n data ? console.debug(message, data) : console.debug(message);\n }\n\n if (!this.element) return;\n\n this.element.innerHTML = `\n <div class=\"${styles.statusContainer + (isError ? ` ${styles.errorContainer}` : '')}\">\n <h2 class=\"${styles.title}\">Cloudpack Link Proxy</h2>\n <p class=\"${styles.message}\">${isError ? 'Error: ' : ''}${message}</p>\n ${tip ? `<p class=\"${styles.message}\"><strong>Tip:</strong> ${tip}</p>` : ''}\n <p class=\"${styles.warning}\">Do not close this page while Cloudpack link is running.</p>\n </div>\n `;\n }\n}\n","import type { CloudpackClient } from '@ms-cloudpack/api-server/browser';\n\ntype ClientId = 'link' | 'host';\n\n/**\n * Connection Manager for handling client connections\n */\nexport class ConnectionManager {\n private clients = new Map<string, CloudpackClient>();\n private connectionStates = new Map<string, boolean>();\n private checkInterval: number | null = null;\n private readonly checkIntervalMs: number = 5000; // 5 seconds\n\n /**\n * Add a client to be monitored\n */\n addClient(id: ClientId, client: CloudpackClient): void {\n this.clients.set(id, client);\n this.connectionStates.set(id, true);\n }\n\n /**\n * Get a client by ID\n */\n getClient(id: ClientId): CloudpackClient | undefined {\n return this.clients.get(id);\n }\n\n /**\n * Check if a client is connected\n */\n async checkConnection(id: ClientId): Promise<boolean> {\n const client = this.clients.get(id);\n if (!client) return false;\n\n try {\n await client.getSessionId.query();\n return true;\n } catch (e) {\n console.warn(`${id} client connection lost:`, e);\n return false;\n }\n }\n\n /**\n * Start monitoring all client connections\n */\n startMonitoring(\n onConnectionChange: (params: { id: ClientId; isConnected: boolean; wasConnected: boolean }) => Promise<void>,\n ): void {\n if (this.checkInterval) {\n window.clearInterval(this.checkInterval);\n }\n\n this.checkInterval = window.setInterval(() => {\n (async () => {\n for (const [id, _] of this.clients) {\n if (id != 'link' && id != 'host') throw new Error(`Invalid client ID: ${id}`);\n\n const wasConnected = this.connectionStates.get(id) || false;\n const isConnected = await this.checkConnection(id);\n\n if (wasConnected !== isConnected) {\n await onConnectionChange({ id, isConnected, wasConnected });\n }\n\n this.connectionStates.set(id, isConnected);\n }\n })().catch((error) => {\n console.error('Error in connection monitoring:', error);\n });\n }, this.checkIntervalMs);\n }\n\n /**\n * Stop monitoring connections\n */\n stopMonitoring(): void {\n if (this.checkInterval) {\n window.clearInterval(this.checkInterval);\n this.checkInterval = null;\n }\n }\n\n /**\n * Close all clients\n */\n async closeAll(): Promise<void> {\n for (const [id, client] of this.clients) {\n try {\n await client.close();\n console.log(`Closed ${id} client`);\n } catch (err) {\n console.error(`Error closing ${id} client:`, err);\n }\n }\n this.clients.clear();\n this.connectionStates.clear();\n }\n}\n","import { createCloudpackClient } from '@ms-cloudpack/api-server/browser';\n\n/**\n * Check if an API server is active at the given URL\n */\nexport async function isApiServerActive(url: string): Promise<boolean> {\n console.debug(`[Cloudpack] Checking session at ${url}`);\n\n const client = await createCloudpackClient({ url });\n let isActive = false;\n try {\n isActive = !!(await client.getSessionId.query());\n } catch (e) {\n /* no-op */\n } finally {\n await client.close();\n }\n\n return isActive;\n}\n","import { LinkProxyApp } from './LinkProxyApp.js';\n\n// Start the application\nconst app = new LinkProxyApp();\nvoid app.initialize();\n","import type { NotifyLinkChangeInput, LinkPathInput, GetLinkConfigOutput } from '@ms-cloudpack/api-server/browser';\nimport {\n createCloudpackClient,\n linkUpdateSource,\n linkConfigSource,\n linkPathsSource,\n linkDoneSource,\n linkDisconnectedSource,\n} from '@ms-cloudpack/api-server/browser';\nimport { UIManager } from './UIManager.js';\nimport { ConnectionManager } from './ConnectionManager.js';\nimport { isApiServerActive } from './isApiServerActive.js';\n\n/**\n * Link Proxy application that handles communication between host and link sessions\n */\nexport class LinkProxyApp {\n private ui: UIManager;\n private connectionManager: ConnectionManager;\n private linkedPathData: LinkPathInput | null = null;\n\n constructor() {\n this.ui = new UIManager();\n this.connectionManager = new ConnectionManager();\n }\n\n /**\n * Handle a connection state change\n */\n private handleConnectionChange = async (params: {\n id: string;\n isConnected: boolean;\n wasConnected: boolean;\n }): Promise<void> => {\n const { id, isConnected, wasConnected } = params;\n // Only handle disconnections\n if (wasConnected && !isConnected) {\n if (id === 'host') {\n await this.handleHostDisconnection();\n } else if (id === 'link') {\n await this.handleLinkDisconnection();\n }\n }\n };\n\n /**\n * Handle host disconnection\n */\n private async handleHostDisconnection(options?: { unreachable?: boolean }): Promise<void> {\n const isUnreachable = options?.unreachable ?? false;\n const reason = isUnreachable ? 'unreachable' : 'lost';\n // This is shown momentarily before the cleanup.\n this.ui.updateStatus({\n message: `Connection to host ${reason}. The session will be terminated.`,\n isError: true,\n });\n\n const linkClient = this.connectionManager.getClient('link');\n let isLinkClosed = false;\n if (linkClient) {\n try {\n await linkClient.publishData.mutate({\n ...linkDisconnectedSource,\n data: { reason },\n });\n isLinkClosed = true;\n } catch (err) {\n // This is also shown momentarily before the cleanup.\n this.ui.updateStatus({ message: `Error notifying link client of host connection ${reason}.`, isError: true });\n }\n }\n\n await this.cleanup();\n\n // Generate the appropriate tip based on the situation\n let tip: string;\n if (isUnreachable) {\n tip =\n 'Make sure you have a <code>cloudpack start</code> session running and use the URL from your app to run link with the following command: <code>cloudpack link --remote [URL]</code>';\n } else {\n tip = 'If you did not close the start session terminal, this is a bug. Please report it.';\n // Append additional information about link client notification if needed\n if (!isLinkClosed) {\n tip +=\n ' Link client was not successfully notified of host disconnection. You may need to terminate the link session in the terminal.';\n }\n }\n // This is the message the user will see after the cleanup.\n this.ui.updateStatus({\n message: `Connection to host ${reason}. You can close this page.`,\n tip,\n isError: true,\n });\n }\n\n /**\n * Handle link disconnection\n */\n private async handleLinkDisconnection(): Promise<void> {\n // This is shown momentarily before the cleanup, more information on following messages.\n this.ui.updateStatus({\n message: 'Connection to link client lost. Cleaning up linked paths...',\n isError: true,\n });\n\n const hostClient = this.connectionManager.getClient('host');\n if (hostClient && this.linkedPathData) {\n const { linkedPath } = this.linkedPathData;\n const unlinkedPath = linkedPath.path;\n try {\n await hostClient.unlinkPath.mutate({ linkedPath: { path: unlinkedPath } });\n this.ui.updateStatus({\n message: 'Connection to link client lost. Successfully unlinked paths on host. You can close this page.',\n tip: 'If you did not close the link client terminal. This is a bug. Please report it.',\n });\n } catch (err) {\n this.ui.updateStatus({\n message: 'Connection to link client lost. Failed to unlink paths on host.',\n // TODO: Add unlinking logic for this case\n tip: 'You may need to restart the host application to unlink the paths.',\n isError: true,\n data: err,\n });\n }\n } else {\n this.ui.updateStatus({\n message: 'Cannot clean up: host client or link data not available',\n tip: 'You may need to restart the host application to unlink the paths.',\n isError: true,\n });\n }\n\n await this.cleanup();\n }\n\n /**\n * Set up event handlers and subscriptions\n */\n private setupLinkUpdateHandler(): void {\n const linkClient = this.connectionManager.getClient('link');\n const hostClient = this.connectionManager.getClient('host');\n\n if (!linkClient || !hostClient) return;\n\n // Setup link update handler\n linkClient.onDataChanged.subscribe(linkUpdateSource, {\n onData: (updateData) => {\n this.ui.updateStatus({ message: 'Forwarding package update to the host...', data: updateData });\n\n hostClient.notifyLinkChange\n .mutate(updateData as NotifyLinkChangeInput)\n .then(() => this.ui.updateStatus({ message: 'Cloudpack Link Proxy listening for updates...' }))\n .catch((err) => {\n this.ui.updateStatus({\n message: 'Error forwarding package update to the host. This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n });\n },\n });\n }\n\n /**\n * Handle link path setup and changes\n */\n private async setupLinkPathHandler(): Promise<void> {\n const hostClient = this.connectionManager.getClient('host');\n const linkClient = this.connectionManager.getClient('link');\n if (!linkClient || !hostClient) return;\n\n // Check if the link server has already set up the paths\n if (await linkClient.getData.query(linkPathsSource)) return;\n\n linkClient.onDataChanged.subscribe(linkPathsSource, {\n onData: (setupData) => {\n this.ui.updateStatus({ message: 'Processing link setup...', data: setupData });\n\n // Store the linked path data for potential cleanup\n this.linkedPathData = setupData as LinkPathInput;\n\n void hostClient.linkPath.mutate(this.linkedPathData).then((result) => {\n const { resolveMap, linkedPaths } = result;\n this.ui.updateStatus({ message: 'Sending link setup result back to the link server...', data: result });\n\n void linkClient.publishData\n .mutate({\n ...linkDoneSource,\n data: { resolveMap, linkedPaths },\n })\n .then(() => {\n this.ui.updateStatus({ message: 'Cloudpack Link Proxy listening for updates...' });\n })\n .catch((err) => {\n this.ui.updateStatus({\n message: 'Error sending link setup result back to the link server. Please try to run link again.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n });\n });\n },\n });\n }\n\n /**\n * Set up configuration\n */\n private async setupConfig(): Promise<void> {\n const linkClient = this.connectionManager.getClient('link');\n const hostClient = this.connectionManager.getClient('host');\n\n if (!linkClient || !hostClient) return;\n\n try {\n const config = (await linkClient.getData.query(linkConfigSource)) as GetLinkConfigOutput | undefined;\n\n if (!config) {\n this.ui.updateStatus({ message: 'Fetching host configuration...' });\n\n const hostConfig = await hostClient.getLinkConfig.query();\n this.ui.updateStatus({ message: 'Sending host configuration to the link server...', data: hostConfig });\n\n await linkClient.publishData.mutate({\n ...linkConfigSource,\n data: hostConfig,\n });\n\n this.ui.updateStatus({ message: 'Host configuration sent to the link server.' });\n }\n } catch (err) {\n this.ui.updateStatus({\n message: 'Error setting up configuration. Please try to run link again.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: err,\n });\n }\n }\n\n /**\n * Clean up resources\n */\n private async cleanup(): Promise<void> {\n this.connectionManager.stopMonitoring();\n await this.connectionManager.closeAll();\n }\n\n /**\n * Initialize the application\n */\n public async initialize(): Promise<void> {\n this.ui.updateStatus({ message: 'Initializing Cloudpack Link Proxy...' });\n\n try {\n // Validate Cloudpack context\n if (!window.__cloudpack) {\n this.ui.updateStatus({\n message: 'Cloudpack context not found on window.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n });\n throw new Error('Cloudpack not found on window.');\n }\n\n const { pageSessionContext } = window.__cloudpack;\n\n if (!pageSessionContext) {\n this.ui.updateStatus({\n message: 'Session context not found on window.__cloudpack.',\n tip: 'This is a bug. Please report it.',\n isError: true,\n data: window.__cloudpack,\n });\n throw new Error('Session context not found on window.__cloudpack');\n }\n\n const { apiUrl, hostApiServerUrls } = pageSessionContext;\n\n if (!hostApiServerUrls || hostApiServerUrls.length <= 0) {\n this.ui.updateStatus({\n message: 'No host URL provided.',\n tip: 'This is a bug. Please report it.',\n data: pageSessionContext,\n isError: true,\n });\n return;\n }\n\n // Initialize link client\n const linkClient = await createCloudpackClient({ url: apiUrl });\n this.connectionManager.addClient('link', linkClient);\n\n // Find an active host API server\n let hostUrl: string | undefined;\n for (const url of hostApiServerUrls) {\n this.ui.updateStatus({ message: `Checking host API server at ${url}...` });\n const isActive = await isApiServerActive(url);\n if (isActive) {\n this.ui.updateStatus({ message: `Host API server is active at ${url}.` });\n hostUrl = url;\n break;\n }\n }\n\n if (!hostUrl) {\n await this.handleHostDisconnection({ unreachable: true });\n return;\n }\n\n // Initialize host client\n const hostClient = await createCloudpackClient({ url: hostUrl });\n this.connectionManager.addClient('host', hostClient);\n\n // Display session information\n const linkSessionId = await linkClient.getSessionId.query();\n const hostSessionId = await hostClient.getSessionId.query();\n this.ui.updateStatus({ message: `Link Session: ${linkSessionId}, Host Session: ${hostSessionId}` });\n\n // Set up connection monitoring\n this.connectionManager.startMonitoring(this.handleConnectionChange);\n\n // Set up event handlers and configuration\n this.setupLinkUpdateHandler();\n await this.setupLinkPathHandler();\n await this.setupConfig();\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n this.ui.updateStatus({\n message: errorMessage,\n isError: true,\n tip: 'This is a bug. Please report it.',\n data: err,\n });\n await this.cleanup();\n }\n }\n}\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root {\n --color-neutral-background1: #ffffff;\n --color-status-danger-background1: #fdf3f4;\n --color-neutral-background2: #fafafa;\n --color-status-danger-foreground1: #b10e1c;\n --color-neutral-foreground1: #242424;\n --color-neutral-foreground2: #424242;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --color-neutral-background1: #292929;\n --color-status-danger-background1: #3b0509;\n --color-neutral-background2: #1f1f1f;\n --color-status-danger-foreground1: #dc626d;\n --color-neutral-foreground1: #ffffff;\n --color-neutral-foreground2: #d6d6d6;\n }\n}\n\nbody {\n background-color: var(--color-neutral-background1);\n margin: 0;\n padding: 0;\n font-family:\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif;\n}\n\n.v64eNmuXrV4WWsOKdGgy {\n padding: 20px;\n border-radius: 4px;\n background-color: var(--color-neutral-background2);\n margin: 20px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr {\n background-color: var(--color-status-danger-background1);\n}\n\n.b6Vf2DbiFQkD7AEkJ7p_ h2 {\n color: var(--color-neutral-foreground1);\n margin-top: 0;\n}\n\n._05tS4aUzls4kEWk9hkA7 {\n color: var(--color-neutral-foreground1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr .b6Vf2DbiFQkD7AEkJ7p_ {\n color: var(--color-status-danger-foreground1);\n}\n\n.ScZ3E77NPMqtBzp0OwUr ._05tS4aUzls4kEWk9hkA7 {\n color: var(--color-status-danger-foreground1);\n}\n\n._05tS4aUzls4kEWk9hkA7 code {\n background-color: var(--color-neutral-background1);\n padding: 2px 5px;\n border-radius: 3px;\n font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n font-size: 0.9em;\n}\n\n.ScZ3E77NPMqtBzp0OwUr ._05tS4aUzls4kEWk9hkA7 code {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.kheFps3bT2VbnjAMYfSr {\n font-weight: bold;\n margin-top: 20px;\n color: var(--color-neutral-foreground2);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/UIManager.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,oCAAoC;EACpC,0CAA0C;EAC1C,oCAAoC;EACpC,0CAA0C;EAC1C,oCAAoC;EACpC,oCAAoC;AACtC;;AAEA;EACE;IACE,oCAAoC;IACpC,0CAA0C;IAC1C,oCAAoC;IACpC,0CAA0C;IAC1C,oCAAoC;IACpC,oCAAoC;EACtC;AACF;;AAEA;EACE,kDAAkD;EAClD,SAAS;EACT,UAAU;EACV;;;;;;;cAOY;AACd;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,kDAAkD;EAClD,YAAY;EACZ,wCAAwC;AAC1C;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,uCAAuC;EACvC,aAAa;AACf;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,kDAAkD;EAClD,gBAAgB;EAChB,kBAAkB;EAClB,2DAA2D;EAC3D,gBAAgB;AAClB;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,uCAAuC;AACzC\",\"sourcesContent\":[\":root {\\n --color-neutral-background1: #ffffff;\\n --color-status-danger-background1: #fdf3f4;\\n --color-neutral-background2: #fafafa;\\n --color-status-danger-foreground1: #b10e1c;\\n --color-neutral-foreground1: #242424;\\n --color-neutral-foreground2: #424242;\\n}\\n\\n@media (prefers-color-scheme: dark) {\\n :root {\\n --color-neutral-background1: #292929;\\n --color-status-danger-background1: #3b0509;\\n --color-neutral-background2: #1f1f1f;\\n --color-status-danger-foreground1: #dc626d;\\n --color-neutral-foreground1: #ffffff;\\n --color-neutral-foreground2: #d6d6d6;\\n }\\n}\\n\\n:global body {\\n background-color: var(--color-neutral-background1);\\n margin: 0;\\n padding: 0;\\n font-family:\\n 'Segoe UI',\\n 'Segoe UI Web (West European)',\\n -apple-system,\\n BlinkMacSystemFont,\\n Roboto,\\n 'Helvetica Neue',\\n sans-serif;\\n}\\n\\n.statusContainer {\\n padding: 20px;\\n border-radius: 4px;\\n background-color: var(--color-neutral-background2);\\n margin: 20px;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n\\n.errorContainer {\\n background-color: var(--color-status-danger-background1);\\n}\\n\\n.title h2 {\\n color: var(--color-neutral-foreground1);\\n margin-top: 0;\\n}\\n\\n.message {\\n color: var(--color-neutral-foreground1);\\n}\\n\\n.errorContainer .title {\\n color: var(--color-status-danger-foreground1);\\n}\\n\\n.errorContainer .message {\\n color: var(--color-status-danger-foreground1);\\n}\\n\\n.message code {\\n background-color: var(--color-neutral-background1);\\n padding: 2px 5px;\\n border-radius: 3px;\\n font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\\n font-size: 0.9em;\\n}\\n\\n.errorContainer .message code {\\n background-color: rgba(0, 0, 0, 0.1);\\n}\\n\\n.warning {\\n font-weight: bold;\\n margin-top: 20px;\\n color: var(--color-neutral-foreground2);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"statusContainer\": `v64eNmuXrV4WWsOKdGgy`,\n\t\"errorContainer\": `ScZ3E77NPMqtBzp0OwUr`,\n\t\"title\": `b6Vf2DbiFQkD7AEkJ7p_`,\n\t\"message\": `_05tS4aUzls4kEWk9hkA7`,\n\t\"warning\": `kheFps3bT2VbnjAMYfSr`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","join","cssWithMappingToString","list","toString","this","map","needLayer","length","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","util","objectUtil","assertEqual","_","assertIs","_arg","assertNever","_x","Error","arrayToEnum","items","obj","getValidEnumValues","validKeys","objectKeys","filter","filtered","objectValues","e","Object","keys","object","key","prototype","hasOwnProperty","call","find","arr","checker","isInteger","Number","val","isFinite","Math","floor","joinValues","array","separator","jsonStringifyReplacer","value","mergeShapes","first","second","ZodParsedType","getParsedType","string","isNaN","nan","number","boolean","function","bigint","symbol","Array","isArray","null","then","catch","promise","Map","Set","set","Date","date","unknown","ZodIssueCode","quotelessJson","replace","ZodError","errors","issues","constructor","super","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","name","format","_mapper","mapper","issue","message","fieldErrors","_errors","processError","error","code","unionErrors","returnTypeError","argumentsError","path","curr","el","assert","isEmpty","flatten","formErrors","create","_ctx","invalid_type","received","expected","invalid_literal","unrecognized_keys","invalid_union","invalid_union_discriminator","options","invalid_enum_value","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","includes","position","startsWith","endsWith","too_small","type","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","overrideErrorMap","setErrorMap","getErrorMap","makeIssue","params","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","slice","reverse","EMPTY_PATH","addIssueToContext","ctx","overrideMap","common","contextualErrorMap","schemaErrorMap","x","ParseStatus","dirty","abort","mergeArray","status","results","arrayValue","s","INVALID","mergeObjectAsync","pairs","syncPairs","pair","mergeObjectSync","finalObject","alwaysSet","freeze","DIRTY","OK","isAborted","isDirty","isValid","isAsync","Promise","errorUtil","errToObj","ParseInputLazyPath","parent","_cachedPath","_path","_key","handleResult","result","success","_error","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","ZodType","_def","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","resolve","parse","safeParse","async","err","toLowerCase","parseAsync","safeParseAsync","maybeAsyncResult","refine","check","getIssueProperties","_refinement","setError","refinement","refinementData","ZodEffects","schema","typeName","ZodFirstPartyTypeKind","effect","superRefine","def","spa","bind","optional","nullable","nullish","or","and","transform","brand","default","describe","pipe","readonly","isNullable","isOptional","version","vendor","validate","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","defaultValueFunc","ZodDefault","innerType","defaultValue","ZodBranded","catchValueFunc","ZodCatch","catchValue","This","target","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","nanoidRegex","jwtRegex","durationRegex","emailRegex","emojiRegex","ipv4Regex","ipv4CidrRegex","ipv6Regex","ipv6CidrRegex","base64Regex","base64urlRegex","dateRegexSource","dateRegex","RegExp","timeRegexSource","args","secondsRegexSource","precision","timeRegex","datetimeRegex","regex","opts","local","offset","isValidIP","ip","test","isValidJWT","jwt","alg","header","split","padEnd","decoded","atob","typ","isValidCidr","ZodString","coerce","String","checks","kind","tooBig","tooSmall","URL","lastIndex","trim","toUpperCase","_regex","_addCheck","email","url","emoji","uuid","nanoid","cuid","cuid2","ulid","base64url","cidr","datetime","time","duration","min","minLength","max","maxLength","len","nonempty","isDatetime","ch","isDate","isTime","isDuration","isEmail","isURL","isEmoji","isUUID","isNANOID","isCUID","isCUID2","isULID","isIP","isCIDR","isBase64","isBase64url","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","parseInt","toFixed","ZodNumber","arguments","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","minValue","maxValue","isInt","ZodBigInt","BigInt","_getInvalidInput","ZodBoolean","Boolean","ZodDate","getTime","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","_any","ZodUnknown","_unknown","ZodNever","never","ZodVoid","void","exactLength","all","element","deepPartialify","ZodObject","newShape","shape","fieldSchema","unwrap","ZodTuple","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","strip","augmentation","merge","merging","setKey","index","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","enum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","get","from","discriminatorValues","has","mergeValues","a","b","aType","bType","valid","bKeys","sharedKeys","indexOf","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","left","right","rest","itemIndex","schemas","ZodRecord","keySchema","keyType","valueSchema","valueType","third","ZodMap","entries","finalMap","ZodSet","minSize","size","maxSize","finalizeSet","elements","parsedSet","add","values","ZodFunction","implement","makeArgsIssue","makeReturnsIssue","returns","fn","me","parsedArgs","Reflect","apply","parsedReturns","parameters","returnType","func","strictImplement","getter","expectedValues","_cache","enumValues","Values","Enum","extract","newDef","exclude","opt","nativeEnumValues","promisified","sourceType","checkCtx","arg","fatal","processed","executeRefinement","acc","inner","base","createWithPreprocess","preprocess","removeDefault","newCtx","removeCatch","ZodNaN","BRAND","Symbol","inResult","in","out","handleAsync","cleanParams","p","_params","r","_fatal","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","onumber","oboolean","NEVER","ZodTaskStartDescription","remainingTasks","totalTasks","totalErrors","totalWarnings","inputPath","outputPath","matchingZodObject","ZodTaskMessageLocation","file","line","column","ZodTaskNote","text","location","ZodTaskMessage","source","notes","ZodTaskEndDescription","warnings","ZodTiming","start","end","threwException","ZodTaskDescription","timings","startTime","durationMilliseconds","lastUpdated","tasks","ZodResolveMapEntry","dependencies","requiredBy","isExternal","isLinked","scopedVersions","ZodResolveMap","ZodPackageRecord","ZodPackageJson","ZodPackageHashesEntry","browser","node","ZodDependency","ZodLinkPackageDefinition","peerDependencies","ZodLinkedPath","rootPath","includeAll","ignoredPackages","ignoreResolutions","resolveStrategy","remote","resolveMap","hostUrl","packages","definitions","transformedDefinitions","packageHashes","hashesWithSource","hashesWithNoSource","ZodLinkPathInput","linkedPath","ZodLinkPathOutput","linkedPaths","ZodNotifyLinkChangeInput","packagePath","hash","definition","ZodPackageSettingsMatchObject","ZodPackageSettingsMatch","ZodGeneratedPackageSettingsMatch","ZodGetLinkConfigOutput","packageSettings","match","generated","linkUpdateSource","linkConfigSource","linkPathsSource","linkDoneSource","linkDisconnectedSource","reason","__create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","__commonJS","cb","mod","__toESM","isNodeMode","to","except","desc","n","__copyProps","enumerable","__esModule","require_typeof","_typeof$2","o","iterator","o$1","require_toPrimitive","_typeof$1","t","toPrimitive","TypeError","require_toPropertyKey","_typeof","require_defineProperty","toPropertyKey","configurable","writable","require_objectSpread2","ownKeys","getOwnPropertySymbols","r$1","forEach","getOwnPropertyDescriptors","defineProperties","subscribe","self","observer","teardownRef","isDone","unsubscribed","teardownImmediately","unsubscribe","next","_observer$next","_observer$error","complete","_observer$complete","operations","reduce","pipeReducer","prev","createChain","execute","op","links","nextOp","asArray","asyncIterator","sleep","ms","res","setTimeout","import_defineProperty","import_objectSpread2","TRPCClientError","_opts$result","_opts$result2","cause","meta","_cause","transformer","output","serialize","deserialize","METHOD","query","mutation","subscription","getInput","dict","arrayToDict","inputs","_input","parts","queryParts","methodOverride","AbortError","throwIfAborted","signal","_signal$throwIfAborte","aborted","DOMException","freezeIfAvailable","createInnerProxy","callback","memo","_memo$cacheKey","cacheKey","Proxy","_obj","_1","_2","lastOfPath","import_objectSpread2$1","TransformResultError","response","ok","transformResultInner","_unused","throwFatalError","batchLoader","pendingItems","dispatchTimer","dispatch","groupedItems","lastGroup","_item$reject","_item$reject2","reject","it","groupItems","clearTimeout","batch","fetch","_item","valueOrPromise","_item$resolve","_item$reject3","_item$reject4","_item$reject5","load","_dispatchTimer","_pendingItems","httpBatchLink","_opts$maxURLLength","_opts$maxItems","resolvedOpts","maxURLLength","Infinity","maxItems","batchOps","signals","ac","AbortController","count","abortedCount","onAbort","addEventListener","once","_opts$methodOverride","getUrl","body","getBody","resolvedHeaders","heads","headers","fromEntries","contentTypeHeader","trpcAcceptHeader","customFetchImpl","window","globalThis","getFetch","method","json","responseJSON","opList","loaders","_res","transformed","context","initialValue","observerList","obs","addObserver","splice","removeObserver","nextValue","lazyDefaults","enabled","closeMs","keepAliveDefaults","pongTimeoutMs","intervalMs","exponentialBackoff","attemptIndex","import_defineProperty$3","TRPCWebSocketClosedError","ResettableTimeout","onTimeout","timeoutMs","reset","timeout","stop","withResolvers","rej","import_defineProperty$2","RequestManager","register","callbacks","outgoingRequests","delete","messageId","pendingRequests","flush","requests","request","getPendingRequests","getPendingRequest","getOutgoingRequests","getRequests","state","hasPendingRequests","hasPendingSubscriptions","some","hasOutgoingRequests","import_defineProperty$1","setupPingInterval","ws","pingTimeout","pongTimeout","send","close","WsConnection","_opts$WebSocketPonyfi","connectCount","WebSocketPonyfill","WebSocket","urlOptions","keepAliveOpts","keepAlive","wsObservable","isOpen","readyState","OPEN","openPromise","isClosed","CLOSING","CLOSED","open","_this","wsPromise","connectionParams","prefix","prepareUrl","removeEventListener","asyncWsOpen","buildConnectionMessage","_this$ws","WsClient","_opts$retryDelayMs","onOpen","onClose","onError","lazyOptions","lazy","inactivityTimeout","requestManager","activeConnection","setupWebSocketListeners","reconnectRetryDelay","retryDelayMs","lazyMode","connectionState","allowReconnect","reconnect","reconnecting","_this2","requestsToAwait","lastEventId","batchSend","event","connection","closedError","_this3","tryReconnect","_this4","handleCloseOrError","reqs","_this$callbacks$onOpe","_this$callbacks","incomingMessage","handleIncomingRequest","handleResponseMessage","_this$callbacks$onClo","_this$callbacks2","_this$callbacks$onErr","_this$callbacks3","completed","messageOrMessages","messages","_this5","message$1","wsLink","client","connStateSubscription","requestSubscription","import_objectSpread2$4","TRPCUntypedClient","requestId","runtime","link","$request","_opts$context","refCount","observers","subscriber","_sub","resetIfNeeded","findIndex","v","requestAsPromise","req$","observable$1","onDone","obs$","observableToPromise","envelope","_opts$onConnectionSta","onConnectionStateChange","_opts$onStarted","onStarted","_opts$onStopped","onStopped","_opts$onData","onData","_opts$onError","_opts$onComplete","onComplete","untypedClientSymbol","for","clientCallTypeMap","mutate","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","done","r$2","require_asyncIterator","require_usingCtx","SuppressedError","e$1","n$1","suppressed","using","asyncDispose","dispose","d","u","pop","require_OverloadYield","require_awaitAsyncGenerator","OverloadYield$1","require_wrapAsyncGenerator","OverloadYield","AsyncGenerator","resume","t$1","t$2","settle","_invoke","createCloudpackClient","global","g","NodeWebSocket","ensureWebsocketDefined","reporter","process","env","NODE_TLS_REJECT_UNAUTHORIZED","ignoreLogMessage","ignoreSelfSignedCertErrors","wsClient","tempUrl","makeUrl","isSSL","protocol","proxy","pathCopy","procedureType","clientCallType","createTRPCClientProxy","createTRPCClient","condition","true","false","yes","no","props","prop","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","UIManager","elementId","document","getElementById","updateStatus","tip","isError","console","debug","innerHTML","styles","statusContainer","errorContainer","title","warning","ConnectionManager","clients","connectionStates","checkInterval","checkIntervalMs","addClient","getClient","checkConnection","getSessionId","warn","startMonitoring","onConnectionChange","clearInterval","setInterval","wasConnected","isConnected","stopMonitoring","closeAll","log","clear","isApiServerActive","isActive","app","ui","connectionManager","linkedPathData","handleHostDisconnection","handleLinkDisconnection","isUnreachable","unreachable","linkClient","isLinkClosed","publishData","cleanup","hostClient","unlinkedPath","unlinkPath","onDataChanged","updateData","notifyLinkChange","setupLinkPathHandler","getData","setupData","linkPath","setupConfig","hostConfig","getLinkConfig","initialize","__cloudpack","pageSessionContext","apiUrl","hostApiServerUrls","linkSessionId","hostSessionId","handleConnectionChange","setupLinkUpdateHandler","css","styleElement","styleSheet","cssText","firstChild","removeChild","appendChild","createTextNode","style","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","sourceMap","references","updater","addElementStyle","byIndex","api","update","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","parentNode","removeStyleElement","nonce","setAttribute","___CSS_LOADER_EXPORT___","createElement","attributes"],"sourceRoot":""}