chromium-bidi 0.4.21 → 0.4.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browser +1 -1
- package/lib/cjs/bidiMapper/BidiServer.d.ts +3 -3
- package/lib/cjs/bidiMapper/BidiServer.js +4 -4
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CommandProcessor.d.ts +4 -4
- package/lib/cjs/bidiMapper/CommandProcessor.js +6 -7
- package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/{OutgoingBidiMessage.d.ts → OutgoingMessage.d.ts} +3 -3
- package/lib/cjs/bidiMapper/{OutgoingBidiMessage.js → OutgoingMessage.js} +6 -6
- package/lib/cjs/bidiMapper/OutgoingMessage.js.map +1 -0
- package/lib/cjs/bidiMapper/bidiMapper.d.ts +1 -1
- package/lib/cjs/bidiMapper/bidiMapper.js +3 -3
- package/lib/cjs/bidiMapper/bidiMapper.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/context/{browsingContextImpl.d.ts → BrowsingContextImpl.d.ts} +5 -5
- package/lib/cjs/bidiMapper/domains/context/{browsingContextImpl.js → BrowsingContextImpl.js} +139 -42
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/context/{browsingContextProcessor.d.ts → BrowsingContextProcessor.d.ts} +2 -2
- package/lib/cjs/bidiMapper/domains/context/{browsingContextProcessor.js → BrowsingContextProcessor.js} +8 -8
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/context/{browsingContextStorage.d.ts → BrowsingContextStorage.d.ts} +1 -1
- package/lib/cjs/bidiMapper/domains/context/{browsingContextStorage.js → BrowsingContextStorage.js} +1 -1
- package/lib/cjs/bidiMapper/domains/context/{browsingContextStorage.js.map → BrowsingContextStorage.js.map} +1 -1
- package/lib/cjs/bidiMapper/domains/context/{cdpTarget.d.ts → CdpTarget.d.ts} +2 -2
- package/lib/cjs/bidiMapper/domains/context/{cdpTarget.js → CdpTarget.js} +5 -5
- package/lib/cjs/bidiMapper/domains/context/{cdpTarget.js.map → CdpTarget.js.map} +1 -1
- package/lib/cjs/bidiMapper/domains/events/EventManager.js +3 -3
- package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js +40 -19
- package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/log/{logManager.d.ts → LogManager.d.ts} +2 -2
- package/lib/cjs/bidiMapper/domains/log/{logManager.js → LogManager.js} +1 -1
- package/lib/cjs/bidiMapper/domains/log/{logManager.js.map → LogManager.js.map} +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +8 -14
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +3 -4
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +51 -10
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +22 -7
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/{channelProxy.d.ts → ChannelProxy.d.ts} +1 -1
- package/lib/cjs/bidiMapper/domains/script/{channelProxy.js → ChannelProxy.js} +3 -9
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/script/{bidiPreloadScript.d.ts → PreloadScript.d.ts} +3 -3
- package/lib/cjs/bidiMapper/domains/script/{bidiPreloadScript.js → PreloadScript.js} +6 -6
- package/lib/cjs/bidiMapper/domains/script/PreloadScript.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts +7 -7
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js +4 -4
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/{realm.d.ts → Realm.d.ts} +2 -2
- package/lib/cjs/bidiMapper/domains/script/{realm.js → Realm.js} +3 -3
- package/lib/cjs/bidiMapper/domains/script/{realm.js.map → Realm.js.map} +1 -1
- package/lib/cjs/bidiMapper/domains/script/{realmStorage.d.ts → RealmStorage.d.ts} +1 -1
- package/lib/cjs/bidiMapper/domains/script/{realmStorage.js → RealmStorage.js} +1 -1
- package/lib/cjs/bidiMapper/domains/script/{realmStorage.js.map → RealmStorage.js.map} +1 -1
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js +5 -5
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiServer/{mapperServer.js → MapperServer.js} +1 -1
- package/lib/cjs/bidiServer/{mapperServer.js.map → MapperServer.js.map} +1 -1
- package/lib/cjs/bidiServer/bidiServerRunner.js +5 -5
- package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
- package/lib/cjs/bidiServer/index.js +5 -5
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/{mapperReader.d.ts → reader.d.ts} +1 -1
- package/lib/cjs/bidiServer/{mapperReader.js → reader.js} +4 -3
- package/lib/cjs/bidiServer/reader.js.map +1 -0
- package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiTab/bidiTab.js +1 -1
- package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
- package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol/webdriver-bidi.d.ts +99 -99
- package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +31222 -31222
- package/lib/cjs/protocol-parser/webdriver-bidi.js +162 -162
- package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -1
- package/lib/cjs/utils/assert.d.ts +1 -1
- package/lib/cjs/utils/assert.js +2 -2
- package/lib/cjs/utils/assert.js.map +1 -1
- package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
- package/lib/iife/mapperTab.js +2 -2
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +1 -1
- package/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map +0 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +0 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +0 -1
- package/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map +0 -1
- package/lib/cjs/bidiMapper/domains/script/channelProxy.js.map +0 -1
- package/lib/cjs/bidiServer/mapperReader.js.map +0 -1
- /package/lib/cjs/bidiServer/{mapperServer.d.ts → MapperServer.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapperTab.js","sources":["../../node_modules/mitt/dist/mitt.mjs","../cjs/utils/EventEmitter.js","../cjs/utils/log.js","../cjs/utils/processingQueue.js","../cjs/protocol/cdp.js","../cjs/protocol/chromium-bidi.js","../cjs/protocol/webdriver-bidi.js","../cjs/protocol/ErrorResponse.js","../cjs/protocol/protocol.js","../cjs/bidiMapper/BidiNoOpParser.js","../cjs/bidiMapper/OutgoingBidiMessage.js","../cjs/bidiMapper/domains/browser/BrowserProcessor.js","../cjs/bidiMapper/domains/cdp/CdpProcessor.js","../cjs/utils/deferred.js","../cjs/utils/unitConversions.js","../cjs/utils/uuid.js","../cjs/bidiMapper/domains/script/channelProxy.js","../cjs/bidiMapper/domains/script/realm.js","../cjs/bidiMapper/domains/context/browsingContextImpl.js","../cjs/bidiMapper/domains/log/logHelper.js","../cjs/bidiMapper/domains/log/logManager.js","../cjs/bidiMapper/domains/network/NetworkManager.js","../cjs/bidiMapper/domains/context/cdpTarget.js","../cjs/bidiMapper/domains/context/browsingContextProcessor.js","../cjs/utils/assert.js","../cjs/utils/Mutex.js","../cjs/bidiMapper/domains/input/InputSource.js","../cjs/bidiMapper/domains/input/InputState.js","../cjs/bidiMapper/domains/input/InputStateManager.js","../cjs/bidiMapper/domains/input/USKeyboardLayout.js","../cjs/bidiMapper/domains/input/keyUtils.js","../cjs/bidiMapper/domains/input/ActionDispatcher.js","../cjs/bidiMapper/domains/input/InputProcessor.js","../cjs/bidiMapper/domains/script/PreloadScriptStorage.js","../cjs/bidiMapper/domains/script/bidiPreloadScript.js","../cjs/bidiMapper/domains/script/ScriptProcessor.js","../cjs/bidiMapper/domains/network/NetworkProcessor.js","../cjs/bidiMapper/domains/session/SessionProcessor.js","../cjs/utils/DefaultMap.js","../cjs/bidiMapper/domains/network/NetworkRequest.js","../cjs/bidiMapper/domains/network/NetworkStorage.js","../cjs/bidiMapper/CommandProcessor.js","../cjs/bidiMapper/domains/context/browsingContextStorage.js","../cjs/utils/buffer.js","../cjs/utils/idWrapper.js","../cjs/bidiMapper/domains/events/SubscriptionManager.js","../cjs/bidiMapper/domains/events/EventManager.js","../cjs/bidiMapper/domains/script/realmStorage.js","../cjs/bidiMapper/BidiServer.js","../cjs/bidiMapper/bidiMapper.js","../cjs/cdp/cdpClient.js","../cjs/cdp/cdpConnection.js","../../node_modules/zod/lib/helpers/util.js","../../node_modules/zod/lib/ZodError.js","../../node_modules/zod/lib/locales/en.js","../../node_modules/zod/lib/errors.js","../../node_modules/zod/lib/helpers/parseUtil.js","../../node_modules/zod/lib/helpers/typeAliases.js","../../node_modules/zod/lib/helpers/errorUtil.js","../../node_modules/zod/lib/types.js","../../node_modules/zod/lib/external.js","../../node_modules/zod/lib/index.js","../cjs/protocol-parser/webdriver-bidi.js","../cjs/protocol-parser/protocol-parser.js","../cjs/bidiTab/BidiParserImpl.js","../cjs/bidiTab/mapperTabPage.js","../cjs/bidiTab/bidiTab.js"],"sourcesContent":["export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventEmitter = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst mitt_1 = __importDefault(require(\"mitt\"));\nclass EventEmitter {\n #emitter = (0, mitt_1.default)();\n on(type, handler) {\n this.#emitter.on(type, handler);\n return this;\n }\n /**\n * Like `on` but the listener will only be fired once and then it will be removed.\n * @param event The event you'd like to listen to\n * @param handler The handler function to run when the event occurs\n * @return `this` to enable chaining method calls.\n */\n once(event, handler) {\n const onceHandler = (eventData) => {\n handler(eventData);\n this.off(event, onceHandler);\n };\n return this.on(event, onceHandler);\n }\n off(type, handler) {\n this.#emitter.off(type, handler);\n return this;\n }\n /**\n * Emits an event and call any associated listeners.\n *\n * @param event The event to emit.\n * @param eventData Any data to emit with the event.\n * @return `true` if there are any listeners, `false` otherwise.\n */\n emit(event, eventData) {\n this.#emitter.emit(event, eventData);\n }\n /**\n * Removes all listeners. If given an event argument, it will remove only\n * listeners for that event.\n * @param event - the event to remove listeners for.\n * @returns `this` to enable you to chain method calls.\n */\n removeAllListeners(event) {\n if (event) {\n this.#emitter.all.delete(event);\n }\n else {\n this.#emitter.all.clear();\n }\n return this;\n }\n}\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=EventEmitter.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogType = void 0;\nvar LogType;\n(function (LogType) {\n // keep-sorted start\n LogType[\"bidi\"] = \"bidi\";\n LogType[\"cdp\"] = \"cdp\";\n LogType[\"debug\"] = \"debug\";\n LogType[\"debugError\"] = \"debug:error\";\n // keep-sorted end\n})(LogType || (exports.LogType = LogType = {}));\n//# sourceMappingURL=log.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessingQueue = void 0;\nconst log_js_1 = require(\"./log.js\");\nclass ProcessingQueue {\n static LOGGER_PREFIX = `${log_js_1.LogType.debug}:queue`;\n #logger;\n #processor;\n #queue = [];\n // Flag to keep only 1 active processor.\n #isProcessing = false;\n constructor(processor, logger) {\n this.#processor = processor;\n this.#logger = logger;\n }\n add(entry, name) {\n this.#queue.push([entry, name]);\n // No need in waiting. Just initialise processor if needed.\n void this.#processIfNeeded();\n }\n async #processIfNeeded() {\n if (this.#isProcessing) {\n return;\n }\n this.#isProcessing = true;\n while (this.#queue.length > 0) {\n const arrayEntry = this.#queue.shift();\n if (!arrayEntry) {\n continue;\n }\n const [entryPromise, name] = arrayEntry;\n this.#logger?.(ProcessingQueue.LOGGER_PREFIX, 'Processing event:', name);\n if (entryPromise !== undefined) {\n await entryPromise\n .then((entry) => {\n if (entry.kind === 'error') {\n this.#logger?.(log_js_1.LogType.debugError, 'Event threw before sending:', entry.error);\n return;\n }\n return this.#processor(entry.value);\n })\n .catch((error) => {\n this.#logger?.(log_js_1.LogType.debugError, 'Event was not processed:', error);\n });\n }\n }\n this.#isProcessing = false;\n }\n}\nexports.ProcessingQueue = ProcessingQueue;\n//# sourceMappingURL=processingQueue.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=cdp.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Network = exports.BrowsingContext = exports.Log = exports.Script = exports.BiDiModule = void 0;\n// keep-sorted end\nvar BiDiModule;\n(function (BiDiModule) {\n // keep-sorted start\n BiDiModule[\"BrowsingContext\"] = \"browsingContext\";\n BiDiModule[\"Log\"] = \"log\";\n BiDiModule[\"Network\"] = \"network\";\n BiDiModule[\"Script\"] = \"script\";\n // keep-sorted end\n})(BiDiModule || (exports.BiDiModule = BiDiModule = {}));\nvar Script;\n(function (Script) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"MessageEvent\"] = \"script.message\";\n EventNames[\"RealmCreated\"] = \"script.realmCreated\";\n EventNames[\"RealmDestroyed\"] = \"script.realmDestroyed\";\n // keep-sorted end\n })(EventNames = Script.EventNames || (Script.EventNames = {}));\n})(Script || (exports.Script = Script = {}));\nvar Log;\n(function (Log) {\n let EventNames;\n (function (EventNames) {\n EventNames[\"LogEntryAddedEvent\"] = \"log.entryAdded\";\n })(EventNames = Log.EventNames || (Log.EventNames = {}));\n})(Log || (exports.Log = Log = {}));\nvar BrowsingContext;\n(function (BrowsingContext) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"ContextCreatedEvent\"] = \"browsingContext.contextCreated\";\n EventNames[\"ContextDestroyedEvent\"] = \"browsingContext.contextDestroyed\";\n EventNames[\"DomContentLoadedEvent\"] = \"browsingContext.domContentLoaded\";\n EventNames[\"FragmentNavigated\"] = \"browsingContext.fragmentNavigated\";\n EventNames[\"LoadEvent\"] = \"browsingContext.load\";\n EventNames[\"NavigationStarted\"] = \"browsingContext.navigationStarted\";\n EventNames[\"UserPromptClosed\"] = \"browsingContext.userPromptClosed\";\n EventNames[\"UserPromptOpened\"] = \"browsingContext.userPromptOpened\";\n // keep-sorted end\n })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nvar Network;\n(function (Network) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"BeforeRequestSentEvent\"] = \"network.beforeRequestSent\";\n EventNames[\"FetchErrorEvent\"] = \"network.fetchError\";\n EventNames[\"ResponseCompletedEvent\"] = \"network.responseCompleted\";\n EventNames[\"ResponseStartedEvent\"] = \"network.responseStarted\";\n // keep-sorted end\n })(EventNames = Network.EventNames || (Network.EventNames = {}));\n})(Network || (exports.Network = Network = {}));\n//# sourceMappingURL=chromium-bidi.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UnsupportedOperationException = exports.UnableToCloseBrowserException = exports.UnableToCaptureScreenException = exports.UnknownErrorException = exports.UnknownCommandException = exports.SessionNotCreatedException = exports.NoSuchScriptException = exports.NoSuchRequestException = exports.NoSuchNodeException = exports.NoSuchInterceptException = exports.NoSuchHandleException = exports.NoSuchFrameException = exports.NoSuchElementException = exports.NoSuchAlertException = exports.MoveTargetOutOfBoundsException = exports.InvalidSessionIdException = exports.InvalidArgumentException = exports.Exception = void 0;\nclass Exception {\n error;\n message;\n stacktrace;\n constructor(error, message, stacktrace) {\n this.error = error;\n this.message = message;\n this.stacktrace = stacktrace;\n }\n toErrorResponse(commandId) {\n return {\n type: 'error',\n id: commandId,\n error: this.error,\n message: this.message,\n stacktrace: this.stacktrace,\n };\n }\n}\nexports.Exception = Exception;\nclass InvalidArgumentException extends Exception {\n constructor(message, stacktrace) {\n super(\"invalid argument\" /* ErrorCode.InvalidArgument */, message, stacktrace);\n }\n}\nexports.InvalidArgumentException = InvalidArgumentException;\nclass InvalidSessionIdException extends Exception {\n constructor(message, stacktrace) {\n super(\"invalid session id\" /* ErrorCode.InvalidSessionId */, message, stacktrace);\n }\n}\nexports.InvalidSessionIdException = InvalidSessionIdException;\nclass MoveTargetOutOfBoundsException extends Exception {\n constructor(message, stacktrace) {\n super(\"move target out of bounds\" /* ErrorCode.MoveTargetOutOfBounds */, message, stacktrace);\n }\n}\nexports.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;\nclass NoSuchAlertException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such alert\" /* ErrorCode.NoSuchAlert */, message, stacktrace);\n }\n}\nexports.NoSuchAlertException = NoSuchAlertException;\nclass NoSuchElementException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such element\" /* ErrorCode.NoSuchElement */, message, stacktrace);\n }\n}\nexports.NoSuchElementException = NoSuchElementException;\nclass NoSuchFrameException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such frame\" /* ErrorCode.NoSuchFrame */, message, stacktrace);\n }\n}\nexports.NoSuchFrameException = NoSuchFrameException;\nclass NoSuchHandleException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such handle\" /* ErrorCode.NoSuchHandle */, message, stacktrace);\n }\n}\nexports.NoSuchHandleException = NoSuchHandleException;\nclass NoSuchInterceptException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such intercept\" /* ErrorCode.NoSuchIntercept */, message, stacktrace);\n }\n}\nexports.NoSuchInterceptException = NoSuchInterceptException;\nclass NoSuchNodeException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such node\" /* ErrorCode.NoSuchNode */, message, stacktrace);\n }\n}\nexports.NoSuchNodeException = NoSuchNodeException;\nclass NoSuchRequestException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such request\" /* ErrorCode.NoSuchRequest */, message, stacktrace);\n }\n}\nexports.NoSuchRequestException = NoSuchRequestException;\nclass NoSuchScriptException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such script\" /* ErrorCode.NoSuchScript */, message, stacktrace);\n }\n}\nexports.NoSuchScriptException = NoSuchScriptException;\nclass SessionNotCreatedException extends Exception {\n constructor(message, stacktrace) {\n super(\"session not created\" /* ErrorCode.SessionNotCreated */, message, stacktrace);\n }\n}\nexports.SessionNotCreatedException = SessionNotCreatedException;\nclass UnknownCommandException extends Exception {\n constructor(message, stacktrace) {\n super(\"unknown command\" /* ErrorCode.UnknownCommand */, message, stacktrace);\n }\n}\nexports.UnknownCommandException = UnknownCommandException;\nclass UnknownErrorException extends Exception {\n constructor(message, stacktrace = new Error().stack) {\n super(\"unknown error\" /* ErrorCode.UnknownError */, message, stacktrace);\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass UnableToCaptureScreenException extends Exception {\n constructor(message, stacktrace) {\n super(\"unable to capture screen\" /* ErrorCode.UnableToCaptureScreen */, message, stacktrace);\n }\n}\nexports.UnableToCaptureScreenException = UnableToCaptureScreenException;\nclass UnableToCloseBrowserException extends Exception {\n constructor(message, stacktrace) {\n super(\"unable to close browser\" /* ErrorCode.UnableToCloseBrowser */, message, stacktrace);\n }\n}\nexports.UnableToCloseBrowserException = UnableToCloseBrowserException;\nclass UnsupportedOperationException extends Exception {\n constructor(message, stacktrace) {\n super(\"unsupported operation\" /* ErrorCode.UnsupportedOperation */, message, stacktrace);\n }\n}\nexports.UnsupportedOperationException = UnsupportedOperationException;\n//# sourceMappingURL=ErrorResponse.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChromiumBidi = exports.Cdp = void 0;\nexports.Cdp = __importStar(require(\"./cdp.js\"));\nexports.ChromiumBidi = __importStar(require(\"./chromium-bidi.js\"));\n__exportStar(require(\"./webdriver-bidi.js\"), exports);\n__exportStar(require(\"./ErrorResponse.js\"), exports);\n//# sourceMappingURL=protocol.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiNoOpParser = void 0;\nclass BidiNoOpParser {\n // Browsing Context domain\n // keep-sorted start block=yes\n parseActivateParams(params) {\n return params;\n }\n parseCaptureScreenshotParams(params) {\n return params;\n }\n parseCloseParams(params) {\n return params;\n }\n parseCreateParams(params) {\n return params;\n }\n parseGetTreeParams(params) {\n return params;\n }\n parseHandleUserPromptParams(params) {\n return params;\n }\n parseNavigateParams(params) {\n return params;\n }\n parsePrintParams(params) {\n return params;\n }\n parseReloadParams(params) {\n return params;\n }\n parseSetViewportParams(params) {\n return params;\n }\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n parseGetSessionParams(params) {\n return params;\n }\n parseSendCommandParams(params) {\n return params;\n }\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n parseAddPreloadScriptParams(params) {\n return params;\n }\n parseCallFunctionParams(params) {\n return params;\n }\n parseDisownParams(params) {\n return params;\n }\n parseEvaluateParams(params) {\n return params;\n }\n parseGetRealmsParams(params) {\n return params;\n }\n parseRemovePreloadScriptParams(params) {\n return params;\n }\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n parsePerformActionsParams(params) {\n return params;\n }\n parseReleaseActionsParams(params) {\n return params;\n }\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n parseAddInterceptParams(params) {\n return params;\n }\n parseContinueRequestParams(params) {\n return params;\n }\n parseContinueResponseParams(params) {\n return params;\n }\n parseContinueWithAuthParams(params) {\n return params;\n }\n parseFailRequestParams(params) {\n return params;\n }\n parseProvideResponseParams(params) {\n return params;\n }\n parseRemoveInterceptParams(params) {\n return params;\n }\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n parseSubscribeParams(params) {\n return params;\n }\n}\nexports.BidiNoOpParser = BidiNoOpParser;\n//# sourceMappingURL=BidiNoOpParser.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = void 0;\nclass OutgoingBidiMessage {\n #message;\n #channel;\n constructor(message, channel = null) {\n this.#message = message;\n this.#channel = channel;\n }\n static createFromPromise(messagePromise, channel) {\n return messagePromise.then((message) => {\n if (message.kind === 'success') {\n return {\n kind: 'success',\n value: new OutgoingBidiMessage(message.value, channel),\n };\n }\n return message;\n });\n }\n static createResolved(message, channel) {\n return Promise.resolve({\n kind: 'success',\n value: new OutgoingBidiMessage(message, channel),\n });\n }\n get message() {\n return this.#message;\n }\n get channel() {\n return this.#channel;\n }\n}\nexports.OutgoingBidiMessage = OutgoingBidiMessage;\n//# sourceMappingURL=OutgoingBidiMessage.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserProcessor = void 0;\nclass BrowserProcessor {\n #cdpConnection;\n constructor(cdpConnection) {\n this.#cdpConnection = cdpConnection;\n }\n close() {\n const client = this.#cdpConnection.browserClient();\n // Ensure that it is put at the end of the event loop.\n // This way we send back the response before closing the tab.\n setTimeout(() => client.sendCommand('Browser.close'), 0);\n return {};\n }\n}\nexports.BrowserProcessor = BrowserProcessor;\n//# sourceMappingURL=BrowserProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpProcessor = void 0;\nclass CdpProcessor {\n #browsingContextStorage;\n #cdpConnection;\n constructor(browsingContextStorage, cdpConnection) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#cdpConnection = cdpConnection;\n }\n getSession(params) {\n const context = params.context;\n const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;\n if (sessionId === undefined) {\n return {};\n }\n return { session: sessionId };\n }\n async sendCommand(params) {\n const client = params.session\n ? this.#cdpConnection.getCdpClient(params.session)\n : this.#cdpConnection.browserClient();\n const result = await client.sendCommand(params.method, params.params);\n return {\n result,\n session: params.session,\n };\n }\n}\nexports.CdpProcessor = CdpProcessor;\n//# sourceMappingURL=CdpProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Deferred = void 0;\nclass Deferred {\n #isFinished = false;\n #promise;\n #resolve;\n #reject;\n get isFinished() {\n return this.#isFinished;\n }\n constructor() {\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n });\n // Needed to avoid `Uncaught (in promise)`. The promises returned by `then`\n // and `catch` will be rejected anyway.\n this.#promise.catch((_error) => {\n // Intentionally empty.\n });\n }\n then(onFulfilled, onRejected) {\n return this.#promise.then(onFulfilled, onRejected);\n }\n catch(onRejected) {\n return this.#promise.catch(onRejected);\n }\n resolve(value) {\n if (!this.#isFinished) {\n this.#isFinished = true;\n this.#resolve(value);\n }\n }\n reject(reason) {\n if (!this.#isFinished) {\n this.#isFinished = true;\n this.#reject(reason);\n }\n }\n finally(onFinally) {\n return this.#promise.finally(onFinally);\n }\n [Symbol.toStringTag] = 'Promise';\n}\nexports.Deferred = Deferred;\n//# sourceMappingURL=deferred.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inchesFromCm = void 0;\n/** @return Given an input in cm, convert it to inches. */\nfunction inchesFromCm(cm) {\n return cm / 2.54;\n}\nexports.inchesFromCm = inchesFromCm;\n//# sourceMappingURL=unitConversions.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uuidv4 = void 0;\n/**\n * Generates a random v4 UUID, as specified in RFC4122.\n *\n * Uses the native Web Crypto API if available, otherwise falls back to a\n * polyfill.\n *\n * Example: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n */\nfunction uuidv4() {\n // Available only in secure contexts\n // https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API\n if ('crypto' in globalThis && 'randomUUID' in globalThis.crypto) {\n // Node with\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n // secure browser context.\n return globalThis.crypto.randomUUID();\n }\n const randomValues = new Uint8Array(16);\n if ('crypto' in globalThis && 'getRandomValues' in globalThis.crypto) {\n // Node with\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n // browser.\n globalThis.crypto.getRandomValues(randomValues);\n }\n else {\n // Node without\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1.\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require('crypto').webcrypto.getRandomValues(randomValues);\n }\n // Set version (4) and variant (RFC4122) bits.\n randomValues[6] = (randomValues[6] & 0x0f) | 0x40;\n randomValues[8] = (randomValues[8] & 0x3f) | 0x80;\n const bytesToHex = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n return [\n bytesToHex(randomValues.subarray(0, 4)),\n bytesToHex(randomValues.subarray(4, 6)),\n bytesToHex(randomValues.subarray(6, 8)),\n bytesToHex(randomValues.subarray(8, 10)),\n bytesToHex(randomValues.subarray(10, 16)),\n ].join('-');\n}\nexports.uuidv4 = uuidv4;\n//# sourceMappingURL=uuid.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChannelProxy = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst uuid_1 = require(\"../../../utils/uuid\");\nconst log_js_1 = require(\"../../../utils/log.js\");\n/**\n * Used to send messages from realm to BiDi user.\n */\nclass ChannelProxy {\n #properties;\n #id = (0, uuid_1.uuidv4)();\n #logger;\n constructor(channel, logger) {\n if (![0, null, undefined].includes(channel.serializationOptions?.maxDomDepth)) {\n throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');\n }\n if (![undefined, 'none'].includes(channel.serializationOptions?.includeShadowTree)) {\n throw new Error('serializationOptions.includeShadowTree other than \"none\" is not supported');\n }\n this.#properties = channel;\n this.#logger = logger;\n }\n /**\n * Creates a channel proxy in the given realm, initialises listener and\n * returns a handle to `sendMessage` delegate.\n */\n async init(realm, eventManager) {\n const channelHandle = await ChannelProxy.#createAndGetHandleInRealm(realm);\n const sendMessageHandle = await ChannelProxy.#createSendMessageHandle(realm, channelHandle);\n void this.#startListener(realm, channelHandle, eventManager);\n return sendMessageHandle;\n }\n /** Gets a ChannelProxy from window and returns its handle. */\n async startListenerFromWindow(realm, eventManager) {\n const channelHandle = await this.#getHandleFromWindow(realm);\n void this.#startListener(realm, channelHandle, eventManager);\n }\n /**\n * Evaluation string which creates a ChannelProxy object on the client side.\n */\n static #createChannelProxyEvalStr() {\n const functionStr = String(() => {\n const queue = [];\n let queueNonEmptyResolver = null;\n return {\n /**\n * Gets a promise, which is resolved as soon as a message occurs\n * in the queue.\n */\n async getMessage() {\n const onMessage = queue.length > 0\n ? Promise.resolve()\n : new Promise((resolve) => {\n queueNonEmptyResolver = resolve;\n });\n await onMessage;\n return queue.shift();\n },\n /**\n * Adds a message to the queue.\n * Resolves the pending promise if needed.\n */\n sendMessage(message) {\n queue.push(message);\n if (queueNonEmptyResolver !== null) {\n queueNonEmptyResolver();\n queueNonEmptyResolver = null;\n }\n },\n };\n });\n return `(${functionStr})()`;\n }\n /** Creates a ChannelProxy in the given realm. */\n static async #createAndGetHandleInRealm(realm) {\n const createChannelHandleResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {\n expression: this.#createChannelProxyEvalStr(),\n contextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n if (createChannelHandleResult.exceptionDetails ||\n createChannelHandleResult.result.objectId === undefined) {\n throw new Error(`Cannot create channel`);\n }\n return createChannelHandleResult.result.objectId;\n }\n /** Gets a handle to `sendMessage` delegate from the ChannelProxy handle. */\n static async #createSendMessageHandle(realm, channelHandle) {\n const sendMessageArgResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((channelHandle) => {\n return channelHandle.sendMessage;\n }),\n arguments: [{ objectId: channelHandle }],\n executionContextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n // TODO: check for exceptionDetails.\n return sendMessageArgResult.result.objectId;\n }\n /** Starts listening for the channel events of the provided ChannelProxy. */\n async #startListener(realm, channelHandle, eventManager) {\n // noinspection InfiniteLoopJS\n for (;;) {\n try {\n const message = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String(async (channelHandle) => channelHandle.getMessage()),\n arguments: [\n {\n objectId: channelHandle,\n },\n ],\n awaitPromise: true,\n executionContextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n ...(this.#properties.serializationOptions?.maxObjectDepth ===\n undefined ||\n this.#properties.serializationOptions.maxObjectDepth === null\n ? {}\n : {\n maxDepth: this.#properties.serializationOptions.maxObjectDepth,\n }),\n },\n });\n if (message.exceptionDetails) {\n throw message.exceptionDetails;\n }\n eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,\n params: {\n channel: this.#properties.channel,\n data: realm.cdpToBidiValue(message, this.#properties.ownership ?? \"none\" /* Script.ResultOwnership.None */),\n source: {\n realm: realm.realmId,\n context: realm.browsingContextId,\n },\n },\n }, realm.browsingContextId);\n }\n catch (error) {\n // If an error is thrown, then the channel is permanently broken, so we\n // exit the loop.\n this.#logger?.(log_js_1.LogType.debug, error);\n break;\n }\n }\n }\n /**\n * Returns a handle of ChannelProxy from window's property which was set there\n * by `getEvalInWindowStr`. If window property is not set yet, sets a promise\n * resolver to the window property, so that `getEvalInWindowStr` can resolve\n * the promise later on with the channel.\n * This is needed because `getEvalInWindowStr` can be called before or\n * after this method.\n */\n async #getHandleFromWindow(realm) {\n const channelHandleResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((id) => {\n const w = window;\n if (w[id] === undefined) {\n // The channelProxy is not created yet. Create a promise, put the\n // resolver to window property and return the promise.\n // `getEvalInWindowStr` will resolve the promise later.\n return new Promise((resolve) => (w[id] = resolve));\n }\n // The channelProxy is already created by `getEvalInWindowStr` and\n // is set into window property. Return it.\n const channelProxy = w[id];\n delete w[id];\n return channelProxy;\n }),\n arguments: [{ value: this.#id }],\n executionContextId: realm.executionContextId,\n awaitPromise: true,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n if (channelHandleResult.exceptionDetails !== undefined ||\n channelHandleResult.result.objectId === undefined) {\n throw new Error(`ChannelHandle not found in window[\"${this.#id}\"]`);\n }\n return channelHandleResult.result.objectId;\n }\n /**\n * String to be evaluated to create a ProxyChannel and put it to window.\n * Returns the delegate `sendMessage`. Used to provide an argument for preload\n * script. Does the following:\n * 1. Creates a ChannelProxy.\n * 2. Puts the ChannelProxy to window['${this.#id}'] or resolves the promise\n * by calling delegate stored in window['${this.#id}'].\n * This is needed because `#getHandleFromWindow` can be called before or\n * after this method.\n * 3. Returns the delegate `sendMessage` of the created ChannelProxy.\n */\n getEvalInWindowStr() {\n const delegate = String((id, channelProxy) => {\n const w = window;\n if (w[id] === undefined) {\n // `#getHandleFromWindow` is not initialized yet, and will get the\n // channelProxy later.\n w[id] = channelProxy;\n }\n else {\n // `#getHandleFromWindow` is already set a delegate to window property\n // and is waiting for it to be called with the channelProxy.\n w[id](channelProxy);\n delete w[id];\n }\n return channelProxy.sendMessage;\n });\n const channelProxyEval = ChannelProxy.#createChannelProxyEvalStr();\n return `(${delegate})('${this.#id}',${channelProxyEval})`;\n }\n}\nexports.ChannelProxy = ChannelProxy;\n//# sourceMappingURL=channelProxy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Realm = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst channelProxy_js_1 = require(\"./channelProxy.js\");\nconst SHARED_ID_DIVIDER = '_element_';\nclass Realm {\n #realmStorage;\n #browsingContextStorage;\n #realmId;\n #browsingContextId;\n #executionContextId;\n #origin;\n #type;\n #cdpClient;\n #eventManager;\n sandbox;\n #logger;\n constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpClient, eventManager, logger) {\n this.#realmId = realmId;\n this.#browsingContextId = browsingContextId;\n this.#executionContextId = executionContextId;\n this.sandbox = sandbox;\n this.#origin = origin;\n this.#type = type;\n this.#cdpClient = cdpClient;\n this.#realmStorage = realmStorage;\n this.#browsingContextStorage = browsingContextStorage;\n this.#eventManager = eventManager;\n this.#logger = logger;\n this.#realmStorage.addRealm(this);\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmCreated,\n params: this.realmInfo,\n }, this.browsingContextId);\n }\n cdpToBidiValue(cdpValue, resultOwnership) {\n const bidiValue = this.#deepSerializedToBiDi(cdpValue.result.deepSerializedValue);\n if (cdpValue.result.objectId) {\n const objectId = cdpValue.result.objectId;\n if (resultOwnership === \"root\" /* Script.ResultOwnership.Root */) {\n // Extend BiDi value with `handle` based on required `resultOwnership`\n // and CDP response but not on the actual BiDi type.\n bidiValue.handle = objectId;\n // Remember all the handles sent to client.\n this.#realmStorage.knownHandlesToRealmMap.set(objectId, this.realmId);\n }\n else {\n // No need to await for the object to be released.\n void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.debug, error));\n }\n }\n if (cdpValue.result.type === 'object') {\n switch (cdpValue.result.subtype) {\n case 'generator':\n case 'iterator':\n bidiValue.type = cdpValue.result.subtype;\n delete bidiValue['value'];\n break;\n default:\n // Intentionally left blank.\n }\n }\n return bidiValue;\n }\n /**\n * Relies on the CDP to implement proper BiDi serialization, except\n * backendNodeId/sharedId and `platformobject`.\n */\n #deepSerializedToBiDi(deepSerializedValue) {\n if (Object.hasOwn(deepSerializedValue, 'weakLocalObjectReference')) {\n deepSerializedValue.internalId = `${deepSerializedValue.weakLocalObjectReference}`;\n delete deepSerializedValue['weakLocalObjectReference'];\n }\n // Platform object is a special case. It should have only `{type: object}`\n // without `value` field.\n if (deepSerializedValue.type === 'platformobject') {\n return { type: 'object' };\n }\n const bidiValue = deepSerializedValue.value;\n if (bidiValue === undefined) {\n return deepSerializedValue;\n }\n if (deepSerializedValue.type === 'node') {\n if (Object.hasOwn(bidiValue, 'backendNodeId')) {\n deepSerializedValue.sharedId = `${this.navigableId}${SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;\n delete bidiValue['backendNodeId'];\n }\n if (Object.hasOwn(bidiValue, 'children')) {\n for (const i in bidiValue.children) {\n bidiValue.children[i] = this.#deepSerializedToBiDi(bidiValue.children[i]);\n }\n }\n if (Object.hasOwn(bidiValue, 'shadowRoot') &&\n bidiValue.shadowRoot !== null) {\n bidiValue.shadowRoot = this.#deepSerializedToBiDi(bidiValue.shadowRoot);\n }\n }\n // Recursively update the nested values.\n if (['array', 'set', 'htmlcollection', 'nodelist'].includes(deepSerializedValue.type)) {\n for (const i in bidiValue) {\n bidiValue[i] = this.#deepSerializedToBiDi(bidiValue[i]);\n }\n }\n if (['object', 'map'].includes(deepSerializedValue.type)) {\n for (const i in bidiValue) {\n bidiValue[i] = [\n this.#deepSerializedToBiDi(bidiValue[i][0]),\n this.#deepSerializedToBiDi(bidiValue[i][1]),\n ];\n }\n }\n return deepSerializedValue;\n }\n get realmId() {\n return this.#realmId;\n }\n get navigableId() {\n return (this.#browsingContextStorage.findContext(this.#browsingContextId)\n ?.navigableId ?? 'UNKNOWN');\n }\n get browsingContextId() {\n return this.#browsingContextId;\n }\n get executionContextId() {\n return this.#executionContextId;\n }\n get origin() {\n return this.#origin;\n }\n get type() {\n return this.#type;\n }\n get cdpClient() {\n return this.#cdpClient;\n }\n get realmInfo() {\n return {\n realm: this.realmId,\n origin: this.origin,\n type: this.type,\n context: this.browsingContextId,\n ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),\n };\n }\n async evaluate(expression, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n await this.#browsingContextStorage\n .getContext(this.browsingContextId)\n .targetUnblocked();\n const cdpEvaluateResult = await this.cdpClient.sendCommand('Runtime.evaluate', {\n contextId: this.executionContextId,\n expression,\n awaitPromise,\n serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n userGesture: userActivation,\n });\n if (cdpEvaluateResult.exceptionDetails) {\n return this.#getExceptionResult(cdpEvaluateResult.exceptionDetails, 0, resultOwnership);\n }\n return {\n realm: this.realmId,\n result: this.cdpToBidiValue(cdpEvaluateResult, resultOwnership),\n type: 'success',\n };\n }\n /**\n * Serializes a given CDP object into BiDi, keeping references in the\n * target's `globalThis`.\n */\n async serializeCdpObject(cdpRemoteObject, resultOwnership) {\n const argument = Realm.#cdpRemoteObjectToCallArgument(cdpRemoteObject);\n const cdpValue = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((remoteObject) => remoteObject),\n awaitPromise: false,\n arguments: [argument],\n serializationOptions: {\n serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n },\n executionContextId: this.executionContextId,\n });\n return this.cdpToBidiValue(cdpValue, resultOwnership);\n }\n static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {\n if (cdpRemoteObject.objectId !== undefined) {\n return { objectId: cdpRemoteObject.objectId };\n }\n if (cdpRemoteObject.unserializableValue !== undefined) {\n return { unserializableValue: cdpRemoteObject.unserializableValue };\n }\n return { value: cdpRemoteObject.value };\n }\n /**\n * Gets the string representation of an object. This is equivalent to\n * calling `toString()` on the object value.\n */\n async stringifyObject(cdpRemoteObject) {\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((remoteObject) => String(remoteObject)),\n awaitPromise: false,\n arguments: [cdpRemoteObject],\n returnByValue: true,\n executionContextId: this.executionContextId,\n });\n return result.value;\n }\n async #flattenKeyValuePairs(mappingLocalValue) {\n const keyValueArray = [];\n for (const [key, value] of mappingLocalValue) {\n let keyArg;\n if (typeof key === 'string') {\n // Key is a string.\n keyArg = { value: key };\n }\n else {\n // Key is a serialized value.\n keyArg = await this.#deserializeToCdpArg(key);\n }\n const valueArg = await this.#deserializeToCdpArg(value);\n keyValueArray.push(keyArg);\n keyValueArray.push(valueArg);\n }\n return keyValueArray;\n }\n async #flattenValueList(listLocalValue) {\n return Promise.all(listLocalValue.map((localValue) => this.#deserializeToCdpArg(localValue)));\n }\n async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership) {\n const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({\n url: frame.url,\n functionName: frame.functionName,\n lineNumber: frame.lineNumber - lineOffset,\n columnNumber: frame.columnNumber,\n })) ?? [];\n // Exception should always be there.\n const exception = cdpExceptionDetails.exception;\n return {\n exception: await this.serializeCdpObject(exception, resultOwnership),\n columnNumber: cdpExceptionDetails.columnNumber,\n lineNumber: cdpExceptionDetails.lineNumber - lineOffset,\n stackTrace: {\n callFrames,\n },\n text: (await this.stringifyObject(exception)) || cdpExceptionDetails.text,\n };\n }\n async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n await this.#browsingContextStorage\n .getContext(this.browsingContextId)\n .targetUnblocked();\n const callFunctionAndSerializeScript = `(...args) => {\n function callFunction(f, args) {\n const deserializedThis = args.shift();\n const deserializedArgs = args;\n return f.apply(deserializedThis, deserializedArgs);\n }\n return callFunction((\n ${functionDeclaration}\n ), args);\n }`;\n const thisAndArgumentsList = [\n await this.#deserializeToCdpArg(thisLocalValue),\n ...(await Promise.all(argumentsLocalValues.map(async (argumentLocalValue) => this.#deserializeToCdpArg(argumentLocalValue)))),\n ];\n let cdpCallFunctionResult;\n try {\n cdpCallFunctionResult = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: callFunctionAndSerializeScript,\n awaitPromise,\n arguments: thisAndArgumentsList,\n serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n executionContextId: this.executionContextId,\n userGesture: userActivation,\n });\n }\n catch (error) {\n // Heuristic to determine if the problem is in the argument.\n // The check can be done on the `deserialization` step, but this approach\n // helps to save round-trips.\n if (error.code === -32000 &&\n [\n 'Could not find object with given id',\n 'Argument should belong to the same JavaScript world as target object',\n 'Invalid remote object id',\n ].includes(error.message)) {\n throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n }\n throw error;\n }\n if (cdpCallFunctionResult.exceptionDetails) {\n return this.#getExceptionResult(cdpCallFunctionResult.exceptionDetails, 1, resultOwnership);\n }\n return {\n type: 'success',\n result: this.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),\n realm: this.realmId,\n };\n }\n async #deserializeToCdpArg(localValue) {\n if ('sharedId' in localValue && localValue.sharedId) {\n const [navigableId, rawBackendNodeId] = localValue.sharedId.split(SHARED_ID_DIVIDER);\n const backendNodeId = parseInt(rawBackendNodeId ?? '');\n if (isNaN(backendNodeId) ||\n backendNodeId === undefined ||\n navigableId === undefined) {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n }\n if (this.navigableId !== navigableId) {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" belongs to different document. Current document is ${this.navigableId}.`);\n }\n try {\n const { object } = await this.cdpClient.sendCommand('DOM.resolveNode', {\n backendNodeId,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `obj.object.objectId` after using.\n return { objectId: object.objectId };\n }\n catch (error) {\n // Heuristic to detect \"no such node\" exception. Based on the specific\n // CDP implementation.\n if (error.code === -32000 &&\n error.message === 'No node with given id found') {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n }\n throw new protocol_js_1.UnknownErrorException(error.message, error.stack);\n }\n }\n else if ('handle' in localValue && localValue.handle) {\n return { objectId: localValue.handle };\n // We tried to find a handle value but failed\n // This allows us to have exhaustive switch on `localValue.type`\n }\n else if ('handle' in localValue || 'sharedId' in localValue) {\n throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n }\n switch (localValue.type) {\n case 'undefined':\n return { unserializableValue: 'undefined' };\n case 'null':\n return { unserializableValue: 'null' };\n case 'string':\n return { value: localValue.value };\n case 'number':\n if (localValue.value === 'NaN') {\n return { unserializableValue: 'NaN' };\n }\n else if (localValue.value === '-0') {\n return { unserializableValue: '-0' };\n }\n else if (localValue.value === 'Infinity') {\n return { unserializableValue: 'Infinity' };\n }\n else if (localValue.value === '-Infinity') {\n return { unserializableValue: '-Infinity' };\n }\n return {\n value: localValue.value,\n };\n case 'boolean':\n return { value: Boolean(localValue.value) };\n case 'bigint':\n return {\n unserializableValue: `BigInt(${JSON.stringify(localValue.value)})`,\n };\n case 'date':\n return {\n unserializableValue: `new Date(Date.parse(${JSON.stringify(localValue.value)}))`,\n };\n case 'regexp':\n return {\n unserializableValue: `new RegExp(${JSON.stringify(localValue.value.pattern)}, ${JSON.stringify(localValue.value.flags)})`,\n };\n case 'map': {\n // TODO: If none of the nested keys and values has a remote\n // reference, serialize to `unserializableValue` without CDP roundtrip.\n const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => {\n const result = new Map();\n for (let i = 0; i < args.length; i += 2) {\n result.set(args[i], args[i + 1]);\n }\n return result;\n }),\n awaitPromise: false,\n arguments: keyValueArray,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'object': {\n // TODO: If none of the nested keys and values has a remote\n // reference, serialize to `unserializableValue` without CDP roundtrip.\n const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => {\n const result = {};\n for (let i = 0; i < args.length; i += 2) {\n // Key should be either `string`, `number`, or `symbol`.\n const key = args[i];\n result[key] = args[i + 1];\n }\n return result;\n }),\n awaitPromise: false,\n arguments: keyValueArray,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'array': {\n // TODO: If none of the nested items has a remote reference,\n // serialize to `unserializableValue` without CDP roundtrip.\n const args = await this.#flattenValueList(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => args),\n awaitPromise: false,\n arguments: args,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'set': {\n // TODO: if none of the nested items has a remote reference,\n // serialize to `unserializableValue` without CDP roundtrip.\n const args = await this.#flattenValueList(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => new Set(args)),\n awaitPromise: false,\n arguments: args,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'channel': {\n const channelProxy = new channelProxy_js_1.ChannelProxy(localValue.value, this.#logger);\n const channelProxySendMessageHandle = await channelProxy.init(this, this.#eventManager);\n return { objectId: channelProxySendMessageHandle };\n }\n // TODO(#375): Dispose of nested objects.\n }\n // Intentionally outside to handle unknown types\n throw new Error(`Value ${JSON.stringify(localValue)} is not deserializable.`);\n }\n async #getExceptionResult(exceptionDetails, lineOffset, resultOwnership) {\n return {\n exceptionDetails: await this.#serializeCdpExceptionDetails(exceptionDetails, lineOffset, resultOwnership),\n realm: this.realmId,\n type: 'exception',\n };\n }\n static #getSerializationOptions(serialization, serializationOptions) {\n return {\n serialization,\n additionalParameters: Realm.#getAdditionalSerializationParameters(serializationOptions),\n ...Realm.#getMaxObjectDepth(serializationOptions),\n };\n }\n static #getAdditionalSerializationParameters(serializationOptions) {\n const additionalParameters = {};\n if (serializationOptions.maxDomDepth !== undefined) {\n additionalParameters['maxNodeDepth'] =\n serializationOptions.maxDomDepth === null\n ? 1000\n : serializationOptions.maxDomDepth;\n }\n if (serializationOptions.includeShadowTree !== undefined) {\n additionalParameters['includeShadowTree'] =\n serializationOptions.includeShadowTree;\n }\n return additionalParameters;\n }\n static #getMaxObjectDepth(serializationOptions) {\n return serializationOptions.maxObjectDepth === undefined ||\n serializationOptions.maxObjectDepth === null\n ? {}\n : { maxDepth: serializationOptions.maxObjectDepth };\n }\n async #releaseObject(handle) {\n try {\n await this.cdpClient.sendCommand('Runtime.releaseObject', {\n objectId: handle,\n });\n }\n catch (error) {\n // Heuristic to determine if the problem is in the unknown handler.\n // Ignore the error if so.\n if (!(error.code === -32000 &&\n error.message === 'Invalid remote object id')) {\n throw error;\n }\n }\n }\n async disown(handle) {\n // Disowning an object from different realm does nothing.\n if (this.#realmStorage.knownHandlesToRealmMap.get(handle) !== this.realmId) {\n return;\n }\n await this.#releaseObject(handle);\n this.#realmStorage.knownHandlesToRealmMap.delete(handle);\n }\n dispose() {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmDestroyed,\n params: {\n realm: this.realmId,\n },\n }, this.browsingContextId);\n }\n}\nexports.Realm = Realm;\n//# sourceMappingURL=realm.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextImpl = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst unitConversions_js_1 = require(\"../../../utils/unitConversions.js\");\nconst realm_js_1 = require(\"../script/realm.js\");\nclass BrowsingContextImpl {\n static LOGGER_PREFIX = `${log_js_1.LogType.debug}:browsingContext`;\n /** The ID of this browsing context. */\n #id;\n /**\n * The ID of the parent browsing context.\n * If null, this is a top-level context.\n */\n #parentId;\n /** Direct children browsing contexts. */\n #children = new Set();\n #browsingContextStorage;\n #deferreds = {\n Page: {\n navigatedWithinDocument: new deferred_js_1.Deferred(),\n lifecycleEvent: {\n DOMContentLoaded: new deferred_js_1.Deferred(),\n load: new deferred_js_1.Deferred(),\n },\n },\n };\n #url = 'about:blank';\n #eventManager;\n #realmStorage;\n #loaderId;\n #cdpTarget;\n #maybeDefaultRealm;\n #logger;\n constructor(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n this.#cdpTarget = cdpTarget;\n this.#realmStorage = realmStorage;\n this.#id = id;\n this.#parentId = parentId;\n this.#eventManager = eventManager;\n this.#browsingContextStorage = browsingContextStorage;\n this.#logger = logger;\n }\n static create(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n const context = new BrowsingContextImpl(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger);\n context.#initListeners();\n browsingContextStorage.addContext(context);\n if (!context.isTopLevelContext()) {\n context.parent.addChild(context.id);\n }\n eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextCreatedEvent,\n params: context.serializeToBidiValue(),\n }, context.id);\n return context;\n }\n static getTimestamp() {\n // `timestamp` from the event is MonotonicTime, not real time, so\n // the best Mapper can do is to set the timestamp to the epoch time\n // of the event arrived.\n // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime\n return new Date().getTime();\n }\n /**\n * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable\n */\n get navigableId() {\n return this.#loaderId;\n }\n dispose() {\n this.#deleteAllChildren();\n this.#realmStorage.deleteRealms({\n browsingContextId: this.id,\n });\n // Remove context from the parent.\n if (!this.isTopLevelContext()) {\n this.parent.#children.delete(this.id);\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyedEvent,\n params: this.serializeToBidiValue(),\n }, this.id);\n this.#browsingContextStorage.deleteContextById(this.id);\n }\n /** Returns the ID of this context. */\n get id() {\n return this.#id;\n }\n /** Returns the parent context ID. */\n get parentId() {\n return this.#parentId;\n }\n /** Returns the parent context. */\n get parent() {\n if (this.parentId === null) {\n return null;\n }\n return this.#browsingContextStorage.getContext(this.parentId);\n }\n /** Returns all direct children contexts. */\n get directChildren() {\n return [...this.#children].map((id) => this.#browsingContextStorage.getContext(id));\n }\n /** Returns all children contexts, flattened. */\n get allChildren() {\n const children = this.directChildren;\n return children.concat(...children.map((child) => child.allChildren));\n }\n /**\n * Returns true if this is a top-level context.\n * This is the case whenever the parent context ID is null.\n */\n isTopLevelContext() {\n return this.#parentId === null;\n }\n get top() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let topContext = this;\n let parent = topContext.parent;\n while (parent) {\n topContext = parent;\n parent = topContext.parent;\n }\n return topContext;\n }\n addChild(childId) {\n this.#children.add(childId);\n }\n #deleteAllChildren() {\n this.directChildren.map((child) => child.dispose());\n }\n get #defaultRealm() {\n if (this.#maybeDefaultRealm === undefined) {\n throw new Error(`No default realm for browsing context ${this.#id}`);\n }\n return this.#maybeDefaultRealm;\n }\n get cdpTarget() {\n return this.#cdpTarget;\n }\n updateCdpTarget(cdpTarget) {\n this.#cdpTarget = cdpTarget;\n this.#initListeners();\n }\n get url() {\n return this.#url;\n }\n async lifecycleLoaded() {\n await this.#deferreds.Page.lifecycleEvent.load;\n }\n targetUnblocked() {\n return this.#cdpTarget.targetUnblocked;\n }\n async getOrCreateSandbox(sandbox) {\n if (sandbox === undefined || sandbox === '') {\n return this.#defaultRealm;\n }\n let maybeSandboxes = this.#realmStorage.findRealms({\n browsingContextId: this.id,\n sandbox,\n });\n if (maybeSandboxes.length === 0) {\n await this.#cdpTarget.cdpClient.sendCommand('Page.createIsolatedWorld', {\n frameId: this.id,\n worldName: sandbox,\n });\n // `Runtime.executionContextCreated` should be emitted by the time the\n // previous command is done.\n maybeSandboxes = this.#realmStorage.findRealms({\n browsingContextId: this.id,\n sandbox,\n });\n }\n if (maybeSandboxes.length !== 1) {\n throw Error(`Sandbox ${sandbox} wasn't created.`);\n }\n return maybeSandboxes[0];\n }\n serializeToBidiValue(maxDepth = 0, addParentField = true) {\n return {\n context: this.#id,\n url: this.url,\n children: maxDepth > 0\n ? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))\n : null,\n ...(addParentField ? { parent: this.#parentId } : {}),\n };\n }\n onTargetInfoChanged(params) {\n this.#url = params.targetInfo.url;\n }\n #initListeners() {\n this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {\n if (this.id !== params.frame.id) {\n return;\n }\n this.#url = params.frame.url + (params.frame.urlFragment ?? '');\n // At the point the page is initialized, all the nested iframes from the\n // previous page are detached and realms are destroyed.\n // Remove children from context.\n this.#deleteAllChildren();\n });\n this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n const timestamp = BrowsingContextImpl.getTimestamp();\n this.#url = params.url;\n this.#deferreds.Page.navigatedWithinDocument.resolve(params);\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,\n params: {\n context: this.id,\n navigation: null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.frameStartedLoading', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,\n params: {\n context: this.id,\n navigation: null,\n timestamp: BrowsingContextImpl.getTimestamp(),\n url: '',\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n if (params.name === 'init') {\n this.#documentChanged(params.loaderId);\n return;\n }\n if (params.name === 'commit') {\n this.#loaderId = params.loaderId;\n return;\n }\n // Ignore event from not current navigation.\n if (params.loaderId !== this.#loaderId) {\n return;\n }\n const timestamp = BrowsingContextImpl.getTimestamp();\n switch (params.name) {\n case 'DOMContentLoaded':\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoadedEvent,\n params: {\n context: this.id,\n navigation: this.#loaderId ?? null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);\n break;\n case 'load':\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.LoadEvent,\n params: {\n context: this.id,\n navigation: this.#loaderId ?? null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n this.#deferreds.Page.lifecycleEvent.load.resolve(params);\n break;\n }\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {\n if (params.context.auxData.frameId !== this.id) {\n return;\n }\n // Only this execution contexts are supported for now.\n if (!['default', 'isolated'].includes(params.context.auxData.type)) {\n return;\n }\n const realm = new realm_js_1.Realm(this.#realmStorage, this.#browsingContextStorage, params.context.uniqueId, this.id, params.context.id, this.#getOrigin(params), \n // XXX: differentiate types.\n 'window', \n // Sandbox name for isolated world.\n params.context.auxData.type === 'isolated'\n ? params.context.name\n : undefined, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);\n if (params.context.auxData.isDefault) {\n this.#maybeDefaultRealm = realm;\n // Initialize ChannelProxy listeners for all the channels of all the\n // preload scripts related to this BrowsingContext.\n // TODO: extend for not default realms by the sandbox name.\n void Promise.all(this.#cdpTarget\n .getChannels()\n .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));\n }\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextDestroyed', (params) => {\n this.#realmStorage.deleteRealms({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.executionContextId,\n });\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextsCleared', () => {\n this.#realmStorage.deleteRealms({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n });\n });\n this.#cdpTarget.cdpClient.on('Page.javascriptDialogClosed', (params) => {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,\n params: {\n context: this.id,\n accepted: params.result,\n // Cast empty string to undefined\n userText: params.userInput ? params.userInput : undefined,\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.javascriptDialogOpening', (params) => {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,\n params: {\n context: this.id,\n type: params.type,\n message: params.message,\n },\n }, this.id);\n });\n }\n #getOrigin(params) {\n if (params.context.auxData.type === 'isolated') {\n // Sandbox should have the same origin as the context itself, but in CDP\n // it has an empty one.\n return this.#defaultRealm.origin;\n }\n // https://html.spec.whatwg.org/multipage/origin.html#ascii-serialisation-of-an-origin\n return ['://', ''].includes(params.context.origin)\n ? 'null'\n : params.context.origin;\n }\n #documentChanged(loaderId) {\n // Same document navigation.\n if (loaderId === undefined || this.#loaderId === loaderId) {\n if (this.#deferreds.Page.navigatedWithinDocument.isFinished) {\n this.#deferreds.Page.navigatedWithinDocument =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (navigatedWithinDocument)');\n }\n return;\n }\n this.#resetDeferredsIfFinished();\n this.#loaderId = loaderId;\n }\n #resetDeferredsIfFinished() {\n if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {\n this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (DOMContentLoaded)');\n }\n if (this.#deferreds.Page.lifecycleEvent.load.isFinished) {\n this.#deferreds.Page.lifecycleEvent.load =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (load)');\n }\n }\n async navigate(url, wait) {\n try {\n void new URL(url);\n }\n catch {\n throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);\n }\n await this.targetUnblocked();\n // TODO: handle loading errors.\n const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {\n url,\n frameId: this.id,\n });\n if (cdpNavigateResult.errorText) {\n throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);\n }\n this.#documentChanged(cdpNavigateResult.loaderId);\n switch (wait) {\n case \"none\" /* BrowsingContext.ReadinessState.None */:\n break;\n case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n // No `loaderId` means same-document navigation.\n if (cdpNavigateResult.loaderId === undefined) {\n await this.#deferreds.Page.navigatedWithinDocument;\n }\n else {\n await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n }\n break;\n case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n // No `loaderId` means same-document navigation.\n if (cdpNavigateResult.loaderId === undefined) {\n await this.#deferreds.Page.navigatedWithinDocument;\n }\n else {\n await this.lifecycleLoaded();\n }\n break;\n }\n return {\n navigation: cdpNavigateResult.loaderId ?? null,\n url,\n };\n }\n async reload(ignoreCache, wait) {\n await this.targetUnblocked();\n await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {\n ignoreCache,\n });\n this.#resetDeferredsIfFinished();\n switch (wait) {\n case \"none\" /* BrowsingContext.ReadinessState.None */:\n break;\n case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n break;\n case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n await this.lifecycleLoaded();\n break;\n }\n return {};\n }\n async setViewport(viewport) {\n if (viewport === null) {\n await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');\n }\n else {\n try {\n await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {\n width: viewport.width,\n height: viewport.height,\n deviceScaleFactor: 0,\n mobile: false,\n dontSetVisibleSize: true,\n });\n }\n catch (err) {\n if (err.message.startsWith(\n // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff\n 'Width and height values must be positive')) {\n throw new protocol_js_1.UnsupportedOperationException('Provided viewport dimensions are not supported');\n }\n throw err;\n }\n }\n }\n async handleUserPrompt(params) {\n await this.#cdpTarget.cdpClient.sendCommand('Page.handleJavaScriptDialog', {\n accept: params.accept ?? true,\n promptText: params.userText,\n });\n }\n async activate() {\n await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n }\n async captureScreenshot() {\n // XXX: Focus the original tab after the screenshot is taken.\n // This is needed because the screenshot gets blocked until the active tab gets focus.\n await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n let clip;\n if (this.isTopLevelContext()) {\n const { cssContentSize, cssLayoutViewport } = await this.#cdpTarget.cdpClient.sendCommand('Page.getLayoutMetrics');\n clip = {\n x: cssContentSize.x,\n y: cssContentSize.y,\n width: cssLayoutViewport.clientWidth,\n height: cssLayoutViewport.clientHeight,\n };\n }\n else {\n const { result: { value: iframeDocRect }, } = await this.#cdpTarget.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String(() => {\n const docRect = globalThis.document.documentElement.getBoundingClientRect();\n return JSON.stringify({\n x: docRect.x,\n y: docRect.y,\n width: docRect.width,\n height: docRect.height,\n });\n }),\n executionContextId: this.#defaultRealm.executionContextId,\n });\n clip = JSON.parse(iframeDocRect);\n }\n const result = await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {\n clip: {\n ...clip,\n scale: 1.0,\n },\n });\n return {\n data: result.data,\n };\n }\n async print(params) {\n const cdpParams = {};\n if (params.background !== undefined) {\n cdpParams.printBackground = params.background;\n }\n if (params.margin?.bottom !== undefined) {\n cdpParams.marginBottom = (0, unitConversions_js_1.inchesFromCm)(params.margin.bottom);\n }\n if (params.margin?.left !== undefined) {\n cdpParams.marginLeft = (0, unitConversions_js_1.inchesFromCm)(params.margin.left);\n }\n if (params.margin?.right !== undefined) {\n cdpParams.marginRight = (0, unitConversions_js_1.inchesFromCm)(params.margin.right);\n }\n if (params.margin?.top !== undefined) {\n cdpParams.marginTop = (0, unitConversions_js_1.inchesFromCm)(params.margin.top);\n }\n if (params.orientation !== undefined) {\n cdpParams.landscape = params.orientation === 'landscape';\n }\n if (params.page?.height !== undefined) {\n cdpParams.paperHeight = (0, unitConversions_js_1.inchesFromCm)(params.page.height);\n }\n if (params.page?.width !== undefined) {\n cdpParams.paperWidth = (0, unitConversions_js_1.inchesFromCm)(params.page.width);\n }\n if (params.pageRanges !== undefined) {\n for (const range of params.pageRanges) {\n if (typeof range === 'number') {\n continue;\n }\n const rangeParts = range.split('-');\n if (rangeParts.length < 1 || rangeParts.length > 2) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${range} is not a valid integer range.`);\n }\n if (rangeParts.length === 1) {\n void parseInteger(rangeParts[0] ?? '');\n continue;\n }\n let lowerBound;\n let upperBound;\n const [rangeLowerPart = '', rangeUpperPart = ''] = rangeParts;\n if (rangeLowerPart === '') {\n lowerBound = 1;\n }\n else {\n lowerBound = parseInteger(rangeLowerPart);\n }\n if (rangeUpperPart === '') {\n upperBound = Number.MAX_SAFE_INTEGER;\n }\n else {\n upperBound = parseInteger(rangeUpperPart);\n }\n if (lowerBound > upperBound) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${rangeLowerPart} > ${rangeUpperPart}`);\n }\n }\n cdpParams.pageRanges = params.pageRanges.join(',');\n }\n if (params.scale !== undefined) {\n cdpParams.scale = params.scale;\n }\n if (params.shrinkToFit !== undefined) {\n cdpParams.preferCSSPageSize = !params.shrinkToFit;\n }\n try {\n const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);\n return {\n data: result.data,\n };\n }\n catch (error) {\n // Effectively zero dimensions.\n if (error.message ===\n 'invalid print parameters: content area is empty') {\n throw new protocol_js_1.UnsupportedOperationException(error.message);\n }\n throw error;\n }\n }\n async close() {\n await this.#cdpTarget.cdpClient.sendCommand('Page.close');\n }\n}\nexports.BrowsingContextImpl = BrowsingContextImpl;\nfunction parseInteger(value) {\n value = value.trim();\n if (!/^[0-9]+$/.test(value)) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid integer: ${value}`);\n }\n return parseInt(value);\n}\n//# sourceMappingURL=browsingContextImpl.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRemoteValuesText = exports.logMessageFormatter = void 0;\nconst specifiers = ['%s', '%d', '%i', '%f', '%o', '%O', '%c'];\nfunction isFormatSpecifier(str) {\n return specifiers.some((spec) => str.includes(spec));\n}\n/**\n * @param args input remote values to be format printed\n * @return parsed text of the remote values in specific format\n */\nfunction logMessageFormatter(args) {\n let output = '';\n const argFormat = args[0].value.toString();\n const argValues = args.slice(1, undefined);\n const tokens = argFormat.split(new RegExp(specifiers.map((spec) => `(${spec})`).join('|'), 'g'));\n for (const token of tokens) {\n if (token === undefined || token === '') {\n continue;\n }\n if (isFormatSpecifier(token)) {\n const arg = argValues.shift();\n // raise an exception when less value is provided\n if (arg === undefined) {\n throw new Error(`Less value is provided: \"${getRemoteValuesText(args, false)}\"`);\n }\n if (token === '%s') {\n output += stringFromArg(arg);\n }\n else if (token === '%d' || token === '%i') {\n if (arg.type === 'bigint' ||\n arg.type === 'number' ||\n arg.type === 'string') {\n output += parseInt(arg.value.toString(), 10);\n }\n else {\n output += 'NaN';\n }\n }\n else if (token === '%f') {\n if (arg.type === 'bigint' ||\n arg.type === 'number' ||\n arg.type === 'string') {\n output += parseFloat(arg.value.toString());\n }\n else {\n output += 'NaN';\n }\n }\n else {\n // %o, %O, %c\n output += toJson(arg);\n }\n }\n else {\n output += token;\n }\n }\n // raise an exception when more value is provided\n if (argValues.length > 0) {\n throw new Error(`More value is provided: \"${getRemoteValuesText(args, false)}\"`);\n }\n return output;\n}\nexports.logMessageFormatter = logMessageFormatter;\n/**\n * @param arg input remote value to be parsed\n * @return parsed text of the remote value\n *\n * input: {\"type\": \"number\", \"value\": 1}\n * output: 1\n *\n * input: {\"type\": \"string\", \"value\": \"abc\"}\n * output: \"abc\"\n *\n * input: {\"type\": \"object\", \"value\": [[\"id\", {\"type\": \"number\", \"value\": 1}]]}\n * output: '{\"id\": 1}'\n *\n * input: {\"type\": \"object\", \"value\": [[\"font-size\", {\"type\": \"string\", \"value\": \"20px\"}]]}\n * output: '{\"font-size\": \"20px\"}'\n */\nfunction toJson(arg) {\n // arg type validation\n if (arg.type !== 'array' &&\n arg.type !== 'bigint' &&\n arg.type !== 'date' &&\n arg.type !== 'number' &&\n arg.type !== 'object' &&\n arg.type !== 'string') {\n return stringFromArg(arg);\n }\n if (arg.type === 'bigint') {\n return `${arg.value.toString()}n`;\n }\n if (arg.type === 'number') {\n return arg.value.toString();\n }\n if (['date', 'string'].includes(arg.type)) {\n return JSON.stringify(arg.value);\n }\n if (arg.type === 'object') {\n return `{${arg.value\n .map((pair) => {\n return `${JSON.stringify(pair[0])}:${toJson(pair[1])}`;\n })\n .join(',')}}`;\n }\n if (arg.type === 'array') {\n return `[${arg.value?.map((val) => toJson(val)).join(',') ?? ''}]`;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n throw Error(`Invalid value type: ${arg}`);\n}\nfunction stringFromArg(arg) {\n if (!Object.hasOwn(arg, 'value')) {\n return arg.type;\n }\n switch (arg.type) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'bigint':\n return String(arg.value);\n case 'regexp':\n return `/${arg.value.pattern}/${arg.value.flags ?? ''}`;\n case 'date':\n return new Date(arg.value).toString();\n case 'object':\n return `Object(${arg.value?.length ?? ''})`;\n case 'array':\n return `Array(${arg.value?.length ?? ''})`;\n case 'map':\n return `Map(${arg.value?.length})`;\n case 'set':\n return `Set(${arg.value?.length})`;\n default:\n return arg.type;\n }\n}\nfunction getRemoteValuesText(args, formatText) {\n const arg = args[0];\n if (!arg) {\n return '';\n }\n // if args[0] is a format specifier, format the args as output\n if (arg.type === 'string' &&\n isFormatSpecifier(arg.value.toString()) &&\n formatText) {\n return logMessageFormatter(args);\n }\n // if args[0] is not a format specifier, just join the args with \\u0020 (unicode 'SPACE')\n return args\n .map((arg) => {\n return stringFromArg(arg);\n })\n .join('\\u0020');\n}\nexports.getRemoteValuesText = getRemoteValuesText;\n//# sourceMappingURL=logHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst logHelper_js_1 = require(\"./logHelper.js\");\n/** Converts CDP StackTrace object to BiDi StackTrace object. */\nfunction getBidiStackTrace(cdpStackTrace) {\n const stackFrames = cdpStackTrace?.callFrames.map((callFrame) => {\n return {\n columnNumber: callFrame.columnNumber,\n functionName: callFrame.functionName,\n lineNumber: callFrame.lineNumber,\n url: callFrame.url,\n };\n });\n return stackFrames ? { callFrames: stackFrames } : undefined;\n}\nfunction getLogLevel(consoleApiType) {\n if ([\"error\" /* Log.Level.Error */, 'assert'].includes(consoleApiType)) {\n return \"error\" /* Log.Level.Error */;\n }\n if ([\"debug\" /* Log.Level.Debug */, 'trace'].includes(consoleApiType)) {\n return \"debug\" /* Log.Level.Debug */;\n }\n if ([\"warn\" /* Log.Level.Warn */, 'warning'].includes(consoleApiType)) {\n return \"warn\" /* Log.Level.Warn */;\n }\n return \"info\" /* Log.Level.Info */;\n}\nclass LogManager {\n #eventManager;\n #realmStorage;\n #cdpTarget;\n constructor(cdpTarget, realmStorage, eventManager) {\n this.#cdpTarget = cdpTarget;\n this.#realmStorage = realmStorage;\n this.#eventManager = eventManager;\n }\n static create(cdpTarget, realmStorage, eventManager) {\n const logManager = new LogManager(cdpTarget, realmStorage, eventManager);\n logManager.#initializeEntryAddedEventListener();\n return logManager;\n }\n #initializeEntryAddedEventListener() {\n this.#cdpTarget.cdpClient.on('Runtime.consoleAPICalled', (params) => {\n // Try to find realm by `cdpSessionId` and `executionContextId`,\n // if provided.\n const realm = this.#realmStorage.findRealm({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.executionContextId,\n });\n const argsPromise = realm === undefined\n ? Promise.resolve(params.args)\n : // Properly serialize arguments if possible.\n Promise.all(params.args.map((arg) => {\n return realm.serializeCdpObject(arg, \"none\" /* Script.ResultOwnership.None */);\n }));\n this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({\n kind: 'success',\n value: {\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n params: {\n level: getLogLevel(params.type),\n source: {\n realm: realm?.realmId ?? 'UNKNOWN',\n context: realm?.browsingContextId ?? 'UNKNOWN',\n },\n text: (0, logHelper_js_1.getRemoteValuesText)(args, true),\n timestamp: Math.round(params.timestamp),\n stackTrace: getBidiStackTrace(params.stackTrace),\n type: 'console',\n // Console method is `warn`, not `warning`.\n method: params.type === 'warning' ? 'warn' : params.type,\n args,\n },\n },\n })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n });\n this.#cdpTarget.cdpClient.on('Runtime.exceptionThrown', (params) => {\n // Try to find realm by `cdpSessionId` and `executionContextId`,\n // if provided.\n const realm = this.#realmStorage.findRealm({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.exceptionDetails.executionContextId,\n });\n // Try the best to get the exception text.\n const textPromise = (async () => {\n if (!params.exceptionDetails.exception) {\n return params.exceptionDetails.text;\n }\n if (realm === undefined) {\n return JSON.stringify(params.exceptionDetails.exception);\n }\n return realm.stringifyObject(params.exceptionDetails.exception);\n })();\n this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({\n kind: 'success',\n value: {\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n params: {\n level: \"error\" /* Log.Level.Error */,\n source: {\n realm: realm?.realmId ?? 'UNKNOWN',\n context: realm?.browsingContextId ?? 'UNKNOWN',\n },\n text,\n timestamp: Math.round(params.timestamp),\n stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),\n type: 'javascript',\n },\n },\n })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n });\n }\n}\nexports.LogManager = LogManager;\n//# sourceMappingURL=logManager.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkManager = void 0;\n/** Maps 1:1 to CdpTarget. */\nclass NetworkManager {\n #cdpTarget;\n #networkStorage;\n constructor(cdpTarget, networkStorage) {\n this.#cdpTarget = cdpTarget;\n this.#networkStorage = networkStorage;\n }\n /** Returns the CDP Target associated with this NetworkManager instance. */\n get cdpTarget() {\n return this.#cdpTarget;\n }\n static create(cdpTarget, networkStorage) {\n const networkManager = new NetworkManager(cdpTarget, networkStorage);\n // XXX: This will work if a single page is open but what if we open 2 pages?\n // Investigate further.\n cdpTarget.cdpClient\n .browserClient()\n .on('Target.detachedFromTarget', (params) => {\n if (cdpTarget.cdpClient.sessionId === params.sessionId) {\n networkManager.#networkStorage.disposeRequestMap();\n }\n });\n cdpTarget.cdpClient.on('Network.requestWillBeSent', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onRequestWillBeSentEvent(params);\n });\n cdpTarget.cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onRequestWillBeSentExtraInfoEvent(params);\n });\n cdpTarget.cdpClient.on('Network.responseReceived', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onResponseReceivedEvent(params);\n });\n cdpTarget.cdpClient.on('Network.responseReceivedExtraInfo', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onResponseReceivedEventExtraInfo(params);\n });\n cdpTarget.cdpClient.on('Network.requestServedFromCache', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onServedFromCache();\n });\n cdpTarget.cdpClient.on('Network.loadingFailed', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onLoadingFailedEvent(params);\n networkManager.#forgetRequest(params.requestId);\n });\n cdpTarget.cdpClient.on('Network.loadingFinished', (params) => {\n networkManager.#forgetRequest(params.requestId);\n });\n return networkManager;\n }\n #forgetRequest(requestId) {\n const request = this.#networkStorage.requestMap.get(requestId);\n if (request) {\n request.dispose();\n this.#networkStorage.requestMap.delete(requestId);\n }\n }\n #getOrCreateNetworkRequest(requestId) {\n return this.#networkStorage.requestMap.get(requestId);\n }\n}\nexports.NetworkManager = NetworkManager;\n//# sourceMappingURL=NetworkManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpTarget = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst logManager_js_1 = require(\"../log/logManager.js\");\nconst NetworkManager_js_1 = require(\"../network/NetworkManager.js\");\nclass CdpTarget {\n #targetId;\n #cdpClient;\n #cdpSessionId;\n #eventManager;\n #preloadScriptStorage;\n #networkStorage;\n #targetUnblocked = new deferred_js_1.Deferred();\n static create(targetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage, networkStorage) {\n const cdpTarget = new CdpTarget(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage, networkStorage);\n logManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager);\n NetworkManager_js_1.NetworkManager.create(cdpTarget, networkStorage);\n cdpTarget.#setEventListeners();\n // No need to await.\n // Deferred will be resolved when the target is unblocked.\n void cdpTarget.#unblock();\n return cdpTarget;\n }\n constructor(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage, networkStorage) {\n this.#targetId = targetId;\n this.#cdpClient = cdpClient;\n this.#cdpSessionId = cdpSessionId;\n this.#eventManager = eventManager;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#networkStorage = networkStorage;\n }\n /** Returns a promise that resolves when the target is unblocked. */\n get targetUnblocked() {\n return this.#targetUnblocked;\n }\n get targetId() {\n return this.#targetId;\n }\n get cdpClient() {\n return this.#cdpClient;\n }\n /** Needed for CDP escape path. */\n get cdpSessionId() {\n return this.#cdpSessionId;\n }\n /** Calls `Fetch.enable` with the added network intercepts. */\n async fetchEnable() {\n await this.#cdpClient.sendCommand('Fetch.enable', this.#networkStorage.getFetchEnableParams());\n }\n /** Calls `Fetch.disable`. */\n async fetchDisable() {\n await this.#cdpClient.sendCommand('Fetch.disable');\n }\n /**\n * Calls `Fetch.disable` followed by `Fetch.enable`.\n * The order is important. Do not use `Promise.all`.\n *\n * This is necessary because `Fetch.disable` removes all intercepts.\n * In a situation where there are two or more intercepts and one of them is\n * removed, the `Fetch.enable` call will restore the remaining intercepts.\n */\n async fetchApply() {\n await this.fetchDisable();\n await this.fetchEnable();\n }\n /**\n * Enables all the required CDP domains and unblocks the target.\n */\n async #unblock() {\n try {\n // Collect all command promises and wait for them after\n // `Runtime.runIfWaitingForDebugger`.\n const promises = [];\n promises.push(this.#cdpClient.sendCommand('Runtime.enable'), this.#cdpClient.sendCommand('Page.enable'), this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {\n enabled: true,\n }), \n // XXX: #1080: Do not always enable the network domain globally.\n // TODO: enable Network domain for OOPiF targets.\n this.#cdpClient.sendCommand('Network.enable'), this.fetchApply(), this.#cdpClient.sendCommand('Target.setAutoAttach', {\n autoAttach: true,\n waitForDebuggerOnStart: true,\n flatten: true,\n }), this.#initAndEvaluatePreloadScripts());\n await this.#cdpClient.sendCommand('Runtime.runIfWaitingForDebugger');\n await Promise.all(promises);\n }\n catch (error) {\n // The target might have been closed before the initialization finished.\n if (!this.#cdpClient.isCloseError(error)) {\n throw error;\n }\n }\n this.#targetUnblocked.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n #setEventListeners() {\n this.#cdpClient.on('*', (event, params) => {\n // We may encounter uses for EventEmitter other than CDP events,\n // which we want to skip.\n if (typeof event !== 'string') {\n return;\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: `cdp.${event}`,\n params: {\n event,\n params: params,\n session: this.#cdpSessionId,\n },\n }, null);\n });\n }\n /**\n * All the ProxyChannels from all the preload scripts of the given\n * BrowsingContext.\n */\n getChannels() {\n return this.#preloadScriptStorage\n .findPreloadScripts()\n .flatMap((script) => script.channels);\n }\n /** Loads all top-level preload scripts. */\n async #initAndEvaluatePreloadScripts() {\n for (const script of this.#preloadScriptStorage.findPreloadScripts()) {\n await script.initInTarget(this, true);\n }\n }\n}\nexports.CdpTarget = CdpTarget;\n//# sourceMappingURL=cdpTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextProcessor = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst browsingContextImpl_js_1 = require(\"./browsingContextImpl.js\");\nconst cdpTarget_js_1 = require(\"./cdpTarget.js\");\nclass BrowsingContextProcessor {\n #cdpConnection;\n #selfTargetId;\n #eventManager;\n #browsingContextStorage;\n #networkStorage;\n #preloadScriptStorage;\n #realmStorage;\n #logger;\n constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger) {\n this.#cdpConnection = cdpConnection;\n this.#selfTargetId = selfTargetId;\n this.#eventManager = eventManager;\n this.#browsingContextStorage = browsingContextStorage;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#networkStorage = networkStorage;\n this.#realmStorage = realmStorage;\n this.#logger = logger;\n this.#setEventListeners(this.#cdpConnection.browserClient());\n }\n getTree(params) {\n const resultContexts = params.root === undefined\n ? this.#browsingContextStorage.getTopLevelContexts()\n : [this.#browsingContextStorage.getContext(params.root)];\n return {\n contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),\n };\n }\n async create(params) {\n const browserCdpClient = this.#cdpConnection.browserClient();\n let referenceContext;\n if (params.referenceContext !== undefined) {\n referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);\n if (!referenceContext.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException(`referenceContext should be a top-level context`);\n }\n }\n let result;\n switch (params.type) {\n case \"tab\" /* BrowsingContext.CreateType.Tab */:\n result = await browserCdpClient.sendCommand('Target.createTarget', {\n url: 'about:blank',\n newWindow: false,\n });\n break;\n case \"window\" /* BrowsingContext.CreateType.Window */:\n result = await browserCdpClient.sendCommand('Target.createTarget', {\n url: 'about:blank',\n newWindow: true,\n });\n break;\n }\n // Wait for the new tab to be loaded to avoid race conditions in the\n // `browsingContext` events, when the `browsingContext.domContentLoaded` and\n // `browsingContext.load` events from the initial `about:blank` navigation\n // are emitted after the next navigation is started.\n // Details: https://github.com/web-platform-tests/wpt/issues/35846\n const contextId = result.targetId;\n const context = this.#browsingContextStorage.getContext(contextId);\n await context.lifecycleLoaded();\n return { context: context.id };\n }\n navigate(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.navigate(params.url, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n }\n reload(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.reload(params.ignoreCache ?? false, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n }\n async activate(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException('Activation is only supported on the top-level context');\n }\n await context.activate();\n return {};\n }\n async captureScreenshot(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.captureScreenshot();\n }\n async print(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.print(params);\n }\n async setViewport(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException('Emulating viewport is only supported on the top-level context');\n }\n await context.setViewport(params.viewport);\n return {};\n }\n async handleUserPrompt(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n await context.handleUserPrompt(params);\n return {};\n }\n async close(commandParams) {\n const context = this.#browsingContextStorage.getContext(commandParams.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException(`Non top-level browsing context ${context.id} cannot be closed.`);\n }\n try {\n const browserCdpClient = this.#cdpConnection.browserClient();\n const detachedFromTargetPromise = new Promise((resolve) => {\n const onContextDestroyed = (event) => {\n if (event.targetId === commandParams.context) {\n browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);\n resolve();\n }\n };\n browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);\n });\n await context.close();\n // Sometimes CDP command finishes before `detachedFromTarget` event,\n // sometimes after. Wait for the CDP command to be finished, and then wait\n // for `detachedFromTarget` if it hasn't emitted.\n await detachedFromTargetPromise;\n }\n catch (error) {\n // Swallow error that arise from the page being destroyed\n // Example is navigating to faulty SSL certificate\n if (!(error.code === -32000 &&\n error.message === 'Not attached to an active page')) {\n throw error;\n }\n }\n return {};\n }\n /**\n * This method is called for each CDP session, since this class is responsible\n * for creating and destroying all targets and browsing contexts.\n */\n #setEventListeners(cdpClient) {\n cdpClient.on('Target.attachedToTarget', (params) => {\n this.#handleAttachedToTargetEvent(params, cdpClient);\n });\n cdpClient.on('Target.detachedFromTarget', (params) => {\n this.#handleDetachedFromTargetEvent(params);\n });\n cdpClient.on('Target.targetInfoChanged', (params) => {\n this.#handleTargetInfoChangedEvent(params);\n });\n cdpClient.on('Page.frameAttached', (params) => {\n this.#handleFrameAttachedEvent(params);\n });\n cdpClient.on('Page.frameDetached', (params) => {\n this.#handleFrameDetachedEvent(params);\n });\n }\n #handleFrameAttachedEvent(params) {\n const parentBrowsingContext = this.#browsingContextStorage.findContext(params.parentFrameId);\n if (parentBrowsingContext !== undefined) {\n browsingContextImpl_js_1.BrowsingContextImpl.create(parentBrowsingContext.cdpTarget, this.#realmStorage, params.frameId, params.parentFrameId, this.#eventManager, this.#browsingContextStorage, this.#logger);\n }\n }\n #handleFrameDetachedEvent(params) {\n // In case of OOPiF no need in deleting BrowsingContext.\n if (params.reason === 'swap') {\n return;\n }\n this.#browsingContextStorage.findContext(params.frameId)?.dispose();\n }\n #handleAttachedToTargetEvent(params, parentSessionCdpClient) {\n const { sessionId, targetInfo } = params;\n const targetCdpClient = this.#cdpConnection.getCdpClient(sessionId);\n if (!this.#isValidTarget(targetInfo)) {\n // DevTools or some other not supported by BiDi target. Just release\n // debugger and ignore them.\n targetCdpClient\n .sendCommand('Runtime.runIfWaitingForDebugger')\n .then(() => parentSessionCdpClient.sendCommand('Target.detachFromTarget', params))\n .catch((error) => this.#logger?.(log_js_1.LogType.debug, error));\n return;\n }\n this.#logger?.(log_js_1.LogType.debug, 'AttachedToTarget event received:', JSON.stringify(params, null, 2));\n this.#setEventListeners(targetCdpClient);\n const maybeContext = this.#browsingContextStorage.findContext(targetInfo.targetId);\n const cdpTarget = cdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage, this.#networkStorage);\n if (maybeContext) {\n // OOPiF.\n maybeContext.updateCdpTarget(cdpTarget);\n }\n else {\n // New context.\n browsingContextImpl_js_1.BrowsingContextImpl.create(cdpTarget, this.#realmStorage, targetInfo.targetId, null, this.#eventManager, this.#browsingContextStorage, this.#logger);\n }\n }\n #handleDetachedFromTargetEvent(params) {\n // XXX: params.targetId is deprecated. Update this class to track using\n // params.sessionId instead.\n // https://github.com/GoogleChromeLabs/chromium-bidi/issues/60\n const contextId = params.targetId;\n this.#browsingContextStorage.findContext(contextId)?.dispose();\n this.#preloadScriptStorage\n .findPreloadScripts({ targetId: contextId })\n .map((preloadScript) => preloadScript.dispose(contextId));\n }\n #handleTargetInfoChangedEvent(params) {\n const contextId = params.targetInfo.targetId;\n this.#browsingContextStorage\n .findContext(contextId)\n ?.onTargetInfoChanged(params);\n }\n #isValidTarget(target) {\n if (target.targetId === this.#selfTargetId) {\n return false;\n }\n return ['page', 'iframe'].includes(target.type);\n }\n}\nexports.BrowsingContextProcessor = BrowsingContextProcessor;\n//# sourceMappingURL=browsingContextProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = void 0;\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction assert(predicate) {\n if (!predicate) {\n throw new Error('Internal assertion failed.');\n }\n}\nexports.assert = assert;\n//# sourceMappingURL=assert.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n * Copyright 2022 The Chromium Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mutex = void 0;\n/**\n * Use Mutex class to coordinate local concurrent operations.\n * Once `acquire` promise resolves, you hold the lock and must\n * call `release` function returned by `acquire` to release the\n * lock. Failing to `release` the lock may lead to deadlocks.\n */\nclass Mutex {\n #locked = false;\n #acquirers = [];\n // This is FIFO.\n acquire() {\n const state = { resolved: false };\n if (this.#locked) {\n return new Promise((resolve) => {\n this.#acquirers.push(() => resolve(this.#release.bind(this, state)));\n });\n }\n this.#locked = true;\n return Promise.resolve(this.#release.bind(this, state));\n }\n #release(state) {\n if (state.resolved) {\n throw new Error('Cannot release more than once.');\n }\n state.resolved = true;\n const resolve = this.#acquirers.shift();\n if (!resolve) {\n this.#locked = false;\n return;\n }\n resolve();\n }\n async run(action) {\n const release = await this.acquire();\n try {\n // Note we need to await here because we want the await to release AFTER\n // that await happens. Returning action() will trigger the release\n // immediately which is counter to what we want.\n const result = await action();\n return result;\n }\n finally {\n release();\n }\n }\n}\nexports.Mutex = Mutex;\n//# sourceMappingURL=Mutex.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = void 0;\nclass NoneSource {\n type = \"none\" /* SourceType.None */;\n}\nexports.NoneSource = NoneSource;\nclass KeySource {\n type = \"key\" /* SourceType.Key */;\n pressed = new Set();\n // This is a bitfield that matches the modifiers parameter of\n // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent\n #modifiers = 0;\n get modifiers() {\n return this.#modifiers;\n }\n get alt() {\n return (this.#modifiers & 1) === 1;\n }\n set alt(value) {\n this.#setModifier(value, 1);\n }\n get ctrl() {\n return (this.#modifiers & 2) === 2;\n }\n set ctrl(value) {\n this.#setModifier(value, 2);\n }\n get meta() {\n return (this.#modifiers & 4) === 4;\n }\n set meta(value) {\n this.#setModifier(value, 4);\n }\n get shift() {\n return (this.#modifiers & 8) === 8;\n }\n set shift(value) {\n this.#setModifier(value, 8);\n }\n #setModifier(value, bit) {\n if (value) {\n this.#modifiers |= bit;\n }\n else {\n this.#modifiers &= ~bit;\n }\n }\n}\nexports.KeySource = KeySource;\nclass PointerSource {\n type = \"pointer\" /* SourceType.Pointer */;\n subtype;\n pointerId;\n pressed = new Set();\n x = 0;\n y = 0;\n constructor(id, subtype) {\n this.pointerId = id;\n this.subtype = subtype;\n }\n // This is a bitfield that matches the buttons parameter of\n // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent\n get buttons() {\n let buttons = 0;\n for (const button of this.pressed) {\n switch (button) {\n case 0:\n buttons |= 1;\n break;\n case 1:\n buttons |= 4;\n break;\n case 2:\n buttons |= 2;\n break;\n case 3:\n buttons |= 8;\n break;\n case 4:\n buttons |= 16;\n break;\n }\n }\n return buttons;\n }\n // --- Platform-specific state starts here ---\n // Input.dispatchMouseEvent doesn't know the concept of double click, so we\n // need to create it like for OSes:\n // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:ui/events/event.cc;l=479\n static #DOUBLE_CLICK_TIME_MS = 500;\n static #MAX_DOUBLE_CLICK_RADIUS = 2;\n #clickCount = 0;\n #lastClick;\n setClickCount(context) {\n if (!this.#lastClick ||\n // The click needs to be within a certain amount of ms.\n context.timeStamp - this.#lastClick.timeStamp >\n PointerSource.#DOUBLE_CLICK_TIME_MS ||\n // The click needs to be within a square radius.\n Math.abs(this.#lastClick.x - context.x) >\n PointerSource.#MAX_DOUBLE_CLICK_RADIUS ||\n Math.abs(this.#lastClick.y - context.y) >\n PointerSource.#MAX_DOUBLE_CLICK_RADIUS) {\n this.#clickCount = 0;\n }\n ++this.#clickCount;\n this.#lastClick = context;\n }\n get clickCount() {\n return this.#clickCount;\n }\n}\nexports.PointerSource = PointerSource;\nclass WheelSource {\n type = \"wheel\" /* SourceType.Wheel */;\n}\nexports.WheelSource = WheelSource;\n//# sourceMappingURL=InputSource.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputState = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst Mutex_js_1 = require(\"../../../utils/Mutex.js\");\nconst InputSource_js_1 = require(\"./InputSource.js\");\nclass InputState {\n cancelList = [];\n #sources = new Map();\n #mutex = new Mutex_js_1.Mutex();\n getOrCreate(id, type, subtype) {\n let source = this.#sources.get(id);\n if (!source) {\n switch (type) {\n case \"none\" /* SourceType.None */:\n source = new InputSource_js_1.NoneSource();\n break;\n case \"key\" /* SourceType.Key */:\n source = new InputSource_js_1.KeySource();\n break;\n case \"pointer\" /* SourceType.Pointer */: {\n let pointerId = subtype === \"mouse\" /* Input.PointerType.Mouse */ ? 0 : 2;\n const pointerIds = new Set();\n for (const [, source] of this.#sources) {\n if (source.type === \"pointer\" /* SourceType.Pointer */) {\n pointerIds.add(source.pointerId);\n }\n }\n while (pointerIds.has(pointerId)) {\n ++pointerId;\n }\n source = new InputSource_js_1.PointerSource(pointerId, subtype);\n break;\n }\n case \"wheel\" /* SourceType.Wheel */:\n source = new InputSource_js_1.WheelSource();\n break;\n default:\n throw new protocol_js_1.InvalidArgumentException(`Expected \"${\"none\" /* SourceType.None */}\", \"${\"key\" /* SourceType.Key */}\", \"${\"pointer\" /* SourceType.Pointer */}\", or \"${\"wheel\" /* SourceType.Wheel */}\". Found unknown source type ${type}.`);\n }\n this.#sources.set(id, source);\n return source;\n }\n if (source.type !== type) {\n throw new protocol_js_1.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);\n }\n return source;\n }\n get(id) {\n const source = this.#sources.get(id);\n if (!source) {\n throw new protocol_js_1.UnknownErrorException(`Internal error.`);\n }\n return source;\n }\n getGlobalKeyState() {\n const state = new InputSource_js_1.KeySource();\n for (const [, source] of this.#sources) {\n if (source.type !== \"key\" /* SourceType.Key */) {\n continue;\n }\n for (const pressed of source.pressed) {\n state.pressed.add(pressed);\n }\n state.alt ||= source.alt;\n state.ctrl ||= source.ctrl;\n state.meta ||= source.meta;\n state.shift ||= source.shift;\n }\n return state;\n }\n get queue() {\n return this.#mutex;\n }\n}\nexports.InputState = InputState;\n//# sourceMappingURL=InputState.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputStateManager = void 0;\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst InputState_js_1 = require(\"./InputState.js\");\n// We use a weak map here as specified here:\n// https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map\nclass InputStateManager extends WeakMap {\n get(context) {\n (0, assert_js_1.assert)(context.isTopLevelContext());\n if (!this.has(context)) {\n this.set(context, new InputState_js_1.InputState());\n }\n return super.get(context);\n }\n}\nexports.InputStateManager = InputStateManager;\n//# sourceMappingURL=InputStateManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyToKeyCode = void 0;\n// TODO: Remove this once https://crrev.com/c/4548290 is stably in Chromium.\n// `Input.dispatchKeyboardEvent` will automatically handle these conversions.\nexports.KeyToKeyCode = {\n '0': 48,\n '1': 49,\n '2': 50,\n '3': 51,\n '4': 52,\n '5': 53,\n '6': 54,\n '7': 55,\n '8': 56,\n '9': 57,\n Abort: 3,\n Help: 6,\n Backspace: 8,\n Tab: 9,\n Numpad5: 12,\n NumpadEnter: 13,\n Enter: 13,\n '\\\\r': 13,\n '\\\\n': 13,\n ShiftLeft: 16,\n ShiftRight: 16,\n ControlLeft: 17,\n ControlRight: 17,\n AltLeft: 18,\n AltRight: 18,\n Pause: 19,\n CapsLock: 20,\n Escape: 27,\n Convert: 28,\n NonConvert: 29,\n Space: 32,\n Numpad9: 33,\n PageUp: 33,\n Numpad3: 34,\n PageDown: 34,\n End: 35,\n Numpad1: 35,\n Home: 36,\n Numpad7: 36,\n ArrowLeft: 37,\n Numpad4: 37,\n Numpad8: 38,\n ArrowUp: 38,\n ArrowRight: 39,\n Numpad6: 39,\n Numpad2: 40,\n ArrowDown: 40,\n Select: 41,\n Open: 43,\n PrintScreen: 44,\n Insert: 45,\n Numpad0: 45,\n Delete: 46,\n NumpadDecimal: 46,\n Digit0: 48,\n Digit1: 49,\n Digit2: 50,\n Digit3: 51,\n Digit4: 52,\n Digit5: 53,\n Digit6: 54,\n Digit7: 55,\n Digit8: 56,\n Digit9: 57,\n KeyA: 65,\n KeyB: 66,\n KeyC: 67,\n KeyD: 68,\n KeyE: 69,\n KeyF: 70,\n KeyG: 71,\n KeyH: 72,\n KeyI: 73,\n KeyJ: 74,\n KeyK: 75,\n KeyL: 76,\n KeyM: 77,\n KeyN: 78,\n KeyO: 79,\n KeyP: 80,\n KeyQ: 81,\n KeyR: 82,\n KeyS: 83,\n KeyT: 84,\n KeyU: 85,\n KeyV: 86,\n KeyW: 87,\n KeyX: 88,\n KeyY: 89,\n KeyZ: 90,\n MetaLeft: 91,\n MetaRight: 92,\n ContextMenu: 93,\n NumpadMultiply: 106,\n NumpadAdd: 107,\n NumpadSubtract: 109,\n NumpadDivide: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n F13: 124,\n F14: 125,\n F15: 126,\n F16: 127,\n F17: 128,\n F18: 129,\n F19: 130,\n F20: 131,\n F21: 132,\n F22: 133,\n F23: 134,\n F24: 135,\n NumLock: 144,\n ScrollLock: 145,\n AudioVolumeMute: 173,\n AudioVolumeDown: 174,\n AudioVolumeUp: 175,\n MediaTrackNext: 176,\n MediaTrackPrevious: 177,\n MediaStop: 178,\n MediaPlayPause: 179,\n Semicolon: 186,\n Equal: 187,\n NumpadEqual: 187,\n Comma: 188,\n Minus: 189,\n Period: 190,\n Slash: 191,\n Backquote: 192,\n BracketLeft: 219,\n Backslash: 220,\n BracketRight: 221,\n Quote: 222,\n AltGraph: 225,\n Props: 247,\n Cancel: 3,\n Clear: 12,\n Shift: 16,\n Control: 17,\n Alt: 18,\n Accept: 30,\n ModeChange: 31,\n ' ': 32,\n Print: 42,\n Execute: 43,\n '\\\\u0000': 46,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n Meta: 91,\n '*': 106,\n '+': 107,\n '-': 109,\n '/': 111,\n ';': 186,\n '=': 187,\n ',': 188,\n '.': 190,\n '`': 192,\n '[': 219,\n '\\\\\\\\': 220,\n ']': 221,\n \"'\": 222,\n Attn: 246,\n CrSel: 247,\n ExSel: 248,\n EraseEof: 249,\n Play: 250,\n ZoomOut: 251,\n ')': 48,\n '!': 49,\n '@': 50,\n '#': 51,\n $: 52,\n '%': 53,\n '^': 54,\n '&': 55,\n '(': 57,\n A: 65,\n B: 66,\n C: 67,\n D: 68,\n E: 69,\n F: 70,\n G: 71,\n H: 72,\n I: 73,\n J: 74,\n K: 75,\n L: 76,\n M: 77,\n N: 78,\n O: 79,\n P: 80,\n Q: 81,\n R: 82,\n S: 83,\n T: 84,\n U: 85,\n V: 86,\n W: 87,\n X: 88,\n Y: 89,\n Z: 90,\n ':': 186,\n '<': 188,\n _: 189,\n '>': 190,\n '?': 191,\n '~': 192,\n '{': 219,\n '|': 220,\n '}': 221,\n '\"': 222,\n Camera: 44,\n EndCall: 95,\n VolumeDown: 182,\n VolumeUp: 183,\n};\n//# sourceMappingURL=USKeyboardLayout.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKeyLocation = exports.getKeyCode = exports.getNormalizedKey = void 0;\nfunction getNormalizedKey(value) {\n switch (value) {\n case '\\uE000':\n return 'Unidentified';\n case '\\uE001':\n return 'Cancel';\n case '\\uE002':\n return 'Help';\n case '\\uE003':\n return 'Backspace';\n case '\\uE004':\n return 'Tab';\n case '\\uE005':\n return 'Clear';\n case '\\uE006':\n return 'Return';\n case '\\uE007':\n return 'Enter';\n case '\\uE008':\n return 'Shift';\n case '\\uE009':\n return 'Control';\n case '\\uE00A':\n return 'Alt';\n case '\\uE00B':\n return 'Pause';\n case '\\uE00C':\n return 'Escape';\n case '\\uE00D':\n return ' ';\n case '\\uE00E':\n return 'PageUp';\n case '\\uE00F':\n return 'PageDown';\n case '\\uE010':\n return 'End';\n case '\\uE011':\n return 'Home';\n case '\\uE012':\n return 'ArrowLeft';\n case '\\uE013':\n return 'ArrowUp';\n case '\\uE014':\n return 'ArrowRight';\n case '\\uE015':\n return 'ArrowDown';\n case '\\uE016':\n return 'Insert';\n case '\\uE017':\n return 'Delete';\n case '\\uE018':\n return ';';\n case '\\uE019':\n return '=';\n case '\\uE01A':\n return '0';\n case '\\uE01B':\n return '1';\n case '\\uE01C':\n return '2';\n case '\\uE01D':\n return '3';\n case '\\uE01E':\n return '4';\n case '\\uE01F':\n return '5';\n case '\\uE020':\n return '6';\n case '\\uE021':\n return '7';\n case '\\uE022':\n return '8';\n case '\\uE023':\n return '9';\n case '\\uE024':\n return '*';\n case '\\uE025':\n return '+';\n case '\\uE026':\n return ',';\n case '\\uE027':\n return '-';\n case '\\uE028':\n return '.';\n case '\\uE029':\n return '/';\n case '\\uE031':\n return 'F1';\n case '\\uE032':\n return 'F2';\n case '\\uE033':\n return 'F3';\n case '\\uE034':\n return 'F4';\n case '\\uE035':\n return 'F5';\n case '\\uE036':\n return 'F6';\n case '\\uE037':\n return 'F7';\n case '\\uE038':\n return 'F8';\n case '\\uE039':\n return 'F9';\n case '\\uE03A':\n return 'F10';\n case '\\uE03B':\n return 'F11';\n case '\\uE03C':\n return 'F12';\n case '\\uE03D':\n return 'Meta';\n case '\\uE040':\n return 'ZenkakuHankaku';\n case '\\uE050':\n return 'Shift';\n case '\\uE051':\n return 'Control';\n case '\\uE052':\n return 'Alt';\n case '\\uE053':\n return 'Meta';\n case '\\uE054':\n return 'PageUp';\n case '\\uE055':\n return 'PageDown';\n case '\\uE056':\n return 'End';\n case '\\uE057':\n return 'Home';\n case '\\uE058':\n return 'ArrowLeft';\n case '\\uE059':\n return 'ArrowUp';\n case '\\uE05A':\n return 'ArrowRight';\n case '\\uE05B':\n return 'ArrowDown';\n case '\\uE05C':\n return 'Insert';\n case '\\uE05D':\n return 'Delete';\n default:\n return value;\n }\n}\nexports.getNormalizedKey = getNormalizedKey;\nfunction getKeyCode(key) {\n switch (key) {\n case '`':\n case '~':\n return 'Backquote';\n case '\\\\':\n case '|':\n return 'Backslash';\n case '\\uE003':\n return 'Backspace';\n case '[':\n case '{':\n return 'BracketLeft';\n case ']':\n case '}':\n return 'BracketRight';\n case ',':\n case '<':\n return 'Comma';\n case '0':\n case ')':\n return 'Digit0';\n case '1':\n case '!':\n return 'Digit1';\n case '2':\n case '@':\n return 'Digit2';\n case '3':\n case '#':\n return 'Digit3';\n case '4':\n case '$':\n return 'Digit4';\n case '5':\n case '%':\n return 'Digit5';\n case '6':\n case '^':\n return 'Digit6';\n case '7':\n case '&':\n return 'Digit7';\n case '8':\n case '*':\n return 'Digit8';\n case '9':\n case '(':\n return 'Digit9';\n case '=':\n case '+':\n return 'Equal';\n case 'a':\n case 'A':\n return 'KeyA';\n case 'b':\n case 'B':\n return 'KeyB';\n case 'c':\n case 'C':\n return 'KeyC';\n case 'd':\n case 'D':\n return 'KeyD';\n case 'e':\n case 'E':\n return 'KeyE';\n case 'f':\n case 'F':\n return 'KeyF';\n case 'g':\n case 'G':\n return 'KeyG';\n case 'h':\n case 'H':\n return 'KeyH';\n case 'i':\n case 'I':\n return 'KeyI';\n case 'j':\n case 'J':\n return 'KeyJ';\n case 'k':\n case 'K':\n return 'KeyK';\n case 'l':\n case 'L':\n return 'KeyL';\n case 'm':\n case 'M':\n return 'KeyM';\n case 'n':\n case 'N':\n return 'KeyN';\n case 'o':\n case 'O':\n return 'KeyO';\n case 'p':\n case 'P':\n return 'KeyP';\n case 'q':\n case 'Q':\n return 'KeyQ';\n case 'r':\n case 'R':\n return 'KeyR';\n case 's':\n case 'S':\n return 'KeyS';\n case 't':\n case 'T':\n return 'KeyT';\n case 'u':\n case 'U':\n return 'KeyU';\n case 'v':\n case 'V':\n return 'KeyV';\n case 'w':\n case 'W':\n return 'KeyW';\n case 'x':\n case 'X':\n return 'KeyX';\n case 'y':\n case 'Y':\n return 'KeyY';\n case 'z':\n case 'Z':\n return 'KeyZ';\n case '-':\n case '_':\n return 'Minus';\n case '.':\n return 'Period';\n case \"'\":\n case '\"':\n return 'Quote';\n case ';':\n case ':':\n return 'Semicolon';\n case '/':\n case '?':\n return 'Slash';\n case '\\uE00A':\n return 'AltLeft';\n case '\\uE052':\n return 'AltRight';\n case '\\uE009':\n return 'ControlLeft';\n case '\\uE051':\n return 'ControlRight';\n case '\\uE006':\n return 'Enter';\n case '\\uE03D':\n return 'MetaLeft';\n case '\\uE053':\n return 'MetaRight';\n case '\\uE008':\n return 'ShiftLeft';\n case '\\uE050':\n return 'ShiftRight';\n case ' ':\n case '\\uE00D':\n return 'Space';\n case '\\uE004':\n return 'Tab';\n case '\\uE017':\n return 'Delete';\n case '\\uE010':\n return 'End';\n case '\\uE002':\n return 'Help';\n case '\\uE011':\n return 'Home';\n case '\\uE016':\n return 'Insert';\n case '\\uE00F':\n return 'PageDown';\n case '\\uE00E':\n return 'PageUp';\n case '\\uE015':\n return 'ArrowDown';\n case '\\uE012':\n return 'ArrowLeft';\n case '\\uE014':\n return 'ArrowRight';\n case '\\uE013':\n return 'ArrowUp';\n case '\\uE00C':\n return 'Escape';\n case '\\uE031':\n return 'F1';\n case '\\uE032':\n return 'F2';\n case '\\uE033':\n return 'F3';\n case '\\uE034':\n return 'F4';\n case '\\uE035':\n return 'F5';\n case '\\uE036':\n return 'F6';\n case '\\uE037':\n return 'F7';\n case '\\uE038':\n return 'F8';\n case '\\uE039':\n return 'F9';\n case '\\uE03A':\n return 'F10';\n case '\\uE03B':\n return 'F11';\n case '\\uE03C':\n return 'F12';\n case '\\uE01A':\n case '\\uE05C':\n return 'Numpad0';\n case '\\uE01B':\n case '\\uE056':\n return 'Numpad1';\n case '\\uE01C':\n case '\\uE05B':\n return 'Numpad2';\n case '\\uE01D':\n case '\\uE055':\n return 'Numpad3';\n case '\\uE01E':\n case '\\uE058':\n return 'Numpad4';\n case '\\uE01F':\n return 'Numpad5';\n case '\\uE020':\n case '\\uE05A':\n return 'Numpad6';\n case '\\uE021':\n case '\\uE057':\n return 'Numpad7';\n case '\\uE022':\n case '\\uE059':\n return 'Numpad8';\n case '\\uE023':\n case '\\uE054':\n return 'Numpad9';\n case '\\uE025':\n return 'NumpadAdd';\n case '\\uE026':\n return 'NumpadComma';\n case '\\uE028':\n case '\\uE05D':\n return 'NumpadDecimal';\n case '\\uE029':\n return 'NumpadDivide';\n case '\\uE007':\n return 'NumpadEnter';\n case '\\uE024':\n return 'NumpadMultiply';\n case '\\uE027':\n return 'NumpadSubtract';\n default:\n return;\n }\n}\nexports.getKeyCode = getKeyCode;\nfunction getKeyLocation(key) {\n switch (key) {\n case '\\uE007':\n case '\\uE008':\n case '\\uE009':\n case '\\uE00A':\n case '\\uE03D':\n return 1;\n case '\\uE01A':\n case '\\uE01B':\n case '\\uE01C':\n case '\\uE01D':\n case '\\uE01E':\n case '\\uE01F':\n case '\\uE020':\n case '\\uE021':\n case '\\uE022':\n case '\\uE023':\n case '\\uE024':\n case '\\uE025':\n case '\\uE026':\n case '\\uE027':\n case '\\uE028':\n case '\\uE029':\n case '\\uE054':\n case '\\uE055':\n case '\\uE056':\n case '\\uE057':\n case '\\uE058':\n case '\\uE059':\n case '\\uE05A':\n case '\\uE05B':\n case '\\uE05C':\n case '\\uE05D':\n return 3;\n case '\\uE050':\n case '\\uE051':\n case '\\uE052':\n case '\\uE053':\n return 2;\n default:\n return 0;\n }\n}\nexports.getKeyLocation = getKeyLocation;\n//# sourceMappingURL=keyUtils.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionDispatcher = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst USKeyboardLayout_js_1 = require(\"./USKeyboardLayout.js\");\nconst keyUtils_js_1 = require(\"./keyUtils.js\");\n/** https://w3c.github.io/webdriver/#dfn-center-point */\nconst CALCULATE_IN_VIEW_CENTER_PT_DECL = ((i) => {\n const t = i.getClientRects()[0], e = Math.max(0, Math.min(t.x, t.x + t.width)), n = Math.min(window.innerWidth, Math.max(t.x, t.x + t.width)), h = Math.max(0, Math.min(t.y, t.y + t.height)), m = Math.min(window.innerHeight, Math.max(t.y, t.y + t.height));\n return [e + ((n - e) >> 1), h + ((m - h) >> 1)];\n}).toString();\nconst IS_MAC_DECL = (() => {\n return navigator.platform.toLowerCase().includes('mac');\n}).toString();\nasync function getElementCenter(context, element) {\n const sandbox = await context.getOrCreateSandbox(undefined);\n const result = await sandbox.callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, \"none\" /* Script.ResultOwnership.None */, {});\n if (result.type === 'exception') {\n throw new protocol_js_1.NoSuchElementException(`Origin element ${element.sharedId} was not found`);\n }\n (0, assert_js_1.assert)(result.result.type === 'array');\n (0, assert_js_1.assert)(result.result.value?.[0]?.type === 'number');\n (0, assert_js_1.assert)(result.result.value?.[1]?.type === 'number');\n const { result: { value: [{ value: x }, { value: y }], }, } = result;\n return { x: x, y: y };\n}\nclass ActionDispatcher {\n static isMacOS = async (context) => {\n const result = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, \"none\" /* Script.ResultOwnership.None */, {});\n (0, assert_js_1.assert)(result.type !== 'exception');\n (0, assert_js_1.assert)(result.result.type === 'boolean');\n return result.result.value;\n };\n #tickStart = 0;\n #tickDuration = 0;\n #inputState;\n #context;\n #isMacOS;\n constructor(inputState, context, isMacOS) {\n this.#inputState = inputState;\n this.#context = context;\n this.#isMacOS = isMacOS;\n }\n async dispatchActions(optionsByTick) {\n await this.#inputState.queue.run(async () => {\n for (const options of optionsByTick) {\n await this.dispatchTickActions(options);\n }\n });\n }\n async dispatchTickActions(options) {\n this.#tickStart = performance.now();\n this.#tickDuration = 0;\n for (const { action } of options) {\n if ('duration' in action && action.duration !== undefined) {\n this.#tickDuration = Math.max(this.#tickDuration, action.duration);\n }\n }\n const promises = [\n new Promise((resolve) => setTimeout(resolve, this.#tickDuration)),\n ];\n for (const option of options) {\n // In theory we have to wait for each action to happen, but CDP is serial,\n // so as an optimization, we queue all CDP commands at once and await all\n // of them.\n promises.push(this.#dispatchAction(option));\n }\n await Promise.all(promises);\n }\n async #dispatchAction({ id, action }) {\n const source = this.#inputState.get(id);\n const keyState = this.#inputState.getGlobalKeyState();\n switch (action.type) {\n case 'keyDown': {\n // SAFETY: The source is validated before.\n await this.#dispatchKeyDownAction(source, action);\n this.#inputState.cancelList.push({\n id,\n action: {\n ...action,\n type: 'keyUp',\n },\n });\n break;\n }\n case 'keyUp': {\n // SAFETY: The source is validated before.\n await this.#dispatchKeyUpAction(source, action);\n break;\n }\n case 'pause': {\n // TODO: Implement waiting on the input source.\n break;\n }\n case 'pointerDown': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerDownAction(source, keyState, action);\n this.#inputState.cancelList.push({\n id,\n action: {\n ...action,\n type: 'pointerUp',\n },\n });\n break;\n }\n case 'pointerMove': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerMoveAction(source, keyState, action);\n break;\n }\n case 'pointerUp': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerUpAction(source, keyState, action);\n break;\n }\n case 'scroll': {\n // SAFETY: The source is validated before.\n await this.#dispatchScrollAction(source, keyState, action);\n break;\n }\n }\n }\n #dispatchPointerDownAction(source, keyState, action) {\n const { button } = action;\n if (source.pressed.has(button)) {\n return;\n }\n source.pressed.add(button);\n const { x, y, subtype: pointerType } = source;\n const { width, height, pressure, twist, tangentialPressure } = action;\n const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n // TODO: Implement azimuth/altitude angle.\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n case \"pen\" /* Input.PointerType.Pen */:\n source.setClickCount({ x, y, timeStamp: performance.now() });\n // TODO: Implement width and height when available.\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mousePressed',\n x,\n y,\n modifiers,\n button: getCdpButton(button),\n buttons: source.buttons,\n clickCount: source.clickCount,\n pointerType,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n });\n case \"touch\" /* Input.PointerType.Touch */:\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchStart',\n touchPoints: [\n {\n x,\n y,\n radiusX: width,\n radiusY: height,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n }\n // --- Platform-specific code ends here ---\n }\n #dispatchPointerUpAction(source, keyState, action) {\n const { button } = action;\n if (!source.pressed.has(button)) {\n return;\n }\n source.pressed.delete(button);\n const { x, y, subtype: pointerType } = source;\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n case \"pen\" /* Input.PointerType.Pen */:\n // TODO: Implement width and height when available.\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseReleased',\n x,\n y,\n modifiers,\n button: getCdpButton(button),\n buttons: source.buttons,\n clickCount: source.clickCount,\n pointerType,\n });\n case \"touch\" /* Input.PointerType.Touch */:\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchEnd',\n touchPoints: [\n {\n x,\n y,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n }\n // --- Platform-specific code ends here ---\n }\n async #dispatchPointerMoveAction(source, keyState, action) {\n const { x: startX, y: startY, subtype: pointerType } = source;\n const { width, height, pressure, twist, tangentialPressure, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n // TODO: Implement azimuth/altitude angle.\n const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY);\n if (targetX < 0 || targetY < 0) {\n throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n }\n let last;\n do {\n const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n last = ratio >= 1;\n let x;\n let y;\n if (last) {\n x = targetX;\n y = targetY;\n }\n else {\n x = Math.round(ratio * (targetX - startX) + startX);\n y = Math.round(ratio * (targetY - startY) + startY);\n }\n if (source.x !== x || source.y !== y) {\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n case \"pen\" /* Input.PointerType.Pen */:\n // TODO: Implement width and height when available.\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseMoved',\n x,\n y,\n modifiers,\n clickCount: 0,\n button: getCdpButton(source.pressed.values().next().value ?? 5),\n buttons: source.buttons,\n pointerType,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n });\n break;\n case \"touch\" /* Input.PointerType.Touch */:\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchMove',\n touchPoints: [\n {\n x,\n y,\n radiusX: width,\n radiusY: height,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n break;\n }\n // --- Platform-specific code ends here ---\n source.x = x;\n source.y = y;\n }\n } while (!last);\n }\n async #getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY) {\n let targetX;\n let targetY;\n switch (origin) {\n case 'viewport':\n targetX = offsetX;\n targetY = offsetY;\n break;\n case 'pointer':\n targetX = startX + offsetX;\n targetY = startY + offsetY;\n break;\n default: {\n const { x: posX, y: posY } = await getElementCenter(this.#context, origin.element);\n // SAFETY: These can never be special numbers.\n targetX = posX + offsetX;\n targetY = posY + offsetY;\n break;\n }\n }\n return { targetX, targetY };\n }\n async #dispatchScrollAction(_source, keyState, action) {\n const { deltaX: targetDeltaX, deltaY: targetDeltaY, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n if (origin === 'pointer') {\n throw new protocol_js_1.InvalidArgumentException('\"pointer\" origin is invalid for scrolling.');\n }\n const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, 0, 0);\n if (targetX < 0 || targetY < 0) {\n throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n }\n let currentDeltaX = 0;\n let currentDeltaY = 0;\n let last;\n do {\n const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n last = ratio >= 1;\n let deltaX;\n let deltaY;\n if (last) {\n deltaX = targetDeltaX - currentDeltaX;\n deltaY = targetDeltaY - currentDeltaY;\n }\n else {\n deltaX = Math.round(ratio * targetDeltaX - currentDeltaX);\n deltaY = Math.round(ratio * targetDeltaY - currentDeltaY);\n }\n if (deltaX !== 0 || deltaY !== 0) {\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseWheel',\n deltaX,\n deltaY,\n x: targetX,\n y: targetY,\n modifiers,\n });\n // --- Platform-specific code ends here ---\n currentDeltaX += deltaX;\n currentDeltaY += deltaY;\n }\n } while (!last);\n }\n async #dispatchKeyDownAction(source, action) {\n if ([...action.value].length > 1) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n }\n const rawKey = action.value;\n const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n const repeat = source.pressed.has(key);\n const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n switch (key) {\n case 'Alt':\n source.alt = true;\n break;\n case 'Shift':\n source.shift = true;\n break;\n case 'Control':\n source.ctrl = true;\n break;\n case 'Meta':\n source.meta = true;\n break;\n }\n source.pressed.add(key);\n const { modifiers } = source;\n // --- Platform-specific code begins here ---\n // The spread is a little hack so JS gives us an array of unicode characters\n // to measure.\n const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n let command;\n // The following commands need to be declared because Chromium doesn't\n // handle them. See\n // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/blink/renderer/core/editing/editing_behavior.cc;l=169;drc=b8143cf1dfd24842890fcd831c4f5d909bef4fc4;bpv=0;bpt=1.\n if (this.#isMacOS && source.meta) {\n switch (code) {\n case 'KeyA':\n command = 'SelectAll';\n break;\n case 'KeyC':\n command = 'Copy';\n break;\n case 'KeyV':\n command = source.shift ? 'PasteAndMatchStyle' : 'Paste';\n break;\n case 'KeyX':\n command = 'Cut';\n break;\n case 'KeyZ':\n command = source.shift ? 'Redo' : 'Undo';\n break;\n default:\n // Intentionally empty.\n }\n }\n const promises = [\n this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n type: text ? 'keyDown' : 'rawKeyDown',\n windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n key,\n code,\n text,\n unmodifiedText,\n autoRepeat: repeat,\n isSystemKey: source.alt || undefined,\n location: location < 3 ? location : undefined,\n isKeypad: location === 3,\n modifiers,\n commands: command ? [command] : undefined,\n }),\n ];\n // Drag cancelling happens on escape.\n if (key === 'Escape') {\n if (!source.alt &&\n ((this.#isMacOS && !source.ctrl && !source.meta) || !this.#isMacOS)) {\n promises.push(this.#context.cdpTarget.cdpClient.sendCommand('Input.cancelDragging'));\n }\n }\n await Promise.all(promises);\n // --- Platform-specific code ends here ---\n }\n #dispatchKeyUpAction(source, action) {\n if ([...action.value].length > 1) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n }\n const rawKey = action.value;\n const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n if (!source.pressed.has(key)) {\n return;\n }\n const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n switch (key) {\n case 'Alt':\n source.alt = false;\n break;\n case 'Shift':\n source.shift = false;\n break;\n case 'Control':\n source.ctrl = false;\n break;\n case 'Meta':\n source.meta = false;\n break;\n }\n source.pressed.delete(key);\n const { modifiers } = source;\n // --- Platform-specific code begins here ---\n // The spread is a little hack so JS gives us an array of unicode characters\n // to measure.\n const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n type: 'keyUp',\n windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n key,\n code,\n text,\n unmodifiedText,\n location: location < 3 ? location : undefined,\n isSystemKey: source.alt || undefined,\n isKeypad: location === 3,\n modifiers,\n });\n // --- Platform-specific code ends here ---\n }\n}\nexports.ActionDispatcher = ActionDispatcher;\nconst getKeyEventUnmodifiedText = (key, source) => {\n if (key === 'Enter') {\n return '\\r';\n }\n return [...key].length === 1\n ? source.shift\n ? key.toLocaleUpperCase('en-US')\n : key\n : undefined;\n};\nconst getKeyEventText = (code, source) => {\n if (source.ctrl) {\n switch (code) {\n case 'Digit2':\n if (source.shift) {\n return '\\x00';\n }\n break;\n case 'KeyA':\n return '\\x01';\n case 'KeyB':\n return '\\x02';\n case 'KeyC':\n return '\\x03';\n case 'KeyD':\n return '\\x04';\n case 'KeyE':\n return '\\x05';\n case 'KeyF':\n return '\\x06';\n case 'KeyG':\n return '\\x07';\n case 'KeyH':\n return '\\x08';\n case 'KeyI':\n return '\\x09';\n case 'KeyJ':\n return '\\x0A';\n case 'KeyK':\n return '\\x0B';\n case 'KeyL':\n return '\\x0C';\n case 'KeyM':\n return '\\x0D';\n case 'KeyN':\n return '\\x0E';\n case 'KeyO':\n return '\\x0F';\n case 'KeyP':\n return '\\x10';\n case 'KeyQ':\n return '\\x11';\n case 'KeyR':\n return '\\x12';\n case 'KeyS':\n return '\\x13';\n case 'KeyT':\n return '\\x14';\n case 'KeyU':\n return '\\x15';\n case 'KeyV':\n return '\\x16';\n case 'KeyW':\n return '\\x17';\n case 'KeyX':\n return '\\x18';\n case 'KeyY':\n return '\\x19';\n case 'KeyZ':\n return '\\x1A';\n case 'BracketLeft':\n return '\\x1B';\n case 'Backslash':\n return '\\x1C';\n case 'BracketRight':\n return '\\x1D';\n case 'Digit6':\n if (source.shift) {\n return '\\x1E';\n }\n break;\n case 'Minus':\n return '\\x1F';\n }\n return '';\n }\n if (source.alt) {\n return '';\n }\n return;\n};\nfunction getCdpButton(button) {\n switch (button) {\n case 0:\n return 'left';\n case 1:\n return 'middle';\n case 2:\n return 'right';\n case 3:\n return 'back';\n case 4:\n return 'forward';\n default:\n return 'none';\n }\n}\n//# sourceMappingURL=ActionDispatcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputProcessor = void 0;\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst InputStateManager_js_1 = require(\"../input/InputStateManager.js\");\nconst ActionDispatcher_js_1 = require(\"../input/ActionDispatcher.js\");\nclass InputProcessor {\n #browsingContextStorage;\n #inputStateManager = new InputStateManager_js_1.InputStateManager();\n constructor(browsingContextStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n }\n async performActions(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n const inputState = this.#inputStateManager.get(context.top);\n const actionsByTick = this.#getActionsByTick(params, inputState);\n const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n await dispatcher.dispatchActions(actionsByTick);\n return {};\n }\n async releaseActions(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n const topContext = context.top;\n const inputState = this.#inputStateManager.get(topContext);\n const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n await dispatcher.dispatchTickActions(inputState.cancelList.reverse());\n this.#inputStateManager.delete(topContext);\n return {};\n }\n #getActionsByTick(params, inputState) {\n const actionsByTick = [];\n for (const action of params.actions) {\n switch (action.type) {\n case \"pointer\" /* SourceType.Pointer */: {\n action.parameters ??= { pointerType: \"mouse\" /* Input.PointerType.Mouse */ };\n action.parameters.pointerType ??= \"mouse\" /* Input.PointerType.Mouse */;\n const source = inputState.getOrCreate(action.id, \"pointer\" /* SourceType.Pointer */, action.parameters.pointerType);\n if (source.subtype !== action.parameters.pointerType) {\n throw new protocol_js_1.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);\n }\n break;\n }\n default:\n inputState.getOrCreate(action.id, action.type);\n }\n const actions = action.actions.map((item) => ({\n id: action.id,\n action: item,\n }));\n for (let i = 0; i < actions.length; i++) {\n if (actionsByTick.length === i) {\n actionsByTick.push([]);\n }\n actionsByTick[i].push(actions[i]);\n }\n }\n return actionsByTick;\n }\n}\nexports.InputProcessor = InputProcessor;\n//# sourceMappingURL=InputProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PreloadScriptStorage = void 0;\n/**\n * Container class for preload scripts.\n */\nclass PreloadScriptStorage {\n /** Tracks all BiDi preload scripts. */\n #scripts = new Set();\n /** Finds all entries that match the given filter. */\n findPreloadScripts(filter) {\n if (!filter) {\n return [...this.#scripts];\n }\n return [...this.#scripts].filter((script) => {\n if (filter.id !== undefined && filter.id !== script.id) {\n return false;\n }\n if (filter.targetId !== undefined &&\n !script.targetIds.has(filter.targetId)) {\n return false;\n }\n return true;\n });\n }\n addPreloadScript(preloadScript) {\n this.#scripts.add(preloadScript);\n }\n /** Deletes all BiDi preload script entries that match the given filter. */\n removeBiDiPreloadScripts(filter) {\n for (const preloadScript of this.findPreloadScripts(filter)) {\n this.#scripts.delete(preloadScript);\n }\n }\n}\nexports.PreloadScriptStorage = PreloadScriptStorage;\n//# sourceMappingURL=PreloadScriptStorage.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiPreloadScript = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst channelProxy_js_1 = require(\"./channelProxy.js\");\n/**\n * BiDi IDs are generated by the server and are unique within contexts.\n *\n * CDP preload script IDs are generated by the client and are unique\n * within sessions.\n *\n * The mapping between BiDi and CDP preload script IDs is 1:many.\n * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs\n * in the client.\n */\nclass BidiPreloadScript {\n /** BiDi ID, an automatically generated UUID. */\n #id = (0, uuid_js_1.uuidv4)();\n /** CDP preload scripts. */\n #cdpPreloadScripts = [];\n /** The script itself, in a format expected by the spec i.e. a function. */\n #functionDeclaration;\n /** Targets, in which the preload script is initialized. */\n #targetIds = new Set();\n /** Channels to be added as arguments to functionDeclaration. */\n #channels;\n /** The script sandbox / world name. */\n #sandbox;\n get id() {\n return this.#id;\n }\n get targetIds() {\n return this.#targetIds;\n }\n constructor(params, logger) {\n this.#channels =\n params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value, logger)) ?? [];\n this.#functionDeclaration = params.functionDeclaration;\n this.#sandbox = params.sandbox;\n }\n /** Channels of the preload script. */\n get channels() {\n return this.#channels;\n }\n /**\n * String to be evaluated. Wraps user-provided function so that the following\n * steps are run:\n * 1. Create channels.\n * 2. Store the created channels in window.\n * 3. Call the user-provided function with channels as arguments.\n */\n #getEvaluateString() {\n const channelsArgStr = `[${this.channels\n .map((c) => c.getEvalInWindowStr())\n .join(', ')}]`;\n return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;\n }\n /**\n * Adds the script to the given CDP targets by calling the\n * `Page.addScriptToEvaluateOnNewDocument` command.\n */\n async initInTargets(cdpTargets, runImmediately) {\n await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget, runImmediately)));\n }\n /**\n * Adds the script to the given CDP target by calling the\n * `Page.addScriptToEvaluateOnNewDocument` command.\n */\n async initInTarget(cdpTarget, runImmediately) {\n const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {\n source: this.#getEvaluateString(),\n worldName: this.#sandbox,\n runImmediately,\n });\n this.#cdpPreloadScripts.push({\n target: cdpTarget,\n preloadScriptId: addCdpPreloadScriptResult.identifier,\n });\n this.#targetIds.add(cdpTarget.targetId);\n }\n /**\n * Removes this script from all CDP targets.\n */\n async remove() {\n for (const cdpPreloadScript of this.#cdpPreloadScripts) {\n const cdpTarget = cdpPreloadScript.target;\n const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;\n await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {\n identifier: cdpPreloadScriptId,\n });\n }\n }\n /** Removes the provided cdp target from the list of cdp preload scripts. */\n dispose(cdpTargetId) {\n this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);\n this.#targetIds.delete(cdpTargetId);\n }\n}\nexports.BidiPreloadScript = BidiPreloadScript;\n//# sourceMappingURL=bidiPreloadScript.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScriptProcessor = void 0;\nconst protocol_1 = require(\"../../../protocol/protocol\");\nconst bidiPreloadScript_1 = require(\"./bidiPreloadScript\");\nclass ScriptProcessor {\n #browsingContextStorage;\n #realmStorage;\n #preloadScriptStorage;\n #logger;\n constructor(browsingContextStorage, realmStorage, preloadScriptStorage, logger) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#realmStorage = realmStorage;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#logger = logger;\n }\n async addPreloadScript(params) {\n const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params, this.#logger);\n this.#preloadScriptStorage.addPreloadScript(preloadScript);\n const cdpTargets = new Set(this.#browsingContextStorage\n .getTopLevelContexts()\n .map((context) => context.cdpTarget));\n await preloadScript.initInTargets(cdpTargets, false);\n return {\n script: preloadScript.id,\n };\n }\n async removePreloadScript(params) {\n const bidiId = params.script;\n const scripts = this.#preloadScriptStorage.findPreloadScripts({\n id: bidiId,\n });\n if (scripts.length === 0) {\n throw new protocol_1.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);\n }\n await Promise.all(scripts.map((script) => script.remove()));\n this.#preloadScriptStorage.removeBiDiPreloadScripts({\n id: bidiId,\n });\n return {};\n }\n async callFunction(params) {\n const realm = await this.#getRealm(params.target);\n return realm.callFunction(params.functionDeclaration, params.this ?? {\n type: 'undefined',\n }, // `this` is `undefined` by default.\n params.arguments ?? [], // `arguments` is `[]` by default.\n params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n }\n async evaluate(params) {\n const realm = await this.#getRealm(params.target);\n return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n }\n async disown(params) {\n const realm = await this.#getRealm(params.target);\n await Promise.all(params.handles.map(async (handle) => realm.disown(handle)));\n return {};\n }\n getRealms(params) {\n if (params.context !== undefined) {\n // Make sure the context is known.\n this.#browsingContextStorage.getContext(params.context);\n }\n const realms = this.#realmStorage\n .findRealms({\n browsingContextId: params.context,\n type: params.type,\n })\n .map((realm) => realm.realmInfo);\n return { realms };\n }\n async #getRealm(target) {\n if ('realm' in target) {\n return this.#realmStorage.getRealm({\n realmId: target.realm,\n });\n }\n const context = this.#browsingContextStorage.getContext(target.context);\n return context.getOrCreateSandbox(target.sandbox);\n }\n}\nexports.ScriptProcessor = ScriptProcessor;\n//# sourceMappingURL=ScriptProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkProcessor = void 0;\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Dispatches Network domain commands. */\nclass NetworkProcessor {\n #browsingContextStorage;\n #networkStorage;\n constructor(browsingContextStorage, networkStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#networkStorage = networkStorage;\n }\n /** Applies all existing network intercepts to all CDP targets concurrently. */\n async applyIntercepts() {\n await Promise.all(this.#browsingContextStorage.getAllContexts().map(async (context) => {\n await context.cdpTarget.fetchApply();\n }));\n }\n async addIntercept(params) {\n if (params.phases.length === 0) {\n throw new protocol_js_1.InvalidArgumentException('At least one phase must be specified.');\n }\n // TODO: Parse the pattern. Should fix a WPT test with the \"foo\" string.\n const urlPatterns = params.urlPatterns ?? [];\n const intercept = this.#networkStorage.addIntercept({\n urlPatterns,\n phases: params.phases,\n });\n // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.\n await this.applyIntercepts();\n return {\n intercept,\n };\n }\n continueRequest(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n continueResponse(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n continueWithAuth(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n failRequest(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n provideResponse(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n async removeIntercept(params) {\n this.#networkStorage.removeIntercept(params.intercept);\n // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.\n await this.applyIntercepts();\n return {};\n }\n}\nexports.NetworkProcessor = NetworkProcessor;\n//# sourceMappingURL=NetworkProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionProcessor = void 0;\nclass SessionProcessor {\n #eventManager;\n constructor(eventManager) {\n this.#eventManager = eventManager;\n }\n status() {\n return { ready: false, message: 'already connected' };\n }\n subscribe(params, channel = null) {\n this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);\n return {};\n }\n unsubscribe(params, channel = null) {\n this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);\n return {};\n }\n}\nexports.SessionProcessor = SessionProcessor;\n//# sourceMappingURL=SessionProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultMap = void 0;\n/**\n * A subclass of Map whose functionality is almost the same as its parent\n * except for the fact that DefaultMap never returns undefined. It provides a\n * default value for keys that do not exist.\n */\nclass DefaultMap extends Map {\n /** The default value to return whenever a key is not present in the map. */\n #getDefaultValue;\n constructor(getDefaultValue, entries) {\n super(entries);\n this.#getDefaultValue = getDefaultValue;\n }\n get(key) {\n if (!this.has(key)) {\n this.set(key, this.#getDefaultValue(key));\n }\n return super.get(key);\n }\n}\nexports.DefaultMap = DefaultMap;\n//# sourceMappingURL=DefaultMap.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkRequest = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Abstracts one individual network request. */\nclass NetworkRequest {\n static #unknown = 'UNKNOWN';\n /**\n * Each network request has an associated request id, which is a string\n * uniquely identifying that request.\n *\n * The identifier for a request resulting from a redirect matches that of the\n * request that initiated it.\n */\n requestId;\n #servedFromCache = false;\n #redirectCount = 0;\n #eventManager;\n #requestWillBeSentEvent;\n #requestWillBeSentExtraInfoEvent;\n #responseReceivedEvent;\n #responseReceivedExtraInfoEvent;\n #beforeRequestSentDeferred = new deferred_js_1.Deferred();\n #responseReceivedDeferred = new deferred_js_1.Deferred();\n constructor(requestId, eventManager) {\n this.requestId = requestId;\n this.#eventManager = eventManager;\n }\n onRequestWillBeSentEvent(event) {\n if (this.#requestWillBeSentEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#requestWillBeSentEvent = event;\n if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#sendBeforeRequestEvent();\n }\n onRequestWillBeSentExtraInfoEvent(event) {\n if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#requestWillBeSentExtraInfoEvent = event;\n if (this.#requestWillBeSentEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n }\n onResponseReceivedEventExtraInfo(event) {\n if (this.#responseReceivedExtraInfoEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#responseReceivedExtraInfoEvent = event;\n if (this.#responseReceivedEvent !== undefined) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n }\n onResponseReceivedEvent(responseReceivedEvent) {\n if (this.#responseReceivedEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#responseReceivedEvent = responseReceivedEvent;\n if (!responseReceivedEvent.hasExtraInfo &&\n !this.#beforeRequestSentDeferred.isFinished) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n if (!responseReceivedEvent.hasExtraInfo ||\n this.#responseReceivedExtraInfoEvent !== undefined ||\n this.#servedFromCache) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#sendResponseReceivedEvent();\n }\n onServedFromCache() {\n if (this.#requestWillBeSentEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n if (this.#responseReceivedEvent !== undefined) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#servedFromCache = true;\n }\n onLoadingFailedEvent(event) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n this.#responseReceivedDeferred.resolve({\n kind: 'error',\n error: new Error('Loading Failed'),\n });\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Network.EventNames.FetchErrorEvent,\n params: {\n ...this.#getBaseEventParams(),\n errorText: event.errorText,\n },\n }, this.#requestWillBeSentEvent?.frameId ?? null);\n }\n dispose() {\n const result = {\n kind: 'error',\n error: new Error('Network processor detached'),\n };\n this.#responseReceivedDeferred.resolve(result);\n this.#beforeRequestSentDeferred.resolve(result);\n }\n #getBaseEventParams() {\n return {\n // TODO: implement.\n isBlocked: false,\n context: this.#requestWillBeSentEvent?.frameId ?? null,\n navigation: this.#getNavigationId(),\n // TODO: implement.\n redirectCount: this.#redirectCount,\n request: this.#getRequestData(),\n // Timestamp should be in milliseconds, while CDP provides it in seconds.\n timestamp: Math.round((this.#requestWillBeSentEvent?.wallTime ?? 0) * 1000),\n };\n }\n #getNavigationId() {\n if (!this.#requestWillBeSentEvent ||\n !this.#requestWillBeSentEvent.loaderId ||\n // When we navigate all CDP network events have `loaderId`\n // CDP's `loaderId` and `requestId` match when\n // that request triggered the loading\n this.#requestWillBeSentEvent.loaderId !==\n this.#requestWillBeSentEvent.requestId) {\n return null;\n }\n return this.#requestWillBeSentEvent.loaderId;\n }\n #getRequestData() {\n const cookies = this.#requestWillBeSentExtraInfoEvent\n ? NetworkRequest.#getCookies(this.#requestWillBeSentExtraInfoEvent.associatedCookies)\n : [];\n return {\n request: this.#requestWillBeSentEvent?.requestId ?? NetworkRequest.#unknown,\n url: this.#requestWillBeSentEvent?.request.url ?? NetworkRequest.#unknown,\n method: this.#requestWillBeSentEvent?.request.method ?? NetworkRequest.#unknown,\n headers: NetworkRequest.#getHeaders(this.#requestWillBeSentEvent?.request.headers),\n cookies,\n // TODO: implement.\n headersSize: -1,\n // TODO: implement.\n bodySize: 0,\n timings: {\n // TODO: implement.\n timeOrigin: 0,\n // TODO: implement.\n requestTime: 0,\n // TODO: implement.\n redirectStart: 0,\n // TODO: implement.\n redirectEnd: 0,\n // TODO: implement.\n fetchStart: 0,\n // TODO: implement.\n dnsStart: 0,\n // TODO: implement.\n dnsEnd: 0,\n // TODO: implement.\n connectStart: 0,\n // TODO: implement.\n connectEnd: 0,\n // TODO: implement.\n tlsStart: 0,\n // TODO: implement.\n requestStart: 0,\n // TODO: implement.\n responseStart: 0,\n // TODO: implement.\n responseEnd: 0,\n },\n };\n }\n #sendBeforeRequestEvent() {\n if (!this.#isIgnoredEvent()) {\n this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then((result) => {\n if (result.kind === 'success') {\n return {\n kind: 'success',\n value: Object.assign(this.#getBeforeRequestEvent(), {\n type: 'event',\n }),\n };\n }\n return result;\n }), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);\n }\n }\n #getBeforeRequestEvent() {\n if (this.#requestWillBeSentEvent === undefined) {\n throw new Error('RequestWillBeSentEvent is not set');\n }\n return {\n method: protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent,\n params: {\n ...this.#getBaseEventParams(),\n initiator: {\n type: NetworkRequest.#getInitiatorType(this.#requestWillBeSentEvent.initiator.type),\n },\n },\n };\n }\n #sendResponseReceivedEvent() {\n if (!this.#isIgnoredEvent()) {\n this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then((result) => {\n if (result.kind === 'success') {\n return {\n kind: 'success',\n value: Object.assign(this.#getResponseReceivedEvent(), {\n type: 'event',\n }),\n };\n }\n return result;\n }), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);\n }\n }\n #getResponseReceivedEvent() {\n if (this.#requestWillBeSentEvent === undefined) {\n throw new Error('RequestWillBeSentEvent is not set');\n }\n if (this.#responseReceivedEvent === undefined) {\n throw new Error('ResponseReceivedEvent is not set');\n }\n // Chromium sends wrong extraInfo events for responses served from cache.\n // See https://github.com/puppeteer/puppeteer/issues/9965 and\n // https://crbug.com/1340398.\n if (this.#responseReceivedEvent.response.fromDiskCache) {\n this.#responseReceivedExtraInfoEvent = undefined;\n }\n const headers = NetworkRequest.#getHeaders(this.#responseReceivedEvent.response.headers);\n return {\n method: protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent,\n params: {\n ...this.#getBaseEventParams(),\n response: {\n url: this.#responseReceivedEvent.response.url,\n protocol: this.#responseReceivedEvent.response.protocol ?? '',\n status: this.#responseReceivedExtraInfoEvent?.statusCode ??\n this.#responseReceivedEvent.response.status,\n statusText: this.#responseReceivedEvent.response.statusText,\n fromCache: this.#responseReceivedEvent.response.fromDiskCache ||\n this.#responseReceivedEvent.response.fromPrefetchCache ||\n this.#servedFromCache,\n headers,\n mimeType: this.#responseReceivedEvent.response.mimeType,\n bytesReceived: this.#responseReceivedEvent.response.encodedDataLength,\n headersSize: this.#computeResponseHeadersSize(headers),\n // TODO: consider removing from spec.\n bodySize: 0,\n content: {\n // TODO: consider removing from spec.\n size: 0,\n },\n },\n },\n };\n }\n #computeResponseHeadersSize(headers) {\n return headers.reduce((total, header) => {\n return (total + header.name.length + header.value.value.length + 4 // 4 = ': ' + '\\r\\n'\n );\n }, 0);\n }\n #isIgnoredEvent() {\n return (this.#requestWillBeSentEvent?.request.url.endsWith('/favicon.ico') ??\n false);\n }\n static #getHeaders(headers) {\n if (!headers) {\n return [];\n }\n return Object.entries(headers).map(([name, value]) => ({\n name,\n value: {\n type: 'string',\n value,\n },\n }));\n }\n static #getInitiatorType(initiatorType) {\n switch (initiatorType) {\n case 'parser':\n case 'script':\n case 'preflight':\n return initiatorType;\n default:\n return 'other';\n }\n }\n static #getCookies(associatedCookies) {\n return associatedCookies\n .filter(({ blockedReasons }) => {\n return !Array.isArray(blockedReasons) || blockedReasons.length === 0;\n })\n .map(({ cookie }) => {\n return {\n name: cookie.name,\n value: {\n type: 'string',\n value: cookie.value,\n },\n domain: cookie.domain,\n path: cookie.path,\n expires: cookie.expires,\n size: cookie.size,\n httpOnly: cookie.httpOnly,\n secure: cookie.secure,\n sameSite: NetworkRequest.#getCookiesSameSite(cookie.sameSite),\n };\n });\n }\n static #getCookiesSameSite(cdpSameSiteValue) {\n switch (cdpSameSiteValue) {\n case 'Strict':\n return 'strict';\n case 'Lax':\n return 'lax';\n default:\n return 'none';\n }\n }\n}\nexports.NetworkRequest = NetworkRequest;\n//# sourceMappingURL=NetworkRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkStorage = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst NetworkRequest_js_1 = require(\"./NetworkRequest.js\");\n/** Stores network and intercept maps. */\nclass NetworkStorage {\n /**\n * Map of request ID to NetworkRequest objects. Needed as long as information\n * about requests comes from different events.\n */\n #requestMap;\n /** A map to define the properties of active network intercepts. */\n #interceptMap;\n /** A map to track the requests which are actively being blocked. */\n #blockedRequestMap;\n constructor(eventManager) {\n this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new NetworkRequest_js_1.NetworkRequest(requestId, eventManager));\n this.#interceptMap = new Map();\n this.#blockedRequestMap = new Map();\n }\n // XXX: Replace getters with custom operations, follow suit of Browsing Context Storage.\n get requestMap() {\n return this.#requestMap;\n }\n disposeRequestMap() {\n for (const request of this.#requestMap.values()) {\n request.dispose();\n }\n this.#requestMap.clear();\n }\n /**\n * Adds the given entry to the intercept map.\n * URL patterns are assumed to be parsed.\n *\n * @return The intercept ID.\n */\n addIntercept(value) {\n const intercept = (0, uuid_js_1.uuidv4)();\n this.#interceptMap.set(intercept, value);\n return intercept;\n }\n /**\n * Removes the given intercept from the intercept map.\n * Throws NoSuchInterceptException if the intercept does not exist.\n */\n removeIntercept(intercept) {\n if (!this.#interceptMap.has(intercept)) {\n throw new protocol_js_1.NoSuchInterceptException(`Intercept '${intercept}' does not exist.`);\n }\n this.#interceptMap.delete(intercept);\n }\n /** Gets parameters for CDP 'Fetch.enable' command from the intercept map. */\n getFetchEnableParams() {\n const patterns = [];\n for (const value of this.#interceptMap.values()) {\n for (const urlPatternSpec of value.urlPatterns) {\n const urlPattern = NetworkStorage.cdpFromSpecUrlPattern(urlPatternSpec);\n for (const phase of value.phases) {\n if (phase === \"authRequired\" /* Network.InterceptPhase.AuthRequired */) {\n patterns.push({\n urlPattern,\n });\n }\n else {\n patterns.push({\n urlPattern,\n requestStage: NetworkStorage.requestStageFromPhase(phase),\n });\n }\n }\n }\n }\n return {\n patterns,\n // If there's at least one intercept that requires auth, enable the\n // 'Fetch.authRequired' event.\n handleAuthRequests: [...this.#interceptMap.values()].some((param) => {\n return param.phases.includes(\"authRequired\" /* Network.InterceptPhase.AuthRequired */);\n }),\n };\n }\n /** Converts a URL pattern from the spec to a CDP URL pattern. */\n static cdpFromSpecUrlPattern(urlPattern) {\n switch (urlPattern.type) {\n case 'string':\n return urlPattern.pattern;\n case 'pattern':\n return NetworkStorage.buildUrlPatternString(urlPattern);\n }\n }\n static buildUrlPatternString({ protocol, hostname, port, pathname, search, }) {\n let url = '';\n if (protocol) {\n url += `${protocol}://`;\n }\n if (hostname) {\n url += hostname;\n }\n if (port) {\n url += `:${port}`;\n }\n if (pathname) {\n // TODO: add slash?\n url += pathname;\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n }\n /**\n * Maps spec Network.InterceptPhase to CDP Fetch.RequestStage.\n * AuthRequired has no CDP equivalent..\n */\n static requestStageFromPhase(phase) {\n switch (phase) {\n case \"beforeRequestSent\" /* Network.InterceptPhase.BeforeRequestSent */:\n return 'Request';\n case \"responseStarted\" /* Network.InterceptPhase.ResponseStarted */:\n return 'Response';\n case \"authRequired\" /* Network.InterceptPhase.AuthRequired */:\n throw new Error('AuthRequired is not a valid intercept phase for request stage.');\n }\n }\n // XXX: Replace getters with custom operations, follow suit of Browsing Context Storage.\n get blockedRequestMap() {\n return this.#blockedRequestMap;\n }\n}\nexports.NetworkStorage = NetworkStorage;\n//# sourceMappingURL=NetworkStorage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommandProcessor = void 0;\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiNoOpParser_js_1 = require(\"./BidiNoOpParser.js\");\nconst OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nconst BrowserProcessor_js_1 = require(\"./domains/browser/BrowserProcessor.js\");\nconst CdpProcessor_js_1 = require(\"./domains/cdp/CdpProcessor.js\");\nconst browsingContextProcessor_js_1 = require(\"./domains/context/browsingContextProcessor.js\");\nconst InputProcessor_js_1 = require(\"./domains/input/InputProcessor.js\");\nconst PreloadScriptStorage_js_1 = require(\"./domains/script/PreloadScriptStorage.js\");\nconst ScriptProcessor_js_1 = require(\"./domains/script/ScriptProcessor.js\");\nconst NetworkProcessor_js_1 = require(\"./domains/network/NetworkProcessor.js\");\nconst SessionProcessor_js_1 = require(\"./domains/session/SessionProcessor.js\");\nconst NetworkStorage_js_1 = require(\"./domains/network/NetworkStorage.js\");\nclass CommandProcessor extends EventEmitter_js_1.EventEmitter {\n // keep-sorted start\n #browserProcessor;\n #browsingContextProcessor;\n #cdpProcessor;\n #inputProcessor;\n #networkProcessor;\n #scriptProcessor;\n #sessionProcessor;\n // keep-sorted end\n #parser;\n #logger;\n constructor(cdpConnection, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {\n super();\n this.#parser = parser;\n this.#logger = logger;\n const networkStorage = new NetworkStorage_js_1.NetworkStorage(eventManager);\n const preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();\n // keep-sorted start block=yes\n this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(cdpConnection);\n this.#browsingContextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger);\n this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection);\n this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage);\n this.#networkProcessor = new NetworkProcessor_js_1.NetworkProcessor(browsingContextStorage, networkStorage);\n this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage, logger);\n this.#sessionProcessor = new SessionProcessor_js_1.SessionProcessor(eventManager);\n // keep-sorted end\n }\n async #processCommand(command) {\n switch (command.method) {\n case 'session.end':\n case 'session.new':\n // TODO: Implement.\n break;\n // Browser domain\n // keep-sorted start block=yes\n case 'browser.close':\n return this.#browserProcessor.close();\n // keep-sorted end\n // Browsing Context domain\n // keep-sorted start block=yes\n case 'browsingContext.activate':\n return this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));\n case 'browsingContext.captureScreenshot':\n return this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));\n case 'browsingContext.close':\n return this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));\n case 'browsingContext.create':\n return this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));\n case 'browsingContext.getTree':\n return this.#browsingContextProcessor.getTree(this.#parser.parseGetTreeParams(command.params));\n case 'browsingContext.handleUserPrompt':\n return this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));\n case 'browsingContext.navigate':\n return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));\n case 'browsingContext.print':\n return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));\n case 'browsingContext.reload':\n return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));\n case 'browsingContext.setViewport':\n return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n case 'cdp.getSession':\n return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));\n case 'cdp.sendCommand':\n return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n case 'input.performActions':\n return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));\n case 'input.releaseActions':\n return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n case 'network.addIntercept':\n return this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));\n case 'network.continueRequest':\n return this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));\n case 'network.continueResponse':\n return this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));\n case 'network.continueWithAuth':\n return this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));\n case 'network.failRequest':\n return this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));\n case 'network.provideResponse':\n return this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));\n case 'network.removeIntercept':\n return this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n case 'script.addPreloadScript':\n return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));\n case 'script.callFunction':\n return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));\n case 'script.disown':\n return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));\n case 'script.evaluate':\n return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));\n case 'script.getRealms':\n return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));\n case 'script.removePreloadScript':\n return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n case 'session.status':\n return this.#sessionProcessor.status();\n case 'session.subscribe':\n return this.#sessionProcessor.subscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n case 'session.unsubscribe':\n return this.#sessionProcessor.unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n // keep-sorted end\n }\n // Intentionally kept outside of the switch statement to ensure that\n // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new\n // command is added.\n throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);\n }\n async processCommand(command) {\n try {\n const result = await this.#processCommand(command);\n const response = {\n type: 'success',\n id: command.id,\n result,\n };\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel),\n event: command.method,\n });\n }\n catch (e) {\n if (e instanceof protocol_js_1.Exception) {\n const errorResponse = e;\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel),\n event: command.method,\n });\n }\n else {\n const error = e;\n this.#logger?.(log_js_1.LogType.bidi, error);\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.UnknownErrorException(error.message, error.stack).toErrorResponse(command.id), command.channel),\n event: command.method,\n });\n }\n }\n }\n}\nexports.CommandProcessor = CommandProcessor;\n//# sourceMappingURL=CommandProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing contexts. */\nclass BrowsingContextStorage {\n /** Map from context ID to context implementation. */\n #contexts = new Map();\n /** Gets all top-level contexts, i.e. those with no parent. */\n getTopLevelContexts() {\n return this.getAllContexts().filter((context) => context.isTopLevelContext());\n }\n /** Gets all contexts. */\n getAllContexts() {\n return Array.from(this.#contexts.values());\n }\n /** Deletes the context with the given ID. */\n deleteContextById(id) {\n this.#contexts.delete(id);\n }\n /** Deletes the given context. */\n deleteContext(context) {\n this.#contexts.delete(context.id);\n }\n /** Tracks the given context. */\n addContext(context) {\n this.#contexts.set(context.id, context);\n }\n /** Returns true whether there is an existing context with the given ID. */\n hasContext(id) {\n return this.#contexts.has(id);\n }\n /** Gets the context with the given ID, if any. */\n findContext(id) {\n return this.#contexts.get(id);\n }\n /** Returns the top-level context ID of the given context, if any. */\n findTopLevelContextId(id) {\n if (id === null) {\n return null;\n }\n const maybeContext = this.findContext(id);\n const parentId = maybeContext?.parentId ?? null;\n if (parentId === null) {\n return id;\n }\n return this.findTopLevelContextId(parentId);\n }\n /** Gets the context with the given ID, if any, otherwise throws. */\n getContext(id) {\n const result = this.findContext(id);\n if (result === undefined) {\n throw new protocol_js_1.NoSuchFrameException(`Context ${id} not found`);\n }\n return result;\n }\n}\nexports.BrowsingContextStorage = BrowsingContextStorage;\n//# sourceMappingURL=browsingContextStorage.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Buffer = void 0;\n/** Implements a FIFO buffer with a fixed size. */\nclass Buffer {\n #capacity;\n #entries = [];\n #onItemRemoved;\n /**\n * @param capacity The buffer capacity.\n * @param onItemRemoved Delegate called for each removed element.\n */\n constructor(capacity, onItemRemoved) {\n this.#capacity = capacity;\n this.#onItemRemoved = onItemRemoved;\n }\n get() {\n return this.#entries;\n }\n add(value) {\n this.#entries.push(value);\n while (this.#entries.length > this.#capacity) {\n const item = this.#entries.shift();\n if (item !== undefined) {\n this.#onItemRemoved?.(item);\n }\n }\n }\n}\nexports.Buffer = Buffer;\n//# sourceMappingURL=buffer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdWrapper = void 0;\n/**\n * Creates an object with a positive unique incrementing id.\n */\nclass IdWrapper {\n static #counter = 0;\n #id;\n constructor() {\n this.#id = ++IdWrapper.#counter;\n }\n get id() {\n return this.#id;\n }\n}\nexports.IdWrapper = IdWrapper;\n//# sourceMappingURL=idWrapper.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = exports.unrollEvents = exports.cartesianProduct = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/**\n * Returns the cartesian product of the given arrays.\n *\n * Example:\n * cartesian([1, 2], ['a', 'b']); => [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n */\nfunction cartesianProduct(...a) {\n return a.reduce((a, b) => a.flatMap((d) => b.map((e) => [d, e].flat())));\n}\nexports.cartesianProduct = cartesianProduct;\n/** Expands \"AllEvents\" events into atomic events. */\nfunction unrollEvents(events) {\n const allEvents = new Set();\n function addEvents(events) {\n for (const event of events) {\n allEvents.add(event);\n }\n }\n for (const event of events) {\n switch (event) {\n case protocol_js_1.ChromiumBidi.BiDiModule.BrowsingContext:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Log:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Log.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Network:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Network.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Script:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Script.EventNames));\n break;\n default:\n allEvents.add(event);\n }\n }\n return [...allEvents.values()];\n}\nexports.unrollEvents = unrollEvents;\nclass SubscriptionManager {\n #subscriptionPriority = 0;\n // BrowsingContext `null` means the event has subscription across all the\n // browsing contexts.\n // Channel `null` means no `channel` should be added.\n #channelToContextToEventMap = new Map();\n #browsingContextStorage;\n constructor(browsingContextStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n }\n getChannelsSubscribedToEvent(eventMethod, contextId) {\n const prioritiesAndChannels = Array.from(this.#channelToContextToEventMap.keys())\n .map((channel) => ({\n priority: this.#getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel),\n channel,\n }))\n .filter(({ priority }) => priority !== null);\n // Sort channels by priority.\n return prioritiesAndChannels\n .sort((a, b) => a.priority - b.priority)\n .map(({ channel }) => channel);\n }\n #getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel) {\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (contextToEventMap === undefined) {\n return null;\n }\n const maybeTopLevelContextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n // `null` covers global subscription.\n const relevantContexts = [...new Set([null, maybeTopLevelContextId])];\n // Get all the subscription priorities.\n const priorities = relevantContexts\n .map((c) => contextToEventMap.get(c)?.get(eventMethod))\n .filter((p) => p !== undefined);\n if (priorities.length === 0) {\n // Not subscribed, return null.\n return null;\n }\n // Return minimal priority.\n return Math.min(...priorities);\n }\n subscribe(event, contextId, channel) {\n // All the subscriptions are handled on the top-level contexts.\n contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n // Check if subscribed event is a whole module\n switch (event) {\n case protocol_js_1.ChromiumBidi.BiDiModule.BrowsingContext:\n Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Log:\n Object.values(protocol_js_1.ChromiumBidi.Log.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Network:\n Object.values(protocol_js_1.ChromiumBidi.Network.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Script:\n Object.values(protocol_js_1.ChromiumBidi.Script.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n default:\n // Intentionally left empty.\n }\n if (!this.#channelToContextToEventMap.has(channel)) {\n this.#channelToContextToEventMap.set(channel, new Map());\n }\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (!contextToEventMap.has(contextId)) {\n contextToEventMap.set(contextId, new Map());\n }\n const eventMap = contextToEventMap.get(contextId);\n // Do not re-subscribe to events to keep the priority.\n if (eventMap.has(event)) {\n return;\n }\n eventMap.set(event, this.#subscriptionPriority++);\n }\n /**\n * Unsubscribes atomically from all events in the given contexts and channel.\n */\n unsubscribeAll(events, contextIds, channel) {\n // Assert all contexts are known.\n for (const contextId of contextIds) {\n if (contextId !== null) {\n this.#browsingContextStorage.getContext(contextId);\n }\n }\n const eventContextPairs = cartesianProduct(unrollEvents(events), contextIds);\n // Assert all unsubscriptions are valid.\n // If any of the unsubscriptions are invalid, do not unsubscribe from anything.\n eventContextPairs\n .map(([event, contextId]) => this.#checkUnsubscribe(event, contextId, channel))\n .forEach((unsubscribe) => unsubscribe());\n }\n /**\n * Unsubscribes from the event in the given context and channel.\n * Syntactic sugar for \"unsubscribeAll\".\n */\n unsubscribe(eventName, contextId, channel) {\n this.unsubscribeAll([eventName], [contextId], channel);\n }\n #checkUnsubscribe(event, contextId, channel) {\n // All the subscriptions are handled on the top-level contexts.\n contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n if (!this.#channelToContextToEventMap.has(channel)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (!contextToEventMap.has(contextId)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n const eventMap = contextToEventMap.get(contextId);\n if (!eventMap.has(event)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n return () => {\n eventMap.delete(event);\n // Clean up maps if empty.\n if (eventMap.size === 0) {\n contextToEventMap.delete(event);\n }\n if (contextToEventMap.size === 0) {\n this.#channelToContextToEventMap.delete(channel);\n }\n };\n }\n}\nexports.SubscriptionManager = SubscriptionManager;\n//# sourceMappingURL=SubscriptionManager.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst buffer_js_1 = require(\"../../../utils/buffer.js\");\nconst idWrapper_js_1 = require(\"../../../utils/idWrapper.js\");\nconst OutgoingBidiMessage_js_1 = require(\"../../OutgoingBidiMessage.js\");\nconst SubscriptionManager_js_1 = require(\"./SubscriptionManager.js\");\nclass EventWrapper {\n #idWrapper = new idWrapper_js_1.IdWrapper();\n #contextId;\n #event;\n constructor(event, contextId) {\n this.#event = event;\n this.#contextId = contextId;\n }\n get id() {\n return this.#idWrapper.id;\n }\n get contextId() {\n return this.#contextId;\n }\n get event() {\n return this.#event;\n }\n}\n/**\n * Maps event name to a desired buffer length.\n */\nconst eventBufferLength = new Map([[protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent, 100]]);\nclass EventManager {\n /**\n * Maps event name to a set of contexts where this event already happened.\n * Needed for getting buffered events from all the contexts in case of\n * subscripting to all contexts.\n */\n #eventToContextsMap = new DefaultMap_js_1.DefaultMap(() => new Set());\n /**\n * Maps `eventName` + `browsingContext` to buffer. Used to get buffered events\n * during subscription. Channel-agnostic.\n */\n #eventBuffers = new Map();\n /**\n * Maps `eventName` + `browsingContext` + `channel` to last sent event id.\n * Used to avoid sending duplicated events when user\n * subscribes -> unsubscribes -> subscribes.\n */\n #lastMessageSent = new Map();\n #subscriptionManager;\n #bidiServer;\n constructor(bidiServer) {\n this.#bidiServer = bidiServer;\n this.#subscriptionManager = new SubscriptionManager_js_1.SubscriptionManager(bidiServer.getBrowsingContextStorage());\n }\n /**\n * Returns consistent key to be used to access value maps.\n */\n static #getMapKey(eventName, browsingContext, channel) {\n return JSON.stringify({ eventName, browsingContext, channel });\n }\n registerEvent(event, contextId) {\n this.registerPromiseEvent(Promise.resolve({\n kind: 'success',\n value: event,\n }), contextId, event.method);\n }\n registerPromiseEvent(event, contextId, eventName) {\n const eventWrapper = new EventWrapper(event, contextId);\n const sortedChannels = this.#subscriptionManager.getChannelsSubscribedToEvent(eventName, contextId);\n this.#bufferEvent(eventWrapper, eventName);\n // Send events to channels in the subscription priority.\n for (const channel of sortedChannels) {\n this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(event, channel), eventName);\n this.#markEventSent(eventWrapper, channel, eventName);\n }\n }\n subscribe(eventNames, contextIds, channel) {\n for (const name of eventNames) {\n checkEventName(name);\n }\n // First check if all the contexts are known.\n for (const contextId of contextIds) {\n if (contextId !== null) {\n // Assert the context is known. Throw exception otherwise.\n this.#bidiServer.getBrowsingContextStorage().getContext(contextId);\n }\n }\n for (const eventName of eventNames) {\n for (const contextId of contextIds) {\n this.#subscriptionManager.subscribe(eventName, contextId, channel);\n for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, channel)) {\n // The order of the events is important.\n this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(eventWrapper.event, channel), eventName);\n this.#markEventSent(eventWrapper, channel, eventName);\n }\n }\n }\n }\n unsubscribe(eventNames, contextIds, channel) {\n for (const name of eventNames) {\n checkEventName(name);\n }\n this.#subscriptionManager.unsubscribeAll(eventNames, contextIds, channel);\n }\n /**\n * If the event is buffer-able, put it in the buffer.\n */\n #bufferEvent(eventWrapper, eventName) {\n if (!eventBufferLength.has(eventName)) {\n // Do nothing if the event is no buffer-able.\n return;\n }\n const bufferMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId);\n if (!this.#eventBuffers.has(bufferMapKey)) {\n this.#eventBuffers.set(bufferMapKey, new buffer_js_1.Buffer(eventBufferLength.get(eventName)));\n }\n this.#eventBuffers.get(bufferMapKey).add(eventWrapper);\n // Add the context to the list of contexts having `eventName` events.\n this.#eventToContextsMap.get(eventName).add(eventWrapper.contextId);\n }\n /**\n * If the event is buffer-able, mark it as sent to the given contextId and channel.\n */\n #markEventSent(eventWrapper, channel, eventName) {\n if (!eventBufferLength.has(eventName)) {\n // Do nothing if the event is no buffer-able.\n return;\n }\n const lastSentMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId, channel);\n this.#lastMessageSent.set(lastSentMapKey, Math.max(this.#lastMessageSent.get(lastSentMapKey) ?? 0, eventWrapper.id));\n }\n /**\n * Returns events which are buffered and not yet sent to the given channel events.\n */\n #getBufferedEvents(eventName, contextId, channel) {\n const bufferMapKey = EventManager.#getMapKey(eventName, contextId);\n const lastSentMapKey = EventManager.#getMapKey(eventName, contextId, channel);\n const lastSentMessageId = this.#lastMessageSent.get(lastSentMapKey) ?? -Infinity;\n const result = this.#eventBuffers\n .get(bufferMapKey)\n ?.get()\n .filter((wrapper) => wrapper.id > lastSentMessageId) ?? [];\n if (contextId === null) {\n // For global subscriptions, events buffered in each context should be sent back.\n Array.from(this.#eventToContextsMap.get(eventName).keys())\n .filter((_contextId) => \n // Events without context are already in the result.\n _contextId !== null &&\n // Events from deleted contexts should not be sent.\n this.#bidiServer.getBrowsingContextStorage().hasContext(_contextId))\n .map((_contextId) => this.#getBufferedEvents(eventName, _contextId, channel))\n .forEach((events) => result.push(...events));\n }\n return result.sort((e1, e2) => e1.id - e2.id);\n }\n}\nexports.EventManager = EventManager;\nconst EVENT_NAMES = new Set([\n // keep-sorted start\n ...Object.values(protocol_js_1.ChromiumBidi.BiDiModule),\n ...Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Log.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Network.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Script.EventNames),\n // keep-sorted end\n]);\nfunction checkEventName(name) {\n if (!EVENT_NAMES.has(name) &&\n !name.startsWith('cdp.') &&\n name !== 'cdp') {\n throw new protocol_js_1.InvalidArgumentException(`Unknown event: ${name}`);\n }\n}\n//# sourceMappingURL=EventManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RealmStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing realms. */\nclass RealmStorage {\n /** Tracks handles and their realms sent to the client. */\n #knownHandlesToRealmMap = new Map();\n /** Map from realm ID to Realm. */\n #realmMap = new Map();\n get knownHandlesToRealmMap() {\n return this.#knownHandlesToRealmMap;\n }\n addRealm(realm) {\n this.#realmMap.set(realm.realmId, realm);\n }\n /** Finds all realms that match the given filter. */\n findRealms(filter) {\n return Array.from(this.#realmMap.values()).filter((realm) => {\n if (filter.realmId !== undefined && filter.realmId !== realm.realmId) {\n return false;\n }\n if (filter.browsingContextId !== undefined &&\n filter.browsingContextId !== realm.browsingContextId) {\n return false;\n }\n if (filter.navigableId !== undefined &&\n filter.navigableId !== realm.navigableId) {\n return false;\n }\n if (filter.executionContextId !== undefined &&\n filter.executionContextId !== realm.executionContextId) {\n return false;\n }\n if (filter.origin !== undefined && filter.origin !== realm.origin) {\n return false;\n }\n if (filter.type !== undefined && filter.type !== realm.type) {\n return false;\n }\n if (filter.sandbox !== undefined && filter.sandbox !== realm.sandbox) {\n return false;\n }\n if (filter.cdpSessionId !== undefined &&\n filter.cdpSessionId !== realm.cdpClient.sessionId) {\n return false;\n }\n return true;\n });\n }\n findRealm(filter) {\n const maybeRealms = this.findRealms(filter);\n if (maybeRealms.length !== 1) {\n return undefined;\n }\n return maybeRealms[0];\n }\n /** Gets the only realm that matches the given filter, if any, otherwise throws. */\n getRealm(filter) {\n const maybeRealm = this.findRealm(filter);\n if (maybeRealm === undefined) {\n throw new protocol_js_1.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);\n }\n return maybeRealm;\n }\n /** Deletes all realms that match the given filter. */\n deleteRealms(filter) {\n this.findRealms(filter).map((realm) => {\n realm.dispose();\n this.#realmMap.delete(realm.realmId);\n Array.from(this.knownHandlesToRealmMap.entries())\n .filter(([, r]) => r === realm.realmId)\n .map(([handle]) => this.knownHandlesToRealmMap.delete(handle));\n });\n }\n}\nexports.RealmStorage = RealmStorage;\n//# sourceMappingURL=realmStorage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiServer = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst processingQueue_js_1 = require(\"../utils/processingQueue.js\");\nconst CommandProcessor_js_1 = require(\"./CommandProcessor.js\");\nconst browsingContextStorage_js_1 = require(\"./domains/context/browsingContextStorage.js\");\nconst EventManager_js_1 = require(\"./domains/events/EventManager.js\");\nconst realmStorage_js_1 = require(\"./domains/script/realmStorage.js\");\nclass BidiServer extends EventEmitter_js_1.EventEmitter {\n #messageQueue;\n #transport;\n #commandProcessor;\n #browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();\n #logger;\n #handleIncomingMessage = (message) => {\n void this.#commandProcessor.processCommand(message).catch((error) => {\n this.#logger?.(log_js_1.LogType.debug, error);\n });\n };\n #processOutgoingMessage = async (messageEntry) => {\n const message = messageEntry.message;\n if (messageEntry.channel !== null) {\n message['channel'] = messageEntry.channel;\n }\n await this.#transport.sendMessage(message);\n };\n constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n super();\n this.#logger = logger;\n this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);\n this.#transport = bidiTransport;\n this.#transport.setOnMessage(this.#handleIncomingMessage);\n this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new realmStorage_js_1.RealmStorage(), parser, this.#logger);\n this.#commandProcessor.on(\"response\" /* CommandProcessorEvents.Response */, ({ message, event }) => {\n this.emitOutgoingMessage(message, event);\n });\n }\n static async createAndStart(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n const server = new BidiServer(bidiTransport, cdpConnection, selfTargetId, parser, logger);\n const cdpClient = cdpConnection.browserClient();\n // Needed to get events about new targets.\n await cdpClient.sendCommand('Target.setDiscoverTargets', { discover: true });\n // Needed to automatically attach to new targets.\n await cdpClient.sendCommand('Target.setAutoAttach', {\n autoAttach: true,\n waitForDebuggerOnStart: true,\n flatten: true,\n });\n await server.#topLevelContextsLoaded();\n return server;\n }\n /**\n * Sends BiDi message.\n */\n emitOutgoingMessage(messageEntry, event) {\n this.#messageQueue.add(messageEntry, event);\n }\n close() {\n this.#transport.close();\n }\n getBrowsingContextStorage() {\n return this.#browsingContextStorage;\n }\n async #topLevelContextsLoaded() {\n await Promise.all(this.#browsingContextStorage\n .getTopLevelContexts()\n .map((c) => c.lifecycleLoaded()));\n }\n}\nexports.BidiServer = BidiServer;\n//# sourceMappingURL=BidiServer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = exports.EventEmitter = exports.BidiServer = void 0;\n/**\n * @fileoverview The entry point to the BiDi Mapper namespace.\n * Other modules should only access exports defined in this file.\n * XXX: Add ESlint rule for this (https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md)\n */\nvar BidiServer_js_1 = require(\"./BidiServer.js\");\nObject.defineProperty(exports, \"BidiServer\", { enumerable: true, get: function () { return BidiServer_js_1.BidiServer; } });\nvar EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nObject.defineProperty(exports, \"EventEmitter\", { enumerable: true, get: function () { return EventEmitter_js_1.EventEmitter; } });\nvar OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nObject.defineProperty(exports, \"OutgoingBidiMessage\", { enumerable: true, get: function () { return OutgoingBidiMessage_js_1.OutgoingBidiMessage; } });\n//# sourceMappingURL=bidiMapper.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpClient = exports.CloseError = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\n/** A error that will be thrown if/when the connection is closed. */\nclass CloseError extends Error {\n}\nexports.CloseError = CloseError;\n/** Represents a high-level CDP connection to the browser. */\nclass CdpClient extends EventEmitter_js_1.EventEmitter {\n #cdpConnection;\n #sessionId;\n constructor(cdpConnection, sessionId) {\n super();\n this.#cdpConnection = cdpConnection;\n this.#sessionId = sessionId;\n }\n get sessionId() {\n return this.#sessionId;\n }\n browserClient() {\n return this.#cdpConnection.browserClient();\n }\n sendCommand(method, ...params) {\n return this.#cdpConnection.sendCommand(method, params[0], this.#sessionId);\n }\n isCloseError(error) {\n return error instanceof CloseError;\n }\n}\nexports.CdpClient = CdpClient;\n//# sourceMappingURL=cdpClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpConnection = void 0;\nconst log_js_1 = require(\"../utils/log.js\");\nconst cdpClient_js_1 = require(\"./cdpClient.js\");\n/**\n * Represents a high-level CDP connection to the browser backend.\n *\n * Manages all CdpClients (each backed by a Session ID) instance for each active\n * CDP session.\n */\nclass CdpConnection {\n #transport;\n /** The CdpClient object attached to the root browser session. */\n #browserCdpClient;\n /** Map from session ID to CdpClient. */\n #sessionCdpClients = new Map();\n #commandCallbacks = new Map();\n #logger;\n #nextId = 0;\n constructor(transport, logger) {\n this.#transport = transport;\n this.#logger = logger;\n this.#transport.setOnMessage(this.#onMessage);\n this.#browserCdpClient = new cdpClient_js_1.CdpClient(this, undefined);\n }\n /** Closes the connection to the browser. */\n close() {\n this.#transport.close();\n for (const [, { reject, error }] of this.#commandCallbacks) {\n reject(error);\n }\n this.#commandCallbacks.clear();\n this.#sessionCdpClients.clear();\n }\n /** The CdpClient object attached to the root browser session. */\n browserClient() {\n return this.#browserCdpClient;\n }\n /**\n * Gets a CdpClient instance attached to the given session ID,\n * or null if the session is not attached.\n */\n getCdpClient(sessionId) {\n const cdpClient = this.#sessionCdpClients.get(sessionId);\n if (!cdpClient) {\n throw new Error(`Unknown CDP session ID: ${sessionId}`);\n }\n return cdpClient;\n }\n sendCommand(method, params, sessionId) {\n return new Promise((resolve, reject) => {\n const id = this.#nextId++;\n this.#commandCallbacks.set(id, {\n resolve,\n reject,\n error: new cdpClient_js_1.CloseError(`${method} ${JSON.stringify(params)} ${sessionId ?? ''} call rejected because the connection has been closed.`),\n });\n const cdpMessage = { id, method, params };\n if (sessionId) {\n cdpMessage.sessionId = sessionId;\n }\n const cdpMessageStr = JSON.stringify(cdpMessage);\n void this.#transport.sendMessage(cdpMessageStr)?.catch((error) => {\n this.#logger?.(log_js_1.LogType.debug, error);\n this.#transport.close();\n });\n this.#logger?.(`${log_js_1.LogType.cdp}:SEND ▸`, JSON.stringify(cdpMessage, null, 2));\n });\n }\n #onMessage = (message) => {\n const messageParsed = JSON.parse(message);\n const messagePretty = JSON.stringify(messageParsed, null, 2);\n this.#logger?.(`${log_js_1.LogType.cdp}:RECV ◂`, messagePretty);\n // Update client map if a session is attached\n // Listen for these events on every session.\n if (messageParsed.method === 'Target.attachedToTarget') {\n const { sessionId } = messageParsed.params;\n this.#sessionCdpClients.set(sessionId, new cdpClient_js_1.CdpClient(this, sessionId));\n }\n if (messageParsed.id !== undefined) {\n // Handle command response.\n const callbacks = this.#commandCallbacks.get(messageParsed.id);\n this.#commandCallbacks.delete(messageParsed.id);\n if (callbacks) {\n if (messageParsed.result) {\n callbacks.resolve(messageParsed.result);\n }\n else if (messageParsed.error) {\n callbacks.reject(messageParsed.error);\n }\n }\n }\n else if (messageParsed.method) {\n const client = messageParsed.sessionId\n ? this.#sessionCdpClients.get(messageParsed.sessionId)\n : this.#browserCdpClient;\n client?.emit(messageParsed.method, messageParsed.params || {});\n // Update client map if a session is detached\n // But emit on that session\n if (messageParsed.method === 'Target.detachedFromTarget') {\n const { sessionId } = messageParsed.params;\n const client = this.#sessionCdpClients.get(sessionId);\n if (client) {\n this.#sessionCdpClients.delete(sessionId);\n client.removeAllListeners();\n }\n }\n }\n };\n}\nexports.CdpConnection = CdpConnection;\n//# sourceMappingURL=cdpConnection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (val) => val;\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\"\n ? (obj) => Object.keys(obj)\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)\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .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 = exports.util || (exports.util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second,\n };\n };\n})(objectUtil = exports.objectUtil || (exports.objectUtil = {}));\nexports.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]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_1 = require(\"./helpers/util\");\nexports.ZodIssueCode = util_1.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]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\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 Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.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 }\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 toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_1.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}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../helpers/util\");\nconst ZodError_1 = require(\"../ZodError\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_1.ZodIssueCode.invalid_type:\n if (issue.received === util_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_1.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_1.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 ZodError_1.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\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.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\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getErrorMap = exports.setErrorMap = exports.defaultErrorMap = void 0;\nconst en_1 = __importDefault(require(\"./locales/en\"));\nexports.defaultErrorMap = en_1.default;\nlet overrideErrorMap = en_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nexports.setErrorMap = setErrorMap;\nfunction getErrorMap() {\n return overrideErrorMap;\n}\nexports.getErrorMap = getErrorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;\nconst errors_1 = require(\"../errors\");\nconst en_1 = __importDefault(require(\"../locales/en\"));\nconst 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 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: issueData.message || errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n en_1.default,\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexports.addIssueToContext = addIssueToContext;\nclass 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 exports.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 syncPairs.push({\n key: await pair.key,\n value: await pair.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 exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil = exports.errorUtil || (exports.errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nconst errors_1 = require(\"./errors\");\nconst errorUtil_1 = require(\"./helpers/errorUtil\");\nconst parseUtil_1 = require(\"./helpers/parseUtil\");\nconst util_1 = require(\"./helpers/util\");\nconst ZodError_1 = require(\"./ZodError\");\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 (this._key instanceof Array) {\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 ((0, parseUtil_1.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_1.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 if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\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.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.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 parseUtil_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.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 ((0, parseUtil_1.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 var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\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 === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_1.isAsync)(maybeAsyncResult)\n ? maybeAsyncResult\n : 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: ZodError_1.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\"\n ? refinementData(val, ctx)\n : 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 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, this._def);\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 isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/;\nconst uuidRegex = /^([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 emailRegex = /^(([^<>()[\\]\\\\.,;:\\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,})+))$/;\nconst emojiRegex = /^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$/u;\nconst ipv4Regex = /^(((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 = /^(([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 datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\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}\nclass ZodString extends ZodType {\n constructor() {\n super(...arguments);\n this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_1.ZodIssueCode.invalid_string,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n this.nonempty = (message) => this.min(1, errorUtil_1.errorUtil.errToObj(message));\n this.trim = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n this.toLowerCase = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n this.toUpperCase = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_1.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 (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\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_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\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 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 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}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\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 = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass 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 !== util_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.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_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_1.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_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_1.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\" ||\n (ch.kind === \"multipleOf\" && util_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n 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}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass 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 input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.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_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.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_1.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_1.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_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_1.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}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass 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 !== util_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass 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 !== util_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_1.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}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_1.ZodIssueCode.too_big : ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 parseUtil_1.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 parseUtil_1.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_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\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}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n this.nonstrict = this.passthrough;\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_1.util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 &&\n 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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 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)),\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 syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : 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 extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\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 setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util_1.util.objectKeys(mask).forEach((key) => {\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 util_1.util.objectKeys(this.shape).forEach((key) => {\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 deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util_1.util.objectKeys(this.shape).forEach((key) => {\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 util_1.util.objectKeys(this.shape).forEach((key) => {\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_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\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};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\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 ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n const unionErrors = results.map((result) => new ZodError_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.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_1.ZodError(issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\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 return Object.keys(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 {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_1.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 static create(discriminator, options, params) {\n const optionsMap = new Map();\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\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}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_1.getParsedType)(a);\n const bType = (0, util_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_1.ZodParsedType.object && bType === util_1.ZodParsedType.object) {\n const bKeys = util_1.util.objectKeys(b);\n const sharedKeys = util_1.util\n .objectKeys(a)\n .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 === util_1.ZodParsedType.array && bType === util_1.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 === util_1.ZodParsedType.date &&\n bType === util_1.ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) {\n return parseUtil_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_1.INVALID;\n }\n if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.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}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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);\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_1.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}\nexports.ZodTuple = ZodTuple;\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};\nclass 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 !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 });\n }\n if (ctx.common.async) {\n return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_1.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}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.map) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 parseUtil_1.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 parseUtil_1.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}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.set) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 parseUtil_1.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_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_1.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}\nexports.ZodSet = ZodSet;\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};\nclass 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 !== util_1.ZodParsedType.function) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.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 return (0, parseUtil_1.OK)(async (...args) => {\n const error = new ZodError_1.ZodError([]);\n const parsedArgs = await this._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await fn(...parsedArgs);\n const parsedReturns = await this._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 return (0, parseUtil_1.OK)((...args) => {\n const parsedArgs = this._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = fn(...parsedArgs.data);\n const parsedReturns = this._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_1.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\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass 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}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\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: values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass 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 (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.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) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_1.ZodParsedType.string &&\n ctx.parsedType !== util_1.ZodParsedType.number) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.promise &&\n ctx.common.async === false) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const promisified = ctx.parsedType === util_1.ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return (0, parseUtil_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass 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 if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data);\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_1.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 === \"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 parseUtil_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_1.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 (!(0, parseUtil_1.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\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!(0, parseUtil_1.isValid)(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\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};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.undefined) {\n return (0, parseUtil_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.null) {\n return (0, parseUtil_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_1.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}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\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 ((0, parseUtil_1.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_1.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_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\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};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass 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}\nexports.ZodBranded = ZodBranded;\nclass 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 parseUtil_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_1.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 parseUtil_1.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}\nexports.ZodPipeline = ZodPipeline;\nconst custom = (check, params = {}, fatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nexports.custom = custom;\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar 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 = exports.ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = {}));\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (cls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => (0, exports.custom)((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.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};\nexports.NEVER = parseUtil_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./helpers/parseUtil\"), exports);\n__exportStar(require(\"./helpers/typeAliases\"), exports);\n__exportStar(require(\"./helpers/util\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./ZodError\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./external\"));\nexports.z = z;\n__exportStar(require(\"./external\"), exports);\nexports.default = z;\n","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Input = exports.InputCommandSchema = exports.Log = exports.LogEventSchema = exports.Script = exports.ScriptEventSchema = exports.ScriptResultSchema = exports.ScriptCommandSchema = exports.Network = exports.NetworkEventSchema = exports.NetworkResultSchema = exports.NetworkCommandSchema = exports.BrowsingContext = exports.BrowsingContextEventSchema = exports.BrowsingContextResultSchema = exports.BrowsingContextCommandSchema = exports.Browser = exports.BrowserCommandSchema = exports.Session = exports.SessionResultSchema = exports.SessionCommandSchema = exports.ErrorCodeSchema = exports.JsUintSchema = exports.JsIntSchema = exports.ExtensibleSchema = exports.EventDataSchema = exports.EventSchema = exports.EmptyResultSchema = exports.ResultDataSchema = exports.ErrorResponseSchema = exports.CommandResponseSchema = exports.MessageSchema = exports.EmptyParamsSchema = exports.CommandDataSchema = exports.CommandSchema = void 0;\n/**\n * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.\n * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck Some types may be circular.\nconst zod_1 = __importDefault(require(\"zod\"));\nexports.CommandSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n id: exports.JsUintSchema,\n})\n .and(exports.CommandDataSchema)\n .and(exports.ExtensibleSchema));\nexports.CommandDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowserCommandSchema,\n exports.BrowsingContextCommandSchema,\n exports.InputCommandSchema,\n exports.NetworkCommandSchema,\n exports.ScriptCommandSchema,\n exports.SessionCommandSchema,\n]));\nexports.EmptyParamsSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.MessageSchema = zod_1.default.lazy(() => zod_1.default.union([exports.CommandResponseSchema, exports.ErrorResponseSchema, exports.EventSchema]));\nexports.CommandResponseSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('success'),\n id: exports.JsUintSchema,\n result: exports.ResultDataSchema,\n})\n .and(exports.ExtensibleSchema));\nexports.ErrorResponseSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('error'),\n id: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n error: exports.ErrorCodeSchema,\n message: zod_1.default.string(),\n stacktrace: zod_1.default.string().optional(),\n})\n .and(exports.ExtensibleSchema));\nexports.ResultDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowsingContextResultSchema,\n exports.EmptyResultSchema,\n exports.NetworkResultSchema,\n exports.ScriptResultSchema,\n exports.SessionResultSchema,\n]));\nexports.EmptyResultSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.EventSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('event'),\n})\n .and(exports.EventDataSchema)\n .and(exports.ExtensibleSchema));\nexports.EventDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowsingContextEventSchema,\n exports.LogEventSchema,\n exports.NetworkEventSchema,\n exports.ScriptEventSchema,\n]));\nexports.ExtensibleSchema = zod_1.default.lazy(() => zod_1.default.record(zod_1.default.string(), zod_1.default.any()));\nexports.JsIntSchema = zod_1.default.lazy(() => zod_1.default.number().int().gte(-9007199254740991).lte(9007199254740991));\nexports.JsUintSchema = zod_1.default.lazy(() => zod_1.default.number().int().nonnegative().gte(0).lte(9007199254740991));\nexports.ErrorCodeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n 'invalid argument',\n 'invalid session id',\n 'move target out of bounds',\n 'no such alert',\n 'no such element',\n 'no such frame',\n 'no such handle',\n 'no such intercept',\n 'no such node',\n 'no such request',\n 'no such script',\n 'session not created',\n 'unable to capture screen',\n 'unable to close browser',\n 'unknown command',\n 'unknown error',\n 'unsupported operation',\n]));\nexports.SessionCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Session.EndSchema,\n Session.NewSchema,\n Session.StatusSchema,\n Session.SubscribeSchema,\n Session.UnsubscribeSchema,\n]));\nexports.SessionResultSchema = zod_1.default.lazy(() => zod_1.default.union([Session.NewResultSchema, Session.StatusResultSchema]));\nvar Session;\n(function (Session) {\n Session.CapabilitiesRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n alwaysMatch: Session.CapabilityRequestSchema.optional(),\n firstMatch: zod_1.default.array(Session.CapabilityRequestSchema).optional(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.CapabilityRequestSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n acceptInsecureCerts: zod_1.default.boolean().optional(),\n browserName: zod_1.default.string().optional(),\n browserVersion: zod_1.default.string().optional(),\n platformName: zod_1.default.string().optional(),\n proxy: zod_1.default\n .object({\n proxyType: zod_1.default\n .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n .optional(),\n proxyAutoconfigUrl: zod_1.default.string().optional(),\n ftpProxy: zod_1.default.string().optional(),\n httpProxy: zod_1.default.string().optional(),\n noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n sslProxy: zod_1.default.string().optional(),\n socksProxy: zod_1.default.string().optional(),\n socksVersion: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(255)\n .optional(),\n })\n .optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.SubscriptionRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n events: zod_1.default.array(zod_1.default.string()),\n contexts: zod_1.default.array(BrowsingContext.BrowsingContextSchema).optional(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.StatusSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.status'),\n params: exports.EmptyParamsSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.StatusResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n ready: zod_1.default.boolean(),\n message: zod_1.default.string(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.new'),\n params: Session.NewParametersSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n capabilities: Session.CapabilitiesRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n sessionId: zod_1.default.string(),\n capabilities: zod_1.default\n .object({\n acceptInsecureCerts: zod_1.default.boolean(),\n browserName: zod_1.default.string(),\n browserVersion: zod_1.default.string(),\n platformName: zod_1.default.string(),\n proxy: zod_1.default.object({\n proxyType: zod_1.default\n .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n .optional(),\n proxyAutoconfigUrl: zod_1.default.string().optional(),\n ftpProxy: zod_1.default.string().optional(),\n httpProxy: zod_1.default.string().optional(),\n noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n sslProxy: zod_1.default.string().optional(),\n socksProxy: zod_1.default.string().optional(),\n socksVersion: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(255)\n .optional(),\n }),\n setWindowRect: zod_1.default.boolean(),\n })\n .and(exports.ExtensibleSchema),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.EndSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.end'),\n params: exports.EmptyParamsSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.SubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.subscribe'),\n params: Session.SubscriptionRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.UnsubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.unsubscribe'),\n params: Session.SubscriptionRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\nexports.BrowserCommandSchema = zod_1.default.lazy(() => Browser.CloseSchema);\nvar Browser;\n(function (Browser) {\n Browser.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browser.close'),\n params: exports.EmptyParamsSchema,\n }));\n})(Browser || (exports.Browser = Browser = {}));\nexports.BrowsingContextCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.ActivateSchema,\n BrowsingContext.CaptureScreenshotSchema,\n BrowsingContext.CloseSchema,\n BrowsingContext.CreateSchema,\n BrowsingContext.GetTreeSchema,\n BrowsingContext.HandleUserPromptSchema,\n BrowsingContext.NavigateSchema,\n BrowsingContext.PrintSchema,\n BrowsingContext.ReloadSchema,\n BrowsingContext.SetViewportSchema,\n]));\nexports.BrowsingContextResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.CaptureScreenshotResultSchema,\n BrowsingContext.CreateResultSchema,\n BrowsingContext.GetTreeResultSchema,\n BrowsingContext.NavigateResultSchema,\n BrowsingContext.PrintResultSchema,\n]));\nexports.BrowsingContextEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.ContextCreatedSchema,\n BrowsingContext.ContextDestroyedSchema,\n BrowsingContext.NavigationStartedSchema,\n BrowsingContext.FragmentNavigatedSchema,\n BrowsingContext.DomContentLoadedSchema,\n BrowsingContext.LoadSchema,\n BrowsingContext.DownloadWillBeginSchema,\n BrowsingContext.NavigationAbortedSchema,\n BrowsingContext.NavigationFailedSchema,\n BrowsingContext.UserPromptClosedSchema,\n BrowsingContext.UserPromptOpenedSchema,\n]));\nvar BrowsingContext;\n(function (BrowsingContext) {\n BrowsingContext.BrowsingContextSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.InfoListSchema = zod_1.default.lazy(() => zod_1.default.array(BrowsingContext.InfoSchema));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.InfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n url: zod_1.default.string(),\n children: zod_1.default.union([BrowsingContext.InfoListSchema, zod_1.default.null()]),\n parent: zod_1.default\n .union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()])\n .optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n timestamp: exports.JsUintSchema,\n url: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReadinessStateSchema = zod_1.default.lazy(() => zod_1.default.enum(['none', 'interactive', 'complete']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ActivateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.activate'),\n params: BrowsingContext.ActivateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ActivateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.captureScreenshot'),\n params: BrowsingContext.CaptureScreenshotParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n clip: BrowsingContext.ClipRectangleSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.BoxClipRectangleSchema,\n BrowsingContext.ElementClipRectangleSchema,\n ]));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ElementClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('element'),\n element: Script.SharedReferenceSchema,\n scrollIntoView: zod_1.default.boolean().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.BoxClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('viewport'),\n x: zod_1.default.number(),\n y: zod_1.default.number(),\n width: zod_1.default.number(),\n height: zod_1.default.number(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n data: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.close'),\n params: BrowsingContext.CloseParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CloseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.create'),\n params: BrowsingContext.CreateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['tab', 'window']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: BrowsingContext.CreateTypeSchema,\n referenceContext: BrowsingContext.BrowsingContextSchema.optional(),\n background: zod_1.default.boolean().default(false).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.getTree'),\n params: BrowsingContext.GetTreeParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n maxDepth: exports.JsUintSchema.optional(),\n root: BrowsingContext.BrowsingContextSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n contexts: BrowsingContext.InfoListSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.HandleUserPromptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.handleUserPrompt'),\n params: BrowsingContext.HandleUserPromptParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.HandleUserPromptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n accept: zod_1.default.boolean().optional(),\n userText: zod_1.default.string().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigate'),\n params: BrowsingContext.NavigateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n url: zod_1.default.string(),\n wait: BrowsingContext.ReadinessStateSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n url: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.print'),\n params: BrowsingContext.PrintParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n background: zod_1.default.boolean().default(false).optional(),\n margin: BrowsingContext.PrintMarginParametersSchema.optional(),\n orientation: zod_1.default\n .enum(['portrait', 'landscape'])\n .default('portrait')\n .optional(),\n page: BrowsingContext.PrintPageParametersSchema.optional(),\n pageRanges: zod_1.default.array(zod_1.default.union([exports.JsUintSchema, zod_1.default.string()])).optional(),\n scale: zod_1.default.number().gte(0.1).lte(2).default(1).optional(),\n shrinkToFit: zod_1.default.boolean().default(true).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintMarginParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n bottom: zod_1.default.number().gte(0).default(1).optional(),\n left: zod_1.default.number().gte(0).default(1).optional(),\n right: zod_1.default.number().gte(0).default(1).optional(),\n top: zod_1.default.number().gte(0).default(1).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintPageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n height: zod_1.default.number().gte(0).default(27.94).optional(),\n width: zod_1.default.number().gte(0).default(21.59).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n data: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReloadSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.reload'),\n params: BrowsingContext.ReloadParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReloadParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n ignoreCache: zod_1.default.boolean().optional(),\n wait: BrowsingContext.ReadinessStateSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.SetViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.setViewport'),\n params: BrowsingContext.SetViewportParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.SetViewportParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n viewport: zod_1.default.union([BrowsingContext.ViewportSchema, zod_1.default.null()]),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n width: exports.JsUintSchema,\n height: exports.JsUintSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ContextCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.contextCreated'),\n params: BrowsingContext.InfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ContextDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.contextDestroyed'),\n params: BrowsingContext.InfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationStarted'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.FragmentNavigatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.fragmentNavigated'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.DomContentLoadedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.domContentLoaded'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.LoadSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.load'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.DownloadWillBeginSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.downloadWillBegin'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationAbortedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationAborted'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationFailedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationFailed'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptClosedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.userPromptClosed'),\n params: BrowsingContext.UserPromptClosedParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptClosedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n accepted: zod_1.default.boolean(),\n userText: zod_1.default.string().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptOpenedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.userPromptOpened'),\n params: BrowsingContext.UserPromptOpenedParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptOpenedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n type: zod_1.default.enum(['alert', 'confirm', 'prompt', 'beforeunload']),\n message: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nexports.NetworkCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Network.AddInterceptSchema,\n Network.ContinueRequestSchema,\n Network.ContinueResponseSchema,\n Network.ContinueWithAuthSchema,\n Network.FailRequestSchema,\n Network.ProvideResponseSchema,\n Network.RemoveInterceptSchema,\n]));\nexports.NetworkResultSchema = zod_1.default.lazy(() => Network.AddInterceptResultSchema);\nexports.NetworkEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n Network.AuthRequiredSchema,\n Network.BeforeRequestSentSchema,\n Network.FetchErrorSchema,\n Network.ResponseCompletedSchema,\n Network.ResponseStartedSchema,\n]));\nvar Network;\n(function (Network) {\n Network.AuthChallengeSchema = zod_1.default.lazy(() => zod_1.default.object({\n scheme: zod_1.default.string(),\n realm: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AuthCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('password'),\n username: zod_1.default.string(),\n password: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BaseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: zod_1.default.union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()]),\n isBlocked: zod_1.default.boolean(),\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n redirectCount: exports.JsUintSchema,\n request: Network.RequestDataSchema,\n timestamp: exports.JsUintSchema,\n intercepts: zod_1.default.array(Network.InterceptSchema).optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BytesValueSchema = zod_1.default.lazy(() => zod_1.default.union([Network.StringValueSchema, Network.Base64ValueSchema]));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n value: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.Base64ValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('base64'),\n value: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.CookieSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n domain: zod_1.default.string(),\n path: zod_1.default.string(),\n size: exports.JsUintSchema,\n httpOnly: zod_1.default.boolean(),\n secure: zod_1.default.boolean(),\n sameSite: zod_1.default.enum(['strict', 'lax', 'none']),\n expires: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.CookieHeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchTimingInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n timeOrigin: zod_1.default.number(),\n requestTime: zod_1.default.number(),\n redirectStart: zod_1.default.number(),\n redirectEnd: zod_1.default.number(),\n fetchStart: zod_1.default.number(),\n dnsStart: zod_1.default.number(),\n dnsEnd: zod_1.default.number(),\n connectStart: zod_1.default.number(),\n connectEnd: zod_1.default.number(),\n tlsStart: zod_1.default.number(),\n requestStart: zod_1.default.number(),\n responseStart: zod_1.default.number(),\n responseEnd: zod_1.default.number(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.HeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InitiatorSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.enum(['parser', 'script', 'preflight', 'other']),\n columnNumber: exports.JsUintSchema.optional(),\n lineNumber: exports.JsUintSchema.optional(),\n stackTrace: Script.StackTraceSchema.optional(),\n request: Network.RequestSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InterceptSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RequestSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RequestDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n url: zod_1.default.string(),\n method: zod_1.default.string(),\n headers: zod_1.default.array(Network.HeaderSchema),\n cookies: zod_1.default.array(Network.CookieSchema),\n headersSize: exports.JsUintSchema,\n bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n timings: Network.FetchTimingInfoSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseContentSchema = zod_1.default.lazy(() => zod_1.default.object({\n size: exports.JsUintSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n url: zod_1.default.string(),\n protocol: zod_1.default.string(),\n status: exports.JsUintSchema,\n statusText: zod_1.default.string(),\n fromCache: zod_1.default.boolean(),\n headers: zod_1.default.array(Network.HeaderSchema),\n mimeType: zod_1.default.string(),\n bytesReceived: exports.JsUintSchema,\n headersSize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n content: Network.ResponseContentSchema,\n authChallenge: Network.AuthChallengeSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.SetCookieHeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n domain: zod_1.default.string().optional(),\n httpOnly: zod_1.default.boolean().optional(),\n expires: zod_1.default.string().optional(),\n maxAge: exports.JsIntSchema.optional(),\n path: zod_1.default.string().optional(),\n sameSite: zod_1.default.enum(['strict', 'lax', 'none']).optional(),\n secure: zod_1.default.boolean().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternSchema = zod_1.default.lazy(() => zod_1.default.union([Network.UrlPatternPatternSchema, Network.UrlPatternStringSchema]));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternPatternSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pattern'),\n protocol: zod_1.default.string().optional(),\n hostname: zod_1.default.string().optional(),\n port: zod_1.default.string().optional(),\n pathname: zod_1.default.string().optional(),\n search: zod_1.default.string().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternStringSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n pattern: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.addIntercept'),\n params: Network.AddInterceptParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n phases: zod_1.default.array(Network.InterceptPhaseSchema),\n urlPatterns: zod_1.default.array(Network.UrlPatternSchema).optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InterceptPhaseSchema = zod_1.default.lazy(() => zod_1.default.enum(['beforeRequestSent', 'responseStarted', 'authRequired']));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n intercept: Network.InterceptSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueRequest'),\n params: Network.ContinueRequestParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueRequestParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n body: Network.BytesValueSchema.optional(),\n cookies: zod_1.default.array(Network.CookieHeaderSchema).optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n method: zod_1.default.string().optional(),\n url: zod_1.default.string().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueResponseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueResponse'),\n params: Network.ContinueResponseParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueResponseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n cookies: zod_1.default.array(Network.SetCookieHeaderSchema).optional(),\n credentials: Network.AuthCredentialsSchema.optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n reasonPhrase: zod_1.default.string().optional(),\n statusCode: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueWithAuth'),\n params: Network.ContinueWithAuthParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthParametersSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n request: Network.RequestSchema,\n })\n .and(zod_1.default.union([\n Network.ContinueWithAuthCredentialsSchema,\n Network.ContinueWithAuthNoCredentialsSchema,\n ])));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n action: zod_1.default.literal('provideCredentials'),\n credentials: Network.AuthCredentialsSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthNoCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n action: zod_1.default.enum(['default', 'cancel']),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FailRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.failRequest'),\n params: Network.FailRequestParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FailRequestParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ProvideResponseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.provideResponse'),\n params: Network.ProvideResponseParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ProvideResponseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n body: Network.BytesValueSchema.optional(),\n cookies: zod_1.default.array(Network.SetCookieHeaderSchema).optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n reasonPhrase: zod_1.default.string().optional(),\n statusCode: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RemoveInterceptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.removeIntercept'),\n params: Network.RemoveInterceptParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RemoveInterceptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n intercept: Network.InterceptSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AuthRequiredSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.authRequired'),\n params: Network.AuthRequiredParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AuthRequiredParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BeforeRequestSentSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.beforeRequestSent'),\n params: Network.BeforeRequestSentParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BeforeRequestSentParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n initiator: Network.InitiatorSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchErrorSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.fetchError'),\n params: Network.FetchErrorParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchErrorParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n errorText: zod_1.default.string(),\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseCompletedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.responseCompleted'),\n params: Network.ResponseCompletedParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseCompletedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.responseStarted'),\n params: Network.ResponseStartedParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseStartedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\nexports.ScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.AddPreloadScriptCommandSchema,\n Script.CallFunctionSchema,\n Script.DisownSchema,\n Script.EvaluateSchema,\n Script.GetRealmsSchema,\n Script.RemovePreloadScriptCommandSchema,\n]));\nexports.ScriptResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.AddPreloadScriptResultSchema,\n Script.EvaluateResultSchema,\n Script.GetRealmsResultSchema,\n]));\nexports.ScriptEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.MessageSchema,\n Script.RealmCreatedSchema,\n Script.RealmDestroyedSchema,\n]));\nvar Script;\n(function (Script) {\n Script.ChannelSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ChannelValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('channel'),\n value: Script.ChannelPropertiesSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ChannelPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n channel: Script.ChannelSchema,\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n ownership: Script.ResultOwnershipSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.EvaluateResultSuccessSchema,\n Script.EvaluateResultExceptionSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultSuccessSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('success'),\n result: Script.RemoteValueSchema,\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultExceptionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('exception'),\n exceptionDetails: Script.ExceptionDetailsSchema,\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ExceptionDetailsSchema = zod_1.default.lazy(() => zod_1.default.object({\n columnNumber: exports.JsUintSchema,\n exception: Script.RemoteValueSchema,\n lineNumber: exports.JsUintSchema,\n stackTrace: Script.StackTraceSchema,\n text: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.HandleSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.LocalValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.RemoteReferenceSchema,\n Script.PrimitiveProtocolValueSchema,\n Script.ChannelValueSchema,\n Script.ArrayLocalValueSchema,\n Script.DateLocalValueSchema,\n Script.MapLocalValueSchema,\n Script.ObjectLocalValueSchema,\n Script.RegExpLocalValueSchema,\n Script.SetLocalValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ListLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.LocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('array'),\n value: Script.ListLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DateLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('date'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MappingLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n zod_1.default.union([Script.LocalValueSchema, zod_1.default.string()]),\n Script.LocalValueSchema,\n ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MapLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('map'),\n value: Script.MappingLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ObjectLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('object'),\n value: Script.MappingLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n pattern: zod_1.default.string(),\n flags: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('regexp'),\n value: Script.RegExpValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SetLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('set'),\n value: Script.ListLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PreloadScriptSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PrimitiveProtocolValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.UndefinedValueSchema,\n Script.NullValueSchema,\n Script.StringValueSchema,\n Script.NumberValueSchema,\n Script.BooleanValueSchema,\n Script.BigIntValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.UndefinedValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('undefined'),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NullValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('null'),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SpecialNumberSchema = zod_1.default.lazy(() => zod_1.default.enum(['NaN', '-0', 'Infinity', '-Infinity']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NumberValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('number'),\n value: zod_1.default.union([zod_1.default.number(), Script.SpecialNumberSchema]),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BooleanValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('boolean'),\n value: zod_1.default.boolean(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BigIntValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('bigint'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmInfoSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.WindowRealmInfoSchema,\n Script.DedicatedWorkerRealmInfoSchema,\n Script.SharedWorkerRealmInfoSchema,\n Script.ServiceWorkerRealmInfoSchema,\n Script.WorkerRealmInfoSchema,\n Script.PaintWorkletRealmInfoSchema,\n Script.AudioWorkletRealmInfoSchema,\n Script.WorkletRealmInfoSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BaseRealmInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n origin: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('window'),\n context: BrowsingContext.BrowsingContextSchema,\n sandbox: zod_1.default.string().optional(),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DedicatedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('dedicated-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('shared-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ServiceWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('service-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PaintWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('paint-worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AudioWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('audio-worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmTypeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n 'window',\n 'dedicated-worker',\n 'shared-worker',\n 'service-worker',\n 'worker',\n 'paint-worklet',\n 'audio-worklet',\n 'worklet',\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteReferenceSchema = zod_1.default.lazy(() => zod_1.default.union([Script.SharedReferenceSchema, Script.RemoteObjectReferenceSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedReferenceSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n sharedId: Script.SharedIdSchema,\n handle: Script.HandleSchema.optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteObjectReferenceSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema,\n sharedId: Script.SharedIdSchema.optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.PrimitiveProtocolValueSchema,\n Script.SymbolRemoteValueSchema,\n Script.ArrayRemoteValueSchema,\n Script.ObjectRemoteValueSchema,\n Script.FunctionRemoteValueSchema,\n Script.RegExpRemoteValueSchema,\n Script.DateRemoteValueSchema,\n Script.MapRemoteValueSchema,\n Script.SetRemoteValueSchema,\n Script.WeakMapRemoteValueSchema,\n Script.WeakSetRemoteValueSchema,\n Script.IteratorRemoteValueSchema,\n Script.GeneratorRemoteValueSchema,\n Script.ErrorRemoteValueSchema,\n Script.ProxyRemoteValueSchema,\n Script.PromiseRemoteValueSchema,\n Script.TypedArrayRemoteValueSchema,\n Script.ArrayBufferRemoteValueSchema,\n Script.NodeListRemoteValueSchema,\n Script.HtmlCollectionRemoteValueSchema,\n Script.NodeRemoteValueSchema,\n Script.WindowProxyRemoteValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.InternalIdSchema = zod_1.default.lazy(() => exports.JsUintSchema);\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.RemoteValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MappingRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n zod_1.default.union([Script.RemoteValueSchema, zod_1.default.string()]),\n Script.RemoteValueSchema,\n ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SymbolRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('symbol'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('array'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ObjectRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('object'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.MappingRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.FunctionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('function'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n })\n .and(Script.RegExpLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DateRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n })\n .and(Script.DateLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('map'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.MappingRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('set'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WeakMapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('weakmap'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WeakSetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('weakset'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.IteratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('iterator'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GeneratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('generator'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ErrorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('error'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('proxy'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PromiseRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('promise'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.TypedArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('typedarray'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayBufferRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('arraybuffer'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodeListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('nodelist'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.HtmlCollectionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('htmlcollection'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodeRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('node'),\n sharedId: Script.SharedIdSchema.optional(),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.NodePropertiesSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n nodeType: exports.JsUintSchema,\n childNodeCount: exports.JsUintSchema,\n attributes: zod_1.default.record(zod_1.default.string(), zod_1.default.string()).optional(),\n children: zod_1.default.array(Script.NodeRemoteValueSchema).optional(),\n localName: zod_1.default.string().optional(),\n mode: zod_1.default.enum(['open', 'closed']).optional(),\n namespaceURI: zod_1.default.string().optional(),\n nodeValue: zod_1.default.string().optional(),\n shadowRoot: zod_1.default.union([Script.NodeRemoteValueSchema, zod_1.default.null()]).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('window'),\n value: Script.WindowProxyPropertiesSchema,\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowProxyPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ResultOwnershipSchema = zod_1.default.lazy(() => zod_1.default.enum(['root', 'none']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SerializationOptionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n maxDomDepth: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]).default(0).optional(),\n maxObjectDepth: zod_1.default\n .union([exports.JsUintSchema, zod_1.default.null()])\n .default(null)\n .optional(),\n includeShadowTree: zod_1.default\n .enum(['none', 'open', 'all'])\n .default('none')\n .optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedIdSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StackFrameSchema = zod_1.default.lazy(() => zod_1.default.object({\n columnNumber: exports.JsUintSchema,\n functionName: zod_1.default.string(),\n lineNumber: exports.JsUintSchema,\n url: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StackTraceSchema = zod_1.default.lazy(() => zod_1.default.object({\n callFrames: zod_1.default.array(Script.StackFrameSchema),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SourceSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n context: BrowsingContext.BrowsingContextSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ContextTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n sandbox: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.TargetSchema = zod_1.default.lazy(() => zod_1.default.union([Script.RealmTargetSchema, Script.ContextTargetSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.addPreloadScript'),\n params: Script.AddPreloadScriptParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n functionDeclaration: zod_1.default.string(),\n arguments: zod_1.default.array(Script.ChannelValueSchema).optional(),\n sandbox: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n script: Script.PreloadScriptSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DisownSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.disown'),\n params: Script.DisownParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DisownParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n handles: zod_1.default.array(Script.HandleSchema),\n target: Script.TargetSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.CallFunctionSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.callFunction'),\n params: Script.CallFunctionParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.CallFunctionParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n functionDeclaration: zod_1.default.string(),\n awaitPromise: zod_1.default.boolean(),\n target: Script.TargetSchema,\n arguments: zod_1.default.array(Script.LocalValueSchema).optional(),\n resultOwnership: Script.ResultOwnershipSchema.optional(),\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n this: Script.LocalValueSchema.optional(),\n userActivation: zod_1.default.boolean().default(false).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.evaluate'),\n params: Script.EvaluateParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n expression: zod_1.default.string(),\n target: Script.TargetSchema,\n awaitPromise: zod_1.default.boolean(),\n resultOwnership: Script.ResultOwnershipSchema.optional(),\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n userActivation: zod_1.default.boolean().default(false).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.getRealms'),\n params: Script.GetRealmsParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema.optional(),\n type: Script.RealmTypeSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n realms: zod_1.default.array(Script.RealmInfoSchema),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemovePreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.removePreloadScript'),\n params: Script.RemovePreloadScriptParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemovePreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n script: Script.PreloadScriptSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MessageSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.message'),\n params: Script.MessageParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MessageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n channel: Script.ChannelSchema,\n data: Script.RemoteValueSchema,\n source: Script.SourceSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.realmCreated'),\n params: Script.RealmInfoSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.realmDestroyed'),\n params: Script.RealmDestroyedParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmDestroyedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\nexports.LogEventSchema = zod_1.default.lazy(() => Log.EntryAddedSchema);\nvar Log;\n(function (Log) {\n Log.LevelSchema = zod_1.default.lazy(() => zod_1.default.enum(['debug', 'info', 'warn', 'error']));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.EntrySchema = zod_1.default.lazy(() => zod_1.default.union([\n Log.GenericLogEntrySchema,\n Log.ConsoleLogEntrySchema,\n Log.JavascriptLogEntrySchema,\n ]));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.BaseLogEntrySchema = zod_1.default.lazy(() => zod_1.default.object({\n level: Log.LevelSchema,\n source: Script.SourceSchema,\n text: zod_1.default.union([zod_1.default.string(), zod_1.default.null()]),\n timestamp: exports.JsUintSchema,\n stackTrace: Script.StackTraceSchema.optional(),\n }));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.GenericLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.string(),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.ConsoleLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.literal('console'),\n method: zod_1.default.string(),\n args: zod_1.default.array(Script.RemoteValueSchema),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.JavascriptLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.literal('javascript'),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.EntryAddedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('log.entryAdded'),\n params: Log.EntrySchema,\n }));\n})(Log || (exports.Log = Log = {}));\nexports.InputCommandSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PerformActionsSchema, Input.ReleaseActionsSchema]));\nvar Input;\n(function (Input) {\n Input.ElementOriginSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('element'),\n element: Script.SharedReferenceSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PerformActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('input.performActions'),\n params: Input.PerformActionsParametersSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PerformActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n actions: zod_1.default.array(Input.SourceActionsSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.SourceActionsSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.NoneSourceActionsSchema,\n Input.KeySourceActionsSchema,\n Input.PointerSourceActionsSchema,\n Input.WheelSourceActionsSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.NoneSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('none'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.NoneSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.NoneSourceActionSchema = zod_1.default.lazy(() => Input.PauseActionSchema);\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeySourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('key'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.KeySourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeySourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.PauseActionSchema,\n Input.KeyDownActionSchema,\n Input.KeyUpActionSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pointer'),\n id: zod_1.default.string(),\n parameters: Input.PointerParametersSchema.optional(),\n actions: zod_1.default.array(Input.PointerSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['mouse', 'pen', 'touch']));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n pointerType: Input.PointerTypeSchema.default('mouse').optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.PauseActionSchema,\n Input.PointerDownActionSchema,\n Input.PointerUpActionSchema,\n Input.PointerMoveActionSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('wheel'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.WheelSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PauseActionSchema, Input.WheelScrollActionSchema]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PauseActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pause'),\n duration: exports.JsUintSchema.optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeyDownActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('keyDown'),\n value: zod_1.default.string(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeyUpActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('keyUp'),\n value: zod_1.default.string(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerUpActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerUp'),\n button: exports.JsUintSchema,\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerDownActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerDown'),\n button: exports.JsUintSchema,\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerMoveActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerMove'),\n x: exports.JsIntSchema,\n y: exports.JsIntSchema,\n duration: exports.JsUintSchema.optional(),\n origin: Input.OriginSchema.optional(),\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelScrollActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('scroll'),\n x: exports.JsIntSchema,\n y: exports.JsIntSchema,\n deltaX: exports.JsIntSchema,\n deltaY: exports.JsIntSchema,\n duration: exports.JsUintSchema.optional(),\n origin: Input.OriginSchema.default('viewport').optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerCommonPropertiesSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n width: exports.JsUintSchema.default(1).optional(),\n height: exports.JsUintSchema.default(1).optional(),\n pressure: zod_1.default.number().default(0).optional(),\n tangentialPressure: zod_1.default.number().default(0).optional(),\n twist: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(359)\n .default(0)\n .optional(),\n })\n .and(zod_1.default.union([Input.TiltPropertiesSchema, Input.AnglePropertiesSchema])));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.AnglePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n altitudeAngle: zod_1.default.number().default(0).optional(),\n azimuthAngle: zod_1.default.number().default(0).optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.TiltPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n tiltX: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n tiltY: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.OriginSchema = zod_1.default.lazy(() => zod_1.default.union([\n zod_1.default.literal('viewport'),\n zod_1.default.literal('pointer'),\n Input.ElementOriginSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.ReleaseActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('input.releaseActions'),\n params: Input.ReleaseActionsParametersSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.ReleaseActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cdp = exports.Input = exports.Session = exports.BrowsingContext = exports.Script = exports.Network = exports.parseObject = void 0;\n/**\n * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.\n * Parser types should match the `../protocol` types.\n */\nconst zod_1 = require(\"zod\");\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst WebDriverBidi = __importStar(require(\"./webdriver-bidi.js\"));\nfunction parseObject(obj, schema) {\n const parseResult = schema.safeParse(obj);\n if (parseResult.success) {\n return parseResult.data;\n }\n const errorMessage = parseResult.error.errors\n .map((e) => `${e.message} in ` +\n `${e.path.map((p) => JSON.stringify(p)).join('/')}.`)\n .join(' ');\n throw new protocol_js_1.InvalidArgumentException(errorMessage);\n}\nexports.parseObject = parseObject;\n/** @see https://w3c.github.io/webdriver-bidi/#module-network */\nvar Network;\n(function (Network) {\n function parseAddInterceptParameters(params) {\n return parseObject(params, WebDriverBidi.Network.AddInterceptParametersSchema);\n }\n Network.parseAddInterceptParameters = parseAddInterceptParameters;\n function parseContinueRequestParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueRequestParametersSchema);\n }\n Network.parseContinueRequestParameters = parseContinueRequestParameters;\n function parseContinueResponseParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueResponseParametersSchema);\n }\n Network.parseContinueResponseParameters = parseContinueResponseParameters;\n function parseContinueWithAuthParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueWithAuthParametersSchema);\n }\n Network.parseContinueWithAuthParameters = parseContinueWithAuthParameters;\n function parseFailRequestParameters(params) {\n return parseObject(params, WebDriverBidi.Network.FailRequestParametersSchema);\n }\n Network.parseFailRequestParameters = parseFailRequestParameters;\n function parseProvideResponseParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ProvideResponseParametersSchema);\n }\n Network.parseProvideResponseParameters = parseProvideResponseParameters;\n function parseRemoveInterceptParameters(params) {\n return parseObject(params, WebDriverBidi.Network.RemoveInterceptParametersSchema);\n }\n Network.parseRemoveInterceptParameters = parseRemoveInterceptParameters;\n})(Network || (exports.Network = Network = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-script */\nvar Script;\n(function (Script) {\n function parseGetRealmsParams(params) {\n return parseObject(params, WebDriverBidi.Script.GetRealmsParametersSchema);\n }\n Script.parseGetRealmsParams = parseGetRealmsParams;\n function parseEvaluateParams(params) {\n return parseObject(params, WebDriverBidi.Script.EvaluateParametersSchema);\n }\n Script.parseEvaluateParams = parseEvaluateParams;\n function parseDisownParams(params) {\n return parseObject(params, WebDriverBidi.Script.DisownParametersSchema);\n }\n Script.parseDisownParams = parseDisownParams;\n function parseAddPreloadScriptParams(params) {\n return parseObject(params, WebDriverBidi.Script.AddPreloadScriptParametersSchema);\n }\n Script.parseAddPreloadScriptParams = parseAddPreloadScriptParams;\n function parseRemovePreloadScriptParams(params) {\n return parseObject(params, WebDriverBidi.Script.RemovePreloadScriptParametersSchema);\n }\n Script.parseRemovePreloadScriptParams = parseRemovePreloadScriptParams;\n function parseCallFunctionParams(params) {\n return parseObject(params, WebDriverBidi.Script.CallFunctionParametersSchema);\n }\n Script.parseCallFunctionParams = parseCallFunctionParams;\n})(Script || (exports.Script = Script = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */\nvar BrowsingContext;\n(function (BrowsingContext) {\n function parseActivateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.ActivateParametersSchema);\n }\n BrowsingContext.parseActivateParams = parseActivateParams;\n function parseGetTreeParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.GetTreeParametersSchema);\n }\n BrowsingContext.parseGetTreeParams = parseGetTreeParams;\n function parseNavigateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.NavigateParametersSchema);\n }\n BrowsingContext.parseNavigateParams = parseNavigateParams;\n function parseReloadParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.ReloadParametersSchema);\n }\n BrowsingContext.parseReloadParams = parseReloadParams;\n function parseCreateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CreateParametersSchema);\n }\n BrowsingContext.parseCreateParams = parseCreateParams;\n function parseCloseParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CloseParametersSchema);\n }\n BrowsingContext.parseCloseParams = parseCloseParams;\n function parseCaptureScreenshotParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CaptureScreenshotParametersSchema);\n }\n BrowsingContext.parseCaptureScreenshotParams = parseCaptureScreenshotParams;\n function parsePrintParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.PrintParametersSchema);\n }\n BrowsingContext.parsePrintParams = parsePrintParams;\n function parseSetViewportParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.SetViewportParametersSchema);\n }\n BrowsingContext.parseSetViewportParams = parseSetViewportParams;\n function parseHandleUserPromptParameters(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.HandleUserPromptParametersSchema);\n }\n BrowsingContext.parseHandleUserPromptParameters = parseHandleUserPromptParameters;\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-session */\nvar Session;\n(function (Session) {\n function parseSubscribeParams(params) {\n return parseObject(params, WebDriverBidi.Session.SubscriptionRequestSchema);\n }\n Session.parseSubscribeParams = parseSubscribeParams;\n})(Session || (exports.Session = Session = {}));\nvar Input;\n(function (Input) {\n function parsePerformActionsParams(params) {\n return parseObject(params, WebDriverBidi.Input.PerformActionsParametersSchema);\n }\n Input.parsePerformActionsParams = parsePerformActionsParams;\n function parseReleaseActionsParams(params) {\n return parseObject(params, WebDriverBidi.Input.ReleaseActionsParametersSchema);\n }\n Input.parseReleaseActionsParams = parseReleaseActionsParams;\n})(Input || (exports.Input = Input = {}));\nvar Cdp;\n(function (Cdp) {\n const SendCommandRequestSchema = zod_1.z.object({\n // Allowing any cdpMethod, and casting to proper type later on.\n method: zod_1.z.string(),\n // `passthrough` allows object to have any fields.\n // https://github.com/colinhacks/zod#passthrough\n params: zod_1.z.object({}).passthrough().optional(),\n session: zod_1.z.string().optional(),\n });\n const GetSessionRequestSchema = zod_1.z.object({\n context: WebDriverBidi.BrowsingContext.BrowsingContextSchema,\n });\n function parseSendCommandRequest(params) {\n return parseObject(params, SendCommandRequestSchema);\n }\n Cdp.parseSendCommandRequest = parseSendCommandRequest;\n function parseGetSessionRequest(params) {\n return parseObject(params, GetSessionRequestSchema);\n }\n Cdp.parseGetSessionRequest = parseGetSessionRequest;\n})(Cdp || (exports.Cdp = Cdp = {}));\n//# sourceMappingURL=protocol-parser.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiParserImpl = void 0;\nconst Parser = __importStar(require(\"../protocol-parser/protocol-parser.js\"));\nclass BidiParserImpl {\n // Browsing Context domain\n // keep-sorted start block=yes\n parseActivateParams(params) {\n return Parser.BrowsingContext.parseActivateParams(params);\n }\n parseCaptureScreenshotParams(params) {\n return Parser.BrowsingContext.parseCaptureScreenshotParams(params);\n }\n parseCloseParams(params) {\n return Parser.BrowsingContext.parseCloseParams(params);\n }\n parseCreateParams(params) {\n return Parser.BrowsingContext.parseCreateParams(params);\n }\n parseGetTreeParams(params) {\n return Parser.BrowsingContext.parseGetTreeParams(params);\n }\n parseHandleUserPromptParams(params) {\n return Parser.BrowsingContext.parseHandleUserPromptParameters(params);\n }\n parseNavigateParams(params) {\n return Parser.BrowsingContext.parseNavigateParams(params);\n }\n parsePrintParams(params) {\n return Parser.BrowsingContext.parsePrintParams(params);\n }\n parseReloadParams(params) {\n return Parser.BrowsingContext.parseReloadParams(params);\n }\n parseSetViewportParams(params) {\n return Parser.BrowsingContext.parseSetViewportParams(params);\n }\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n parseGetSessionParams(params) {\n return Parser.Cdp.parseGetSessionRequest(params);\n }\n parseSendCommandParams(params) {\n return Parser.Cdp.parseSendCommandRequest(params);\n }\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n parsePerformActionsParams(params) {\n return Parser.Input.parsePerformActionsParams(params);\n }\n parseReleaseActionsParams(params) {\n return Parser.Input.parseReleaseActionsParams(params);\n }\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n parseAddInterceptParams(params) {\n return Parser.Network.parseAddInterceptParameters(params);\n }\n parseContinueRequestParams(params) {\n return Parser.Network.parseContinueRequestParameters(params);\n }\n parseContinueResponseParams(params) {\n return Parser.Network.parseContinueResponseParameters(params);\n }\n parseContinueWithAuthParams(params) {\n return Parser.Network.parseContinueWithAuthParameters(params);\n }\n parseFailRequestParams(params) {\n return Parser.Network.parseFailRequestParameters(params);\n }\n parseProvideResponseParams(params) {\n return Parser.Network.parseProvideResponseParameters(params);\n }\n parseRemoveInterceptParams(params) {\n return Parser.Network.parseRemoveInterceptParameters(params);\n }\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n parseAddPreloadScriptParams(params) {\n return Parser.Script.parseAddPreloadScriptParams(params);\n }\n parseCallFunctionParams(params) {\n return Parser.Script.parseCallFunctionParams(params);\n }\n parseDisownParams(params) {\n return Parser.Script.parseDisownParams(params);\n }\n parseEvaluateParams(params) {\n return Parser.Script.parseEvaluateParams(params);\n }\n parseGetRealmsParams(params) {\n return Parser.Script.parseGetRealmsParams(params);\n }\n parseRemovePreloadScriptParams(params) {\n return Parser.Script.parseRemovePreloadScriptParams(params);\n }\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n parseSubscribeParams(params) {\n return Parser.Session.parseSubscribeParams(params);\n }\n}\nexports.BidiParserImpl = BidiParserImpl;\n//# sourceMappingURL=BidiParserImpl.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.log = exports.generatePage = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst log_js_1 = require(\"../utils/log.js\");\n/** HTML source code for the user-facing Mapper tab. */\nconst mapperPageSource = '<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class=\"card\"><div class=\"item\"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target=\"_blank\" title=\"BiDi-CDP Mapper GitHub Repository\" href=\"https://github.com/GoogleChromeLabs/chromium-bidi\">Details.</a></p></div><div class=\"divider\"></div><details id=\"details\"><summary class=\"item\">Debug information</summary></details></div>';\n/**\n * The following piece of HTML should be added to the `debug` element:\n *\n * <div class=\"divider\"></div>\n * <div class=\"item\">\n * <h3>${name}</h3>\n * <div id=\"${name}_log\" class=\"log\">\n */\nfunction findOrCreateTypeLogContainer(logType) {\n const containerId = `${logType}_log`;\n const existingContainer = document.getElementById(containerId);\n if (existingContainer) {\n return existingContainer;\n }\n const debugElement = document.getElementById('details');\n const divider = document.createElement('div');\n divider.className = 'divider';\n debugElement.appendChild(divider);\n const htmlItem = document.createElement('div');\n htmlItem.className = 'item';\n htmlItem.innerHTML = `<h3>${logType}</h3><div id=\"${containerId}\" class=\"log\"></div>`;\n debugElement.appendChild(htmlItem);\n return document.getElementById(containerId);\n}\nfunction generatePage() {\n // If run not in browser (e.g. unit test), do nothing.\n if (!globalThis.document.documentElement) {\n return;\n }\n globalThis.document.documentElement.innerHTML = mapperPageSource;\n // Create main log containers in proper order.\n findOrCreateTypeLogContainer(log_js_1.LogType.debug);\n findOrCreateTypeLogContainer(log_js_1.LogType.bidi);\n findOrCreateTypeLogContainer(log_js_1.LogType.cdp);\n}\nexports.generatePage = generatePage;\nfunction log(logType, ...messages) {\n // If run not in browser (e.g. unit test), do nothing.\n if (!globalThis.document.documentElement) {\n return;\n }\n // If `sendDebugMessage` is defined, send the log message there.\n global.window?.sendDebugMessage?.(JSON.stringify({ logType, messages }));\n const typeLogContainer = findOrCreateTypeLogContainer(logType);\n // This piece of HTML should be added:\n // <div class=\"pre\">...log message...</div>\n const lineElement = document.createElement('div');\n lineElement.className = 'pre';\n lineElement.textContent = messages.join(' ');\n typeLogContainer.appendChild(lineElement);\n}\nexports.log = log;\n//# sourceMappingURL=mapperTabPage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @license\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bidiMapper_js_1 = require(\"../bidiMapper/bidiMapper.js\");\nconst cdpConnection_js_1 = require(\"../cdp/cdpConnection.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiParserImpl_1 = require(\"./BidiParserImpl\");\nconst mapperTabPage_js_1 = require(\"./mapperTabPage.js\");\n// Initiate `setSelfTargetId` as soon as possible to prevent race condition.\nconst waitSelfTargetIdPromise = waitSelfTargetId();\nvoid (async () => {\n (0, mapperTabPage_js_1.generatePage)();\n // Needed to filter out info related to BiDi target.\n const selfTargetId = await waitSelfTargetIdPromise;\n const bidiServer = await createBidiServer(selfTargetId);\n (0, mapperTabPage_js_1.log)(log_js_1.LogType.debug, 'Launched');\n bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingBidiMessage.createResolved({\n launched: true,\n }), 'launched');\n})();\nfunction createCdpConnection() {\n /**\n * A CdpTransport implementation that uses the window.cdp bindings\n * injected by Target.exposeDevToolsProtocol.\n */\n class WindowCdpTransport {\n #onMessage = null;\n constructor() {\n window.cdp.onmessage = (message) => {\n this.#onMessage?.call(null, message);\n };\n }\n setOnMessage(onMessage) {\n this.#onMessage = onMessage;\n }\n sendMessage(message) {\n window.cdp.send(message);\n }\n close() {\n this.#onMessage = null;\n window.cdp.onmessage = null;\n }\n }\n return new cdpConnection_js_1.CdpConnection(new WindowCdpTransport(), mapperTabPage_js_1.log);\n}\nfunction createBidiServer(selfTargetId) {\n class WindowBidiTransport {\n #onMessage = null;\n constructor() {\n window.onBidiMessage = (messageStr) => {\n (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:RECV ◂`, messageStr);\n let messageObject;\n try {\n messageObject = WindowBidiTransport.#parseBidiMessage(messageStr);\n }\n catch (e) {\n // Transport-level error does not provide channel.\n this.#respondWithError(messageStr, \"invalid argument\" /* ErrorCode.InvalidArgument */, e.message, null);\n return;\n }\n this.#onMessage?.call(null, messageObject);\n };\n }\n setOnMessage(onMessage) {\n this.#onMessage = onMessage;\n }\n sendMessage(message) {\n const messageStr = JSON.stringify(message);\n window.sendBidiResponse(messageStr);\n (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:SEND ▸`, messageStr);\n }\n close() {\n this.#onMessage = null;\n window.onBidiMessage = null;\n }\n #respondWithError(plainCommandData, errorCode, errorMessage, channel) {\n const errorResponse = WindowBidiTransport.#getErrorResponse(plainCommandData, errorCode, errorMessage);\n if (channel) {\n // XXX: get rid of any, same code existed in BidiServer.\n this.sendMessage({\n ...errorResponse,\n channel,\n });\n }\n else {\n this.sendMessage(errorResponse);\n }\n }\n static #getJsonType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n }\n static #getErrorResponse(messageStr, errorCode, errorMessage) {\n // XXX: this is bizarre per spec. We reparse the payload and\n // extract the ID, regardless of what kind of value it was.\n let messageId;\n try {\n const messageObj = JSON.parse(messageStr);\n if (WindowBidiTransport.#getJsonType(messageObj) === 'object' &&\n 'id' in messageObj) {\n messageId = messageObj.id;\n }\n }\n catch { }\n return {\n type: 'error',\n id: messageId,\n error: errorCode,\n message: errorMessage,\n // XXX: optional stacktrace field.\n };\n }\n static #parseBidiMessage(messageStr) {\n let messageObject;\n try {\n messageObject = JSON.parse(messageStr);\n }\n catch {\n throw new Error('Cannot parse data as JSON');\n }\n const parsedType = WindowBidiTransport.#getJsonType(messageObject);\n if (parsedType !== 'object') {\n throw new Error(`Expected JSON object but got ${parsedType}`);\n }\n // Extract and validate id, method and params.\n const { id, method, params } = messageObject;\n const idType = WindowBidiTransport.#getJsonType(id);\n if (idType !== 'number' || !Number.isInteger(id) || id < 0) {\n // TODO: should uint64_t be the upper limit?\n // https://tools.ietf.org/html/rfc7049#section-2.1\n throw new Error(`Expected unsigned integer but got ${idType}`);\n }\n const methodType = WindowBidiTransport.#getJsonType(method);\n if (methodType !== 'string') {\n throw new Error(`Expected string method but got ${methodType}`);\n }\n const paramsType = WindowBidiTransport.#getJsonType(params);\n if (paramsType !== 'object') {\n throw new Error(`Expected object params but got ${paramsType}`);\n }\n let channel = messageObject.channel;\n if (channel !== undefined) {\n const channelType = WindowBidiTransport.#getJsonType(channel);\n if (channelType !== 'string') {\n throw new Error(`Expected string channel but got ${channelType}`);\n }\n // Empty string channel is considered as no channel provided.\n if (channel === '') {\n channel = undefined;\n }\n }\n return { id, method, params, channel };\n }\n }\n return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl_1.BidiParserImpl(), mapperTabPage_js_1.log);\n}\n// Needed to filter out info related to BiDi target.\nasync function waitSelfTargetId() {\n return new Promise((resolve) => {\n window.setSelfTargetId = (targetId) => {\n (0, mapperTabPage_js_1.log)(log_js_1.LogType.debug, 'Current target ID:', targetId);\n resolve(targetId);\n };\n });\n}\n//# sourceMappingURL=bidiTab.js.map"],"names":["n","all","Map","on","t","e","i","get","push","set","off","splice","indexOf","emit","slice","map","__importDefault","this","mod","__esModule","default","Object","defineProperty","EventEmitter_1","value","EventEmitter","mitt_1","require$$0","EventEmitter$1","emitter","type","handler","once","event","onceHandler","eventData","removeAllListeners","delete","clear","LogType","log","processingQueue","ProcessingQueue","log_js_1","static","debug","logger","processor","queue","isProcessing","constructor","add","entry","name","processIfNeeded","length","arrayEntry","shift","entryPromise","LOGGER_PREFIX","undefined","then","kind","debugError","error","catch","cdp","BiDiModule","Script","Log","BrowsingContext","Network","chromiumBidi","EventNames","webdriverBidi","ErrorResponse","UnsupportedOperationException","UnableToCloseBrowserException","UnableToCaptureScreenException","UnknownCommandException","SessionNotCreatedException","NoSuchScriptException","NoSuchRequestException","NoSuchInterceptException","NoSuchHandleException","NoSuchFrameException","NoSuchElementException","MoveTargetOutOfBoundsException","InvalidSessionIdException","InvalidArgumentException","Exception","message","stacktrace","toErrorResponse","commandId","id","super","NoSuchAlertException","NoSuchNodeException","UnknownErrorException","Error","stack","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","enumerable","__setModuleDefault","v","__importStar","result","prototype","hasOwnProperty","call","__exportStar","exports","p","ChromiumBidi","Cdp","require$$1","require$$2","require$$3","BidiNoOpParser_1","BidiNoOpParser","BidiNoOpParser$1","parseActivateParams","params","parseCaptureScreenshotParams","parseCloseParams","parseCreateParams","parseGetTreeParams","parseHandleUserPromptParams","parseNavigateParams","parsePrintParams","parseReloadParams","parseSetViewportParams","parseGetSessionParams","parseSendCommandParams","parseAddPreloadScriptParams","parseCallFunctionParams","parseDisownParams","parseEvaluateParams","parseGetRealmsParams","parseRemovePreloadScriptParams","parsePerformActionsParams","parseReleaseActionsParams","parseAddInterceptParams","parseContinueRequestParams","parseContinueResponseParams","parseContinueWithAuthParams","parseFailRequestParams","parseProvideResponseParams","parseRemoveInterceptParams","parseSubscribeParams","OutgoingBidiMessage_1","OutgoingBidiMessage","channel","createFromPromise","messagePromise","createResolved","Promise","resolve","OutgoingBidiMessage$1","BrowserProcessor_1","BrowserProcessor","BrowserProcessor$1","cdpConnection","close","client","browserClient","setTimeout","sendCommand","CdpProcessor_1","CdpProcessor","CdpProcessor$1","browsingContextStorage","getSession","context","sessionId","getContext","cdpTarget","cdpSessionId","session","getCdpClient","method","deferred","Deferred","isFinished","promise","reject","_error","onFulfilled","onRejected","reason","onFinally","finally","Symbol","toStringTag","unitConversions","inchesFromCm","cm","uuid","uuidv4","globalThis","crypto","randomUUID","randomValues","Uint8Array","getRandomValues","require","webcrypto","bytesToHex","bytes","reduce","str","byte","toString","padStart","subarray","join","channelProxy","ChannelProxy","protocol_js_1","uuid_1","properties","includes","serializationOptions","maxDomDepth","includeShadowTree","init","realm","eventManager","channelHandle","createAndGetHandleInRealm","sendMessageHandle","createSendMessageHandle","startListener","startListenerFromWindow","getHandleFromWindow","createChannelProxyEvalStr","String","queueNonEmptyResolver","getMessage","onMessage","sendMessage","createChannelHandleResult","cdpClient","expression","contextId","executionContextId","serialization","exceptionDetails","objectId","functionDeclaration","arguments","async","awaitPromise","maxObjectDepth","maxDepth","registerEvent","MessageEvent","data","cdpToBidiValue","ownership","source","realmId","browsingContextId","channelHandleResult","w","window","getEvalInWindowStr","delegate","channelProxyEval","Realm","channelProxy_js_1","SHARED_ID_DIVIDER","realmStorage","origin","sandbox","addRealm","RealmCreated","realmInfo","cdpValue","resultOwnership","bidiValue","deepSerializedToBiDi","deepSerializedValue","handle","knownHandlesToRealmMap","releaseObject","subtype","hasOwn","internalId","weakLocalObjectReference","sharedId","navigableId","backendNodeId","children","shadowRoot","findContext","evaluate","userActivation","targetUnblocked","cdpEvaluateResult","getSerializationOptions","userGesture","getExceptionResult","serializeCdpObject","cdpRemoteObject","argument","cdpRemoteObjectToCallArgument","remoteObject","unserializableValue","stringifyObject","returnByValue","flattenKeyValuePairs","mappingLocalValue","keyValueArray","key","keyArg","deserializeToCdpArg","valueArg","flattenValueList","listLocalValue","localValue","serializeCdpExceptionDetails","cdpExceptionDetails","lineOffset","callFrames","stackTrace","frame","url","functionName","lineNumber","columnNumber","exception","text","callFunction","thisLocalValue","argumentsLocalValues","callFunctionAndSerializeScript","thisAndArgumentsList","argumentLocalValue","cdpCallFunctionResult","code","rawBackendNodeId","split","parseInt","isNaN","object","Boolean","JSON","stringify","pattern","flags","args","Set","additionalParameters","getAdditionalSerializationParameters","getMaxObjectDepth","disown","dispose","RealmDestroyed","browsingContextImpl","BrowsingContextImpl","deferred_js_1","unitConversions_js_1","realm_js_1","require$$4","parentId","deferreds","Page","navigatedWithinDocument","lifecycleEvent","DOMContentLoaded","load","loaderId","maybeDefaultRealm","initListeners","addContext","isTopLevelContext","parent","addChild","ContextCreatedEvent","serializeToBidiValue","getTimestamp","Date","getTime","deleteAllChildren","deleteRealms","ContextDestroyedEvent","deleteContextById","directChildren","allChildren","concat","child","top","topContext","childId","defaultRealm","updateCdpTarget","lifecycleLoaded","getOrCreateSandbox","maybeSandboxes","findRealms","frameId","worldName","addParentField","c","onTargetInfoChanged","targetInfo","urlFragment","timestamp","FragmentNavigated","navigation","NavigationStarted","documentChanged","DomContentLoadedEvent","LoadEvent","auxData","uniqueId","getOrigin","isDefault","getChannels","UserPromptClosed","accepted","userText","userInput","UserPromptOpened","resetDeferredsIfFinished","navigate","wait","URL","cdpNavigateResult","errorText","reload","ignoreCache","setViewport","viewport","width","height","deviceScaleFactor","mobile","dontSetVisibleSize","err","startsWith","handleUserPrompt","accept","promptText","activate","captureScreenshot","clip","cssContentSize","cssLayoutViewport","x","y","clientWidth","clientHeight","iframeDocRect","docRect","document","documentElement","getBoundingClientRect","parse","scale","print","cdpParams","background","printBackground","margin","bottom","marginBottom","left","marginLeft","right","marginRight","marginTop","orientation","landscape","page","paperHeight","paperWidth","pageRanges","range","rangeParts","parseInteger","lowerBound","upperBound","rangeLowerPart","rangeUpperPart","Number","MAX_SAFE_INTEGER","shrinkToFit","preferCSSPageSize","trim","test","logHelper","getRemoteValuesText","logMessageFormatter","specifiers","isFormatSpecifier","some","spec","output","argFormat","argValues","tokens","RegExp","token","arg","stringFromArg","parseFloat","toJson","pair","val","formatText","logManager","LogManager","logHelper_js_1","getBidiStackTrace","cdpStackTrace","stackFrames","callFrame","initializeEntryAddedEventListener","findRealm","argsPromise","registerPromiseEvent","LogEntryAddedEvent","level","consoleApiType","Math","round","textPromise","NetworkManager_1","NetworkManager","networkStorage","networkManager","disposeRequestMap","getOrCreateNetworkRequest","requestId","onRequestWillBeSentEvent","onRequestWillBeSentExtraInfoEvent","onResponseReceivedEvent","onResponseReceivedEventExtraInfo","onServedFromCache","onLoadingFailedEvent","forgetRequest","request","requestMap","NetworkManager$1","CdpTarget","logManager_js_1","NetworkManager_js_1","targetId","preloadScriptStorage","setEventListeners","unblock","fetchEnable","getFetchEnableParams","fetchDisable","fetchApply","promises","enabled","autoAttach","waitForDebuggerOnStart","flatten","initAndEvaluatePreloadScripts","isCloseError","findPreloadScripts","flatMap","script","channels","initInTarget","browsingContextProcessor","BrowsingContextProcessor","browsingContextImpl_js_1","cdpTarget_js_1","selfTargetId","getTree","contexts","root","getTopLevelContexts","MAX_VALUE","browserCdpClient","referenceContext","newWindow","commandParams","detachedFromTargetPromise","onContextDestroyed","handleAttachedToTargetEvent","handleDetachedFromTargetEvent","handleTargetInfoChangedEvent","handleFrameAttachedEvent","handleFrameDetachedEvent","parentBrowsingContext","parentFrameId","parentSessionCdpClient","targetCdpClient","isValidTarget","maybeContext","preloadScript","target","assert_1","assert","assert$1","predicate","Mutex_1","Mutex","Mutex$1","locked","acquirers","acquire","state","resolved","release","bind","run","action","InputSource","WheelSource","KeySource","NoneSource","pressed","modifiers","alt","setModifier","ctrl","meta","bit","PointerSource","pointerId","buttons","button","clickCount","lastClick","setClickCount","timeStamp","DOUBLE_CLICK_TIME_MS","abs","MAX_DOUBLE_CLICK_RADIUS","InputState_1","InputState","Mutex_js_1","InputSource_js_1","InputState$1","cancelList","sources","mutex","getOrCreate","pointerIds","has","getGlobalKeyState","InputStateManager_1","InputStateManager","assert_js_1","InputState_js_1","WeakMap","InputStateManager$1","USKeyboardLayout","KeyToKeyCode","Abort","Help","Backspace","Tab","Numpad5","NumpadEnter","Enter","ShiftLeft","ShiftRight","ControlLeft","ControlRight","AltLeft","AltRight","Pause","CapsLock","Escape","Convert","NonConvert","Space","Numpad9","PageUp","Numpad3","PageDown","End","Numpad1","Home","Numpad7","ArrowLeft","Numpad4","Numpad8","ArrowUp","ArrowRight","Numpad6","Numpad2","ArrowDown","Select","Open","PrintScreen","Insert","Numpad0","Delete","NumpadDecimal","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","MetaLeft","MetaRight","ContextMenu","NumpadMultiply","NumpadAdd","NumpadSubtract","NumpadDivide","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","AudioVolumeMute","AudioVolumeDown","AudioVolumeUp","MediaTrackNext","MediaTrackPrevious","MediaStop","MediaPlayPause","Semicolon","Equal","NumpadEqual","Comma","Minus","Period","Slash","Backquote","BracketLeft","Backslash","BracketRight","Quote","AltGraph","Props","Cancel","Clear","Shift","Control","Alt","Accept","ModeChange","Print","Execute","a","b","d","f","g","h","j","l","q","r","s","u","z","Meta","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","$","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","Camera","EndCall","VolumeDown","VolumeUp","keyUtils","getKeyLocation","getKeyCode","getNormalizedKey","ActionDispatcher_1","ActionDispatcher","USKeyboardLayout_js_1","keyUtils_js_1","CALCULATE_IN_VIEW_CENTER_PT_DECL","getClientRects","max","min","innerWidth","innerHeight","IS_MAC_DECL","navigator","platform","toLowerCase","tickStart","tickDuration","inputState","isMacOS","dispatchActions","optionsByTick","options","dispatchTickActions","performance","now","duration","option","dispatchAction","keyState","dispatchKeyDownAction","dispatchKeyUpAction","dispatchPointerDownAction","dispatchPointerMoveAction","dispatchPointerUpAction","dispatchScrollAction","pointerType","pressure","twist","tangentialPressure","tiltX","tiltY","getCdpButton","force","touchPoints","radiusX","radiusY","startX","startY","offsetX","offsetY","targetX","targetY","getCoordinateFromOrigin","last","ratio","values","next","posX","posY","element","getElementCenter","_source","deltaX","targetDeltaX","deltaY","targetDeltaY","currentDeltaX","currentDeltaY","rawKey","repeat","location","unmodifiedText","getKeyEventUnmodifiedText","getKeyEventText","command","windowsVirtualKeyCode","autoRepeat","isSystemKey","isKeypad","commands","toLocaleUpperCase","InputProcessor_1","InputProcessor","InputStateManager_js_1","ActionDispatcher_js_1","InputProcessor$1","inputStateManager","performActions","actionsByTick","getActionsByTick","dispatcher","releaseActions","reverse","actions","parameters","item","PreloadScriptStorage_1","PreloadScriptStorage","PreloadScriptStorage$1","scripts","filter","targetIds","addPreloadScript","removeBiDiPreloadScripts","bidiPreloadScript","BidiPreloadScript","uuid_js_1","cdpPreloadScripts","getEvaluateString","channelsArgStr","initInTargets","cdpTargets","runImmediately","Array","from","addCdpPreloadScriptResult","preloadScriptId","identifier","remove","cdpPreloadScript","cdpPreloadScriptId","cdpTargetId","ScriptProcessor_1","ScriptProcessor","protocol_1","bidiPreloadScript_1","ScriptProcessor$1","removePreloadScript","bidiId","getRealm","handles","getRealms","realms","NetworkProcessor_1","NetworkProcessor","NetworkProcessor$1","applyIntercepts","getAllContexts","addIntercept","phases","urlPatterns","intercept","continueRequest","_params","continueResponse","continueWithAuth","failRequest","provideResponse","removeIntercept","SessionProcessor_1","SessionProcessor","SessionProcessor$1","status","ready","subscribe","events","unsubscribe","DefaultMap_1","DefaultMap","getDefaultValue","entries","DefaultMap$1","NetworkRequest_1","NetworkRequest","servedFromCache","redirectCount","requestWillBeSentEvent","requestWillBeSentExtraInfoEvent","responseReceivedEvent","responseReceivedExtraInfoEvent","beforeRequestSentDeferred","responseReceivedDeferred","sendBeforeRequestEvent","hasExtraInfo","sendResponseReceivedEvent","FetchErrorEvent","getBaseEventParams","isBlocked","getNavigationId","getRequestData","wallTime","cookies","getCookies","associatedCookies","unknown","headers","getHeaders","headersSize","bodySize","timings","timeOrigin","requestTime","redirectStart","redirectEnd","fetchStart","dnsStart","dnsEnd","connectStart","connectEnd","tlsStart","requestStart","responseStart","responseEnd","isIgnoredEvent","assign","getBeforeRequestEvent","BeforeRequestSentEvent","initiator","getInitiatorType","getResponseReceivedEvent","ResponseCompletedEvent","response","fromDiskCache","protocol","statusCode","statusText","fromCache","fromPrefetchCache","mimeType","bytesReceived","encodedDataLength","computeResponseHeadersSize","content","size","total","header","endsWith","initiatorType","blockedReasons","isArray","cookie","domain","path","expires","httpOnly","secure","sameSite","getCookiesSameSite","cdpSameSiteValue","NetworkRequest$1","NetworkStorage_1","NetworkStorage","DefaultMap_js_1","NetworkRequest_js_1","interceptMap","blockedRequestMap","patterns","urlPatternSpec","urlPattern","cdpFromSpecUrlPattern","phase","requestStage","requestStageFromPhase","handleAuthRequests","param","buildUrlPatternString","hostname","port","pathname","search","NetworkStorage$1","CommandProcessor_1","CommandProcessor","EventEmitter_js_1","BidiNoOpParser_js_1","OutgoingBidiMessage_js_1","BrowserProcessor_js_1","require$$5","CdpProcessor_js_1","require$$6","browsingContextProcessor_js_1","require$$7","InputProcessor_js_1","require$$8","PreloadScriptStorage_js_1","require$$9","ScriptProcessor_js_1","require$$10","NetworkProcessor_js_1","require$$11","SessionProcessor_js_1","require$$12","NetworkStorage_js_1","require$$13","browserProcessor","cdpProcessor","inputProcessor","networkProcessor","scriptProcessor","sessionProcessor","parser","processCommand","errorResponse","bidi","CommandProcessor$1","BrowsingContextStorage","deleteContext","hasContext","findTopLevelContextId","buffer","Buffer","capacity","onItemRemoved","idWrapper","IdWrapper","counter","SubscriptionManager_1","SubscriptionManager","unrollEvents","cartesianProduct","flat","allEvents","addEvents","SubscriptionManager$1","subscriptionPriority","channelToContextToEventMap","getChannelsSubscribedToEvent","eventMethod","keys","priority","getEventSubscriptionPriorityForChannel","sort","contextToEventMap","maybeTopLevelContextId","priorities","specificEvent","eventMap","unsubscribeAll","contextIds","checkUnsubscribe","forEach","eventName","EventManager_1","EventManager","buffer_js_1","idWrapper_js_1","SubscriptionManager_js_1","EventWrapper","eventBufferLength","eventToContextsMap","eventBuffers","lastMessageSent","subscriptionManager","bidiServer","getBrowsingContextStorage","getMapKey","browsingContext","eventWrapper","sortedChannels","bufferEvent","emitOutgoingMessage","markEventSent","eventNames","checkEventName","getBufferedEvents","bufferMapKey","lastSentMapKey","lastSentMessageId","Infinity","wrapper","_contextId","e1","e2","EVENT_NAMES","RealmStorage","realmMap","maybeRealms","maybeRealm","BidiServer_1","BidiServer","processingQueue_js_1","CommandProcessor_js_1","browsingContextStorage_js_1","EventManager_js_1","realmStorage_js_1","messageQueue","transport","commandProcessor","handleIncomingMessage","processOutgoingMessage","messageEntry","bidiTransport","setOnMessage","createAndStart","server","discover","topLevelContextsLoaded","BidiServer$1","BidiServer_js_1","CdpClient","CloseError","CdpConnection","cdpClient_js_1","sessionCdpClients","commandCallbacks","nextId","cdpMessage","cdpMessageStr","messageParsed","messagePretty","callbacks","util","getParsedType","ZodParsedType","objectUtil","assertEqual","assertIs","_arg","assertNever","_x","arrayToEnum","items","obj","getValidEnumValues","validKeys","objectKeys","filtered","objectValues","find","arr","checker","isInteger","isFinite","floor","joinValues","array","separator","jsonStringifyReplacer","mergeShapes","first","second","string","nan","number","boolean","function","bigint","symbol","null","date","ZodError_1","ZodError","quotelessJson","util_1","ZodError$1","ZodIssueCode","replace","issues","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","errors","format","_mapper","mapper","issue","fieldErrors","_errors","processError","unionErrors","returnTypeError","argumentsError","curr","el","isEmpty","formErrors","en","_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","position","too_small","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","getErrorMap","setErrorMap","en_1","defaultErrorMap","overrideErrorMap","isAsync","isValid","isDirty","isAborted","OK","DIRTY","INVALID","ParseStatus","addIssueToContext","EMPTY_PATH","makeIssue","errors_1","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","ctx","common","contextualErrorMap","schemaErrorMap","dirty","abort","mergeArray","results","arrayValue","mergeObjectAsync","pairs","syncPairs","mergeObjectSync","finalObject","alwaysSet","freeze","typeAliases","errorUtil","errToObj","discriminatedUnion","coerce","ZodFirstPartyTypeKind","late","ZodSchema","Schema","ZodBranded","BRAND","ZodNaN","ZodCatch","ZodDefault","ZodNullable","ZodTransformer","ZodEffects","ZodPromise","ZodNativeEnum","ZodEnum","ZodLiteral","ZodFunction","ZodSet","ZodMap","ZodRecord","ZodTuple","ZodIntersection","ZodUnion","ZodObject","ZodArray","ZodVoid","ZodNever","ZodUnknown","ZodNull","ZodUndefined","ZodSymbol","ZodDate","ZodBoolean","ZodBigInt","ZodString","ZodType","NEVER","void","union","transformer","strictObject","record","preprocess","pipeline","optional","onumber","oboolean","nullable","never","nativeEnum","literal","lazy","intersection","enum","effect","errorUtil_1","parseUtil_1","ParseInputLazyPath","_cachedPath","_path","_key","handleResult","success","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","def","spa","safeParseAsync","_def","safeParse","parseAsync","refine","refinement","superRefine","nullish","or","and","transform","brand","describe","pipe","isNullable","isOptional","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","_a","maybeAsyncResult","check","getIssueProperties","_refinement","setError","refinementData","schema","typeName","ZodOptional","incoming","defaultValueFunc","innerType","defaultValue","catchValueFunc","catchValue","This","ZodPipeline","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","emojiRegex","ipv4Regex","ipv6Regex","_regex","regex","nonempty","checks","toUpperCase","tooBig","tooSmall","lastIndex","precision","offset","ip","version","_addCheck","email","emoji","cuid","cuid2","ulid","datetime","minLength","maxLength","len","isDatetime","ch","isEmail","isURL","isEmoji","isUUID","isCUID","isCUID2","isULID","isIP","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","toFixed","pow","ZodNumber","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","minValue","maxValue","isInt","BigInt","minDate","maxDate","ZodAny","_any","_unknown","exactLength","deepPartialify","newShape","shape","fieldSchema","unwrap","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","_b","_c","_d","strip","augmentation","merge","merging","setKey","index","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","valid","bKeys","sharedKeys","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","rest","itemIndex","schemas","keySchema","keyType","valueSchema","valueType","third","finalMap","minSize","maxSize","finalizeSet","elements","parsedSet","validate","implement","makeArgsIssue","makeReturnsIssue","returns","fn","parsedArgs","parsedReturns","returnType","func","strictImplement","getter","expectedValues","enumValues","Values","Enum","extract","exclude","opt","nativeEnumValues","promisified","sourceType","processed","checkCtx","fatal","executeRefinement","acc","inner","base","createWithPreprocess","removeDefault","newCtx","removeCatch","inResult","in","out","handleAsync","_fatal","p2","instanceof","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","any","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","tuple","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","Input","LogEventSchema","ScriptEventSchema","ScriptCommandSchema","NetworkEventSchema","NetworkResultSchema","BrowsingContextEventSchema","BrowsingContextResultSchema","BrowsingContextCommandSchema","BrowserCommandSchema","Session","SessionResultSchema","SessionCommandSchema","JsUintSchema","JsIntSchema","ExtensibleSchema","EventDataSchema","EmptyResultSchema","ResultDataSchema","ErrorResponseSchema","CommandResponseSchema","EmptyParamsSchema","CommandDataSchema","CommandSchema","zod_1","Browser","InputCommandSchema","NetworkCommandSchema","MessageSchema","EventSchema","ErrorCodeSchema","ScriptResultSchema","EndSchema","NewSchema","StatusSchema","SubscribeSchema","UnsubscribeSchema","NewResultSchema","StatusResultSchema","CapabilitiesRequestSchema","alwaysMatch","CapabilityRequestSchema","firstMatch","acceptInsecureCerts","browserName","browserVersion","platformName","proxy","proxyType","proxyAutoconfigUrl","ftpProxy","httpProxy","noProxy","sslProxy","socksProxy","socksVersion","SubscriptionRequestSchema","BrowsingContextSchema","NewParametersSchema","capabilities","setWindowRect","CloseSchema","ActivateSchema","CaptureScreenshotSchema","CreateSchema","GetTreeSchema","HandleUserPromptSchema","NavigateSchema","PrintSchema","ReloadSchema","SetViewportSchema","CaptureScreenshotResultSchema","CreateResultSchema","GetTreeResultSchema","NavigateResultSchema","PrintResultSchema","ContextCreatedSchema","ContextDestroyedSchema","NavigationStartedSchema","FragmentNavigatedSchema","DomContentLoadedSchema","LoadSchema","DownloadWillBeginSchema","NavigationAbortedSchema","NavigationFailedSchema","UserPromptClosedSchema","UserPromptOpenedSchema","InfoListSchema","InfoSchema","NavigationSchema","NavigationInfoSchema","ReadinessStateSchema","ActivateParametersSchema","CaptureScreenshotParametersSchema","ClipRectangleSchema","BoxClipRectangleSchema","ElementClipRectangleSchema","SharedReferenceSchema","scrollIntoView","CloseParametersSchema","CreateParametersSchema","CreateTypeSchema","GetTreeParametersSchema","HandleUserPromptParametersSchema","NavigateParametersSchema","PrintParametersSchema","PrintMarginParametersSchema","PrintPageParametersSchema","ReloadParametersSchema","SetViewportParametersSchema","ViewportSchema","UserPromptClosedParametersSchema","UserPromptOpenedParametersSchema","AddInterceptSchema","ContinueRequestSchema","ContinueResponseSchema","ContinueWithAuthSchema","FailRequestSchema","ProvideResponseSchema","RemoveInterceptSchema","AddInterceptResultSchema","AuthRequiredSchema","BeforeRequestSentSchema","FetchErrorSchema","ResponseCompletedSchema","ResponseStartedSchema","AuthChallengeSchema","scheme","AuthCredentialsSchema","username","password","BaseParametersSchema","RequestDataSchema","intercepts","InterceptSchema","BytesValueSchema","StringValueSchema","Base64ValueSchema","CookieSchema","CookieHeaderSchema","FetchTimingInfoSchema","HeaderSchema","InitiatorSchema","StackTraceSchema","RequestSchema","ResponseContentSchema","ResponseDataSchema","authChallenge","SetCookieHeaderSchema","maxAge","UrlPatternSchema","UrlPatternPatternSchema","UrlPatternStringSchema","AddInterceptParametersSchema","InterceptPhaseSchema","ContinueRequestParametersSchema","body","ContinueResponseParametersSchema","credentials","reasonPhrase","ContinueWithAuthParametersSchema","ContinueWithAuthCredentialsSchema","ContinueWithAuthNoCredentialsSchema","FailRequestParametersSchema","ProvideResponseParametersSchema","RemoveInterceptParametersSchema","AuthRequiredParametersSchema","BeforeRequestSentParametersSchema","FetchErrorParametersSchema","ResponseCompletedParametersSchema","ResponseStartedParametersSchema","AddPreloadScriptCommandSchema","CallFunctionSchema","DisownSchema","EvaluateSchema","GetRealmsSchema","RemovePreloadScriptCommandSchema","AddPreloadScriptResultSchema","EvaluateResultSchema","GetRealmsResultSchema","RealmCreatedSchema","RealmDestroyedSchema","ChannelSchema","ChannelValueSchema","ChannelPropertiesSchema","SerializationOptionsSchema","ResultOwnershipSchema","EvaluateResultSuccessSchema","EvaluateResultExceptionSchema","RemoteValueSchema","RealmSchema","ExceptionDetailsSchema","HandleSchema","LocalValueSchema","RemoteReferenceSchema","PrimitiveProtocolValueSchema","ArrayLocalValueSchema","DateLocalValueSchema","MapLocalValueSchema","ObjectLocalValueSchema","RegExpLocalValueSchema","SetLocalValueSchema","ListLocalValueSchema","MappingLocalValueSchema","RegExpValueSchema","PreloadScriptSchema","UndefinedValueSchema","NullValueSchema","NumberValueSchema","BooleanValueSchema","BigIntValueSchema","SpecialNumberSchema","RealmInfoSchema","WindowRealmInfoSchema","DedicatedWorkerRealmInfoSchema","SharedWorkerRealmInfoSchema","ServiceWorkerRealmInfoSchema","WorkerRealmInfoSchema","PaintWorkletRealmInfoSchema","AudioWorkletRealmInfoSchema","WorkletRealmInfoSchema","BaseRealmInfoSchema","RealmTypeSchema","RemoteObjectReferenceSchema","SharedIdSchema","SymbolRemoteValueSchema","ArrayRemoteValueSchema","ObjectRemoteValueSchema","FunctionRemoteValueSchema","RegExpRemoteValueSchema","DateRemoteValueSchema","MapRemoteValueSchema","SetRemoteValueSchema","WeakMapRemoteValueSchema","WeakSetRemoteValueSchema","IteratorRemoteValueSchema","GeneratorRemoteValueSchema","ErrorRemoteValueSchema","ProxyRemoteValueSchema","PromiseRemoteValueSchema","TypedArrayRemoteValueSchema","ArrayBufferRemoteValueSchema","NodeListRemoteValueSchema","HtmlCollectionRemoteValueSchema","NodeRemoteValueSchema","WindowProxyRemoteValueSchema","InternalIdSchema","ListRemoteValueSchema","MappingRemoteValueSchema","NodePropertiesSchema","nodeType","childNodeCount","attributes","localName","mode","namespaceURI","nodeValue","WindowProxyPropertiesSchema","StackFrameSchema","SourceSchema","RealmTargetSchema","ContextTargetSchema","TargetSchema","AddPreloadScriptParametersSchema","DisownParametersSchema","CallFunctionParametersSchema","EvaluateParametersSchema","GetRealmsParametersSchema","RemovePreloadScriptParametersSchema","MessageParametersSchema","RealmDestroyedParametersSchema","EntryAddedSchema","LevelSchema","EntrySchema","GenericLogEntrySchema","ConsoleLogEntrySchema","JavascriptLogEntrySchema","BaseLogEntrySchema","PerformActionsSchema","ReleaseActionsSchema","ElementOriginSchema","PerformActionsParametersSchema","SourceActionsSchema","NoneSourceActionsSchema","KeySourceActionsSchema","PointerSourceActionsSchema","WheelSourceActionsSchema","NoneSourceActionSchema","PauseActionSchema","KeySourceActionSchema","KeyDownActionSchema","KeyUpActionSchema","PointerParametersSchema","PointerSourceActionSchema","PointerTypeSchema","PointerDownActionSchema","PointerUpActionSchema","PointerMoveActionSchema","WheelSourceActionSchema","WheelScrollActionSchema","PointerCommonPropertiesSchema","OriginSchema","TiltPropertiesSchema","AnglePropertiesSchema","altitudeAngle","azimuthAngle","ReleaseActionsParametersSchema","protocolParser","parseObject","WebDriverBidi","parseResult","parseAddInterceptParameters","parseContinueRequestParameters","parseContinueResponseParameters","parseContinueWithAuthParameters","parseFailRequestParameters","parseProvideResponseParameters","parseRemoveInterceptParameters","parseHandleUserPromptParameters","SendCommandRequestSchema","GetSessionRequestSchema","parseSendCommandRequest","parseGetSessionRequest","BidiParserImpl_1","BidiParserImpl","Parser","BidiParserImpl$1","mapperTabPage","generatePage","findOrCreateTypeLogContainer","logType","containerId","existingContainer","getElementById","debugElement","divider","createElement","className","appendChild","htmlItem","innerHTML","messages","global","sendDebugMessage","typeLogContainer","lineElement","textContent","bidiTab","bidiMapper_js_1","cdpConnection_js_1","mapperTabPage_js_1","waitSelfTargetIdPromise","setSelfTargetId","waitSelfTargetId","WindowBidiTransport","onBidiMessage","messageStr","messageObject","parseBidiMessage","respondWithError","sendBidiResponse","plainCommandData","errorCode","getErrorResponse","getJsonType","messageId","messageObj","idType","methodType","paramsType","channelType","WindowCdpTransport","onmessage","send","createCdpConnection","createBidiServer","launched"],"mappings":"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CX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SAUL,IAAK,SACD,MAAO,OATX,IAAK,SACD,MAAO,iBA6BX,QACI,OAAOA,EAEnB,EAyQkBm0B,GAAAE,WAvQlB,SAAoBzhB,GAChB,OAAQA,GACJ,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,KACL,IAAK,IACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,cACX,IAAK,IACL,IAAK,IACD,MAAO,eACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,IACL,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,cACX,IAAK,SACL,IAAK,SACD,MAAO,gBACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,iBACX,IAAK,SACD,MAAO,iBACX,QACI,OAEZ,EA8CsBuhB,GAAAC,eA5CtB,SAAwBxhB,GACpB,OAAQA,GACJ,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACD,OAAO,EACX,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACD,OAAO,EACX,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SA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","x_google_ignoreList":[0,52,53,54,55,56,57,58,59,60,61]}
|
|
1
|
+
{"version":3,"file":"mapperTab.js","sources":["../../node_modules/mitt/dist/mitt.mjs","../cjs/utils/EventEmitter.js","../cjs/utils/log.js","../cjs/utils/processingQueue.js","../cjs/protocol/cdp.js","../cjs/protocol/chromium-bidi.js","../cjs/protocol/webdriver-bidi.js","../cjs/protocol/ErrorResponse.js","../cjs/protocol/protocol.js","../cjs/bidiMapper/BidiNoOpParser.js","../cjs/bidiMapper/OutgoingMessage.js","../cjs/bidiMapper/domains/browser/BrowserProcessor.js","../cjs/bidiMapper/domains/cdp/CdpProcessor.js","../cjs/utils/deferred.js","../cjs/utils/unitConversions.js","../cjs/utils/uuid.js","../cjs/bidiMapper/domains/script/ChannelProxy.js","../cjs/bidiMapper/domains/script/Realm.js","../cjs/utils/assert.js","../cjs/bidiMapper/domains/context/BrowsingContextImpl.js","../cjs/bidiMapper/domains/log/logHelper.js","../cjs/bidiMapper/domains/log/LogManager.js","../cjs/bidiMapper/domains/network/NetworkManager.js","../cjs/bidiMapper/domains/context/CdpTarget.js","../cjs/bidiMapper/domains/context/BrowsingContextProcessor.js","../cjs/utils/Mutex.js","../cjs/bidiMapper/domains/input/InputSource.js","../cjs/bidiMapper/domains/input/InputState.js","../cjs/bidiMapper/domains/input/InputStateManager.js","../cjs/bidiMapper/domains/input/USKeyboardLayout.js","../cjs/bidiMapper/domains/input/keyUtils.js","../cjs/bidiMapper/domains/input/ActionDispatcher.js","../cjs/bidiMapper/domains/input/InputProcessor.js","../cjs/bidiMapper/domains/script/PreloadScriptStorage.js","../cjs/bidiMapper/domains/script/PreloadScript.js","../cjs/bidiMapper/domains/script/ScriptProcessor.js","../cjs/utils/DefaultMap.js","../cjs/bidiMapper/domains/network/NetworkRequest.js","../cjs/bidiMapper/domains/network/NetworkStorage.js","../cjs/bidiMapper/domains/network/NetworkProcessor.js","../cjs/bidiMapper/domains/session/SessionProcessor.js","../cjs/bidiMapper/CommandProcessor.js","../cjs/bidiMapper/domains/context/BrowsingContextStorage.js","../cjs/utils/buffer.js","../cjs/utils/idWrapper.js","../cjs/bidiMapper/domains/events/SubscriptionManager.js","../cjs/bidiMapper/domains/events/EventManager.js","../cjs/bidiMapper/domains/script/RealmStorage.js","../cjs/bidiMapper/BidiServer.js","../cjs/bidiMapper/bidiMapper.js","../cjs/cdp/cdpClient.js","../cjs/cdp/cdpConnection.js","../../node_modules/zod/lib/helpers/util.js","../../node_modules/zod/lib/ZodError.js","../../node_modules/zod/lib/locales/en.js","../../node_modules/zod/lib/errors.js","../../node_modules/zod/lib/helpers/parseUtil.js","../../node_modules/zod/lib/helpers/typeAliases.js","../../node_modules/zod/lib/helpers/errorUtil.js","../../node_modules/zod/lib/types.js","../../node_modules/zod/lib/external.js","../../node_modules/zod/lib/index.js","../cjs/protocol-parser/webdriver-bidi.js","../cjs/protocol-parser/protocol-parser.js","../cjs/bidiTab/BidiParserImpl.js","../cjs/bidiTab/mapperTabPage.js","../cjs/bidiTab/bidiTab.js"],"sourcesContent":["export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventEmitter = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst mitt_1 = __importDefault(require(\"mitt\"));\nclass EventEmitter {\n #emitter = (0, mitt_1.default)();\n on(type, handler) {\n this.#emitter.on(type, handler);\n return this;\n }\n /**\n * Like `on` but the listener will only be fired once and then it will be removed.\n * @param event The event you'd like to listen to\n * @param handler The handler function to run when the event occurs\n * @return `this` to enable chaining method calls.\n */\n once(event, handler) {\n const onceHandler = (eventData) => {\n handler(eventData);\n this.off(event, onceHandler);\n };\n return this.on(event, onceHandler);\n }\n off(type, handler) {\n this.#emitter.off(type, handler);\n return this;\n }\n /**\n * Emits an event and call any associated listeners.\n *\n * @param event The event to emit.\n * @param eventData Any data to emit with the event.\n * @return `true` if there are any listeners, `false` otherwise.\n */\n emit(event, eventData) {\n this.#emitter.emit(event, eventData);\n }\n /**\n * Removes all listeners. If given an event argument, it will remove only\n * listeners for that event.\n * @param event - the event to remove listeners for.\n * @returns `this` to enable you to chain method calls.\n */\n removeAllListeners(event) {\n if (event) {\n this.#emitter.all.delete(event);\n }\n else {\n this.#emitter.all.clear();\n }\n return this;\n }\n}\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=EventEmitter.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogType = void 0;\nvar LogType;\n(function (LogType) {\n // keep-sorted start\n LogType[\"bidi\"] = \"bidi\";\n LogType[\"cdp\"] = \"cdp\";\n LogType[\"debug\"] = \"debug\";\n LogType[\"debugError\"] = \"debug:error\";\n // keep-sorted end\n})(LogType || (exports.LogType = LogType = {}));\n//# sourceMappingURL=log.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessingQueue = void 0;\nconst log_js_1 = require(\"./log.js\");\nclass ProcessingQueue {\n static LOGGER_PREFIX = `${log_js_1.LogType.debug}:queue`;\n #logger;\n #processor;\n #queue = [];\n // Flag to keep only 1 active processor.\n #isProcessing = false;\n constructor(processor, logger) {\n this.#processor = processor;\n this.#logger = logger;\n }\n add(entry, name) {\n this.#queue.push([entry, name]);\n // No need in waiting. Just initialise processor if needed.\n void this.#processIfNeeded();\n }\n async #processIfNeeded() {\n if (this.#isProcessing) {\n return;\n }\n this.#isProcessing = true;\n while (this.#queue.length > 0) {\n const arrayEntry = this.#queue.shift();\n if (!arrayEntry) {\n continue;\n }\n const [entryPromise, name] = arrayEntry;\n this.#logger?.(ProcessingQueue.LOGGER_PREFIX, 'Processing event:', name);\n if (entryPromise !== undefined) {\n await entryPromise\n .then((entry) => {\n if (entry.kind === 'error') {\n this.#logger?.(log_js_1.LogType.debugError, 'Event threw before sending:', entry.error);\n return;\n }\n return this.#processor(entry.value);\n })\n .catch((error) => {\n this.#logger?.(log_js_1.LogType.debugError, 'Event was not processed:', error);\n });\n }\n }\n this.#isProcessing = false;\n }\n}\nexports.ProcessingQueue = ProcessingQueue;\n//# sourceMappingURL=processingQueue.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=cdp.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Network = exports.BrowsingContext = exports.Log = exports.Script = exports.BiDiModule = void 0;\n// keep-sorted end\nvar BiDiModule;\n(function (BiDiModule) {\n // keep-sorted start\n BiDiModule[\"BrowsingContext\"] = \"browsingContext\";\n BiDiModule[\"Log\"] = \"log\";\n BiDiModule[\"Network\"] = \"network\";\n BiDiModule[\"Script\"] = \"script\";\n // keep-sorted end\n})(BiDiModule || (exports.BiDiModule = BiDiModule = {}));\nvar Script;\n(function (Script) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"MessageEvent\"] = \"script.message\";\n EventNames[\"RealmCreated\"] = \"script.realmCreated\";\n EventNames[\"RealmDestroyed\"] = \"script.realmDestroyed\";\n // keep-sorted end\n })(EventNames = Script.EventNames || (Script.EventNames = {}));\n})(Script || (exports.Script = Script = {}));\nvar Log;\n(function (Log) {\n let EventNames;\n (function (EventNames) {\n EventNames[\"LogEntryAddedEvent\"] = \"log.entryAdded\";\n })(EventNames = Log.EventNames || (Log.EventNames = {}));\n})(Log || (exports.Log = Log = {}));\nvar BrowsingContext;\n(function (BrowsingContext) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"ContextCreatedEvent\"] = \"browsingContext.contextCreated\";\n EventNames[\"ContextDestroyedEvent\"] = \"browsingContext.contextDestroyed\";\n EventNames[\"DomContentLoadedEvent\"] = \"browsingContext.domContentLoaded\";\n EventNames[\"FragmentNavigated\"] = \"browsingContext.fragmentNavigated\";\n EventNames[\"LoadEvent\"] = \"browsingContext.load\";\n EventNames[\"NavigationStarted\"] = \"browsingContext.navigationStarted\";\n EventNames[\"UserPromptClosed\"] = \"browsingContext.userPromptClosed\";\n EventNames[\"UserPromptOpened\"] = \"browsingContext.userPromptOpened\";\n // keep-sorted end\n })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nvar Network;\n(function (Network) {\n let EventNames;\n (function (EventNames) {\n // keep-sorted start\n EventNames[\"BeforeRequestSentEvent\"] = \"network.beforeRequestSent\";\n EventNames[\"FetchErrorEvent\"] = \"network.fetchError\";\n EventNames[\"ResponseCompletedEvent\"] = \"network.responseCompleted\";\n EventNames[\"ResponseStartedEvent\"] = \"network.responseStarted\";\n // keep-sorted end\n })(EventNames = Network.EventNames || (Network.EventNames = {}));\n})(Network || (exports.Network = Network = {}));\n//# sourceMappingURL=chromium-bidi.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UnsupportedOperationException = exports.UnableToCloseBrowserException = exports.UnableToCaptureScreenException = exports.UnknownErrorException = exports.UnknownCommandException = exports.SessionNotCreatedException = exports.NoSuchScriptException = exports.NoSuchRequestException = exports.NoSuchNodeException = exports.NoSuchInterceptException = exports.NoSuchHandleException = exports.NoSuchFrameException = exports.NoSuchElementException = exports.NoSuchAlertException = exports.MoveTargetOutOfBoundsException = exports.InvalidSessionIdException = exports.InvalidArgumentException = exports.Exception = void 0;\nclass Exception {\n error;\n message;\n stacktrace;\n constructor(error, message, stacktrace) {\n this.error = error;\n this.message = message;\n this.stacktrace = stacktrace;\n }\n toErrorResponse(commandId) {\n return {\n type: 'error',\n id: commandId,\n error: this.error,\n message: this.message,\n stacktrace: this.stacktrace,\n };\n }\n}\nexports.Exception = Exception;\nclass InvalidArgumentException extends Exception {\n constructor(message, stacktrace) {\n super(\"invalid argument\" /* ErrorCode.InvalidArgument */, message, stacktrace);\n }\n}\nexports.InvalidArgumentException = InvalidArgumentException;\nclass InvalidSessionIdException extends Exception {\n constructor(message, stacktrace) {\n super(\"invalid session id\" /* ErrorCode.InvalidSessionId */, message, stacktrace);\n }\n}\nexports.InvalidSessionIdException = InvalidSessionIdException;\nclass MoveTargetOutOfBoundsException extends Exception {\n constructor(message, stacktrace) {\n super(\"move target out of bounds\" /* ErrorCode.MoveTargetOutOfBounds */, message, stacktrace);\n }\n}\nexports.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;\nclass NoSuchAlertException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such alert\" /* ErrorCode.NoSuchAlert */, message, stacktrace);\n }\n}\nexports.NoSuchAlertException = NoSuchAlertException;\nclass NoSuchElementException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such element\" /* ErrorCode.NoSuchElement */, message, stacktrace);\n }\n}\nexports.NoSuchElementException = NoSuchElementException;\nclass NoSuchFrameException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such frame\" /* ErrorCode.NoSuchFrame */, message, stacktrace);\n }\n}\nexports.NoSuchFrameException = NoSuchFrameException;\nclass NoSuchHandleException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such handle\" /* ErrorCode.NoSuchHandle */, message, stacktrace);\n }\n}\nexports.NoSuchHandleException = NoSuchHandleException;\nclass NoSuchInterceptException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such intercept\" /* ErrorCode.NoSuchIntercept */, message, stacktrace);\n }\n}\nexports.NoSuchInterceptException = NoSuchInterceptException;\nclass NoSuchNodeException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such node\" /* ErrorCode.NoSuchNode */, message, stacktrace);\n }\n}\nexports.NoSuchNodeException = NoSuchNodeException;\nclass NoSuchRequestException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such request\" /* ErrorCode.NoSuchRequest */, message, stacktrace);\n }\n}\nexports.NoSuchRequestException = NoSuchRequestException;\nclass NoSuchScriptException extends Exception {\n constructor(message, stacktrace) {\n super(\"no such script\" /* ErrorCode.NoSuchScript */, message, stacktrace);\n }\n}\nexports.NoSuchScriptException = NoSuchScriptException;\nclass SessionNotCreatedException extends Exception {\n constructor(message, stacktrace) {\n super(\"session not created\" /* ErrorCode.SessionNotCreated */, message, stacktrace);\n }\n}\nexports.SessionNotCreatedException = SessionNotCreatedException;\nclass UnknownCommandException extends Exception {\n constructor(message, stacktrace) {\n super(\"unknown command\" /* ErrorCode.UnknownCommand */, message, stacktrace);\n }\n}\nexports.UnknownCommandException = UnknownCommandException;\nclass UnknownErrorException extends Exception {\n constructor(message, stacktrace = new Error().stack) {\n super(\"unknown error\" /* ErrorCode.UnknownError */, message, stacktrace);\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass UnableToCaptureScreenException extends Exception {\n constructor(message, stacktrace) {\n super(\"unable to capture screen\" /* ErrorCode.UnableToCaptureScreen */, message, stacktrace);\n }\n}\nexports.UnableToCaptureScreenException = UnableToCaptureScreenException;\nclass UnableToCloseBrowserException extends Exception {\n constructor(message, stacktrace) {\n super(\"unable to close browser\" /* ErrorCode.UnableToCloseBrowser */, message, stacktrace);\n }\n}\nexports.UnableToCloseBrowserException = UnableToCloseBrowserException;\nclass UnsupportedOperationException extends Exception {\n constructor(message, stacktrace) {\n super(\"unsupported operation\" /* ErrorCode.UnsupportedOperation */, message, stacktrace);\n }\n}\nexports.UnsupportedOperationException = UnsupportedOperationException;\n//# sourceMappingURL=ErrorResponse.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChromiumBidi = exports.Cdp = void 0;\nexports.Cdp = __importStar(require(\"./cdp.js\"));\nexports.ChromiumBidi = __importStar(require(\"./chromium-bidi.js\"));\n__exportStar(require(\"./webdriver-bidi.js\"), exports);\n__exportStar(require(\"./ErrorResponse.js\"), exports);\n//# sourceMappingURL=protocol.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiNoOpParser = void 0;\nclass BidiNoOpParser {\n // Browsing Context domain\n // keep-sorted start block=yes\n parseActivateParams(params) {\n return params;\n }\n parseCaptureScreenshotParams(params) {\n return params;\n }\n parseCloseParams(params) {\n return params;\n }\n parseCreateParams(params) {\n return params;\n }\n parseGetTreeParams(params) {\n return params;\n }\n parseHandleUserPromptParams(params) {\n return params;\n }\n parseNavigateParams(params) {\n return params;\n }\n parsePrintParams(params) {\n return params;\n }\n parseReloadParams(params) {\n return params;\n }\n parseSetViewportParams(params) {\n return params;\n }\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n parseGetSessionParams(params) {\n return params;\n }\n parseSendCommandParams(params) {\n return params;\n }\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n parseAddPreloadScriptParams(params) {\n return params;\n }\n parseCallFunctionParams(params) {\n return params;\n }\n parseDisownParams(params) {\n return params;\n }\n parseEvaluateParams(params) {\n return params;\n }\n parseGetRealmsParams(params) {\n return params;\n }\n parseRemovePreloadScriptParams(params) {\n return params;\n }\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n parsePerformActionsParams(params) {\n return params;\n }\n parseReleaseActionsParams(params) {\n return params;\n }\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n parseAddInterceptParams(params) {\n return params;\n }\n parseContinueRequestParams(params) {\n return params;\n }\n parseContinueResponseParams(params) {\n return params;\n }\n parseContinueWithAuthParams(params) {\n return params;\n }\n parseFailRequestParams(params) {\n return params;\n }\n parseProvideResponseParams(params) {\n return params;\n }\n parseRemoveInterceptParams(params) {\n return params;\n }\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n parseSubscribeParams(params) {\n return params;\n }\n}\nexports.BidiNoOpParser = BidiNoOpParser;\n//# sourceMappingURL=BidiNoOpParser.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingMessage = void 0;\nclass OutgoingMessage {\n #message;\n #channel;\n constructor(message, channel = null) {\n this.#message = message;\n this.#channel = channel;\n }\n static createFromPromise(messagePromise, channel) {\n return messagePromise.then((message) => {\n if (message.kind === 'success') {\n return {\n kind: 'success',\n value: new OutgoingMessage(message.value, channel),\n };\n }\n return message;\n });\n }\n static createResolved(message, channel) {\n return Promise.resolve({\n kind: 'success',\n value: new OutgoingMessage(message, channel),\n });\n }\n get message() {\n return this.#message;\n }\n get channel() {\n return this.#channel;\n }\n}\nexports.OutgoingMessage = OutgoingMessage;\n//# sourceMappingURL=OutgoingMessage.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserProcessor = void 0;\nclass BrowserProcessor {\n #cdpConnection;\n constructor(cdpConnection) {\n this.#cdpConnection = cdpConnection;\n }\n close() {\n const client = this.#cdpConnection.browserClient();\n // Ensure that it is put at the end of the event loop.\n // This way we send back the response before closing the tab.\n setTimeout(() => client.sendCommand('Browser.close'), 0);\n return {};\n }\n}\nexports.BrowserProcessor = BrowserProcessor;\n//# sourceMappingURL=BrowserProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpProcessor = void 0;\nclass CdpProcessor {\n #browsingContextStorage;\n #cdpConnection;\n constructor(browsingContextStorage, cdpConnection) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#cdpConnection = cdpConnection;\n }\n getSession(params) {\n const context = params.context;\n const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;\n if (sessionId === undefined) {\n return {};\n }\n return { session: sessionId };\n }\n async sendCommand(params) {\n const client = params.session\n ? this.#cdpConnection.getCdpClient(params.session)\n : this.#cdpConnection.browserClient();\n const result = await client.sendCommand(params.method, params.params);\n return {\n result,\n session: params.session,\n };\n }\n}\nexports.CdpProcessor = CdpProcessor;\n//# sourceMappingURL=CdpProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Deferred = void 0;\nclass Deferred {\n #isFinished = false;\n #promise;\n #resolve;\n #reject;\n get isFinished() {\n return this.#isFinished;\n }\n constructor() {\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n });\n // Needed to avoid `Uncaught (in promise)`. The promises returned by `then`\n // and `catch` will be rejected anyway.\n this.#promise.catch((_error) => {\n // Intentionally empty.\n });\n }\n then(onFulfilled, onRejected) {\n return this.#promise.then(onFulfilled, onRejected);\n }\n catch(onRejected) {\n return this.#promise.catch(onRejected);\n }\n resolve(value) {\n if (!this.#isFinished) {\n this.#isFinished = true;\n this.#resolve(value);\n }\n }\n reject(reason) {\n if (!this.#isFinished) {\n this.#isFinished = true;\n this.#reject(reason);\n }\n }\n finally(onFinally) {\n return this.#promise.finally(onFinally);\n }\n [Symbol.toStringTag] = 'Promise';\n}\nexports.Deferred = Deferred;\n//# sourceMappingURL=deferred.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inchesFromCm = void 0;\n/** @return Given an input in cm, convert it to inches. */\nfunction inchesFromCm(cm) {\n return cm / 2.54;\n}\nexports.inchesFromCm = inchesFromCm;\n//# sourceMappingURL=unitConversions.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uuidv4 = void 0;\n/**\n * Generates a random v4 UUID, as specified in RFC4122.\n *\n * Uses the native Web Crypto API if available, otherwise falls back to a\n * polyfill.\n *\n * Example: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n */\nfunction uuidv4() {\n // Available only in secure contexts\n // https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API\n if ('crypto' in globalThis && 'randomUUID' in globalThis.crypto) {\n // Node with\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n // secure browser context.\n return globalThis.crypto.randomUUID();\n }\n const randomValues = new Uint8Array(16);\n if ('crypto' in globalThis && 'getRandomValues' in globalThis.crypto) {\n // Node with\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n // browser.\n globalThis.crypto.getRandomValues(randomValues);\n }\n else {\n // Node without\n // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1.\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require('crypto').webcrypto.getRandomValues(randomValues);\n }\n // Set version (4) and variant (RFC4122) bits.\n randomValues[6] = (randomValues[6] & 0x0f) | 0x40;\n randomValues[8] = (randomValues[8] & 0x3f) | 0x80;\n const bytesToHex = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n return [\n bytesToHex(randomValues.subarray(0, 4)),\n bytesToHex(randomValues.subarray(4, 6)),\n bytesToHex(randomValues.subarray(6, 8)),\n bytesToHex(randomValues.subarray(8, 10)),\n bytesToHex(randomValues.subarray(10, 16)),\n ].join('-');\n}\nexports.uuidv4 = uuidv4;\n//# sourceMappingURL=uuid.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChannelProxy = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\n/**\n * Used to send messages from realm to BiDi user.\n */\nclass ChannelProxy {\n #properties;\n #id = (0, uuid_js_1.uuidv4)();\n #logger;\n constructor(channel, logger) {\n this.#properties = channel;\n this.#logger = logger;\n }\n /**\n * Creates a channel proxy in the given realm, initialises listener and\n * returns a handle to `sendMessage` delegate.\n */\n async init(realm, eventManager) {\n const channelHandle = await ChannelProxy.#createAndGetHandleInRealm(realm);\n const sendMessageHandle = await ChannelProxy.#createSendMessageHandle(realm, channelHandle);\n void this.#startListener(realm, channelHandle, eventManager);\n return sendMessageHandle;\n }\n /** Gets a ChannelProxy from window and returns its handle. */\n async startListenerFromWindow(realm, eventManager) {\n const channelHandle = await this.#getHandleFromWindow(realm);\n void this.#startListener(realm, channelHandle, eventManager);\n }\n /**\n * Evaluation string which creates a ChannelProxy object on the client side.\n */\n static #createChannelProxyEvalStr() {\n const functionStr = String(() => {\n const queue = [];\n let queueNonEmptyResolver = null;\n return {\n /**\n * Gets a promise, which is resolved as soon as a message occurs\n * in the queue.\n */\n async getMessage() {\n const onMessage = queue.length > 0\n ? Promise.resolve()\n : new Promise((resolve) => {\n queueNonEmptyResolver = resolve;\n });\n await onMessage;\n return queue.shift();\n },\n /**\n * Adds a message to the queue.\n * Resolves the pending promise if needed.\n */\n sendMessage(message) {\n queue.push(message);\n if (queueNonEmptyResolver !== null) {\n queueNonEmptyResolver();\n queueNonEmptyResolver = null;\n }\n },\n };\n });\n return `(${functionStr})()`;\n }\n /** Creates a ChannelProxy in the given realm. */\n static async #createAndGetHandleInRealm(realm) {\n const createChannelHandleResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {\n expression: this.#createChannelProxyEvalStr(),\n contextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n if (createChannelHandleResult.exceptionDetails ||\n createChannelHandleResult.result.objectId === undefined) {\n throw new Error(`Cannot create channel`);\n }\n return createChannelHandleResult.result.objectId;\n }\n /** Gets a handle to `sendMessage` delegate from the ChannelProxy handle. */\n static async #createSendMessageHandle(realm, channelHandle) {\n const sendMessageArgResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((channelHandle) => {\n return channelHandle.sendMessage;\n }),\n arguments: [{ objectId: channelHandle }],\n executionContextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n // TODO: check for exceptionDetails.\n return sendMessageArgResult.result.objectId;\n }\n /** Starts listening for the channel events of the provided ChannelProxy. */\n async #startListener(realm, channelHandle, eventManager) {\n // noinspection InfiniteLoopJS\n for (;;) {\n try {\n const message = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String(async (channelHandle) => channelHandle.getMessage()),\n arguments: [\n {\n objectId: channelHandle,\n },\n ],\n awaitPromise: true,\n executionContextId: realm.executionContextId,\n serializationOptions: {\n serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n ...(this.#properties.serializationOptions?.maxObjectDepth ===\n undefined ||\n this.#properties.serializationOptions.maxObjectDepth === null\n ? {}\n : {\n maxDepth: this.#properties.serializationOptions.maxObjectDepth,\n }),\n },\n });\n if (message.exceptionDetails) {\n throw message.exceptionDetails;\n }\n eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,\n params: {\n channel: this.#properties.channel,\n data: realm.cdpToBidiValue(message, this.#properties.ownership ?? \"none\" /* Script.ResultOwnership.None */),\n source: {\n realm: realm.realmId,\n context: realm.browsingContextId,\n },\n },\n }, realm.browsingContextId);\n }\n catch (error) {\n // If an error is thrown, then the channel is permanently broken, so we\n // exit the loop.\n this.#logger?.(log_js_1.LogType.debug, error);\n break;\n }\n }\n }\n /**\n * Returns a handle of ChannelProxy from window's property which was set there\n * by `getEvalInWindowStr`. If window property is not set yet, sets a promise\n * resolver to the window property, so that `getEvalInWindowStr` can resolve\n * the promise later on with the channel.\n * This is needed because `getEvalInWindowStr` can be called before or\n * after this method.\n */\n async #getHandleFromWindow(realm) {\n const channelHandleResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((id) => {\n const w = window;\n if (w[id] === undefined) {\n // The channelProxy is not created yet. Create a promise, put the\n // resolver to window property and return the promise.\n // `getEvalInWindowStr` will resolve the promise later.\n return new Promise((resolve) => (w[id] = resolve));\n }\n // The channelProxy is already created by `getEvalInWindowStr` and\n // is set into window property. Return it.\n const channelProxy = w[id];\n delete w[id];\n return channelProxy;\n }),\n arguments: [{ value: this.#id }],\n executionContextId: realm.executionContextId,\n awaitPromise: true,\n serializationOptions: {\n serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n },\n });\n if (channelHandleResult.exceptionDetails !== undefined ||\n channelHandleResult.result.objectId === undefined) {\n throw new Error(`ChannelHandle not found in window[\"${this.#id}\"]`);\n }\n return channelHandleResult.result.objectId;\n }\n /**\n * String to be evaluated to create a ProxyChannel and put it to window.\n * Returns the delegate `sendMessage`. Used to provide an argument for preload\n * script. Does the following:\n * 1. Creates a ChannelProxy.\n * 2. Puts the ChannelProxy to window['${this.#id}'] or resolves the promise\n * by calling delegate stored in window['${this.#id}'].\n * This is needed because `#getHandleFromWindow` can be called before or\n * after this method.\n * 3. Returns the delegate `sendMessage` of the created ChannelProxy.\n */\n getEvalInWindowStr() {\n const delegate = String((id, channelProxy) => {\n const w = window;\n if (w[id] === undefined) {\n // `#getHandleFromWindow` is not initialized yet, and will get the\n // channelProxy later.\n w[id] = channelProxy;\n }\n else {\n // `#getHandleFromWindow` is already set a delegate to window property\n // and is waiting for it to be called with the channelProxy.\n w[id](channelProxy);\n delete w[id];\n }\n return channelProxy.sendMessage;\n });\n const channelProxyEval = ChannelProxy.#createChannelProxyEvalStr();\n return `(${delegate})('${this.#id}',${channelProxyEval})`;\n }\n}\nexports.ChannelProxy = ChannelProxy;\n//# sourceMappingURL=ChannelProxy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Realm = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst ChannelProxy_js_1 = require(\"./ChannelProxy.js\");\nconst SHARED_ID_DIVIDER = '_element_';\nclass Realm {\n #realmStorage;\n #browsingContextStorage;\n #realmId;\n #browsingContextId;\n #executionContextId;\n #origin;\n #type;\n #cdpClient;\n #eventManager;\n sandbox;\n #logger;\n constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpClient, eventManager, logger) {\n this.#realmId = realmId;\n this.#browsingContextId = browsingContextId;\n this.#executionContextId = executionContextId;\n this.sandbox = sandbox;\n this.#origin = origin;\n this.#type = type;\n this.#cdpClient = cdpClient;\n this.#realmStorage = realmStorage;\n this.#browsingContextStorage = browsingContextStorage;\n this.#eventManager = eventManager;\n this.#logger = logger;\n this.#realmStorage.addRealm(this);\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmCreated,\n params: this.realmInfo,\n }, this.browsingContextId);\n }\n cdpToBidiValue(cdpValue, resultOwnership) {\n const bidiValue = this.#deepSerializedToBiDi(cdpValue.result.deepSerializedValue);\n if (cdpValue.result.objectId) {\n const objectId = cdpValue.result.objectId;\n if (resultOwnership === \"root\" /* Script.ResultOwnership.Root */) {\n // Extend BiDi value with `handle` based on required `resultOwnership`\n // and CDP response but not on the actual BiDi type.\n bidiValue.handle = objectId;\n // Remember all the handles sent to client.\n this.#realmStorage.knownHandlesToRealmMap.set(objectId, this.realmId);\n }\n else {\n // No need to await for the object to be released.\n void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.debug, error));\n }\n }\n if (cdpValue.result.type === 'object') {\n switch (cdpValue.result.subtype) {\n case 'generator':\n case 'iterator':\n bidiValue.type = cdpValue.result.subtype;\n delete bidiValue['value'];\n break;\n default:\n // Intentionally left blank.\n }\n }\n return bidiValue;\n }\n /**\n * Relies on the CDP to implement proper BiDi serialization, except\n * backendNodeId/sharedId and `platformobject`.\n */\n #deepSerializedToBiDi(deepSerializedValue) {\n if (Object.hasOwn(deepSerializedValue, 'weakLocalObjectReference')) {\n deepSerializedValue.internalId = `${deepSerializedValue.weakLocalObjectReference}`;\n delete deepSerializedValue['weakLocalObjectReference'];\n }\n // Platform object is a special case. It should have only `{type: object}`\n // without `value` field.\n if (deepSerializedValue.type === 'platformobject') {\n return { type: 'object' };\n }\n const bidiValue = deepSerializedValue.value;\n if (bidiValue === undefined) {\n return deepSerializedValue;\n }\n if (deepSerializedValue.type === 'node') {\n if (Object.hasOwn(bidiValue, 'backendNodeId')) {\n deepSerializedValue.sharedId = `${this.navigableId}${SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;\n delete bidiValue['backendNodeId'];\n }\n if (Object.hasOwn(bidiValue, 'children')) {\n for (const i in bidiValue.children) {\n bidiValue.children[i] = this.#deepSerializedToBiDi(bidiValue.children[i]);\n }\n }\n if (Object.hasOwn(bidiValue, 'shadowRoot') &&\n bidiValue.shadowRoot !== null) {\n bidiValue.shadowRoot = this.#deepSerializedToBiDi(bidiValue.shadowRoot);\n }\n }\n // Recursively update the nested values.\n if (['array', 'set', 'htmlcollection', 'nodelist'].includes(deepSerializedValue.type)) {\n for (const i in bidiValue) {\n bidiValue[i] = this.#deepSerializedToBiDi(bidiValue[i]);\n }\n }\n if (['object', 'map'].includes(deepSerializedValue.type)) {\n for (const i in bidiValue) {\n bidiValue[i] = [\n this.#deepSerializedToBiDi(bidiValue[i][0]),\n this.#deepSerializedToBiDi(bidiValue[i][1]),\n ];\n }\n }\n return deepSerializedValue;\n }\n get realmId() {\n return this.#realmId;\n }\n get navigableId() {\n return (this.#browsingContextStorage.findContext(this.#browsingContextId)\n ?.navigableId ?? 'UNKNOWN');\n }\n get browsingContextId() {\n return this.#browsingContextId;\n }\n get executionContextId() {\n return this.#executionContextId;\n }\n get origin() {\n return this.#origin;\n }\n get type() {\n return this.#type;\n }\n get cdpClient() {\n return this.#cdpClient;\n }\n get realmInfo() {\n return {\n realm: this.realmId,\n origin: this.origin,\n type: this.type,\n context: this.browsingContextId,\n ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),\n };\n }\n async evaluate(expression, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n await this.#browsingContextStorage\n .getContext(this.browsingContextId)\n .targetUnblocked();\n const cdpEvaluateResult = await this.cdpClient.sendCommand('Runtime.evaluate', {\n contextId: this.executionContextId,\n expression,\n awaitPromise,\n serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n userGesture: userActivation,\n });\n if (cdpEvaluateResult.exceptionDetails) {\n return this.#getExceptionResult(cdpEvaluateResult.exceptionDetails, 0, resultOwnership);\n }\n return {\n realm: this.realmId,\n result: this.cdpToBidiValue(cdpEvaluateResult, resultOwnership),\n type: 'success',\n };\n }\n /**\n * Serializes a given CDP object into BiDi, keeping references in the\n * target's `globalThis`.\n */\n async serializeCdpObject(cdpRemoteObject, resultOwnership) {\n const argument = Realm.#cdpRemoteObjectToCallArgument(cdpRemoteObject);\n const cdpValue = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((remoteObject) => remoteObject),\n awaitPromise: false,\n arguments: [argument],\n serializationOptions: {\n serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n },\n executionContextId: this.executionContextId,\n });\n return this.cdpToBidiValue(cdpValue, resultOwnership);\n }\n static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {\n if (cdpRemoteObject.objectId !== undefined) {\n return { objectId: cdpRemoteObject.objectId };\n }\n if (cdpRemoteObject.unserializableValue !== undefined) {\n return { unserializableValue: cdpRemoteObject.unserializableValue };\n }\n return { value: cdpRemoteObject.value };\n }\n /**\n * Gets the string representation of an object. This is equivalent to\n * calling `toString()` on the object value.\n */\n async stringifyObject(cdpRemoteObject) {\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((remoteObject) => String(remoteObject)),\n awaitPromise: false,\n arguments: [cdpRemoteObject],\n returnByValue: true,\n executionContextId: this.executionContextId,\n });\n return result.value;\n }\n async #flattenKeyValuePairs(mappingLocalValue) {\n const keyValueArray = [];\n for (const [key, value] of mappingLocalValue) {\n let keyArg;\n if (typeof key === 'string') {\n // Key is a string.\n keyArg = { value: key };\n }\n else {\n // Key is a serialized value.\n keyArg = await this.#deserializeToCdpArg(key);\n }\n const valueArg = await this.#deserializeToCdpArg(value);\n keyValueArray.push(keyArg);\n keyValueArray.push(valueArg);\n }\n return keyValueArray;\n }\n async #flattenValueList(listLocalValue) {\n return Promise.all(listLocalValue.map((localValue) => this.#deserializeToCdpArg(localValue)));\n }\n async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership) {\n const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({\n url: frame.url,\n functionName: frame.functionName,\n lineNumber: frame.lineNumber - lineOffset,\n columnNumber: frame.columnNumber,\n })) ?? [];\n // Exception should always be there.\n const exception = cdpExceptionDetails.exception;\n return {\n exception: await this.serializeCdpObject(exception, resultOwnership),\n columnNumber: cdpExceptionDetails.columnNumber,\n lineNumber: cdpExceptionDetails.lineNumber - lineOffset,\n stackTrace: {\n callFrames,\n },\n text: (await this.stringifyObject(exception)) || cdpExceptionDetails.text,\n };\n }\n async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n await this.#browsingContextStorage\n .getContext(this.browsingContextId)\n .targetUnblocked();\n const callFunctionAndSerializeScript = `(...args) => {\n function callFunction(f, args) {\n const deserializedThis = args.shift();\n const deserializedArgs = args;\n return f.apply(deserializedThis, deserializedArgs);\n }\n return callFunction((\n ${functionDeclaration}\n ), args);\n }`;\n const thisAndArgumentsList = [\n await this.#deserializeToCdpArg(thisLocalValue),\n ...(await Promise.all(argumentsLocalValues.map(async (argumentLocalValue) => this.#deserializeToCdpArg(argumentLocalValue)))),\n ];\n let cdpCallFunctionResult;\n try {\n cdpCallFunctionResult = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: callFunctionAndSerializeScript,\n awaitPromise,\n arguments: thisAndArgumentsList,\n serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n executionContextId: this.executionContextId,\n userGesture: userActivation,\n });\n }\n catch (error) {\n // Heuristic to determine if the problem is in the argument.\n // The check can be done on the `deserialization` step, but this approach\n // helps to save round-trips.\n if (error.code === -32000 &&\n [\n 'Could not find object with given id',\n 'Argument should belong to the same JavaScript world as target object',\n 'Invalid remote object id',\n ].includes(error.message)) {\n throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n }\n throw error;\n }\n if (cdpCallFunctionResult.exceptionDetails) {\n return this.#getExceptionResult(cdpCallFunctionResult.exceptionDetails, 1, resultOwnership);\n }\n return {\n type: 'success',\n result: this.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),\n realm: this.realmId,\n };\n }\n async #deserializeToCdpArg(localValue) {\n if ('sharedId' in localValue && localValue.sharedId) {\n const [navigableId, rawBackendNodeId] = localValue.sharedId.split(SHARED_ID_DIVIDER);\n const backendNodeId = parseInt(rawBackendNodeId ?? '');\n if (isNaN(backendNodeId) ||\n backendNodeId === undefined ||\n navigableId === undefined) {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n }\n if (this.navigableId !== navigableId) {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" belongs to different document. Current document is ${this.navigableId}.`);\n }\n try {\n const { object } = await this.cdpClient.sendCommand('DOM.resolveNode', {\n backendNodeId,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `obj.object.objectId` after using.\n return { objectId: object.objectId };\n }\n catch (error) {\n // Heuristic to detect \"no such node\" exception. Based on the specific\n // CDP implementation.\n if (error.code === -32000 &&\n error.message === 'No node with given id found') {\n throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n }\n throw new protocol_js_1.UnknownErrorException(error.message, error.stack);\n }\n }\n else if ('handle' in localValue && localValue.handle) {\n return { objectId: localValue.handle };\n // We tried to find a handle value but failed\n // This allows us to have exhaustive switch on `localValue.type`\n }\n else if ('handle' in localValue || 'sharedId' in localValue) {\n throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n }\n switch (localValue.type) {\n case 'undefined':\n return { unserializableValue: 'undefined' };\n case 'null':\n return { unserializableValue: 'null' };\n case 'string':\n return { value: localValue.value };\n case 'number':\n if (localValue.value === 'NaN') {\n return { unserializableValue: 'NaN' };\n }\n else if (localValue.value === '-0') {\n return { unserializableValue: '-0' };\n }\n else if (localValue.value === 'Infinity') {\n return { unserializableValue: 'Infinity' };\n }\n else if (localValue.value === '-Infinity') {\n return { unserializableValue: '-Infinity' };\n }\n return {\n value: localValue.value,\n };\n case 'boolean':\n return { value: Boolean(localValue.value) };\n case 'bigint':\n return {\n unserializableValue: `BigInt(${JSON.stringify(localValue.value)})`,\n };\n case 'date':\n return {\n unserializableValue: `new Date(Date.parse(${JSON.stringify(localValue.value)}))`,\n };\n case 'regexp':\n return {\n unserializableValue: `new RegExp(${JSON.stringify(localValue.value.pattern)}, ${JSON.stringify(localValue.value.flags)})`,\n };\n case 'map': {\n // TODO: If none of the nested keys and values has a remote\n // reference, serialize to `unserializableValue` without CDP roundtrip.\n const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => {\n const result = new Map();\n for (let i = 0; i < args.length; i += 2) {\n result.set(args[i], args[i + 1]);\n }\n return result;\n }),\n awaitPromise: false,\n arguments: keyValueArray,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'object': {\n // TODO: If none of the nested keys and values has a remote\n // reference, serialize to `unserializableValue` without CDP roundtrip.\n const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => {\n const result = {};\n for (let i = 0; i < args.length; i += 2) {\n // Key should be either `string`, `number`, or `symbol`.\n const key = args[i];\n result[key] = args[i + 1];\n }\n return result;\n }),\n awaitPromise: false,\n arguments: keyValueArray,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'array': {\n // TODO: If none of the nested items has a remote reference,\n // serialize to `unserializableValue` without CDP roundtrip.\n const args = await this.#flattenValueList(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => args),\n awaitPromise: false,\n arguments: args,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'set': {\n // TODO: if none of the nested items has a remote reference,\n // serialize to `unserializableValue` without CDP roundtrip.\n const args = await this.#flattenValueList(localValue.value);\n const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n functionDeclaration: String((...args) => new Set(args)),\n awaitPromise: false,\n arguments: args,\n returnByValue: false,\n executionContextId: this.executionContextId,\n });\n // TODO(#375): Release `result.objectId` after using.\n return { objectId: result.objectId };\n }\n case 'channel': {\n const channelProxy = new ChannelProxy_js_1.ChannelProxy(localValue.value, this.#logger);\n const channelProxySendMessageHandle = await channelProxy.init(this, this.#eventManager);\n return { objectId: channelProxySendMessageHandle };\n }\n // TODO(#375): Dispose of nested objects.\n }\n // Intentionally outside to handle unknown types\n throw new Error(`Value ${JSON.stringify(localValue)} is not deserializable.`);\n }\n async #getExceptionResult(exceptionDetails, lineOffset, resultOwnership) {\n return {\n exceptionDetails: await this.#serializeCdpExceptionDetails(exceptionDetails, lineOffset, resultOwnership),\n realm: this.realmId,\n type: 'exception',\n };\n }\n static #getSerializationOptions(serialization, serializationOptions) {\n return {\n serialization,\n additionalParameters: Realm.#getAdditionalSerializationParameters(serializationOptions),\n ...Realm.#getMaxObjectDepth(serializationOptions),\n };\n }\n static #getAdditionalSerializationParameters(serializationOptions) {\n const additionalParameters = {};\n if (serializationOptions.maxDomDepth !== undefined) {\n additionalParameters['maxNodeDepth'] =\n serializationOptions.maxDomDepth === null\n ? 1000\n : serializationOptions.maxDomDepth;\n }\n if (serializationOptions.includeShadowTree !== undefined) {\n additionalParameters['includeShadowTree'] =\n serializationOptions.includeShadowTree;\n }\n return additionalParameters;\n }\n static #getMaxObjectDepth(serializationOptions) {\n return serializationOptions.maxObjectDepth === undefined ||\n serializationOptions.maxObjectDepth === null\n ? {}\n : { maxDepth: serializationOptions.maxObjectDepth };\n }\n async #releaseObject(handle) {\n try {\n await this.cdpClient.sendCommand('Runtime.releaseObject', {\n objectId: handle,\n });\n }\n catch (error) {\n // Heuristic to determine if the problem is in the unknown handler.\n // Ignore the error if so.\n if (!(error.code === -32000 &&\n error.message === 'Invalid remote object id')) {\n throw error;\n }\n }\n }\n async disown(handle) {\n // Disowning an object from different realm does nothing.\n if (this.#realmStorage.knownHandlesToRealmMap.get(handle) !== this.realmId) {\n return;\n }\n await this.#releaseObject(handle);\n this.#realmStorage.knownHandlesToRealmMap.delete(handle);\n }\n dispose() {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmDestroyed,\n params: {\n realm: this.realmId,\n },\n }, this.browsingContextId);\n }\n}\nexports.Realm = Realm;\n//# sourceMappingURL=Realm.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = void 0;\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction assert(predicate, message) {\n if (!predicate) {\n throw new Error(message ?? 'Internal assertion failed.');\n }\n}\nexports.assert = assert;\n//# sourceMappingURL=assert.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextImpl = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst unitConversions_js_1 = require(\"../../../utils/unitConversions.js\");\nconst Realm_js_1 = require(\"../script/Realm.js\");\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nclass BrowsingContextImpl {\n static LOGGER_PREFIX = `${log_js_1.LogType.debug}:browsingContext`;\n /** The ID of this browsing context. */\n #id;\n /**\n * The ID of the parent browsing context.\n * If null, this is a top-level context.\n */\n #parentId;\n /** Direct children browsing contexts. */\n #children = new Set();\n #browsingContextStorage;\n #deferreds = {\n Page: {\n navigatedWithinDocument: new deferred_js_1.Deferred(),\n lifecycleEvent: {\n DOMContentLoaded: new deferred_js_1.Deferred(),\n load: new deferred_js_1.Deferred(),\n },\n frameStartedLoading: new deferred_js_1.Deferred(),\n },\n };\n #url = 'about:blank';\n #eventManager;\n #realmStorage;\n #loaderId;\n #cdpTarget;\n #maybeDefaultRealm;\n #logger;\n constructor(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n this.#cdpTarget = cdpTarget;\n this.#realmStorage = realmStorage;\n this.#id = id;\n this.#parentId = parentId;\n this.#eventManager = eventManager;\n this.#browsingContextStorage = browsingContextStorage;\n this.#logger = logger;\n }\n static create(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n const context = new BrowsingContextImpl(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger);\n context.#initListeners();\n browsingContextStorage.addContext(context);\n if (!context.isTopLevelContext()) {\n context.parent.addChild(context.id);\n }\n eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextCreatedEvent,\n params: context.serializeToBidiValue(),\n }, context.id);\n return context;\n }\n static getTimestamp() {\n // `timestamp` from the event is MonotonicTime, not real time, so\n // the best Mapper can do is to set the timestamp to the epoch time\n // of the event arrived.\n // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime\n return new Date().getTime();\n }\n /**\n * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable\n */\n get navigableId() {\n return this.#loaderId;\n }\n dispose() {\n this.#deleteAllChildren();\n this.#realmStorage.deleteRealms({\n browsingContextId: this.id,\n });\n // Remove context from the parent.\n if (!this.isTopLevelContext()) {\n this.parent.#children.delete(this.id);\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyedEvent,\n params: this.serializeToBidiValue(),\n }, this.id);\n this.#browsingContextStorage.deleteContextById(this.id);\n }\n /** Returns the ID of this context. */\n get id() {\n return this.#id;\n }\n /** Returns the parent context ID. */\n get parentId() {\n return this.#parentId;\n }\n /** Returns the parent context. */\n get parent() {\n if (this.parentId === null) {\n return null;\n }\n return this.#browsingContextStorage.getContext(this.parentId);\n }\n /** Returns all direct children contexts. */\n get directChildren() {\n return [...this.#children].map((id) => this.#browsingContextStorage.getContext(id));\n }\n /** Returns all children contexts, flattened. */\n get allChildren() {\n const children = this.directChildren;\n return children.concat(...children.map((child) => child.allChildren));\n }\n /**\n * Returns true if this is a top-level context.\n * This is the case whenever the parent context ID is null.\n */\n isTopLevelContext() {\n return this.#parentId === null;\n }\n get top() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let topContext = this;\n let parent = topContext.parent;\n while (parent) {\n topContext = parent;\n parent = topContext.parent;\n }\n return topContext;\n }\n addChild(childId) {\n this.#children.add(childId);\n }\n #deleteAllChildren() {\n this.directChildren.map((child) => child.dispose());\n }\n get #defaultRealm() {\n if (this.#maybeDefaultRealm === undefined) {\n throw new Error(`No default realm for browsing context ${this.#id}`);\n }\n return this.#maybeDefaultRealm;\n }\n get cdpTarget() {\n return this.#cdpTarget;\n }\n updateCdpTarget(cdpTarget) {\n this.#cdpTarget = cdpTarget;\n this.#initListeners();\n }\n get url() {\n return this.#url;\n }\n async lifecycleLoaded() {\n await this.#deferreds.Page.lifecycleEvent.load;\n }\n targetUnblocked() {\n return this.#cdpTarget.targetUnblocked;\n }\n async getOrCreateSandbox(sandbox) {\n if (sandbox === undefined || sandbox === '') {\n return this.#defaultRealm;\n }\n let maybeSandboxes = this.#realmStorage.findRealms({\n browsingContextId: this.id,\n sandbox,\n });\n if (maybeSandboxes.length === 0) {\n await this.#cdpTarget.cdpClient.sendCommand('Page.createIsolatedWorld', {\n frameId: this.id,\n worldName: sandbox,\n });\n // `Runtime.executionContextCreated` should be emitted by the time the\n // previous command is done.\n maybeSandboxes = this.#realmStorage.findRealms({\n browsingContextId: this.id,\n sandbox,\n });\n (0, assert_js_1.assert)(maybeSandboxes.length !== 0);\n }\n // It's possible for more than one sandbox to be created due to provisional\n // frames. In this case, it's always the first one (i.e. the oldest one)\n // that is more relevant since the user may have set that one up already\n // through evaluation.\n return maybeSandboxes[0];\n }\n serializeToBidiValue(maxDepth = 0, addParentField = true) {\n return {\n context: this.#id,\n url: this.url,\n children: maxDepth > 0\n ? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))\n : null,\n ...(addParentField ? { parent: this.#parentId } : {}),\n };\n }\n onTargetInfoChanged(params) {\n this.#url = params.targetInfo.url;\n }\n #initListeners() {\n this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {\n if (this.id !== params.frame.id) {\n return;\n }\n this.#url = params.frame.url + (params.frame.urlFragment ?? '');\n // At the point the page is initialized, all the nested iframes from the\n // previous page are detached and realms are destroyed.\n // Remove children from context.\n this.#deleteAllChildren();\n });\n this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n const timestamp = BrowsingContextImpl.getTimestamp();\n this.#url = params.url;\n this.#deferreds.Page.navigatedWithinDocument.resolve(params);\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,\n params: {\n context: this.id,\n navigation: null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.frameStartedLoading', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,\n params: {\n context: this.id,\n navigation: null,\n timestamp: BrowsingContextImpl.getTimestamp(),\n url: '',\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {\n if (this.id !== params.frameId) {\n return;\n }\n if (params.name === 'init') {\n this.#documentChanged(params.loaderId);\n return;\n }\n if (params.name === 'commit') {\n this.#loaderId = params.loaderId;\n return;\n }\n // Ignore event from not current navigation.\n if (params.loaderId !== this.#loaderId) {\n return;\n }\n const timestamp = BrowsingContextImpl.getTimestamp();\n switch (params.name) {\n case 'DOMContentLoaded':\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoadedEvent,\n params: {\n context: this.id,\n navigation: this.#loaderId ?? null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);\n break;\n case 'load':\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.LoadEvent,\n params: {\n context: this.id,\n navigation: this.#loaderId ?? null,\n timestamp,\n url: this.#url,\n },\n }, this.id);\n this.#deferreds.Page.lifecycleEvent.load.resolve(params);\n break;\n }\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {\n if (params.context.auxData.frameId !== this.id) {\n return;\n }\n // Only this execution contexts are supported for now.\n if (!['default', 'isolated'].includes(params.context.auxData.type)) {\n return;\n }\n const realm = new Realm_js_1.Realm(this.#realmStorage, this.#browsingContextStorage, params.context.uniqueId, this.id, params.context.id, this.#getOrigin(params), \n // XXX: differentiate types.\n 'window', \n // Sandbox name for isolated world.\n params.context.auxData.type === 'isolated'\n ? params.context.name\n : undefined, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);\n if (params.context.auxData.isDefault) {\n this.#maybeDefaultRealm = realm;\n // Initialize ChannelProxy listeners for all the channels of all the\n // preload scripts related to this BrowsingContext.\n // TODO: extend for not default realms by the sandbox name.\n void Promise.all(this.#cdpTarget\n .getChannels()\n .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));\n }\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextDestroyed', (params) => {\n this.#realmStorage.deleteRealms({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.executionContextId,\n });\n });\n this.#cdpTarget.cdpClient.on('Runtime.executionContextsCleared', () => {\n this.#realmStorage.deleteRealms({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n });\n });\n this.#cdpTarget.cdpClient.on('Page.javascriptDialogClosed', (params) => {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,\n params: {\n context: this.id,\n accepted: params.result,\n // Cast empty string to undefined\n userText: params.userInput ? params.userInput : undefined,\n },\n }, this.id);\n });\n this.#cdpTarget.cdpClient.on('Page.javascriptDialogOpening', (params) => {\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,\n params: {\n context: this.id,\n type: params.type,\n message: params.message,\n },\n }, this.id);\n });\n }\n #getOrigin(params) {\n if (params.context.auxData.type === 'isolated') {\n // Sandbox should have the same origin as the context itself, but in CDP\n // it has an empty one.\n return this.#defaultRealm.origin;\n }\n // https://html.spec.whatwg.org/multipage/origin.html#ascii-serialisation-of-an-origin\n return ['://', ''].includes(params.context.origin)\n ? 'null'\n : params.context.origin;\n }\n #documentChanged(loaderId) {\n // Same document navigation.\n if (loaderId === undefined || this.#loaderId === loaderId) {\n if (this.#deferreds.Page.navigatedWithinDocument.isFinished) {\n this.#deferreds.Page.navigatedWithinDocument =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (navigatedWithinDocument)');\n }\n return;\n }\n this.#resetDeferredsIfFinished();\n this.#loaderId = loaderId;\n }\n #resetDeferredsIfFinished() {\n if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {\n this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (DOMContentLoaded)');\n }\n if (this.#deferreds.Page.lifecycleEvent.load.isFinished) {\n this.#deferreds.Page.lifecycleEvent.load =\n new deferred_js_1.Deferred();\n }\n else {\n this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (load)');\n }\n }\n async navigate(url, wait) {\n try {\n new URL(url);\n }\n catch {\n throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);\n }\n await this.targetUnblocked();\n // TODO: handle loading errors.\n const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {\n url,\n frameId: this.id,\n });\n if (cdpNavigateResult.errorText) {\n throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);\n }\n this.#documentChanged(cdpNavigateResult.loaderId);\n switch (wait) {\n case \"none\" /* BrowsingContext.ReadinessState.None */:\n break;\n case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n // No `loaderId` means same-document navigation.\n if (cdpNavigateResult.loaderId === undefined) {\n await this.#deferreds.Page.navigatedWithinDocument;\n }\n else {\n await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n }\n break;\n case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n // No `loaderId` means same-document navigation.\n if (cdpNavigateResult.loaderId === undefined) {\n await this.#deferreds.Page.navigatedWithinDocument;\n }\n else {\n await this.lifecycleLoaded();\n }\n break;\n }\n return {\n navigation: cdpNavigateResult.loaderId ?? null,\n // Url can change due to redirect get the latest one.\n url: wait === \"none\" /* BrowsingContext.ReadinessState.None */ ? url : this.#url,\n };\n }\n async reload(ignoreCache, wait) {\n await this.targetUnblocked();\n await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {\n ignoreCache,\n });\n this.#resetDeferredsIfFinished();\n switch (wait) {\n case \"none\" /* BrowsingContext.ReadinessState.None */:\n break;\n case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n break;\n case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n await this.lifecycleLoaded();\n break;\n }\n return {};\n }\n async setViewport(viewport) {\n if (viewport === null) {\n await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');\n }\n else {\n try {\n await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {\n width: viewport.width,\n height: viewport.height,\n deviceScaleFactor: 0,\n mobile: false,\n dontSetVisibleSize: true,\n });\n }\n catch (err) {\n if (err.message.startsWith(\n // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff\n 'Width and height values must be positive')) {\n throw new protocol_js_1.UnsupportedOperationException('Provided viewport dimensions are not supported');\n }\n throw err;\n }\n }\n }\n async handleUserPrompt(params) {\n await this.#cdpTarget.cdpClient.sendCommand('Page.handleJavaScriptDialog', {\n accept: params.accept ?? true,\n promptText: params.userText,\n });\n }\n async activate() {\n await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n }\n async captureScreenshot(params) {\n if (!this.isTopLevelContext()) {\n throw new protocol_js_1.UnsupportedOperationException(`Non-top-level 'context' (${params.context}) is currently not supported`);\n }\n // XXX: Focus the original tab after the screenshot is taken.\n // This is needed because the screenshot gets blocked until the active tab gets focus.\n await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n let rect = await this.#parseRect(params.clip);\n const { cssContentSize, cssLayoutViewport } = await this.#cdpTarget.cdpClient.sendCommand('Page.getLayoutMetrics');\n const viewport = {\n x: cssContentSize.x,\n y: cssContentSize.y,\n width: cssLayoutViewport.clientWidth,\n height: cssLayoutViewport.clientHeight,\n };\n rect = rect ? getIntersectionRect(rect, viewport) : viewport;\n const result = await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', { clip: { ...rect, scale: 1.0 } });\n return { data: result.data };\n }\n async print(params) {\n const cdpParams = {};\n if (params.background !== undefined) {\n cdpParams.printBackground = params.background;\n }\n if (params.margin?.bottom !== undefined) {\n cdpParams.marginBottom = (0, unitConversions_js_1.inchesFromCm)(params.margin.bottom);\n }\n if (params.margin?.left !== undefined) {\n cdpParams.marginLeft = (0, unitConversions_js_1.inchesFromCm)(params.margin.left);\n }\n if (params.margin?.right !== undefined) {\n cdpParams.marginRight = (0, unitConversions_js_1.inchesFromCm)(params.margin.right);\n }\n if (params.margin?.top !== undefined) {\n cdpParams.marginTop = (0, unitConversions_js_1.inchesFromCm)(params.margin.top);\n }\n if (params.orientation !== undefined) {\n cdpParams.landscape = params.orientation === 'landscape';\n }\n if (params.page?.height !== undefined) {\n cdpParams.paperHeight = (0, unitConversions_js_1.inchesFromCm)(params.page.height);\n }\n if (params.page?.width !== undefined) {\n cdpParams.paperWidth = (0, unitConversions_js_1.inchesFromCm)(params.page.width);\n }\n if (params.pageRanges !== undefined) {\n for (const range of params.pageRanges) {\n if (typeof range === 'number') {\n continue;\n }\n const rangeParts = range.split('-');\n if (rangeParts.length < 1 || rangeParts.length > 2) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${range} is not a valid integer range.`);\n }\n if (rangeParts.length === 1) {\n void parseInteger(rangeParts[0] ?? '');\n continue;\n }\n let lowerBound;\n let upperBound;\n const [rangeLowerPart = '', rangeUpperPart = ''] = rangeParts;\n if (rangeLowerPart === '') {\n lowerBound = 1;\n }\n else {\n lowerBound = parseInteger(rangeLowerPart);\n }\n if (rangeUpperPart === '') {\n upperBound = Number.MAX_SAFE_INTEGER;\n }\n else {\n upperBound = parseInteger(rangeUpperPart);\n }\n if (lowerBound > upperBound) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${rangeLowerPart} > ${rangeUpperPart}`);\n }\n }\n cdpParams.pageRanges = params.pageRanges.join(',');\n }\n if (params.scale !== undefined) {\n cdpParams.scale = params.scale;\n }\n if (params.shrinkToFit !== undefined) {\n cdpParams.preferCSSPageSize = !params.shrinkToFit;\n }\n try {\n const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);\n return {\n data: result.data,\n };\n }\n catch (error) {\n // Effectively zero dimensions.\n if (error.message ===\n 'invalid print parameters: content area is empty') {\n throw new protocol_js_1.UnsupportedOperationException(error.message);\n }\n throw error;\n }\n }\n /**\n * See\n * https://w3c.github.io/webdriver-bidi/#:~:text=If%20command%20parameters%20contains%20%22clip%22%3A\n */\n async #parseRect(clip) {\n if (!clip) {\n return;\n }\n switch (clip.type) {\n case 'viewport':\n return { x: clip.x, y: clip.y, width: clip.width, height: clip.height };\n case 'element': {\n if (clip.scrollIntoView) {\n throw new protocol_js_1.UnsupportedOperationException(`'scrollIntoView' is currently not supported`);\n }\n // TODO: #1213: Use custom sandbox specifically for Chromium BiDi\n const sandbox = await this.getOrCreateSandbox(undefined);\n const result = await sandbox.callFunction(String((element) => {\n return element instanceof Element;\n }), { type: 'undefined' }, [clip.element], false, \"none\" /* Script.ResultOwnership.None */, {});\n if (result.type === 'exception') {\n throw new protocol_js_1.NoSuchElementException(`Element '${clip.element.sharedId}' was not found`);\n }\n (0, assert_js_1.assert)(result.result.type === 'boolean');\n if (!result.result.value) {\n throw new protocol_js_1.NoSuchElementException(`Node '${clip.element.sharedId}' is not an Element`);\n }\n {\n const result = await sandbox.callFunction(String((element) => {\n const rect = element.getBoundingClientRect();\n return {\n x: rect.x,\n y: rect.y,\n height: rect.height,\n width: rect.width,\n };\n }), { type: 'undefined' }, [clip.element], false, \"none\" /* Script.ResultOwnership.None */, {});\n (0, assert_js_1.assert)(result.type === 'success');\n const rect = deserializeDOMRect(result.result);\n if (!rect) {\n throw new protocol_js_1.UnableToCaptureScreenException(`Could not get bounding box for Element '${clip.element.sharedId}'`);\n }\n return rect;\n }\n }\n }\n }\n async close() {\n await this.#cdpTarget.cdpClient.sendCommand('Page.close');\n }\n}\nexports.BrowsingContextImpl = BrowsingContextImpl;\nfunction deserializeDOMRect(result) {\n if (result.type !== 'object' || result.value === undefined) {\n return;\n }\n const x = result.value.find(([key]) => {\n return key === 'x';\n })?.[1];\n const y = result.value.find(([key]) => {\n return key === 'y';\n })?.[1];\n const height = result.value.find(([key]) => {\n return key === 'height';\n })?.[1];\n const width = result.value.find(([key]) => {\n return key === 'width';\n })?.[1];\n if (x?.type !== 'number' ||\n y?.type !== 'number' ||\n height?.type !== 'number' ||\n width?.type !== 'number') {\n return;\n }\n return {\n x: x.value,\n y: y.value,\n width: width.value,\n height: height.value,\n };\n}\n/** @see https://w3c.github.io/webdriver-bidi/#normalize-rect */\nfunction normalizeRect(box) {\n return {\n ...(box.width < 0\n ? {\n x: box.x + box.width,\n width: -box.width,\n }\n : {\n x: box.x,\n width: box.width,\n }),\n ...(box.height < 0\n ? {\n y: box.y + box.height,\n height: -box.height,\n }\n : {\n y: box.y,\n height: box.height,\n }),\n };\n}\n/** @see https://w3c.github.io/webdriver-bidi/#rectangle-intersection */\nfunction getIntersectionRect(first, second) {\n first = normalizeRect(first);\n second = normalizeRect(second);\n const x = Math.max(first.x, second.x);\n const y = Math.max(first.y, second.y);\n return {\n x,\n y,\n width: Math.max(Math.min(first.x + first.width, second.x + second.width) - x, 0),\n height: Math.max(Math.min(first.y + first.height, second.y + second.height) - y, 0),\n };\n}\nfunction parseInteger(value) {\n value = value.trim();\n if (!/^[0-9]+$/.test(value)) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid integer: ${value}`);\n }\n return parseInt(value);\n}\n//# sourceMappingURL=BrowsingContextImpl.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRemoteValuesText = exports.logMessageFormatter = void 0;\nconst specifiers = ['%s', '%d', '%i', '%f', '%o', '%O', '%c'];\nfunction isFormatSpecifier(str) {\n return specifiers.some((spec) => str.includes(spec));\n}\n/**\n * @param args input remote values to be format printed\n * @return parsed text of the remote values in specific format\n */\nfunction logMessageFormatter(args) {\n let output = '';\n const argFormat = args[0].value.toString();\n const argValues = args.slice(1, undefined);\n const tokens = argFormat.split(new RegExp(specifiers.map((spec) => `(${spec})`).join('|'), 'g'));\n for (const token of tokens) {\n if (token === undefined || token === '') {\n continue;\n }\n if (isFormatSpecifier(token)) {\n const arg = argValues.shift();\n // raise an exception when less value is provided\n if (arg === undefined) {\n throw new Error(`Less value is provided: \"${getRemoteValuesText(args, false)}\"`);\n }\n if (token === '%s') {\n output += stringFromArg(arg);\n }\n else if (token === '%d' || token === '%i') {\n if (arg.type === 'bigint' ||\n arg.type === 'number' ||\n arg.type === 'string') {\n output += parseInt(arg.value.toString(), 10);\n }\n else {\n output += 'NaN';\n }\n }\n else if (token === '%f') {\n if (arg.type === 'bigint' ||\n arg.type === 'number' ||\n arg.type === 'string') {\n output += parseFloat(arg.value.toString());\n }\n else {\n output += 'NaN';\n }\n }\n else {\n // %o, %O, %c\n output += toJson(arg);\n }\n }\n else {\n output += token;\n }\n }\n // raise an exception when more value is provided\n if (argValues.length > 0) {\n throw new Error(`More value is provided: \"${getRemoteValuesText(args, false)}\"`);\n }\n return output;\n}\nexports.logMessageFormatter = logMessageFormatter;\n/**\n * @param arg input remote value to be parsed\n * @return parsed text of the remote value\n *\n * input: {\"type\": \"number\", \"value\": 1}\n * output: 1\n *\n * input: {\"type\": \"string\", \"value\": \"abc\"}\n * output: \"abc\"\n *\n * input: {\"type\": \"object\", \"value\": [[\"id\", {\"type\": \"number\", \"value\": 1}]]}\n * output: '{\"id\": 1}'\n *\n * input: {\"type\": \"object\", \"value\": [[\"font-size\", {\"type\": \"string\", \"value\": \"20px\"}]]}\n * output: '{\"font-size\": \"20px\"}'\n */\nfunction toJson(arg) {\n // arg type validation\n if (arg.type !== 'array' &&\n arg.type !== 'bigint' &&\n arg.type !== 'date' &&\n arg.type !== 'number' &&\n arg.type !== 'object' &&\n arg.type !== 'string') {\n return stringFromArg(arg);\n }\n if (arg.type === 'bigint') {\n return `${arg.value.toString()}n`;\n }\n if (arg.type === 'number') {\n return arg.value.toString();\n }\n if (['date', 'string'].includes(arg.type)) {\n return JSON.stringify(arg.value);\n }\n if (arg.type === 'object') {\n return `{${arg.value\n .map((pair) => {\n return `${JSON.stringify(pair[0])}:${toJson(pair[1])}`;\n })\n .join(',')}}`;\n }\n if (arg.type === 'array') {\n return `[${arg.value?.map((val) => toJson(val)).join(',') ?? ''}]`;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n throw Error(`Invalid value type: ${arg}`);\n}\nfunction stringFromArg(arg) {\n if (!Object.hasOwn(arg, 'value')) {\n return arg.type;\n }\n switch (arg.type) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'bigint':\n return String(arg.value);\n case 'regexp':\n return `/${arg.value.pattern}/${arg.value.flags ?? ''}`;\n case 'date':\n return new Date(arg.value).toString();\n case 'object':\n return `Object(${arg.value?.length ?? ''})`;\n case 'array':\n return `Array(${arg.value?.length ?? ''})`;\n case 'map':\n return `Map(${arg.value?.length})`;\n case 'set':\n return `Set(${arg.value?.length})`;\n default:\n return arg.type;\n }\n}\nfunction getRemoteValuesText(args, formatText) {\n const arg = args[0];\n if (!arg) {\n return '';\n }\n // if args[0] is a format specifier, format the args as output\n if (arg.type === 'string' &&\n isFormatSpecifier(arg.value.toString()) &&\n formatText) {\n return logMessageFormatter(args);\n }\n // if args[0] is not a format specifier, just join the args with \\u0020 (unicode 'SPACE')\n return args\n .map((arg) => {\n return stringFromArg(arg);\n })\n .join('\\u0020');\n}\nexports.getRemoteValuesText = getRemoteValuesText;\n//# sourceMappingURL=logHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst logHelper_js_1 = require(\"./logHelper.js\");\n/** Converts CDP StackTrace object to BiDi StackTrace object. */\nfunction getBidiStackTrace(cdpStackTrace) {\n const stackFrames = cdpStackTrace?.callFrames.map((callFrame) => {\n return {\n columnNumber: callFrame.columnNumber,\n functionName: callFrame.functionName,\n lineNumber: callFrame.lineNumber,\n url: callFrame.url,\n };\n });\n return stackFrames ? { callFrames: stackFrames } : undefined;\n}\nfunction getLogLevel(consoleApiType) {\n if ([\"error\" /* Log.Level.Error */, 'assert'].includes(consoleApiType)) {\n return \"error\" /* Log.Level.Error */;\n }\n if ([\"debug\" /* Log.Level.Debug */, 'trace'].includes(consoleApiType)) {\n return \"debug\" /* Log.Level.Debug */;\n }\n if ([\"warn\" /* Log.Level.Warn */, 'warning'].includes(consoleApiType)) {\n return \"warn\" /* Log.Level.Warn */;\n }\n return \"info\" /* Log.Level.Info */;\n}\nclass LogManager {\n #eventManager;\n #realmStorage;\n #cdpTarget;\n constructor(cdpTarget, realmStorage, eventManager) {\n this.#cdpTarget = cdpTarget;\n this.#realmStorage = realmStorage;\n this.#eventManager = eventManager;\n }\n static create(cdpTarget, realmStorage, eventManager) {\n const logManager = new LogManager(cdpTarget, realmStorage, eventManager);\n logManager.#initializeEntryAddedEventListener();\n return logManager;\n }\n #initializeEntryAddedEventListener() {\n this.#cdpTarget.cdpClient.on('Runtime.consoleAPICalled', (params) => {\n // Try to find realm by `cdpSessionId` and `executionContextId`,\n // if provided.\n const realm = this.#realmStorage.findRealm({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.executionContextId,\n });\n const argsPromise = realm === undefined\n ? Promise.resolve(params.args)\n : // Properly serialize arguments if possible.\n Promise.all(params.args.map((arg) => {\n return realm.serializeCdpObject(arg, \"none\" /* Script.ResultOwnership.None */);\n }));\n this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({\n kind: 'success',\n value: {\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n params: {\n level: getLogLevel(params.type),\n source: {\n realm: realm?.realmId ?? 'UNKNOWN',\n context: realm?.browsingContextId ?? 'UNKNOWN',\n },\n text: (0, logHelper_js_1.getRemoteValuesText)(args, true),\n timestamp: Math.round(params.timestamp),\n stackTrace: getBidiStackTrace(params.stackTrace),\n type: 'console',\n // Console method is `warn`, not `warning`.\n method: params.type === 'warning' ? 'warn' : params.type,\n args,\n },\n },\n })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n });\n this.#cdpTarget.cdpClient.on('Runtime.exceptionThrown', (params) => {\n // Try to find realm by `cdpSessionId` and `executionContextId`,\n // if provided.\n const realm = this.#realmStorage.findRealm({\n cdpSessionId: this.#cdpTarget.cdpSessionId,\n executionContextId: params.exceptionDetails.executionContextId,\n });\n // Try the best to get the exception text.\n const textPromise = (async () => {\n if (!params.exceptionDetails.exception) {\n return params.exceptionDetails.text;\n }\n if (realm === undefined) {\n return JSON.stringify(params.exceptionDetails.exception);\n }\n return realm.stringifyObject(params.exceptionDetails.exception);\n })();\n this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({\n kind: 'success',\n value: {\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n params: {\n level: \"error\" /* Log.Level.Error */,\n source: {\n realm: realm?.realmId ?? 'UNKNOWN',\n context: realm?.browsingContextId ?? 'UNKNOWN',\n },\n text,\n timestamp: Math.round(params.timestamp),\n stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),\n type: 'javascript',\n },\n },\n })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n });\n }\n}\nexports.LogManager = LogManager;\n//# sourceMappingURL=LogManager.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkManager = void 0;\n/** Maps 1:1 to CdpTarget. */\nclass NetworkManager {\n #cdpTarget;\n #networkStorage;\n constructor(cdpTarget, networkStorage) {\n this.#cdpTarget = cdpTarget;\n this.#networkStorage = networkStorage;\n }\n /** Returns the CDP Target associated with this NetworkManager instance. */\n get cdpTarget() {\n return this.#cdpTarget;\n }\n #forgetNetworkRequest(requestId) {\n this.#networkStorage.deleteRequest(requestId);\n }\n #getOrCreateNetworkRequest(requestId) {\n return this.#networkStorage.getRequest(requestId);\n }\n static create(cdpTarget, networkStorage) {\n const networkManager = new NetworkManager(cdpTarget, networkStorage);\n cdpTarget.cdpClient\n .browserClient()\n .on('Target.detachedFromTarget', (params) => {\n if (cdpTarget.cdpClient.sessionId === params.sessionId) {\n networkManager.#networkStorage.disposeRequestMap();\n }\n });\n cdpTarget.cdpClient.on('Network.requestWillBeSent', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onRequestWillBeSentEvent(params);\n });\n cdpTarget.cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onRequestWillBeSentExtraInfoEvent(params);\n });\n cdpTarget.cdpClient.on('Network.responseReceived', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onResponseReceivedEvent(params);\n });\n cdpTarget.cdpClient.on('Network.responseReceivedExtraInfo', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onResponseReceivedEventExtraInfo(params);\n });\n cdpTarget.cdpClient.on('Network.requestServedFromCache', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onServedFromCache();\n });\n cdpTarget.cdpClient.on('Network.loadingFailed', (params) => {\n networkManager\n .#getOrCreateNetworkRequest(params.requestId)\n .onLoadingFailedEvent(params);\n networkManager.#forgetNetworkRequest(params.requestId);\n });\n cdpTarget.cdpClient.on('Network.loadingFinished', (params) => {\n networkManager.#forgetNetworkRequest(params.requestId);\n });\n return networkManager;\n }\n}\nexports.NetworkManager = NetworkManager;\n//# sourceMappingURL=NetworkManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpTarget = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst LogManager_js_1 = require(\"../log/LogManager.js\");\nconst NetworkManager_js_1 = require(\"../network/NetworkManager.js\");\nclass CdpTarget {\n #targetId;\n #cdpClient;\n #cdpSessionId;\n #eventManager;\n #preloadScriptStorage;\n #networkStorage;\n #targetUnblocked = new deferred_js_1.Deferred();\n static create(targetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage, networkStorage) {\n const cdpTarget = new CdpTarget(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage, networkStorage);\n LogManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager);\n NetworkManager_js_1.NetworkManager.create(cdpTarget, networkStorage);\n cdpTarget.#setEventListeners();\n // No need to await.\n // Deferred will be resolved when the target is unblocked.\n void cdpTarget.#unblock();\n return cdpTarget;\n }\n constructor(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage, networkStorage) {\n this.#targetId = targetId;\n this.#cdpClient = cdpClient;\n this.#cdpSessionId = cdpSessionId;\n this.#eventManager = eventManager;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#networkStorage = networkStorage;\n }\n /** Returns a promise that resolves when the target is unblocked. */\n get targetUnblocked() {\n return this.#targetUnblocked;\n }\n get targetId() {\n return this.#targetId;\n }\n get cdpClient() {\n return this.#cdpClient;\n }\n /** Needed for CDP escape path. */\n get cdpSessionId() {\n return this.#cdpSessionId;\n }\n /** Calls `Fetch.enable` with the added network intercepts. */\n async fetchEnable() {\n await this.#cdpClient.sendCommand('Fetch.enable', this.#networkStorage.getFetchEnableParams());\n }\n /** Calls `Fetch.disable`. */\n async fetchDisable() {\n await this.#cdpClient.sendCommand('Fetch.disable');\n }\n /**\n * Calls `Fetch.disable` followed by `Fetch.enable`.\n * The order is important. Do not use `Promise.all`.\n *\n * This is necessary because `Fetch.disable` removes all intercepts.\n * In a situation where there are two or more intercepts and one of them is\n * removed, the `Fetch.enable` call will restore the remaining intercepts.\n */\n async fetchApply() {\n await this.fetchDisable();\n await this.fetchEnable();\n }\n /**\n * Enables all the required CDP domains and unblocks the target.\n */\n async #unblock() {\n try {\n // Collect all command promises and wait for them after\n // `Runtime.runIfWaitingForDebugger`.\n const promises = [];\n promises.push(this.#cdpClient.sendCommand('Runtime.enable'), this.#cdpClient.sendCommand('Page.enable'), this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {\n enabled: true,\n }), \n // XXX: #1080: Do not always enable the network domain globally.\n // TODO: enable Network domain for OOPiF targets.\n this.#cdpClient.sendCommand('Network.enable'), this.fetchApply(), this.#cdpClient.sendCommand('Target.setAutoAttach', {\n autoAttach: true,\n waitForDebuggerOnStart: true,\n flatten: true,\n }), this.#initAndEvaluatePreloadScripts());\n await this.#cdpClient.sendCommand('Runtime.runIfWaitingForDebugger');\n await Promise.all(promises);\n }\n catch (error) {\n // The target might have been closed before the initialization finished.\n if (!this.#cdpClient.isCloseError(error)) {\n throw error;\n }\n }\n this.#targetUnblocked.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n #setEventListeners() {\n this.#cdpClient.on('*', (event, params) => {\n // We may encounter uses for EventEmitter other than CDP events,\n // which we want to skip.\n if (typeof event !== 'string') {\n return;\n }\n this.#eventManager.registerEvent({\n type: 'event',\n method: `cdp.${event}`,\n params: {\n event,\n params: params,\n session: this.#cdpSessionId,\n },\n }, null);\n });\n }\n /**\n * All the ProxyChannels from all the preload scripts of the given\n * BrowsingContext.\n */\n getChannels() {\n return this.#preloadScriptStorage\n .find()\n .flatMap((script) => script.channels);\n }\n /** Loads all top-level preload scripts. */\n async #initAndEvaluatePreloadScripts() {\n for (const script of this.#preloadScriptStorage.find()) {\n await script.initInTarget(this, true);\n }\n }\n}\nexports.CdpTarget = CdpTarget;\n//# sourceMappingURL=CdpTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextProcessor = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst BrowsingContextImpl_js_1 = require(\"./BrowsingContextImpl.js\");\nconst CdpTarget_js_1 = require(\"./CdpTarget.js\");\nclass BrowsingContextProcessor {\n #cdpConnection;\n #selfTargetId;\n #eventManager;\n #browsingContextStorage;\n #networkStorage;\n #preloadScriptStorage;\n #realmStorage;\n #logger;\n constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger) {\n this.#cdpConnection = cdpConnection;\n this.#selfTargetId = selfTargetId;\n this.#eventManager = eventManager;\n this.#browsingContextStorage = browsingContextStorage;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#networkStorage = networkStorage;\n this.#realmStorage = realmStorage;\n this.#logger = logger;\n this.#setEventListeners(this.#cdpConnection.browserClient());\n }\n getTree(params) {\n const resultContexts = params.root === undefined\n ? this.#browsingContextStorage.getTopLevelContexts()\n : [this.#browsingContextStorage.getContext(params.root)];\n return {\n contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),\n };\n }\n async create(params) {\n const browserCdpClient = this.#cdpConnection.browserClient();\n let referenceContext;\n if (params.referenceContext !== undefined) {\n referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);\n if (!referenceContext.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException(`referenceContext should be a top-level context`);\n }\n }\n let result;\n switch (params.type) {\n case \"tab\" /* BrowsingContext.CreateType.Tab */:\n result = await browserCdpClient.sendCommand('Target.createTarget', {\n url: 'about:blank',\n newWindow: false,\n });\n break;\n case \"window\" /* BrowsingContext.CreateType.Window */:\n result = await browserCdpClient.sendCommand('Target.createTarget', {\n url: 'about:blank',\n newWindow: true,\n });\n break;\n }\n // Wait for the new tab to be loaded to avoid race conditions in the\n // `browsingContext` events, when the `browsingContext.domContentLoaded` and\n // `browsingContext.load` events from the initial `about:blank` navigation\n // are emitted after the next navigation is started.\n // Details: https://github.com/web-platform-tests/wpt/issues/35846\n const contextId = result.targetId;\n const context = this.#browsingContextStorage.getContext(contextId);\n await context.lifecycleLoaded();\n return { context: context.id };\n }\n navigate(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.navigate(params.url, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n }\n reload(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.reload(params.ignoreCache ?? false, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n }\n async activate(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException('Activation is only supported on the top-level context');\n }\n await context.activate();\n return {};\n }\n async captureScreenshot(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.captureScreenshot(params);\n }\n async print(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n return context.print(params);\n }\n async setViewport(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException('Emulating viewport is only supported on the top-level context');\n }\n await context.setViewport(params.viewport);\n return {};\n }\n async handleUserPrompt(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n await context.handleUserPrompt(params);\n return {};\n }\n async close(commandParams) {\n const context = this.#browsingContextStorage.getContext(commandParams.context);\n if (!context.isTopLevelContext()) {\n throw new protocol_js_1.InvalidArgumentException(`Non top-level browsing context ${context.id} cannot be closed.`);\n }\n try {\n const browserCdpClient = this.#cdpConnection.browserClient();\n const detachedFromTargetPromise = new Promise((resolve) => {\n const onContextDestroyed = (event) => {\n if (event.targetId === commandParams.context) {\n browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);\n resolve();\n }\n };\n browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);\n });\n await context.close();\n // Sometimes CDP command finishes before `detachedFromTarget` event,\n // sometimes after. Wait for the CDP command to be finished, and then wait\n // for `detachedFromTarget` if it hasn't emitted.\n await detachedFromTargetPromise;\n }\n catch (error) {\n // Swallow error that arise from the page being destroyed\n // Example is navigating to faulty SSL certificate\n if (!(error.code === -32000 &&\n error.message === 'Not attached to an active page')) {\n throw error;\n }\n }\n return {};\n }\n /**\n * This method is called for each CDP session, since this class is responsible\n * for creating and destroying all targets and browsing contexts.\n */\n #setEventListeners(cdpClient) {\n cdpClient.on('Target.attachedToTarget', (params) => {\n this.#handleAttachedToTargetEvent(params, cdpClient);\n });\n cdpClient.on('Target.detachedFromTarget', (params) => {\n this.#handleDetachedFromTargetEvent(params);\n });\n cdpClient.on('Target.targetInfoChanged', (params) => {\n this.#handleTargetInfoChangedEvent(params);\n });\n cdpClient.on('Page.frameAttached', (params) => {\n this.#handleFrameAttachedEvent(params);\n });\n cdpClient.on('Page.frameDetached', (params) => {\n this.#handleFrameDetachedEvent(params);\n });\n }\n #handleFrameAttachedEvent(params) {\n const parentBrowsingContext = this.#browsingContextStorage.findContext(params.parentFrameId);\n if (parentBrowsingContext !== undefined) {\n BrowsingContextImpl_js_1.BrowsingContextImpl.create(parentBrowsingContext.cdpTarget, this.#realmStorage, params.frameId, params.parentFrameId, this.#eventManager, this.#browsingContextStorage, this.#logger);\n }\n }\n #handleFrameDetachedEvent(params) {\n // In case of OOPiF no need in deleting BrowsingContext.\n if (params.reason === 'swap') {\n return;\n }\n this.#browsingContextStorage.findContext(params.frameId)?.dispose();\n }\n #handleAttachedToTargetEvent(params, parentSessionCdpClient) {\n const { sessionId, targetInfo } = params;\n const targetCdpClient = this.#cdpConnection.getCdpClient(sessionId);\n if (!this.#isValidTarget(targetInfo)) {\n // DevTools or some other not supported by BiDi target. Just release\n // debugger and ignore them.\n targetCdpClient\n .sendCommand('Runtime.runIfWaitingForDebugger')\n .then(() => parentSessionCdpClient.sendCommand('Target.detachFromTarget', params))\n .catch((error) => this.#logger?.(log_js_1.LogType.debug, error));\n return;\n }\n this.#logger?.(log_js_1.LogType.debug, 'AttachedToTarget event received:', JSON.stringify(params, null, 2));\n this.#setEventListeners(targetCdpClient);\n const maybeContext = this.#browsingContextStorage.findContext(targetInfo.targetId);\n const cdpTarget = CdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage, this.#networkStorage);\n if (maybeContext) {\n // OOPiF.\n maybeContext.updateCdpTarget(cdpTarget);\n }\n else {\n // New context.\n BrowsingContextImpl_js_1.BrowsingContextImpl.create(cdpTarget, this.#realmStorage, targetInfo.targetId, null, this.#eventManager, this.#browsingContextStorage, this.#logger);\n }\n }\n #handleDetachedFromTargetEvent(params) {\n // XXX: params.targetId is deprecated. Update this class to track using\n // params.sessionId instead.\n // https://github.com/GoogleChromeLabs/chromium-bidi/issues/60\n const contextId = params.targetId;\n this.#browsingContextStorage.findContext(contextId)?.dispose();\n this.#preloadScriptStorage\n .find({ targetId: contextId })\n .map((preloadScript) => preloadScript.dispose(contextId));\n }\n #handleTargetInfoChangedEvent(params) {\n const contextId = params.targetInfo.targetId;\n this.#browsingContextStorage\n .findContext(contextId)\n ?.onTargetInfoChanged(params);\n }\n #isValidTarget(target) {\n if (target.targetId === this.#selfTargetId) {\n return false;\n }\n return ['page', 'iframe'].includes(target.type);\n }\n}\nexports.BrowsingContextProcessor = BrowsingContextProcessor;\n//# sourceMappingURL=BrowsingContextProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n * Copyright 2022 The Chromium Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mutex = void 0;\n/**\n * Use Mutex class to coordinate local concurrent operations.\n * Once `acquire` promise resolves, you hold the lock and must\n * call `release` function returned by `acquire` to release the\n * lock. Failing to `release` the lock may lead to deadlocks.\n */\nclass Mutex {\n #locked = false;\n #acquirers = [];\n // This is FIFO.\n acquire() {\n const state = { resolved: false };\n if (this.#locked) {\n return new Promise((resolve) => {\n this.#acquirers.push(() => resolve(this.#release.bind(this, state)));\n });\n }\n this.#locked = true;\n return Promise.resolve(this.#release.bind(this, state));\n }\n #release(state) {\n if (state.resolved) {\n throw new Error('Cannot release more than once.');\n }\n state.resolved = true;\n const resolve = this.#acquirers.shift();\n if (!resolve) {\n this.#locked = false;\n return;\n }\n resolve();\n }\n async run(action) {\n const release = await this.acquire();\n try {\n // Note we need to await here because we want the await to release AFTER\n // that await happens. Returning action() will trigger the release\n // immediately which is counter to what we want.\n const result = await action();\n return result;\n }\n finally {\n release();\n }\n }\n}\nexports.Mutex = Mutex;\n//# sourceMappingURL=Mutex.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = void 0;\nclass NoneSource {\n type = \"none\" /* SourceType.None */;\n}\nexports.NoneSource = NoneSource;\nclass KeySource {\n type = \"key\" /* SourceType.Key */;\n pressed = new Set();\n // This is a bitfield that matches the modifiers parameter of\n // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent\n #modifiers = 0;\n get modifiers() {\n return this.#modifiers;\n }\n get alt() {\n return (this.#modifiers & 1) === 1;\n }\n set alt(value) {\n this.#setModifier(value, 1);\n }\n get ctrl() {\n return (this.#modifiers & 2) === 2;\n }\n set ctrl(value) {\n this.#setModifier(value, 2);\n }\n get meta() {\n return (this.#modifiers & 4) === 4;\n }\n set meta(value) {\n this.#setModifier(value, 4);\n }\n get shift() {\n return (this.#modifiers & 8) === 8;\n }\n set shift(value) {\n this.#setModifier(value, 8);\n }\n #setModifier(value, bit) {\n if (value) {\n this.#modifiers |= bit;\n }\n else {\n this.#modifiers &= ~bit;\n }\n }\n}\nexports.KeySource = KeySource;\nclass PointerSource {\n type = \"pointer\" /* SourceType.Pointer */;\n subtype;\n pointerId;\n pressed = new Set();\n x = 0;\n y = 0;\n constructor(id, subtype) {\n this.pointerId = id;\n this.subtype = subtype;\n }\n // This is a bitfield that matches the buttons parameter of\n // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent\n get buttons() {\n let buttons = 0;\n for (const button of this.pressed) {\n switch (button) {\n case 0:\n buttons |= 1;\n break;\n case 1:\n buttons |= 4;\n break;\n case 2:\n buttons |= 2;\n break;\n case 3:\n buttons |= 8;\n break;\n case 4:\n buttons |= 16;\n break;\n }\n }\n return buttons;\n }\n // --- Platform-specific state starts here ---\n // Input.dispatchMouseEvent doesn't know the concept of double click, so we\n // need to create it like for OSes:\n // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:ui/events/event.cc;l=479\n static #DOUBLE_CLICK_TIME_MS = 500;\n static #MAX_DOUBLE_CLICK_RADIUS = 2;\n #clickCount = 0;\n #lastClick;\n setClickCount(context) {\n if (!this.#lastClick ||\n // The click needs to be within a certain amount of ms.\n context.timeStamp - this.#lastClick.timeStamp >\n PointerSource.#DOUBLE_CLICK_TIME_MS ||\n // The click needs to be within a square radius.\n Math.abs(this.#lastClick.x - context.x) >\n PointerSource.#MAX_DOUBLE_CLICK_RADIUS ||\n Math.abs(this.#lastClick.y - context.y) >\n PointerSource.#MAX_DOUBLE_CLICK_RADIUS) {\n this.#clickCount = 0;\n }\n ++this.#clickCount;\n this.#lastClick = context;\n }\n get clickCount() {\n return this.#clickCount;\n }\n}\nexports.PointerSource = PointerSource;\nclass WheelSource {\n type = \"wheel\" /* SourceType.Wheel */;\n}\nexports.WheelSource = WheelSource;\n//# sourceMappingURL=InputSource.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputState = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst Mutex_js_1 = require(\"../../../utils/Mutex.js\");\nconst InputSource_js_1 = require(\"./InputSource.js\");\nclass InputState {\n cancelList = [];\n #sources = new Map();\n #mutex = new Mutex_js_1.Mutex();\n getOrCreate(id, type, subtype) {\n let source = this.#sources.get(id);\n if (!source) {\n switch (type) {\n case \"none\" /* SourceType.None */:\n source = new InputSource_js_1.NoneSource();\n break;\n case \"key\" /* SourceType.Key */:\n source = new InputSource_js_1.KeySource();\n break;\n case \"pointer\" /* SourceType.Pointer */: {\n let pointerId = subtype === \"mouse\" /* Input.PointerType.Mouse */ ? 0 : 2;\n const pointerIds = new Set();\n for (const [, source] of this.#sources) {\n if (source.type === \"pointer\" /* SourceType.Pointer */) {\n pointerIds.add(source.pointerId);\n }\n }\n while (pointerIds.has(pointerId)) {\n ++pointerId;\n }\n source = new InputSource_js_1.PointerSource(pointerId, subtype);\n break;\n }\n case \"wheel\" /* SourceType.Wheel */:\n source = new InputSource_js_1.WheelSource();\n break;\n default:\n throw new protocol_js_1.InvalidArgumentException(`Expected \"${\"none\" /* SourceType.None */}\", \"${\"key\" /* SourceType.Key */}\", \"${\"pointer\" /* SourceType.Pointer */}\", or \"${\"wheel\" /* SourceType.Wheel */}\". Found unknown source type ${type}.`);\n }\n this.#sources.set(id, source);\n return source;\n }\n if (source.type !== type) {\n throw new protocol_js_1.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);\n }\n return source;\n }\n get(id) {\n const source = this.#sources.get(id);\n if (!source) {\n throw new protocol_js_1.UnknownErrorException(`Internal error.`);\n }\n return source;\n }\n getGlobalKeyState() {\n const state = new InputSource_js_1.KeySource();\n for (const [, source] of this.#sources) {\n if (source.type !== \"key\" /* SourceType.Key */) {\n continue;\n }\n for (const pressed of source.pressed) {\n state.pressed.add(pressed);\n }\n state.alt ||= source.alt;\n state.ctrl ||= source.ctrl;\n state.meta ||= source.meta;\n state.shift ||= source.shift;\n }\n return state;\n }\n get queue() {\n return this.#mutex;\n }\n}\nexports.InputState = InputState;\n//# sourceMappingURL=InputState.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputStateManager = void 0;\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst InputState_js_1 = require(\"./InputState.js\");\n// We use a weak map here as specified here:\n// https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map\nclass InputStateManager extends WeakMap {\n get(context) {\n (0, assert_js_1.assert)(context.isTopLevelContext());\n if (!this.has(context)) {\n this.set(context, new InputState_js_1.InputState());\n }\n return super.get(context);\n }\n}\nexports.InputStateManager = InputStateManager;\n//# sourceMappingURL=InputStateManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyToKeyCode = void 0;\n// TODO: Remove this once https://crrev.com/c/4548290 is stably in Chromium.\n// `Input.dispatchKeyboardEvent` will automatically handle these conversions.\nexports.KeyToKeyCode = {\n '0': 48,\n '1': 49,\n '2': 50,\n '3': 51,\n '4': 52,\n '5': 53,\n '6': 54,\n '7': 55,\n '8': 56,\n '9': 57,\n Abort: 3,\n Help: 6,\n Backspace: 8,\n Tab: 9,\n Numpad5: 12,\n NumpadEnter: 13,\n Enter: 13,\n '\\\\r': 13,\n '\\\\n': 13,\n ShiftLeft: 16,\n ShiftRight: 16,\n ControlLeft: 17,\n ControlRight: 17,\n AltLeft: 18,\n AltRight: 18,\n Pause: 19,\n CapsLock: 20,\n Escape: 27,\n Convert: 28,\n NonConvert: 29,\n Space: 32,\n Numpad9: 33,\n PageUp: 33,\n Numpad3: 34,\n PageDown: 34,\n End: 35,\n Numpad1: 35,\n Home: 36,\n Numpad7: 36,\n ArrowLeft: 37,\n Numpad4: 37,\n Numpad8: 38,\n ArrowUp: 38,\n ArrowRight: 39,\n Numpad6: 39,\n Numpad2: 40,\n ArrowDown: 40,\n Select: 41,\n Open: 43,\n PrintScreen: 44,\n Insert: 45,\n Numpad0: 45,\n Delete: 46,\n NumpadDecimal: 46,\n Digit0: 48,\n Digit1: 49,\n Digit2: 50,\n Digit3: 51,\n Digit4: 52,\n Digit5: 53,\n Digit6: 54,\n Digit7: 55,\n Digit8: 56,\n Digit9: 57,\n KeyA: 65,\n KeyB: 66,\n KeyC: 67,\n KeyD: 68,\n KeyE: 69,\n KeyF: 70,\n KeyG: 71,\n KeyH: 72,\n KeyI: 73,\n KeyJ: 74,\n KeyK: 75,\n KeyL: 76,\n KeyM: 77,\n KeyN: 78,\n KeyO: 79,\n KeyP: 80,\n KeyQ: 81,\n KeyR: 82,\n KeyS: 83,\n KeyT: 84,\n KeyU: 85,\n KeyV: 86,\n KeyW: 87,\n KeyX: 88,\n KeyY: 89,\n KeyZ: 90,\n MetaLeft: 91,\n MetaRight: 92,\n ContextMenu: 93,\n NumpadMultiply: 106,\n NumpadAdd: 107,\n NumpadSubtract: 109,\n NumpadDivide: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n F13: 124,\n F14: 125,\n F15: 126,\n F16: 127,\n F17: 128,\n F18: 129,\n F19: 130,\n F20: 131,\n F21: 132,\n F22: 133,\n F23: 134,\n F24: 135,\n NumLock: 144,\n ScrollLock: 145,\n AudioVolumeMute: 173,\n AudioVolumeDown: 174,\n AudioVolumeUp: 175,\n MediaTrackNext: 176,\n MediaTrackPrevious: 177,\n MediaStop: 178,\n MediaPlayPause: 179,\n Semicolon: 186,\n Equal: 187,\n NumpadEqual: 187,\n Comma: 188,\n Minus: 189,\n Period: 190,\n Slash: 191,\n Backquote: 192,\n BracketLeft: 219,\n Backslash: 220,\n BracketRight: 221,\n Quote: 222,\n AltGraph: 225,\n Props: 247,\n Cancel: 3,\n Clear: 12,\n Shift: 16,\n Control: 17,\n Alt: 18,\n Accept: 30,\n ModeChange: 31,\n ' ': 32,\n Print: 42,\n Execute: 43,\n '\\\\u0000': 46,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n Meta: 91,\n '*': 106,\n '+': 107,\n '-': 109,\n '/': 111,\n ';': 186,\n '=': 187,\n ',': 188,\n '.': 190,\n '`': 192,\n '[': 219,\n '\\\\\\\\': 220,\n ']': 221,\n \"'\": 222,\n Attn: 246,\n CrSel: 247,\n ExSel: 248,\n EraseEof: 249,\n Play: 250,\n ZoomOut: 251,\n ')': 48,\n '!': 49,\n '@': 50,\n '#': 51,\n $: 52,\n '%': 53,\n '^': 54,\n '&': 55,\n '(': 57,\n A: 65,\n B: 66,\n C: 67,\n D: 68,\n E: 69,\n F: 70,\n G: 71,\n H: 72,\n I: 73,\n J: 74,\n K: 75,\n L: 76,\n M: 77,\n N: 78,\n O: 79,\n P: 80,\n Q: 81,\n R: 82,\n S: 83,\n T: 84,\n U: 85,\n V: 86,\n W: 87,\n X: 88,\n Y: 89,\n Z: 90,\n ':': 186,\n '<': 188,\n _: 189,\n '>': 190,\n '?': 191,\n '~': 192,\n '{': 219,\n '|': 220,\n '}': 221,\n '\"': 222,\n Camera: 44,\n EndCall: 95,\n VolumeDown: 182,\n VolumeUp: 183,\n};\n//# sourceMappingURL=USKeyboardLayout.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKeyLocation = exports.getKeyCode = exports.getNormalizedKey = void 0;\nfunction getNormalizedKey(value) {\n switch (value) {\n case '\\uE000':\n return 'Unidentified';\n case '\\uE001':\n return 'Cancel';\n case '\\uE002':\n return 'Help';\n case '\\uE003':\n return 'Backspace';\n case '\\uE004':\n return 'Tab';\n case '\\uE005':\n return 'Clear';\n case '\\uE006':\n return 'Return';\n case '\\uE007':\n return 'Enter';\n case '\\uE008':\n return 'Shift';\n case '\\uE009':\n return 'Control';\n case '\\uE00A':\n return 'Alt';\n case '\\uE00B':\n return 'Pause';\n case '\\uE00C':\n return 'Escape';\n case '\\uE00D':\n return ' ';\n case '\\uE00E':\n return 'PageUp';\n case '\\uE00F':\n return 'PageDown';\n case '\\uE010':\n return 'End';\n case '\\uE011':\n return 'Home';\n case '\\uE012':\n return 'ArrowLeft';\n case '\\uE013':\n return 'ArrowUp';\n case '\\uE014':\n return 'ArrowRight';\n case '\\uE015':\n return 'ArrowDown';\n case '\\uE016':\n return 'Insert';\n case '\\uE017':\n return 'Delete';\n case '\\uE018':\n return ';';\n case '\\uE019':\n return '=';\n case '\\uE01A':\n return '0';\n case '\\uE01B':\n return '1';\n case '\\uE01C':\n return '2';\n case '\\uE01D':\n return '3';\n case '\\uE01E':\n return '4';\n case '\\uE01F':\n return '5';\n case '\\uE020':\n return '6';\n case '\\uE021':\n return '7';\n case '\\uE022':\n return '8';\n case '\\uE023':\n return '9';\n case '\\uE024':\n return '*';\n case '\\uE025':\n return '+';\n case '\\uE026':\n return ',';\n case '\\uE027':\n return '-';\n case '\\uE028':\n return '.';\n case '\\uE029':\n return '/';\n case '\\uE031':\n return 'F1';\n case '\\uE032':\n return 'F2';\n case '\\uE033':\n return 'F3';\n case '\\uE034':\n return 'F4';\n case '\\uE035':\n return 'F5';\n case '\\uE036':\n return 'F6';\n case '\\uE037':\n return 'F7';\n case '\\uE038':\n return 'F8';\n case '\\uE039':\n return 'F9';\n case '\\uE03A':\n return 'F10';\n case '\\uE03B':\n return 'F11';\n case '\\uE03C':\n return 'F12';\n case '\\uE03D':\n return 'Meta';\n case '\\uE040':\n return 'ZenkakuHankaku';\n case '\\uE050':\n return 'Shift';\n case '\\uE051':\n return 'Control';\n case '\\uE052':\n return 'Alt';\n case '\\uE053':\n return 'Meta';\n case '\\uE054':\n return 'PageUp';\n case '\\uE055':\n return 'PageDown';\n case '\\uE056':\n return 'End';\n case '\\uE057':\n return 'Home';\n case '\\uE058':\n return 'ArrowLeft';\n case '\\uE059':\n return 'ArrowUp';\n case '\\uE05A':\n return 'ArrowRight';\n case '\\uE05B':\n return 'ArrowDown';\n case '\\uE05C':\n return 'Insert';\n case '\\uE05D':\n return 'Delete';\n default:\n return value;\n }\n}\nexports.getNormalizedKey = getNormalizedKey;\nfunction getKeyCode(key) {\n switch (key) {\n case '`':\n case '~':\n return 'Backquote';\n case '\\\\':\n case '|':\n return 'Backslash';\n case '\\uE003':\n return 'Backspace';\n case '[':\n case '{':\n return 'BracketLeft';\n case ']':\n case '}':\n return 'BracketRight';\n case ',':\n case '<':\n return 'Comma';\n case '0':\n case ')':\n return 'Digit0';\n case '1':\n case '!':\n return 'Digit1';\n case '2':\n case '@':\n return 'Digit2';\n case '3':\n case '#':\n return 'Digit3';\n case '4':\n case '$':\n return 'Digit4';\n case '5':\n case '%':\n return 'Digit5';\n case '6':\n case '^':\n return 'Digit6';\n case '7':\n case '&':\n return 'Digit7';\n case '8':\n case '*':\n return 'Digit8';\n case '9':\n case '(':\n return 'Digit9';\n case '=':\n case '+':\n return 'Equal';\n case 'a':\n case 'A':\n return 'KeyA';\n case 'b':\n case 'B':\n return 'KeyB';\n case 'c':\n case 'C':\n return 'KeyC';\n case 'd':\n case 'D':\n return 'KeyD';\n case 'e':\n case 'E':\n return 'KeyE';\n case 'f':\n case 'F':\n return 'KeyF';\n case 'g':\n case 'G':\n return 'KeyG';\n case 'h':\n case 'H':\n return 'KeyH';\n case 'i':\n case 'I':\n return 'KeyI';\n case 'j':\n case 'J':\n return 'KeyJ';\n case 'k':\n case 'K':\n return 'KeyK';\n case 'l':\n case 'L':\n return 'KeyL';\n case 'm':\n case 'M':\n return 'KeyM';\n case 'n':\n case 'N':\n return 'KeyN';\n case 'o':\n case 'O':\n return 'KeyO';\n case 'p':\n case 'P':\n return 'KeyP';\n case 'q':\n case 'Q':\n return 'KeyQ';\n case 'r':\n case 'R':\n return 'KeyR';\n case 's':\n case 'S':\n return 'KeyS';\n case 't':\n case 'T':\n return 'KeyT';\n case 'u':\n case 'U':\n return 'KeyU';\n case 'v':\n case 'V':\n return 'KeyV';\n case 'w':\n case 'W':\n return 'KeyW';\n case 'x':\n case 'X':\n return 'KeyX';\n case 'y':\n case 'Y':\n return 'KeyY';\n case 'z':\n case 'Z':\n return 'KeyZ';\n case '-':\n case '_':\n return 'Minus';\n case '.':\n return 'Period';\n case \"'\":\n case '\"':\n return 'Quote';\n case ';':\n case ':':\n return 'Semicolon';\n case '/':\n case '?':\n return 'Slash';\n case '\\uE00A':\n return 'AltLeft';\n case '\\uE052':\n return 'AltRight';\n case '\\uE009':\n return 'ControlLeft';\n case '\\uE051':\n return 'ControlRight';\n case '\\uE006':\n return 'Enter';\n case '\\uE03D':\n return 'MetaLeft';\n case '\\uE053':\n return 'MetaRight';\n case '\\uE008':\n return 'ShiftLeft';\n case '\\uE050':\n return 'ShiftRight';\n case ' ':\n case '\\uE00D':\n return 'Space';\n case '\\uE004':\n return 'Tab';\n case '\\uE017':\n return 'Delete';\n case '\\uE010':\n return 'End';\n case '\\uE002':\n return 'Help';\n case '\\uE011':\n return 'Home';\n case '\\uE016':\n return 'Insert';\n case '\\uE00F':\n return 'PageDown';\n case '\\uE00E':\n return 'PageUp';\n case '\\uE015':\n return 'ArrowDown';\n case '\\uE012':\n return 'ArrowLeft';\n case '\\uE014':\n return 'ArrowRight';\n case '\\uE013':\n return 'ArrowUp';\n case '\\uE00C':\n return 'Escape';\n case '\\uE031':\n return 'F1';\n case '\\uE032':\n return 'F2';\n case '\\uE033':\n return 'F3';\n case '\\uE034':\n return 'F4';\n case '\\uE035':\n return 'F5';\n case '\\uE036':\n return 'F6';\n case '\\uE037':\n return 'F7';\n case '\\uE038':\n return 'F8';\n case '\\uE039':\n return 'F9';\n case '\\uE03A':\n return 'F10';\n case '\\uE03B':\n return 'F11';\n case '\\uE03C':\n return 'F12';\n case '\\uE01A':\n case '\\uE05C':\n return 'Numpad0';\n case '\\uE01B':\n case '\\uE056':\n return 'Numpad1';\n case '\\uE01C':\n case '\\uE05B':\n return 'Numpad2';\n case '\\uE01D':\n case '\\uE055':\n return 'Numpad3';\n case '\\uE01E':\n case '\\uE058':\n return 'Numpad4';\n case '\\uE01F':\n return 'Numpad5';\n case '\\uE020':\n case '\\uE05A':\n return 'Numpad6';\n case '\\uE021':\n case '\\uE057':\n return 'Numpad7';\n case '\\uE022':\n case '\\uE059':\n return 'Numpad8';\n case '\\uE023':\n case '\\uE054':\n return 'Numpad9';\n case '\\uE025':\n return 'NumpadAdd';\n case '\\uE026':\n return 'NumpadComma';\n case '\\uE028':\n case '\\uE05D':\n return 'NumpadDecimal';\n case '\\uE029':\n return 'NumpadDivide';\n case '\\uE007':\n return 'NumpadEnter';\n case '\\uE024':\n return 'NumpadMultiply';\n case '\\uE027':\n return 'NumpadSubtract';\n default:\n return;\n }\n}\nexports.getKeyCode = getKeyCode;\nfunction getKeyLocation(key) {\n switch (key) {\n case '\\uE007':\n case '\\uE008':\n case '\\uE009':\n case '\\uE00A':\n case '\\uE03D':\n return 1;\n case '\\uE01A':\n case '\\uE01B':\n case '\\uE01C':\n case '\\uE01D':\n case '\\uE01E':\n case '\\uE01F':\n case '\\uE020':\n case '\\uE021':\n case '\\uE022':\n case '\\uE023':\n case '\\uE024':\n case '\\uE025':\n case '\\uE026':\n case '\\uE027':\n case '\\uE028':\n case '\\uE029':\n case '\\uE054':\n case '\\uE055':\n case '\\uE056':\n case '\\uE057':\n case '\\uE058':\n case '\\uE059':\n case '\\uE05A':\n case '\\uE05B':\n case '\\uE05C':\n case '\\uE05D':\n return 3;\n case '\\uE050':\n case '\\uE051':\n case '\\uE052':\n case '\\uE053':\n return 2;\n default:\n return 0;\n }\n}\nexports.getKeyLocation = getKeyLocation;\n//# sourceMappingURL=keyUtils.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionDispatcher = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst USKeyboardLayout_js_1 = require(\"./USKeyboardLayout.js\");\nconst keyUtils_js_1 = require(\"./keyUtils.js\");\n/** https://w3c.github.io/webdriver/#dfn-center-point */\nconst CALCULATE_IN_VIEW_CENTER_PT_DECL = ((i) => {\n const t = i.getClientRects()[0], e = Math.max(0, Math.min(t.x, t.x + t.width)), n = Math.min(window.innerWidth, Math.max(t.x, t.x + t.width)), h = Math.max(0, Math.min(t.y, t.y + t.height)), m = Math.min(window.innerHeight, Math.max(t.y, t.y + t.height));\n return [e + ((n - e) >> 1), h + ((m - h) >> 1)];\n}).toString();\nconst IS_MAC_DECL = (() => {\n return navigator.platform.toLowerCase().includes('mac');\n}).toString();\nasync function getElementCenter(context, element) {\n const sandbox = await context.getOrCreateSandbox(undefined);\n const result = await sandbox.callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, \"none\" /* Script.ResultOwnership.None */, {});\n if (result.type === 'exception') {\n throw new protocol_js_1.NoSuchElementException(`Origin element ${element.sharedId} was not found`);\n }\n (0, assert_js_1.assert)(result.result.type === 'array');\n (0, assert_js_1.assert)(result.result.value?.[0]?.type === 'number');\n (0, assert_js_1.assert)(result.result.value?.[1]?.type === 'number');\n const { result: { value: [{ value: x }, { value: y }], }, } = result;\n return { x: x, y: y };\n}\nclass ActionDispatcher {\n static isMacOS = async (context) => {\n const result = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, \"none\" /* Script.ResultOwnership.None */, {});\n (0, assert_js_1.assert)(result.type !== 'exception');\n (0, assert_js_1.assert)(result.result.type === 'boolean');\n return result.result.value;\n };\n #tickStart = 0;\n #tickDuration = 0;\n #inputState;\n #context;\n #isMacOS;\n constructor(inputState, context, isMacOS) {\n this.#inputState = inputState;\n this.#context = context;\n this.#isMacOS = isMacOS;\n }\n async dispatchActions(optionsByTick) {\n await this.#inputState.queue.run(async () => {\n for (const options of optionsByTick) {\n await this.dispatchTickActions(options);\n }\n });\n }\n async dispatchTickActions(options) {\n this.#tickStart = performance.now();\n this.#tickDuration = 0;\n for (const { action } of options) {\n if ('duration' in action && action.duration !== undefined) {\n this.#tickDuration = Math.max(this.#tickDuration, action.duration);\n }\n }\n const promises = [\n new Promise((resolve) => setTimeout(resolve, this.#tickDuration)),\n ];\n for (const option of options) {\n // In theory we have to wait for each action to happen, but CDP is serial,\n // so as an optimization, we queue all CDP commands at once and await all\n // of them.\n promises.push(this.#dispatchAction(option));\n }\n await Promise.all(promises);\n }\n async #dispatchAction({ id, action }) {\n const source = this.#inputState.get(id);\n const keyState = this.#inputState.getGlobalKeyState();\n switch (action.type) {\n case 'keyDown': {\n // SAFETY: The source is validated before.\n await this.#dispatchKeyDownAction(source, action);\n this.#inputState.cancelList.push({\n id,\n action: {\n ...action,\n type: 'keyUp',\n },\n });\n break;\n }\n case 'keyUp': {\n // SAFETY: The source is validated before.\n await this.#dispatchKeyUpAction(source, action);\n break;\n }\n case 'pause': {\n // TODO: Implement waiting on the input source.\n break;\n }\n case 'pointerDown': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerDownAction(source, keyState, action);\n this.#inputState.cancelList.push({\n id,\n action: {\n ...action,\n type: 'pointerUp',\n },\n });\n break;\n }\n case 'pointerMove': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerMoveAction(source, keyState, action);\n break;\n }\n case 'pointerUp': {\n // SAFETY: The source is validated before.\n await this.#dispatchPointerUpAction(source, keyState, action);\n break;\n }\n case 'scroll': {\n // SAFETY: The source is validated before.\n await this.#dispatchScrollAction(source, keyState, action);\n break;\n }\n }\n }\n #dispatchPointerDownAction(source, keyState, action) {\n const { button } = action;\n if (source.pressed.has(button)) {\n return;\n }\n source.pressed.add(button);\n const { x, y, subtype: pointerType } = source;\n const { width, height, pressure, twist, tangentialPressure } = action;\n const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n // TODO: Implement azimuth/altitude angle.\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n case \"pen\" /* Input.PointerType.Pen */:\n source.setClickCount({ x, y, timeStamp: performance.now() });\n // TODO: Implement width and height when available.\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mousePressed',\n x,\n y,\n modifiers,\n button: getCdpButton(button),\n buttons: source.buttons,\n clickCount: source.clickCount,\n pointerType,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n });\n case \"touch\" /* Input.PointerType.Touch */:\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchStart',\n touchPoints: [\n {\n x,\n y,\n radiusX: width,\n radiusY: height,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n }\n // --- Platform-specific code ends here ---\n }\n #dispatchPointerUpAction(source, keyState, action) {\n const { button } = action;\n if (!source.pressed.has(button)) {\n return;\n }\n source.pressed.delete(button);\n const { x, y, subtype: pointerType } = source;\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n case \"pen\" /* Input.PointerType.Pen */:\n // TODO: Implement width and height when available.\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseReleased',\n x,\n y,\n modifiers,\n button: getCdpButton(button),\n buttons: source.buttons,\n clickCount: source.clickCount,\n pointerType,\n });\n case \"touch\" /* Input.PointerType.Touch */:\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchEnd',\n touchPoints: [\n {\n x,\n y,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n }\n // --- Platform-specific code ends here ---\n }\n async #dispatchPointerMoveAction(source, keyState, action) {\n const { x: startX, y: startY, subtype: pointerType } = source;\n const { width, height, pressure, twist, tangentialPressure, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n // TODO: Implement azimuth/altitude angle.\n const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY);\n if (targetX < 0 || targetY < 0) {\n throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n }\n let last;\n do {\n const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n last = ratio >= 1;\n let x;\n let y;\n if (last) {\n x = targetX;\n y = targetY;\n }\n else {\n x = Math.round(ratio * (targetX - startX) + startX);\n y = Math.round(ratio * (targetY - startY) + startY);\n }\n if (source.x !== x || source.y !== y) {\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n switch (pointerType) {\n case \"mouse\" /* Input.PointerType.Mouse */:\n // TODO: Implement width and height when available.\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseMoved',\n x,\n y,\n modifiers,\n clickCount: 0,\n button: getCdpButton(source.pressed.values().next().value ?? 5),\n buttons: source.buttons,\n pointerType,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n });\n break;\n case \"pen\" /* Input.PointerType.Pen */:\n if (source.pressed.size !== 0) {\n // TODO: Implement width and height when available.\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseMoved',\n x,\n y,\n modifiers,\n clickCount: 0,\n button: getCdpButton(source.pressed.values().next().value ?? 5),\n buttons: source.buttons,\n pointerType,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n });\n }\n break;\n case \"touch\" /* Input.PointerType.Touch */:\n if (source.pressed.size !== 0) {\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n type: 'touchMove',\n touchPoints: [\n {\n x,\n y,\n radiusX: width,\n radiusY: height,\n tangentialPressure,\n tiltX,\n tiltY,\n twist,\n force: pressure,\n id: source.pointerId,\n },\n ],\n modifiers,\n });\n }\n break;\n }\n // --- Platform-specific code ends here ---\n source.x = x;\n source.y = y;\n }\n } while (!last);\n }\n async #getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY) {\n let targetX;\n let targetY;\n switch (origin) {\n case 'viewport':\n targetX = offsetX;\n targetY = offsetY;\n break;\n case 'pointer':\n targetX = startX + offsetX;\n targetY = startY + offsetY;\n break;\n default: {\n const { x: posX, y: posY } = await getElementCenter(this.#context, origin.element);\n // SAFETY: These can never be special numbers.\n targetX = posX + offsetX;\n targetY = posY + offsetY;\n break;\n }\n }\n return { targetX, targetY };\n }\n async #dispatchScrollAction(_source, keyState, action) {\n const { deltaX: targetDeltaX, deltaY: targetDeltaY, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n if (origin === 'pointer') {\n throw new protocol_js_1.InvalidArgumentException('\"pointer\" origin is invalid for scrolling.');\n }\n const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, 0, 0);\n if (targetX < 0 || targetY < 0) {\n throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n }\n let currentDeltaX = 0;\n let currentDeltaY = 0;\n let last;\n do {\n const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n last = ratio >= 1;\n let deltaX;\n let deltaY;\n if (last) {\n deltaX = targetDeltaX - currentDeltaX;\n deltaY = targetDeltaY - currentDeltaY;\n }\n else {\n deltaX = Math.round(ratio * targetDeltaX - currentDeltaX);\n deltaY = Math.round(ratio * targetDeltaY - currentDeltaY);\n }\n if (deltaX !== 0 || deltaY !== 0) {\n // --- Platform-specific code begins here ---\n const { modifiers } = keyState;\n await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n type: 'mouseWheel',\n deltaX,\n deltaY,\n x: targetX,\n y: targetY,\n modifiers,\n });\n // --- Platform-specific code ends here ---\n currentDeltaX += deltaX;\n currentDeltaY += deltaY;\n }\n } while (!last);\n }\n async #dispatchKeyDownAction(source, action) {\n if ([...action.value].length > 1) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n }\n const rawKey = action.value;\n const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n const repeat = source.pressed.has(key);\n const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n switch (key) {\n case 'Alt':\n source.alt = true;\n break;\n case 'Shift':\n source.shift = true;\n break;\n case 'Control':\n source.ctrl = true;\n break;\n case 'Meta':\n source.meta = true;\n break;\n }\n source.pressed.add(key);\n const { modifiers } = source;\n // --- Platform-specific code begins here ---\n // The spread is a little hack so JS gives us an array of unicode characters\n // to measure.\n const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n let command;\n // The following commands need to be declared because Chromium doesn't\n // handle them. See\n // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/blink/renderer/core/editing/editing_behavior.cc;l=169;drc=b8143cf1dfd24842890fcd831c4f5d909bef4fc4;bpv=0;bpt=1.\n if (this.#isMacOS && source.meta) {\n switch (code) {\n case 'KeyA':\n command = 'SelectAll';\n break;\n case 'KeyC':\n command = 'Copy';\n break;\n case 'KeyV':\n command = source.shift ? 'PasteAndMatchStyle' : 'Paste';\n break;\n case 'KeyX':\n command = 'Cut';\n break;\n case 'KeyZ':\n command = source.shift ? 'Redo' : 'Undo';\n break;\n default:\n // Intentionally empty.\n }\n }\n const promises = [\n this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n type: text ? 'keyDown' : 'rawKeyDown',\n windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n key,\n code,\n text,\n unmodifiedText,\n autoRepeat: repeat,\n isSystemKey: source.alt || undefined,\n location: location < 3 ? location : undefined,\n isKeypad: location === 3,\n modifiers,\n commands: command ? [command] : undefined,\n }),\n ];\n // Drag cancelling happens on escape.\n if (key === 'Escape') {\n if (!source.alt &&\n ((this.#isMacOS && !source.ctrl && !source.meta) || !this.#isMacOS)) {\n promises.push(this.#context.cdpTarget.cdpClient.sendCommand('Input.cancelDragging'));\n }\n }\n await Promise.all(promises);\n // --- Platform-specific code ends here ---\n }\n #dispatchKeyUpAction(source, action) {\n if ([...action.value].length > 1) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n }\n const rawKey = action.value;\n const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n if (!source.pressed.has(key)) {\n return;\n }\n const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n switch (key) {\n case 'Alt':\n source.alt = false;\n break;\n case 'Shift':\n source.shift = false;\n break;\n case 'Control':\n source.ctrl = false;\n break;\n case 'Meta':\n source.meta = false;\n break;\n }\n source.pressed.delete(key);\n const { modifiers } = source;\n // --- Platform-specific code begins here ---\n // The spread is a little hack so JS gives us an array of unicode characters\n // to measure.\n const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n type: 'keyUp',\n windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n key,\n code,\n text,\n unmodifiedText,\n location: location < 3 ? location : undefined,\n isSystemKey: source.alt || undefined,\n isKeypad: location === 3,\n modifiers,\n });\n // --- Platform-specific code ends here ---\n }\n}\nexports.ActionDispatcher = ActionDispatcher;\nconst getKeyEventUnmodifiedText = (key, source) => {\n if (key === 'Enter') {\n return '\\r';\n }\n return [...key].length === 1\n ? source.shift\n ? key.toLocaleUpperCase('en-US')\n : key\n : undefined;\n};\nconst getKeyEventText = (code, source) => {\n if (source.ctrl) {\n switch (code) {\n case 'Digit2':\n if (source.shift) {\n return '\\x00';\n }\n break;\n case 'KeyA':\n return '\\x01';\n case 'KeyB':\n return '\\x02';\n case 'KeyC':\n return '\\x03';\n case 'KeyD':\n return '\\x04';\n case 'KeyE':\n return '\\x05';\n case 'KeyF':\n return '\\x06';\n case 'KeyG':\n return '\\x07';\n case 'KeyH':\n return '\\x08';\n case 'KeyI':\n return '\\x09';\n case 'KeyJ':\n return '\\x0A';\n case 'KeyK':\n return '\\x0B';\n case 'KeyL':\n return '\\x0C';\n case 'KeyM':\n return '\\x0D';\n case 'KeyN':\n return '\\x0E';\n case 'KeyO':\n return '\\x0F';\n case 'KeyP':\n return '\\x10';\n case 'KeyQ':\n return '\\x11';\n case 'KeyR':\n return '\\x12';\n case 'KeyS':\n return '\\x13';\n case 'KeyT':\n return '\\x14';\n case 'KeyU':\n return '\\x15';\n case 'KeyV':\n return '\\x16';\n case 'KeyW':\n return '\\x17';\n case 'KeyX':\n return '\\x18';\n case 'KeyY':\n return '\\x19';\n case 'KeyZ':\n return '\\x1A';\n case 'BracketLeft':\n return '\\x1B';\n case 'Backslash':\n return '\\x1C';\n case 'BracketRight':\n return '\\x1D';\n case 'Digit6':\n if (source.shift) {\n return '\\x1E';\n }\n break;\n case 'Minus':\n return '\\x1F';\n }\n return '';\n }\n if (source.alt) {\n return '';\n }\n return;\n};\nfunction getCdpButton(button) {\n switch (button) {\n case 0:\n return 'left';\n case 1:\n return 'middle';\n case 2:\n return 'right';\n case 3:\n return 'back';\n case 4:\n return 'forward';\n default:\n return 'none';\n }\n}\n//# sourceMappingURL=ActionDispatcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputProcessor = void 0;\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst InputStateManager_js_1 = require(\"../input/InputStateManager.js\");\nconst ActionDispatcher_js_1 = require(\"../input/ActionDispatcher.js\");\nclass InputProcessor {\n #browsingContextStorage;\n #inputStateManager = new InputStateManager_js_1.InputStateManager();\n constructor(browsingContextStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n }\n async performActions(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n const inputState = this.#inputStateManager.get(context.top);\n const actionsByTick = this.#getActionsByTick(params, inputState);\n const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n await dispatcher.dispatchActions(actionsByTick);\n return {};\n }\n async releaseActions(params) {\n const context = this.#browsingContextStorage.getContext(params.context);\n const topContext = context.top;\n const inputState = this.#inputStateManager.get(topContext);\n const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n await dispatcher.dispatchTickActions(inputState.cancelList.reverse());\n this.#inputStateManager.delete(topContext);\n return {};\n }\n #getActionsByTick(params, inputState) {\n const actionsByTick = [];\n for (const action of params.actions) {\n switch (action.type) {\n case \"pointer\" /* SourceType.Pointer */: {\n action.parameters ??= { pointerType: \"mouse\" /* Input.PointerType.Mouse */ };\n action.parameters.pointerType ??= \"mouse\" /* Input.PointerType.Mouse */;\n const source = inputState.getOrCreate(action.id, \"pointer\" /* SourceType.Pointer */, action.parameters.pointerType);\n if (source.subtype !== action.parameters.pointerType) {\n throw new protocol_js_1.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);\n }\n break;\n }\n default:\n inputState.getOrCreate(action.id, action.type);\n }\n const actions = action.actions.map((item) => ({\n id: action.id,\n action: item,\n }));\n for (let i = 0; i < actions.length; i++) {\n if (actionsByTick.length === i) {\n actionsByTick.push([]);\n }\n actionsByTick[i].push(actions[i]);\n }\n }\n return actionsByTick;\n }\n}\nexports.InputProcessor = InputProcessor;\n//# sourceMappingURL=InputProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PreloadScriptStorage = void 0;\n/**\n * Container class for preload scripts.\n */\nclass PreloadScriptStorage {\n /** Tracks all BiDi preload scripts. */\n #scripts = new Set();\n /** Finds all entries that match the given filter. */\n find(filter) {\n if (!filter) {\n return [...this.#scripts];\n }\n return [...this.#scripts].filter((script) => {\n if (filter.id !== undefined && filter.id !== script.id) {\n return false;\n }\n if (filter.targetId !== undefined &&\n !script.targetIds.has(filter.targetId)) {\n return false;\n }\n return true;\n });\n }\n add(preloadScript) {\n this.#scripts.add(preloadScript);\n }\n /** Deletes all BiDi preload script entries that match the given filter. */\n remove(filter) {\n for (const preloadScript of this.find(filter)) {\n this.#scripts.delete(preloadScript);\n }\n }\n}\nexports.PreloadScriptStorage = PreloadScriptStorage;\n//# sourceMappingURL=PreloadScriptStorage.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PreloadScript = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst ChannelProxy_js_1 = require(\"./ChannelProxy.js\");\n/**\n * BiDi IDs are generated by the server and are unique within contexts.\n *\n * CDP preload script IDs are generated by the client and are unique\n * within sessions.\n *\n * The mapping between BiDi and CDP preload script IDs is 1:many.\n * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs\n * in the client.\n */\nclass PreloadScript {\n /** BiDi ID, an automatically generated UUID. */\n #id = (0, uuid_js_1.uuidv4)();\n /** CDP preload scripts. */\n #cdpPreloadScripts = [];\n /** The script itself, in a format expected by the spec i.e. a function. */\n #functionDeclaration;\n /** Targets, in which the preload script is initialized. */\n #targetIds = new Set();\n /** Channels to be added as arguments to functionDeclaration. */\n #channels;\n /** The script sandbox / world name. */\n #sandbox;\n get id() {\n return this.#id;\n }\n get targetIds() {\n return this.#targetIds;\n }\n constructor(params, logger) {\n this.#channels =\n params.arguments?.map((a) => new ChannelProxy_js_1.ChannelProxy(a.value, logger)) ?? [];\n this.#functionDeclaration = params.functionDeclaration;\n this.#sandbox = params.sandbox;\n }\n /** Channels of the preload script. */\n get channels() {\n return this.#channels;\n }\n /**\n * String to be evaluated. Wraps user-provided function so that the following\n * steps are run:\n * 1. Create channels.\n * 2. Store the created channels in window.\n * 3. Call the user-provided function with channels as arguments.\n */\n #getEvaluateString() {\n const channelsArgStr = `[${this.channels\n .map((c) => c.getEvalInWindowStr())\n .join(', ')}]`;\n return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;\n }\n /**\n * Adds the script to the given CDP targets by calling the\n * `Page.addScriptToEvaluateOnNewDocument` command.\n */\n async initInTargets(cdpTargets, runImmediately) {\n await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget, runImmediately)));\n }\n /**\n * Adds the script to the given CDP target by calling the\n * `Page.addScriptToEvaluateOnNewDocument` command.\n */\n async initInTarget(cdpTarget, runImmediately) {\n const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {\n source: this.#getEvaluateString(),\n worldName: this.#sandbox,\n runImmediately,\n });\n this.#cdpPreloadScripts.push({\n target: cdpTarget,\n preloadScriptId: addCdpPreloadScriptResult.identifier,\n });\n this.#targetIds.add(cdpTarget.targetId);\n }\n /**\n * Removes this script from all CDP targets.\n */\n async remove() {\n for (const cdpPreloadScript of this.#cdpPreloadScripts) {\n const cdpTarget = cdpPreloadScript.target;\n const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;\n await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {\n identifier: cdpPreloadScriptId,\n });\n }\n }\n /** Removes the provided cdp target from the list of cdp preload scripts. */\n dispose(cdpTargetId) {\n this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);\n this.#targetIds.delete(cdpTargetId);\n }\n}\nexports.PreloadScript = PreloadScript;\n//# sourceMappingURL=PreloadScript.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScriptProcessor = void 0;\nconst protocol_1 = require(\"../../../protocol/protocol\");\nconst PreloadScript_1 = require(\"./PreloadScript\");\nclass ScriptProcessor {\n #browsingContextStorage;\n #realmStorage;\n #preloadScriptStorage;\n #logger;\n constructor(browsingContextStorage, realmStorage, preloadScriptStorage, logger) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#realmStorage = realmStorage;\n this.#preloadScriptStorage = preloadScriptStorage;\n this.#logger = logger;\n }\n async addPreloadScript(params) {\n const preloadScript = new PreloadScript_1.PreloadScript(params, this.#logger);\n this.#preloadScriptStorage.add(preloadScript);\n const cdpTargets = new Set(this.#browsingContextStorage\n .getTopLevelContexts()\n .map((context) => context.cdpTarget));\n await preloadScript.initInTargets(cdpTargets, false);\n return {\n script: preloadScript.id,\n };\n }\n async removePreloadScript(params) {\n const bidiId = params.script;\n const scripts = this.#preloadScriptStorage.find({\n id: bidiId,\n });\n if (scripts.length === 0) {\n throw new protocol_1.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);\n }\n await Promise.all(scripts.map((script) => script.remove()));\n this.#preloadScriptStorage.remove({\n id: bidiId,\n });\n return {};\n }\n async callFunction(params) {\n const realm = await this.#getRealm(params.target);\n return realm.callFunction(params.functionDeclaration, params.this ?? {\n type: 'undefined',\n }, // `this` is `undefined` by default.\n params.arguments ?? [], // `arguments` is `[]` by default.\n params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n }\n async evaluate(params) {\n const realm = await this.#getRealm(params.target);\n return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n }\n async disown(params) {\n const realm = await this.#getRealm(params.target);\n await Promise.all(params.handles.map(async (handle) => realm.disown(handle)));\n return {};\n }\n getRealms(params) {\n if (params.context !== undefined) {\n // Make sure the context is known.\n this.#browsingContextStorage.getContext(params.context);\n }\n const realms = this.#realmStorage\n .findRealms({\n browsingContextId: params.context,\n type: params.type,\n })\n .map((realm) => realm.realmInfo);\n return { realms };\n }\n async #getRealm(target) {\n if ('realm' in target) {\n return this.#realmStorage.getRealm({\n realmId: target.realm,\n });\n }\n const context = this.#browsingContextStorage.getContext(target.context);\n return context.getOrCreateSandbox(target.sandbox);\n }\n}\nexports.ScriptProcessor = ScriptProcessor;\n//# sourceMappingURL=ScriptProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultMap = void 0;\n/**\n * A subclass of Map whose functionality is almost the same as its parent\n * except for the fact that DefaultMap never returns undefined. It provides a\n * default value for keys that do not exist.\n */\nclass DefaultMap extends Map {\n /** The default value to return whenever a key is not present in the map. */\n #getDefaultValue;\n constructor(getDefaultValue, entries) {\n super(entries);\n this.#getDefaultValue = getDefaultValue;\n }\n get(key) {\n if (!this.has(key)) {\n this.set(key, this.#getDefaultValue(key));\n }\n return super.get(key);\n }\n}\nexports.DefaultMap = DefaultMap;\n//# sourceMappingURL=DefaultMap.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkRequest = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Abstracts one individual network request. */\nclass NetworkRequest {\n static #unknown = 'UNKNOWN';\n /**\n * Each network request has an associated request id, which is a string\n * uniquely identifying that request.\n *\n * The identifier for a request resulting from a redirect matches that of the\n * request that initiated it.\n */\n requestId;\n #servedFromCache = false;\n #redirectCount = 0;\n #eventManager;\n #requestWillBeSentEvent;\n #requestWillBeSentExtraInfoEvent;\n #responseReceivedEvent;\n #responseReceivedExtraInfoEvent;\n #beforeRequestSentDeferred = new deferred_js_1.Deferred();\n #responseReceivedDeferred = new deferred_js_1.Deferred();\n constructor(requestId, eventManager) {\n this.requestId = requestId;\n this.#eventManager = eventManager;\n }\n onRequestWillBeSentEvent(event) {\n if (this.#requestWillBeSentEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#requestWillBeSentEvent = event;\n if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#sendBeforeRequestEvent();\n }\n onRequestWillBeSentExtraInfoEvent(event) {\n if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#requestWillBeSentExtraInfoEvent = event;\n if (this.#requestWillBeSentEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n }\n onResponseReceivedEventExtraInfo(event) {\n if (this.#responseReceivedExtraInfoEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#responseReceivedExtraInfoEvent = event;\n if (this.#responseReceivedEvent !== undefined) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n }\n onResponseReceivedEvent(responseReceivedEvent) {\n if (this.#responseReceivedEvent !== undefined) {\n // TODO: Handle redirect event, requestId is same for the redirect chain\n return;\n }\n this.#responseReceivedEvent = responseReceivedEvent;\n if (!responseReceivedEvent.hasExtraInfo &&\n !this.#beforeRequestSentDeferred.isFinished) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n if (!responseReceivedEvent.hasExtraInfo ||\n this.#responseReceivedExtraInfoEvent !== undefined ||\n this.#servedFromCache) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#sendResponseReceivedEvent();\n }\n onServedFromCache() {\n if (this.#requestWillBeSentEvent !== undefined) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n if (this.#responseReceivedEvent !== undefined) {\n this.#responseReceivedDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n }\n this.#servedFromCache = true;\n }\n onLoadingFailedEvent(event) {\n this.#beforeRequestSentDeferred.resolve({\n kind: 'success',\n value: undefined,\n });\n this.#responseReceivedDeferred.resolve({\n kind: 'error',\n error: new Error('Loading Failed'),\n });\n this.#eventManager.registerEvent({\n type: 'event',\n method: protocol_js_1.ChromiumBidi.Network.EventNames.FetchErrorEvent,\n params: {\n ...this.#getBaseEventParams(),\n errorText: event.errorText,\n },\n }, this.#requestWillBeSentEvent?.frameId ?? null);\n }\n dispose() {\n const result = {\n kind: 'error',\n error: new Error('Network processor detached'),\n };\n this.#responseReceivedDeferred.resolve(result);\n this.#beforeRequestSentDeferred.resolve(result);\n }\n #getBaseEventParams() {\n return {\n // TODO: implement.\n isBlocked: false,\n context: this.#requestWillBeSentEvent?.frameId ?? null,\n navigation: this.#getNavigationId(),\n // TODO: implement.\n redirectCount: this.#redirectCount,\n request: this.#getRequestData(),\n // Timestamp should be in milliseconds, while CDP provides it in seconds.\n timestamp: Math.round((this.#requestWillBeSentEvent?.wallTime ?? 0) * 1000),\n };\n }\n #getNavigationId() {\n if (!this.#requestWillBeSentEvent ||\n !this.#requestWillBeSentEvent.loaderId ||\n // When we navigate all CDP network events have `loaderId`\n // CDP's `loaderId` and `requestId` match when\n // that request triggered the loading\n this.#requestWillBeSentEvent.loaderId !==\n this.#requestWillBeSentEvent.requestId) {\n return null;\n }\n return this.#requestWillBeSentEvent.loaderId;\n }\n #getRequestData() {\n const cookies = this.#requestWillBeSentExtraInfoEvent\n ? NetworkRequest.#getCookies(this.#requestWillBeSentExtraInfoEvent.associatedCookies)\n : [];\n return {\n request: this.#requestWillBeSentEvent?.requestId ?? NetworkRequest.#unknown,\n url: this.#requestWillBeSentEvent?.request.url ?? NetworkRequest.#unknown,\n method: this.#requestWillBeSentEvent?.request.method ?? NetworkRequest.#unknown,\n headers: NetworkRequest.#getHeaders(this.#requestWillBeSentEvent?.request.headers),\n cookies,\n // TODO: implement.\n headersSize: -1,\n // TODO: implement.\n bodySize: 0,\n timings: {\n // TODO: implement.\n timeOrigin: 0,\n // TODO: implement.\n requestTime: 0,\n // TODO: implement.\n redirectStart: 0,\n // TODO: implement.\n redirectEnd: 0,\n // TODO: implement.\n fetchStart: 0,\n // TODO: implement.\n dnsStart: 0,\n // TODO: implement.\n dnsEnd: 0,\n // TODO: implement.\n connectStart: 0,\n // TODO: implement.\n connectEnd: 0,\n // TODO: implement.\n tlsStart: 0,\n // TODO: implement.\n requestStart: 0,\n // TODO: implement.\n responseStart: 0,\n // TODO: implement.\n responseEnd: 0,\n },\n };\n }\n #sendBeforeRequestEvent() {\n if (!this.#isIgnoredEvent()) {\n this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then((result) => {\n if (result.kind === 'success') {\n return {\n kind: 'success',\n value: Object.assign(this.#getBeforeRequestEvent(), {\n type: 'event',\n }),\n };\n }\n return result;\n }), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);\n }\n }\n #getBeforeRequestEvent() {\n if (this.#requestWillBeSentEvent === undefined) {\n throw new Error('RequestWillBeSentEvent is not set');\n }\n return {\n method: protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent,\n params: {\n ...this.#getBaseEventParams(),\n initiator: {\n type: NetworkRequest.#getInitiatorType(this.#requestWillBeSentEvent.initiator.type),\n },\n },\n };\n }\n #sendResponseReceivedEvent() {\n if (!this.#isIgnoredEvent()) {\n this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then((result) => {\n if (result.kind === 'success') {\n return {\n kind: 'success',\n value: Object.assign(this.#getResponseReceivedEvent(), {\n type: 'event',\n }),\n };\n }\n return result;\n }), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);\n }\n }\n #getResponseReceivedEvent() {\n if (this.#requestWillBeSentEvent === undefined) {\n throw new Error('RequestWillBeSentEvent is not set');\n }\n if (this.#responseReceivedEvent === undefined) {\n throw new Error('ResponseReceivedEvent is not set');\n }\n // Chromium sends wrong extraInfo events for responses served from cache.\n // See https://github.com/puppeteer/puppeteer/issues/9965 and\n // https://crbug.com/1340398.\n if (this.#responseReceivedEvent.response.fromDiskCache) {\n this.#responseReceivedExtraInfoEvent = undefined;\n }\n const headers = NetworkRequest.#getHeaders(this.#responseReceivedEvent.response.headers);\n return {\n method: protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent,\n params: {\n ...this.#getBaseEventParams(),\n response: {\n url: this.#responseReceivedEvent.response.url,\n protocol: this.#responseReceivedEvent.response.protocol ?? '',\n status: this.#responseReceivedExtraInfoEvent?.statusCode ??\n this.#responseReceivedEvent.response.status,\n statusText: this.#responseReceivedEvent.response.statusText,\n fromCache: this.#responseReceivedEvent.response.fromDiskCache ||\n this.#responseReceivedEvent.response.fromPrefetchCache ||\n this.#servedFromCache,\n headers,\n mimeType: this.#responseReceivedEvent.response.mimeType,\n bytesReceived: this.#responseReceivedEvent.response.encodedDataLength,\n headersSize: this.#computeResponseHeadersSize(headers),\n // TODO: consider removing from spec.\n bodySize: 0,\n content: {\n // TODO: consider removing from spec.\n size: 0,\n },\n },\n },\n };\n }\n #computeResponseHeadersSize(headers) {\n return headers.reduce((total, header) => {\n return (total + header.name.length + header.value.value.length + 4 // 4 = ': ' + '\\r\\n'\n );\n }, 0);\n }\n #isIgnoredEvent() {\n return (this.#requestWillBeSentEvent?.request.url.endsWith('/favicon.ico') ??\n false);\n }\n static #getHeaders(headers) {\n if (!headers) {\n return [];\n }\n return Object.entries(headers).map(([name, value]) => ({\n name,\n value: {\n type: 'string',\n value,\n },\n }));\n }\n static #getInitiatorType(initiatorType) {\n switch (initiatorType) {\n case 'parser':\n case 'script':\n case 'preflight':\n return initiatorType;\n default:\n return 'other';\n }\n }\n static #getCookies(associatedCookies) {\n return associatedCookies\n .filter(({ blockedReasons }) => {\n return !Array.isArray(blockedReasons) || blockedReasons.length === 0;\n })\n .map(({ cookie }) => {\n return {\n name: cookie.name,\n value: {\n type: 'string',\n value: cookie.value,\n },\n domain: cookie.domain,\n path: cookie.path,\n expires: cookie.expires,\n size: cookie.size,\n httpOnly: cookie.httpOnly,\n secure: cookie.secure,\n sameSite: NetworkRequest.#getCookiesSameSite(cookie.sameSite),\n };\n });\n }\n static #getCookiesSameSite(cdpSameSiteValue) {\n switch (cdpSameSiteValue) {\n case 'Strict':\n return 'strict';\n case 'Lax':\n return 'lax';\n default:\n return 'none';\n }\n }\n}\nexports.NetworkRequest = NetworkRequest;\n//# sourceMappingURL=NetworkRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkStorage = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst NetworkRequest_js_1 = require(\"./NetworkRequest.js\");\n/** Stores network and intercept maps. */\nclass NetworkStorage {\n /**\n * Map of request ID to NetworkRequest objects. Needed as long as information\n * about requests comes from different events.\n */\n #requestMap;\n /** A map to define the properties of active network intercepts. */\n #interceptMap;\n /** A map to track the requests which are actively being blocked. */\n #blockedRequestMap;\n constructor(eventManager) {\n this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new NetworkRequest_js_1.NetworkRequest(requestId, eventManager));\n this.#interceptMap = new Map();\n this.#blockedRequestMap = new Map();\n }\n disposeRequestMap() {\n for (const request of this.#requestMap.values()) {\n request.dispose();\n }\n this.#requestMap.clear();\n }\n /**\n * Adds the given entry to the intercept map.\n * URL patterns are assumed to be parsed.\n *\n * @return The intercept ID.\n */\n addIntercept(value) {\n const intercept = (0, uuid_js_1.uuidv4)();\n this.#interceptMap.set(intercept, value);\n return intercept;\n }\n /**\n * Removes the given intercept from the intercept map.\n * Throws NoSuchInterceptException if the intercept does not exist.\n */\n removeIntercept(intercept) {\n if (!this.#interceptMap.has(intercept)) {\n throw new protocol_js_1.NoSuchInterceptException(`Intercept '${intercept}' does not exist.`);\n }\n this.#interceptMap.delete(intercept);\n }\n /** Gets parameters for CDP 'Fetch.enable' command from the intercept map. */\n getFetchEnableParams() {\n const patterns = [];\n for (const value of this.#interceptMap.values()) {\n for (const urlPatternSpec of value.urlPatterns) {\n const urlPattern = NetworkStorage.cdpFromSpecUrlPattern(urlPatternSpec);\n for (const phase of value.phases) {\n if (phase === \"authRequired\" /* Network.InterceptPhase.AuthRequired */) {\n patterns.push({\n urlPattern,\n });\n }\n else {\n patterns.push({\n urlPattern,\n requestStage: NetworkStorage.requestStageFromPhase(phase),\n });\n }\n }\n }\n }\n return {\n patterns,\n // If there's at least one intercept that requires auth, enable the\n // 'Fetch.authRequired' event.\n handleAuthRequests: [...this.#interceptMap.values()].some((param) => {\n return param.phases.includes(\"authRequired\" /* Network.InterceptPhase.AuthRequired */);\n }),\n };\n }\n getRequest(id) {\n return this.#requestMap.get(id);\n }\n deleteRequest(id) {\n const request = this.#requestMap.get(id);\n if (request) {\n request.dispose();\n }\n this.#requestMap.delete(id);\n }\n /** Converts a URL pattern from the spec to a CDP URL pattern. */\n static cdpFromSpecUrlPattern(urlPattern) {\n switch (urlPattern.type) {\n case 'string':\n return urlPattern.pattern;\n case 'pattern':\n return NetworkStorage.buildUrlPatternString(urlPattern);\n }\n }\n static buildUrlPatternString({ protocol, hostname, port, pathname, search, }) {\n let url = '';\n if (protocol) {\n url += `${protocol}`;\n if (!protocol.endsWith(':')) {\n url += ':';\n }\n url += '//';\n }\n if (hostname) {\n url += hostname;\n }\n if (port) {\n url += `:${port}`;\n }\n if (pathname) {\n if (!pathname.startsWith('/')) {\n url += '/';\n }\n url += pathname;\n }\n if (search) {\n if (!search.startsWith('?')) {\n url += '?';\n }\n url += `${search}`;\n }\n return url;\n }\n /**\n * Maps spec Network.InterceptPhase to CDP Fetch.RequestStage.\n * AuthRequired has no CDP equivalent..\n */\n static requestStageFromPhase(phase) {\n switch (phase) {\n case \"beforeRequestSent\" /* Network.InterceptPhase.BeforeRequestSent */:\n return 'Request';\n case \"responseStarted\" /* Network.InterceptPhase.ResponseStarted */:\n return 'Response';\n case \"authRequired\" /* Network.InterceptPhase.AuthRequired */:\n throw new Error('AuthRequired is not a valid intercept phase for request stage.');\n }\n }\n // XXX: Replace getters with custom operations, follow suit of Browsing Context Storage.\n get blockedRequestMap() {\n return this.#blockedRequestMap;\n }\n}\nexports.NetworkStorage = NetworkStorage;\n//# sourceMappingURL=NetworkStorage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkProcessor = void 0;\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst NetworkStorage_js_1 = require(\"./NetworkStorage.js\");\n/** Dispatches Network domain commands. */\nclass NetworkProcessor {\n #browsingContextStorage;\n #networkStorage;\n constructor(browsingContextStorage, networkStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n this.#networkStorage = networkStorage;\n }\n async addIntercept(params) {\n if (params.phases.length === 0) {\n throw new protocol_js_1.InvalidArgumentException('At least one phase must be specified.');\n }\n const urlPatterns = params.urlPatterns ?? [];\n const parsedUrlPatterns = NetworkProcessor.parseUrlPatterns(urlPatterns);\n const intercept = this.#networkStorage.addIntercept({\n urlPatterns: parsedUrlPatterns,\n phases: params.phases,\n });\n // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.\n await this.#applyIntercepts();\n return {\n intercept,\n };\n }\n continueRequest(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n continueResponse(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n continueWithAuth(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n failRequest(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n provideResponse(_params) {\n throw new protocol_js_1.UnknownCommandException('Not implemented yet.');\n }\n async removeIntercept(params) {\n this.#networkStorage.removeIntercept(params.intercept);\n // TODO: Add try/catch. Remove the intercept if CDP Fetch commands fail.\n await this.#applyIntercepts();\n return {};\n }\n /** Applies all existing network intercepts to all CDP targets concurrently. */\n async #applyIntercepts() {\n await Promise.all(this.#browsingContextStorage.getAllContexts().map(async (context) => {\n await context.cdpTarget.fetchApply();\n }));\n }\n static parseUrlPatterns(urlPatterns) {\n return urlPatterns.map((urlPattern) => {\n switch (urlPattern.type) {\n case 'string': {\n try {\n new URL(urlPattern.pattern);\n }\n catch (error) {\n throw new protocol_js_1.InvalidArgumentException(`Invalid URL '${urlPattern.pattern}': ${error}`);\n }\n return urlPattern;\n }\n case 'pattern':\n if (urlPattern.protocol === '') {\n throw new protocol_js_1.InvalidArgumentException(`URL pattern must specify a protocol`);\n }\n if (urlPattern.hostname === '') {\n throw new protocol_js_1.InvalidArgumentException(`URL pattern must specify a hostname`);\n }\n if ((urlPattern.hostname?.length ?? 0) > 0) {\n if (urlPattern.protocol?.match(/^file/i)) {\n throw new protocol_js_1.InvalidArgumentException(`URL pattern protocol cannot be 'file'`);\n }\n if (urlPattern.hostname?.includes(':')) {\n throw new protocol_js_1.InvalidArgumentException(`URL pattern hostname must not contain a colon`);\n }\n }\n if (urlPattern.port === '') {\n throw new protocol_js_1.InvalidArgumentException(`URL pattern must specify a port`);\n }\n try {\n new URL(NetworkStorage_js_1.NetworkStorage.buildUrlPatternString(urlPattern));\n }\n catch (error) {\n throw new protocol_js_1.InvalidArgumentException(`${error}`);\n }\n return urlPattern;\n }\n });\n }\n}\nexports.NetworkProcessor = NetworkProcessor;\n//# sourceMappingURL=NetworkProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionProcessor = void 0;\nclass SessionProcessor {\n #eventManager;\n constructor(eventManager) {\n this.#eventManager = eventManager;\n }\n status() {\n return { ready: false, message: 'already connected' };\n }\n subscribe(params, channel = null) {\n this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);\n return {};\n }\n unsubscribe(params, channel = null) {\n this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);\n return {};\n }\n}\nexports.SessionProcessor = SessionProcessor;\n//# sourceMappingURL=SessionProcessor.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommandProcessor = void 0;\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiNoOpParser_js_1 = require(\"./BidiNoOpParser.js\");\nconst OutgoingMessage_js_1 = require(\"./OutgoingMessage.js\");\nconst BrowserProcessor_js_1 = require(\"./domains/browser/BrowserProcessor.js\");\nconst CdpProcessor_js_1 = require(\"./domains/cdp/CdpProcessor.js\");\nconst BrowsingContextProcessor_js_1 = require(\"./domains/context/BrowsingContextProcessor.js\");\nconst InputProcessor_js_1 = require(\"./domains/input/InputProcessor.js\");\nconst PreloadScriptStorage_js_1 = require(\"./domains/script/PreloadScriptStorage.js\");\nconst ScriptProcessor_js_1 = require(\"./domains/script/ScriptProcessor.js\");\nconst NetworkProcessor_js_1 = require(\"./domains/network/NetworkProcessor.js\");\nconst SessionProcessor_js_1 = require(\"./domains/session/SessionProcessor.js\");\nconst NetworkStorage_js_1 = require(\"./domains/network/NetworkStorage.js\");\nclass CommandProcessor extends EventEmitter_js_1.EventEmitter {\n // keep-sorted start\n #browserProcessor;\n #browsingContextProcessor;\n #cdpProcessor;\n #inputProcessor;\n #networkProcessor;\n #scriptProcessor;\n #sessionProcessor;\n // keep-sorted end\n #parser;\n #logger;\n constructor(cdpConnection, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {\n super();\n this.#parser = parser;\n this.#logger = logger;\n const networkStorage = new NetworkStorage_js_1.NetworkStorage(eventManager);\n const preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();\n // keep-sorted start block=yes\n this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(cdpConnection);\n this.#browsingContextProcessor = new BrowsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger);\n this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection);\n this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage);\n this.#networkProcessor = new NetworkProcessor_js_1.NetworkProcessor(browsingContextStorage, networkStorage);\n this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage, logger);\n this.#sessionProcessor = new SessionProcessor_js_1.SessionProcessor(eventManager);\n // keep-sorted end\n }\n async #processCommand(command) {\n switch (command.method) {\n case 'session.end':\n case 'session.new':\n // TODO: Implement.\n break;\n // Browser domain\n // keep-sorted start block=yes\n case 'browser.close':\n return this.#browserProcessor.close();\n // keep-sorted end\n // Browsing Context domain\n // keep-sorted start block=yes\n case 'browsingContext.activate':\n return this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));\n case 'browsingContext.captureScreenshot':\n return this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));\n case 'browsingContext.close':\n return this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));\n case 'browsingContext.create':\n return this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));\n case 'browsingContext.getTree':\n return this.#browsingContextProcessor.getTree(this.#parser.parseGetTreeParams(command.params));\n case 'browsingContext.handleUserPrompt':\n return this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));\n case 'browsingContext.navigate':\n return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));\n case 'browsingContext.print':\n return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));\n case 'browsingContext.reload':\n return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));\n case 'browsingContext.setViewport':\n return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n case 'cdp.getSession':\n return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));\n case 'cdp.sendCommand':\n return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n case 'input.performActions':\n return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));\n case 'input.releaseActions':\n return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n case 'network.addIntercept':\n return this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));\n case 'network.continueRequest':\n return this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));\n case 'network.continueResponse':\n return this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));\n case 'network.continueWithAuth':\n return this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));\n case 'network.failRequest':\n return this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));\n case 'network.provideResponse':\n return this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));\n case 'network.removeIntercept':\n return this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n case 'script.addPreloadScript':\n return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));\n case 'script.callFunction':\n return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));\n case 'script.disown':\n return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));\n case 'script.evaluate':\n return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));\n case 'script.getRealms':\n return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));\n case 'script.removePreloadScript':\n return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n case 'session.status':\n return this.#sessionProcessor.status();\n case 'session.subscribe':\n return this.#sessionProcessor.subscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n case 'session.unsubscribe':\n return this.#sessionProcessor.unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n // keep-sorted end\n }\n // Intentionally kept outside of the switch statement to ensure that\n // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new\n // command is added.\n throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);\n }\n async processCommand(command) {\n try {\n const result = await this.#processCommand(command);\n const response = {\n type: 'success',\n id: command.id,\n result,\n };\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingMessage_js_1.OutgoingMessage.createResolved(response, command.channel),\n event: command.method,\n });\n }\n catch (e) {\n if (e instanceof protocol_js_1.Exception) {\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingMessage_js_1.OutgoingMessage.createResolved(e.toErrorResponse(command.id), command.channel),\n event: command.method,\n });\n }\n else {\n const error = e;\n this.#logger?.(log_js_1.LogType.bidi, error);\n this.emit(\"response\" /* CommandProcessorEvents.Response */, {\n message: OutgoingMessage_js_1.OutgoingMessage.createResolved(new protocol_js_1.UnknownErrorException(error.message, error.stack).toErrorResponse(command.id), command.channel),\n event: command.method,\n });\n }\n }\n }\n}\nexports.CommandProcessor = CommandProcessor;\n//# sourceMappingURL=CommandProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing contexts. */\nclass BrowsingContextStorage {\n /** Map from context ID to context implementation. */\n #contexts = new Map();\n /** Gets all top-level contexts, i.e. those with no parent. */\n getTopLevelContexts() {\n return this.getAllContexts().filter((context) => context.isTopLevelContext());\n }\n /** Gets all contexts. */\n getAllContexts() {\n return Array.from(this.#contexts.values());\n }\n /** Deletes the context with the given ID. */\n deleteContextById(id) {\n this.#contexts.delete(id);\n }\n /** Deletes the given context. */\n deleteContext(context) {\n this.#contexts.delete(context.id);\n }\n /** Tracks the given context. */\n addContext(context) {\n this.#contexts.set(context.id, context);\n }\n /** Returns true whether there is an existing context with the given ID. */\n hasContext(id) {\n return this.#contexts.has(id);\n }\n /** Gets the context with the given ID, if any. */\n findContext(id) {\n return this.#contexts.get(id);\n }\n /** Returns the top-level context ID of the given context, if any. */\n findTopLevelContextId(id) {\n if (id === null) {\n return null;\n }\n const maybeContext = this.findContext(id);\n const parentId = maybeContext?.parentId ?? null;\n if (parentId === null) {\n return id;\n }\n return this.findTopLevelContextId(parentId);\n }\n /** Gets the context with the given ID, if any, otherwise throws. */\n getContext(id) {\n const result = this.findContext(id);\n if (result === undefined) {\n throw new protocol_js_1.NoSuchFrameException(`Context ${id} not found`);\n }\n return result;\n }\n}\nexports.BrowsingContextStorage = BrowsingContextStorage;\n//# sourceMappingURL=BrowsingContextStorage.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Buffer = void 0;\n/** Implements a FIFO buffer with a fixed size. */\nclass Buffer {\n #capacity;\n #entries = [];\n #onItemRemoved;\n /**\n * @param capacity The buffer capacity.\n * @param onItemRemoved Delegate called for each removed element.\n */\n constructor(capacity, onItemRemoved) {\n this.#capacity = capacity;\n this.#onItemRemoved = onItemRemoved;\n }\n get() {\n return this.#entries;\n }\n add(value) {\n this.#entries.push(value);\n while (this.#entries.length > this.#capacity) {\n const item = this.#entries.shift();\n if (item !== undefined) {\n this.#onItemRemoved?.(item);\n }\n }\n }\n}\nexports.Buffer = Buffer;\n//# sourceMappingURL=buffer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdWrapper = void 0;\n/**\n * Creates an object with a positive unique incrementing id.\n */\nclass IdWrapper {\n static #counter = 0;\n #id;\n constructor() {\n this.#id = ++IdWrapper.#counter;\n }\n get id() {\n return this.#id;\n }\n}\nexports.IdWrapper = IdWrapper;\n//# sourceMappingURL=idWrapper.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = exports.unrollEvents = exports.cartesianProduct = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/**\n * Returns the cartesian product of the given arrays.\n *\n * Example:\n * cartesian([1, 2], ['a', 'b']); => [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n */\nfunction cartesianProduct(...a) {\n return a.reduce((a, b) => a.flatMap((d) => b.map((e) => [d, e].flat())));\n}\nexports.cartesianProduct = cartesianProduct;\n/** Expands \"AllEvents\" events into atomic events. */\nfunction unrollEvents(events) {\n const allEvents = new Set();\n function addEvents(events) {\n for (const event of events) {\n allEvents.add(event);\n }\n }\n for (const event of events) {\n switch (event) {\n case protocol_js_1.ChromiumBidi.BiDiModule.BrowsingContext:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Log:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Log.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Network:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Network.EventNames));\n break;\n case protocol_js_1.ChromiumBidi.BiDiModule.Script:\n addEvents(Object.values(protocol_js_1.ChromiumBidi.Script.EventNames));\n break;\n default:\n allEvents.add(event);\n }\n }\n return [...allEvents.values()];\n}\nexports.unrollEvents = unrollEvents;\nclass SubscriptionManager {\n #subscriptionPriority = 0;\n // BrowsingContext `null` means the event has subscription across all the\n // browsing contexts.\n // Channel `null` means no `channel` should be added.\n #channelToContextToEventMap = new Map();\n #browsingContextStorage;\n constructor(browsingContextStorage) {\n this.#browsingContextStorage = browsingContextStorage;\n }\n getChannelsSubscribedToEvent(eventMethod, contextId) {\n const prioritiesAndChannels = Array.from(this.#channelToContextToEventMap.keys())\n .map((channel) => ({\n priority: this.#getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel),\n channel,\n }))\n .filter(({ priority }) => priority !== null);\n // Sort channels by priority.\n return prioritiesAndChannels\n .sort((a, b) => a.priority - b.priority)\n .map(({ channel }) => channel);\n }\n #getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel) {\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (contextToEventMap === undefined) {\n return null;\n }\n const maybeTopLevelContextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n // `null` covers global subscription.\n const relevantContexts = [...new Set([null, maybeTopLevelContextId])];\n // Get all the subscription priorities.\n const priorities = relevantContexts\n .map((c) => contextToEventMap.get(c)?.get(eventMethod))\n .filter((p) => p !== undefined);\n if (priorities.length === 0) {\n // Not subscribed, return null.\n return null;\n }\n // Return minimal priority.\n return Math.min(...priorities);\n }\n subscribe(event, contextId, channel) {\n // All the subscriptions are handled on the top-level contexts.\n contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n // Check if subscribed event is a whole module\n switch (event) {\n case protocol_js_1.ChromiumBidi.BiDiModule.BrowsingContext:\n Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Log:\n Object.values(protocol_js_1.ChromiumBidi.Log.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Network:\n Object.values(protocol_js_1.ChromiumBidi.Network.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n case protocol_js_1.ChromiumBidi.BiDiModule.Script:\n Object.values(protocol_js_1.ChromiumBidi.Script.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n return;\n default:\n // Intentionally left empty.\n }\n if (!this.#channelToContextToEventMap.has(channel)) {\n this.#channelToContextToEventMap.set(channel, new Map());\n }\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (!contextToEventMap.has(contextId)) {\n contextToEventMap.set(contextId, new Map());\n }\n const eventMap = contextToEventMap.get(contextId);\n // Do not re-subscribe to events to keep the priority.\n if (eventMap.has(event)) {\n return;\n }\n eventMap.set(event, this.#subscriptionPriority++);\n }\n /**\n * Unsubscribes atomically from all events in the given contexts and channel.\n */\n unsubscribeAll(events, contextIds, channel) {\n // Assert all contexts are known.\n for (const contextId of contextIds) {\n if (contextId !== null) {\n this.#browsingContextStorage.getContext(contextId);\n }\n }\n const eventContextPairs = cartesianProduct(unrollEvents(events), contextIds);\n // Assert all unsubscriptions are valid.\n // If any of the unsubscriptions are invalid, do not unsubscribe from anything.\n eventContextPairs\n .map(([event, contextId]) => this.#checkUnsubscribe(event, contextId, channel))\n .forEach((unsubscribe) => unsubscribe());\n }\n /**\n * Unsubscribes from the event in the given context and channel.\n * Syntactic sugar for \"unsubscribeAll\".\n */\n unsubscribe(eventName, contextId, channel) {\n this.unsubscribeAll([eventName], [contextId], channel);\n }\n #checkUnsubscribe(event, contextId, channel) {\n // All the subscriptions are handled on the top-level contexts.\n contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n if (!this.#channelToContextToEventMap.has(channel)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n if (!contextToEventMap.has(contextId)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n const eventMap = contextToEventMap.get(contextId);\n if (!eventMap.has(event)) {\n throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n }\n return () => {\n eventMap.delete(event);\n // Clean up maps if empty.\n if (eventMap.size === 0) {\n contextToEventMap.delete(event);\n }\n if (contextToEventMap.size === 0) {\n this.#channelToContextToEventMap.delete(channel);\n }\n };\n }\n}\nexports.SubscriptionManager = SubscriptionManager;\n//# sourceMappingURL=SubscriptionManager.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst buffer_js_1 = require(\"../../../utils/buffer.js\");\nconst idWrapper_js_1 = require(\"../../../utils/idWrapper.js\");\nconst OutgoingMessage_js_1 = require(\"../../OutgoingMessage.js\");\nconst SubscriptionManager_js_1 = require(\"./SubscriptionManager.js\");\nclass EventWrapper {\n #idWrapper = new idWrapper_js_1.IdWrapper();\n #contextId;\n #event;\n constructor(event, contextId) {\n this.#event = event;\n this.#contextId = contextId;\n }\n get id() {\n return this.#idWrapper.id;\n }\n get contextId() {\n return this.#contextId;\n }\n get event() {\n return this.#event;\n }\n}\n/**\n * Maps event name to a desired buffer length.\n */\nconst eventBufferLength = new Map([[protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent, 100]]);\nclass EventManager {\n /**\n * Maps event name to a set of contexts where this event already happened.\n * Needed for getting buffered events from all the contexts in case of\n * subscripting to all contexts.\n */\n #eventToContextsMap = new DefaultMap_js_1.DefaultMap(() => new Set());\n /**\n * Maps `eventName` + `browsingContext` to buffer. Used to get buffered events\n * during subscription. Channel-agnostic.\n */\n #eventBuffers = new Map();\n /**\n * Maps `eventName` + `browsingContext` + `channel` to last sent event id.\n * Used to avoid sending duplicated events when user\n * subscribes -> unsubscribes -> subscribes.\n */\n #lastMessageSent = new Map();\n #subscriptionManager;\n #bidiServer;\n constructor(bidiServer) {\n this.#bidiServer = bidiServer;\n this.#subscriptionManager = new SubscriptionManager_js_1.SubscriptionManager(bidiServer.getBrowsingContextStorage());\n }\n /**\n * Returns consistent key to be used to access value maps.\n */\n static #getMapKey(eventName, browsingContext, channel) {\n return JSON.stringify({ eventName, browsingContext, channel });\n }\n registerEvent(event, contextId) {\n this.registerPromiseEvent(Promise.resolve({\n kind: 'success',\n value: event,\n }), contextId, event.method);\n }\n registerPromiseEvent(event, contextId, eventName) {\n const eventWrapper = new EventWrapper(event, contextId);\n const sortedChannels = this.#subscriptionManager.getChannelsSubscribedToEvent(eventName, contextId);\n this.#bufferEvent(eventWrapper, eventName);\n // Send events to channels in the subscription priority.\n for (const channel of sortedChannels) {\n this.#bidiServer.emitOutgoingMessage(OutgoingMessage_js_1.OutgoingMessage.createFromPromise(event, channel), eventName);\n this.#markEventSent(eventWrapper, channel, eventName);\n }\n }\n subscribe(eventNames, contextIds, channel) {\n for (const name of eventNames) {\n checkEventName(name);\n }\n // First check if all the contexts are known.\n for (const contextId of contextIds) {\n if (contextId !== null) {\n // Assert the context is known. Throw exception otherwise.\n this.#bidiServer.getBrowsingContextStorage().getContext(contextId);\n }\n }\n for (const eventName of eventNames) {\n for (const contextId of contextIds) {\n this.#subscriptionManager.subscribe(eventName, contextId, channel);\n for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, channel)) {\n // The order of the events is important.\n this.#bidiServer.emitOutgoingMessage(OutgoingMessage_js_1.OutgoingMessage.createFromPromise(eventWrapper.event, channel), eventName);\n this.#markEventSent(eventWrapper, channel, eventName);\n }\n }\n }\n }\n unsubscribe(eventNames, contextIds, channel) {\n for (const name of eventNames) {\n checkEventName(name);\n }\n this.#subscriptionManager.unsubscribeAll(eventNames, contextIds, channel);\n }\n /**\n * If the event is buffer-able, put it in the buffer.\n */\n #bufferEvent(eventWrapper, eventName) {\n if (!eventBufferLength.has(eventName)) {\n // Do nothing if the event is no buffer-able.\n return;\n }\n const bufferMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId);\n if (!this.#eventBuffers.has(bufferMapKey)) {\n this.#eventBuffers.set(bufferMapKey, new buffer_js_1.Buffer(eventBufferLength.get(eventName)));\n }\n this.#eventBuffers.get(bufferMapKey).add(eventWrapper);\n // Add the context to the list of contexts having `eventName` events.\n this.#eventToContextsMap.get(eventName).add(eventWrapper.contextId);\n }\n /**\n * If the event is buffer-able, mark it as sent to the given contextId and channel.\n */\n #markEventSent(eventWrapper, channel, eventName) {\n if (!eventBufferLength.has(eventName)) {\n // Do nothing if the event is no buffer-able.\n return;\n }\n const lastSentMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId, channel);\n this.#lastMessageSent.set(lastSentMapKey, Math.max(this.#lastMessageSent.get(lastSentMapKey) ?? 0, eventWrapper.id));\n }\n /**\n * Returns events which are buffered and not yet sent to the given channel events.\n */\n #getBufferedEvents(eventName, contextId, channel) {\n const bufferMapKey = EventManager.#getMapKey(eventName, contextId);\n const lastSentMapKey = EventManager.#getMapKey(eventName, contextId, channel);\n const lastSentMessageId = this.#lastMessageSent.get(lastSentMapKey) ?? -Infinity;\n const result = this.#eventBuffers\n .get(bufferMapKey)\n ?.get()\n .filter((wrapper) => wrapper.id > lastSentMessageId) ?? [];\n if (contextId === null) {\n // For global subscriptions, events buffered in each context should be sent back.\n Array.from(this.#eventToContextsMap.get(eventName).keys())\n .filter((_contextId) => \n // Events without context are already in the result.\n _contextId !== null &&\n // Events from deleted contexts should not be sent.\n this.#bidiServer.getBrowsingContextStorage().hasContext(_contextId))\n .map((_contextId) => this.#getBufferedEvents(eventName, _contextId, channel))\n .forEach((events) => result.push(...events));\n }\n return result.sort((e1, e2) => e1.id - e2.id);\n }\n}\nexports.EventManager = EventManager;\nconst EVENT_NAMES = new Set([\n // keep-sorted start\n ...Object.values(protocol_js_1.ChromiumBidi.BiDiModule),\n ...Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Log.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Network.EventNames),\n ...Object.values(protocol_js_1.ChromiumBidi.Script.EventNames),\n // keep-sorted end\n]);\nfunction checkEventName(name) {\n if (!EVENT_NAMES.has(name) &&\n !name.startsWith('cdp.') &&\n name !== 'cdp') {\n throw new protocol_js_1.InvalidArgumentException(`Unknown event: ${name}`);\n }\n}\n//# sourceMappingURL=EventManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RealmStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing realms. */\nclass RealmStorage {\n /** Tracks handles and their realms sent to the client. */\n #knownHandlesToRealmMap = new Map();\n /** Map from realm ID to Realm. */\n #realmMap = new Map();\n get knownHandlesToRealmMap() {\n return this.#knownHandlesToRealmMap;\n }\n addRealm(realm) {\n this.#realmMap.set(realm.realmId, realm);\n }\n /** Finds all realms that match the given filter. */\n findRealms(filter) {\n return Array.from(this.#realmMap.values()).filter((realm) => {\n if (filter.realmId !== undefined && filter.realmId !== realm.realmId) {\n return false;\n }\n if (filter.browsingContextId !== undefined &&\n filter.browsingContextId !== realm.browsingContextId) {\n return false;\n }\n if (filter.navigableId !== undefined &&\n filter.navigableId !== realm.navigableId) {\n return false;\n }\n if (filter.executionContextId !== undefined &&\n filter.executionContextId !== realm.executionContextId) {\n return false;\n }\n if (filter.origin !== undefined && filter.origin !== realm.origin) {\n return false;\n }\n if (filter.type !== undefined && filter.type !== realm.type) {\n return false;\n }\n if (filter.sandbox !== undefined && filter.sandbox !== realm.sandbox) {\n return false;\n }\n if (filter.cdpSessionId !== undefined &&\n filter.cdpSessionId !== realm.cdpClient.sessionId) {\n return false;\n }\n return true;\n });\n }\n findRealm(filter) {\n const maybeRealms = this.findRealms(filter);\n if (maybeRealms.length !== 1) {\n return undefined;\n }\n return maybeRealms[0];\n }\n /** Gets the only realm that matches the given filter, if any, otherwise throws. */\n getRealm(filter) {\n const maybeRealm = this.findRealm(filter);\n if (maybeRealm === undefined) {\n throw new protocol_js_1.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);\n }\n return maybeRealm;\n }\n /** Deletes all realms that match the given filter. */\n deleteRealms(filter) {\n this.findRealms(filter).map((realm) => {\n realm.dispose();\n this.#realmMap.delete(realm.realmId);\n Array.from(this.knownHandlesToRealmMap.entries())\n .filter(([, r]) => r === realm.realmId)\n .map(([handle]) => this.knownHandlesToRealmMap.delete(handle));\n });\n }\n}\nexports.RealmStorage = RealmStorage;\n//# sourceMappingURL=RealmStorage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiServer = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst processingQueue_js_1 = require(\"../utils/processingQueue.js\");\nconst CommandProcessor_js_1 = require(\"./CommandProcessor.js\");\nconst BrowsingContextStorage_js_1 = require(\"./domains/context/BrowsingContextStorage.js\");\nconst EventManager_js_1 = require(\"./domains/events/EventManager.js\");\nconst RealmStorage_js_1 = require(\"./domains/script/RealmStorage.js\");\nclass BidiServer extends EventEmitter_js_1.EventEmitter {\n #messageQueue;\n #transport;\n #commandProcessor;\n #browsingContextStorage = new BrowsingContextStorage_js_1.BrowsingContextStorage();\n #logger;\n #handleIncomingMessage = (message) => {\n void this.#commandProcessor.processCommand(message).catch((error) => {\n this.#logger?.(log_js_1.LogType.debug, error);\n });\n };\n #processOutgoingMessage = async (messageEntry) => {\n const message = messageEntry.message;\n if (messageEntry.channel !== null) {\n message['channel'] = messageEntry.channel;\n }\n await this.#transport.sendMessage(message);\n };\n constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n super();\n this.#logger = logger;\n this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);\n this.#transport = bidiTransport;\n this.#transport.setOnMessage(this.#handleIncomingMessage);\n this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new RealmStorage_js_1.RealmStorage(), parser, this.#logger);\n this.#commandProcessor.on(\"response\" /* CommandProcessorEvents.Response */, ({ message, event }) => {\n this.emitOutgoingMessage(message, event);\n });\n }\n static async createAndStart(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n const server = new BidiServer(bidiTransport, cdpConnection, selfTargetId, parser, logger);\n const cdpClient = cdpConnection.browserClient();\n // Needed to get events about new targets.\n await cdpClient.sendCommand('Target.setDiscoverTargets', { discover: true });\n // Needed to automatically attach to new targets.\n await cdpClient.sendCommand('Target.setAutoAttach', {\n autoAttach: true,\n waitForDebuggerOnStart: true,\n flatten: true,\n });\n await server.#topLevelContextsLoaded();\n return server;\n }\n /**\n * Sends BiDi message.\n */\n emitOutgoingMessage(messageEntry, event) {\n this.#messageQueue.add(messageEntry, event);\n }\n close() {\n this.#transport.close();\n }\n getBrowsingContextStorage() {\n return this.#browsingContextStorage;\n }\n async #topLevelContextsLoaded() {\n await Promise.all(this.#browsingContextStorage\n .getTopLevelContexts()\n .map((c) => c.lifecycleLoaded()));\n }\n}\nexports.BidiServer = BidiServer;\n//# sourceMappingURL=BidiServer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingMessage = exports.EventEmitter = exports.BidiServer = void 0;\n/**\n * @fileoverview The entry point to the BiDi Mapper namespace.\n * Other modules should only access exports defined in this file.\n * XXX: Add ESlint rule for this (https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md)\n */\nvar BidiServer_js_1 = require(\"./BidiServer.js\");\nObject.defineProperty(exports, \"BidiServer\", { enumerable: true, get: function () { return BidiServer_js_1.BidiServer; } });\nvar EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nObject.defineProperty(exports, \"EventEmitter\", { enumerable: true, get: function () { return EventEmitter_js_1.EventEmitter; } });\nvar OutgoingMessage_js_1 = require(\"./OutgoingMessage.js\");\nObject.defineProperty(exports, \"OutgoingMessage\", { enumerable: true, get: function () { return OutgoingMessage_js_1.OutgoingMessage; } });\n//# sourceMappingURL=bidiMapper.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpClient = exports.CloseError = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\n/** A error that will be thrown if/when the connection is closed. */\nclass CloseError extends Error {\n}\nexports.CloseError = CloseError;\n/** Represents a high-level CDP connection to the browser. */\nclass CdpClient extends EventEmitter_js_1.EventEmitter {\n #cdpConnection;\n #sessionId;\n constructor(cdpConnection, sessionId) {\n super();\n this.#cdpConnection = cdpConnection;\n this.#sessionId = sessionId;\n }\n get sessionId() {\n return this.#sessionId;\n }\n browserClient() {\n return this.#cdpConnection.browserClient();\n }\n sendCommand(method, ...params) {\n return this.#cdpConnection.sendCommand(method, params[0], this.#sessionId);\n }\n isCloseError(error) {\n return error instanceof CloseError;\n }\n}\nexports.CdpClient = CdpClient;\n//# sourceMappingURL=cdpClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpConnection = void 0;\nconst log_js_1 = require(\"../utils/log.js\");\nconst cdpClient_js_1 = require(\"./cdpClient.js\");\n/**\n * Represents a high-level CDP connection to the browser backend.\n *\n * Manages all CdpClients (each backed by a Session ID) instance for each active\n * CDP session.\n */\nclass CdpConnection {\n #transport;\n /** The CdpClient object attached to the root browser session. */\n #browserCdpClient;\n /** Map from session ID to CdpClient. */\n #sessionCdpClients = new Map();\n #commandCallbacks = new Map();\n #logger;\n #nextId = 0;\n constructor(transport, logger) {\n this.#transport = transport;\n this.#logger = logger;\n this.#transport.setOnMessage(this.#onMessage);\n this.#browserCdpClient = new cdpClient_js_1.CdpClient(this, undefined);\n }\n /** Closes the connection to the browser. */\n close() {\n this.#transport.close();\n for (const [, { reject, error }] of this.#commandCallbacks) {\n reject(error);\n }\n this.#commandCallbacks.clear();\n this.#sessionCdpClients.clear();\n }\n /** The CdpClient object attached to the root browser session. */\n browserClient() {\n return this.#browserCdpClient;\n }\n /**\n * Gets a CdpClient instance attached to the given session ID,\n * or null if the session is not attached.\n */\n getCdpClient(sessionId) {\n const cdpClient = this.#sessionCdpClients.get(sessionId);\n if (!cdpClient) {\n throw new Error(`Unknown CDP session ID: ${sessionId}`);\n }\n return cdpClient;\n }\n sendCommand(method, params, sessionId) {\n return new Promise((resolve, reject) => {\n const id = this.#nextId++;\n this.#commandCallbacks.set(id, {\n resolve,\n reject,\n error: new cdpClient_js_1.CloseError(`${method} ${JSON.stringify(params)} ${sessionId ?? ''} call rejected because the connection has been closed.`),\n });\n const cdpMessage = { id, method, params };\n if (sessionId) {\n cdpMessage.sessionId = sessionId;\n }\n const cdpMessageStr = JSON.stringify(cdpMessage);\n void this.#transport.sendMessage(cdpMessageStr)?.catch((error) => {\n this.#logger?.(log_js_1.LogType.debug, error);\n this.#transport.close();\n });\n this.#logger?.(`${log_js_1.LogType.cdp}:SEND ▸`, JSON.stringify(cdpMessage, null, 2));\n });\n }\n #onMessage = (message) => {\n const messageParsed = JSON.parse(message);\n const messagePretty = JSON.stringify(messageParsed, null, 2);\n this.#logger?.(`${log_js_1.LogType.cdp}:RECV ◂`, messagePretty);\n // Update client map if a session is attached\n // Listen for these events on every session.\n if (messageParsed.method === 'Target.attachedToTarget') {\n const { sessionId } = messageParsed.params;\n this.#sessionCdpClients.set(sessionId, new cdpClient_js_1.CdpClient(this, sessionId));\n }\n if (messageParsed.id !== undefined) {\n // Handle command response.\n const callbacks = this.#commandCallbacks.get(messageParsed.id);\n this.#commandCallbacks.delete(messageParsed.id);\n if (callbacks) {\n if (messageParsed.result) {\n callbacks.resolve(messageParsed.result);\n }\n else if (messageParsed.error) {\n callbacks.reject(messageParsed.error);\n }\n }\n }\n else if (messageParsed.method) {\n const client = messageParsed.sessionId\n ? this.#sessionCdpClients.get(messageParsed.sessionId)\n : this.#browserCdpClient;\n client?.emit(messageParsed.method, messageParsed.params || {});\n // Update client map if a session is detached\n // But emit on that session\n if (messageParsed.method === 'Target.detachedFromTarget') {\n const { sessionId } = messageParsed.params;\n const client = this.#sessionCdpClients.get(sessionId);\n if (client) {\n this.#sessionCdpClients.delete(sessionId);\n client.removeAllListeners();\n }\n }\n }\n };\n}\nexports.CdpConnection = CdpConnection;\n//# sourceMappingURL=cdpConnection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (val) => val;\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\"\n ? (obj) => Object.keys(obj)\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)\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .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 = exports.util || (exports.util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second,\n };\n };\n})(objectUtil = exports.objectUtil || (exports.objectUtil = {}));\nexports.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]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_1 = require(\"./helpers/util\");\nexports.ZodIssueCode = util_1.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]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\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 Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.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 }\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 toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_1.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}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../helpers/util\");\nconst ZodError_1 = require(\"../ZodError\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_1.ZodIssueCode.invalid_type:\n if (issue.received === util_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_1.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_1.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 ZodError_1.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\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.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\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getErrorMap = exports.setErrorMap = exports.defaultErrorMap = void 0;\nconst en_1 = __importDefault(require(\"./locales/en\"));\nexports.defaultErrorMap = en_1.default;\nlet overrideErrorMap = en_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nexports.setErrorMap = setErrorMap;\nfunction getErrorMap() {\n return overrideErrorMap;\n}\nexports.getErrorMap = getErrorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;\nconst errors_1 = require(\"../errors\");\nconst en_1 = __importDefault(require(\"../locales/en\"));\nconst 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 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: issueData.message || errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n en_1.default,\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexports.addIssueToContext = addIssueToContext;\nclass 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 exports.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 syncPairs.push({\n key: await pair.key,\n value: await pair.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 exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil = exports.errorUtil || (exports.errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nconst errors_1 = require(\"./errors\");\nconst errorUtil_1 = require(\"./helpers/errorUtil\");\nconst parseUtil_1 = require(\"./helpers/parseUtil\");\nconst util_1 = require(\"./helpers/util\");\nconst ZodError_1 = require(\"./ZodError\");\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 (this._key instanceof Array) {\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 ((0, parseUtil_1.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_1.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 if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\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.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.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 parseUtil_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.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 ((0, parseUtil_1.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 var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\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 === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_1.isAsync)(maybeAsyncResult)\n ? maybeAsyncResult\n : 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: ZodError_1.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\"\n ? refinementData(val, ctx)\n : 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 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, this._def);\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 isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/;\nconst uuidRegex = /^([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 emailRegex = /^(([^<>()[\\]\\\\.,;:\\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,})+))$/;\nconst emojiRegex = /^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$/u;\nconst ipv4Regex = /^(((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 = /^(([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 datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\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}\nclass ZodString extends ZodType {\n constructor() {\n super(...arguments);\n this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_1.ZodIssueCode.invalid_string,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n this.nonempty = (message) => this.min(1, errorUtil_1.errorUtil.errToObj(message));\n this.trim = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n this.toLowerCase = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n this.toUpperCase = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_1.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 (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\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 (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\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_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\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 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 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}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\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 = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass 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 !== util_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.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_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_1.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_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_1.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\" ||\n (ch.kind === \"multipleOf\" && util_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n 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}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass 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 input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.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_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.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_1.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_1.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_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_1.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}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass 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 !== util_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass 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 !== util_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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_1.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_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_1.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}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_1.ZodIssueCode.too_big : ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 parseUtil_1.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 parseUtil_1.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_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\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}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n this.nonstrict = this.passthrough;\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_1.util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 &&\n 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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 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)),\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 syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : 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 extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\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 setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util_1.util.objectKeys(mask).forEach((key) => {\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 util_1.util.objectKeys(this.shape).forEach((key) => {\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 deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util_1.util.objectKeys(this.shape).forEach((key) => {\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 util_1.util.objectKeys(this.shape).forEach((key) => {\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_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\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};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\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 ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n const unionErrors = results.map((result) => new ZodError_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.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_1.ZodError(issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\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 return Object.keys(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 {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_1.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 static create(discriminator, options, params) {\n const optionsMap = new Map();\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\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}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_1.getParsedType)(a);\n const bType = (0, util_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_1.ZodParsedType.object && bType === util_1.ZodParsedType.object) {\n const bKeys = util_1.util.objectKeys(b);\n const sharedKeys = util_1.util\n .objectKeys(a)\n .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 === util_1.ZodParsedType.array && bType === util_1.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 === util_1.ZodParsedType.date &&\n bType === util_1.ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) {\n return parseUtil_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_1.INVALID;\n }\n if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.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}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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);\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_1.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}\nexports.ZodTuple = ZodTuple;\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};\nclass 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 !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 });\n }\n if (ctx.common.async) {\n return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_1.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}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.map) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_1.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 parseUtil_1.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 parseUtil_1.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}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.set) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.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 parseUtil_1.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_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_1.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}\nexports.ZodSet = ZodSet;\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};\nclass 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 !== util_1.ZodParsedType.function) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.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 return (0, parseUtil_1.OK)(async (...args) => {\n const error = new ZodError_1.ZodError([]);\n const parsedArgs = await this._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await fn(...parsedArgs);\n const parsedReturns = await this._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 return (0, parseUtil_1.OK)((...args) => {\n const parsedArgs = this._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = fn(...parsedArgs.data);\n const parsedReturns = this._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_1.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\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass 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}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\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: values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass 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 (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.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) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_1.ZodParsedType.string &&\n ctx.parsedType !== util_1.ZodParsedType.number) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.promise &&\n ctx.common.async === false) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const promisified = ctx.parsedType === util_1.ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return (0, parseUtil_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass 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 if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data);\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_1.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 === \"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 parseUtil_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_1.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 (!(0, parseUtil_1.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\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!(0, parseUtil_1.isValid)(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\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};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.undefined) {\n return (0, parseUtil_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.null) {\n return (0, parseUtil_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_1.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}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\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 ((0, parseUtil_1.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_1.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_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\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};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass 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}\nexports.ZodBranded = ZodBranded;\nclass 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 parseUtil_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_1.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 parseUtil_1.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}\nexports.ZodPipeline = ZodPipeline;\nconst custom = (check, params = {}, fatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nexports.custom = custom;\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar 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 = exports.ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = {}));\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (cls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => (0, exports.custom)((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.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};\nexports.NEVER = parseUtil_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./helpers/parseUtil\"), exports);\n__exportStar(require(\"./helpers/typeAliases\"), exports);\n__exportStar(require(\"./helpers/util\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./ZodError\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./external\"));\nexports.z = z;\n__exportStar(require(\"./external\"), exports);\nexports.default = z;\n","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Input = exports.InputCommandSchema = exports.Log = exports.LogEventSchema = exports.Script = exports.ScriptResultSchema = exports.ScriptCommandSchema = exports.ScriptEventSchema = exports.Network = exports.NetworkResultSchema = exports.NetworkEventSchema = exports.NetworkCommandSchema = exports.BrowsingContext = exports.BrowsingContextResultSchema = exports.BrowsingContextEventSchema = exports.BrowsingContextCommandSchema = exports.Browser = exports.BrowserCommandSchema = exports.Session = exports.SessionResultSchema = exports.SessionCommandSchema = exports.ErrorCodeSchema = exports.JsUintSchema = exports.JsIntSchema = exports.ExtensibleSchema = exports.EmptyResultSchema = exports.ErrorResponseSchema = exports.MessageSchema = exports.EmptyParamsSchema = exports.ResultDataSchema = exports.CommandDataSchema = exports.EventDataSchema = exports.CommandResponseSchema = exports.CommandSchema = exports.EventSchema = void 0;\n/**\n * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.\n * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck Some types may be circular.\nconst zod_1 = __importDefault(require(\"zod\"));\nexports.EventSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('event'),\n})\n .and(exports.EventDataSchema)\n .and(exports.ExtensibleSchema));\nexports.CommandSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n id: exports.JsUintSchema,\n})\n .and(exports.CommandDataSchema)\n .and(exports.ExtensibleSchema));\nexports.CommandResponseSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('success'),\n id: exports.JsUintSchema,\n result: exports.ResultDataSchema,\n})\n .and(exports.ExtensibleSchema));\nexports.EventDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowsingContextEventSchema,\n exports.LogEventSchema,\n exports.NetworkEventSchema,\n exports.ScriptEventSchema,\n]));\nexports.CommandDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowserCommandSchema,\n exports.BrowsingContextCommandSchema,\n exports.InputCommandSchema,\n exports.NetworkCommandSchema,\n exports.ScriptCommandSchema,\n exports.SessionCommandSchema,\n]));\nexports.ResultDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n exports.BrowsingContextResultSchema,\n exports.EmptyResultSchema,\n exports.NetworkResultSchema,\n exports.ScriptResultSchema,\n exports.SessionResultSchema,\n]));\nexports.EmptyParamsSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.MessageSchema = zod_1.default.lazy(() => zod_1.default.union([exports.CommandResponseSchema, exports.ErrorResponseSchema, exports.EventSchema]));\nexports.ErrorResponseSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('error'),\n id: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n error: exports.ErrorCodeSchema,\n message: zod_1.default.string(),\n stacktrace: zod_1.default.string().optional(),\n})\n .and(exports.ExtensibleSchema));\nexports.EmptyResultSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.ExtensibleSchema = zod_1.default.lazy(() => zod_1.default.record(zod_1.default.string(), zod_1.default.any()));\nexports.JsIntSchema = zod_1.default.lazy(() => zod_1.default.number().int().gte(-9007199254740991).lte(9007199254740991));\nexports.JsUintSchema = zod_1.default.lazy(() => zod_1.default.number().int().nonnegative().gte(0).lte(9007199254740991));\nexports.ErrorCodeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n 'invalid argument',\n 'invalid session id',\n 'move target out of bounds',\n 'no such alert',\n 'no such element',\n 'no such frame',\n 'no such handle',\n 'no such intercept',\n 'no such node',\n 'no such request',\n 'no such script',\n 'session not created',\n 'unable to capture screen',\n 'unable to close browser',\n 'unknown command',\n 'unknown error',\n 'unsupported operation',\n]));\nexports.SessionCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Session.EndSchema,\n Session.NewSchema,\n Session.StatusSchema,\n Session.SubscribeSchema,\n Session.UnsubscribeSchema,\n]));\nexports.SessionResultSchema = zod_1.default.lazy(() => zod_1.default.union([Session.NewResultSchema, Session.StatusResultSchema]));\nvar Session;\n(function (Session) {\n Session.CapabilitiesRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n alwaysMatch: Session.CapabilityRequestSchema.optional(),\n firstMatch: zod_1.default.array(Session.CapabilityRequestSchema).optional(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.CapabilityRequestSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n acceptInsecureCerts: zod_1.default.boolean().optional(),\n browserName: zod_1.default.string().optional(),\n browserVersion: zod_1.default.string().optional(),\n platformName: zod_1.default.string().optional(),\n proxy: zod_1.default\n .object({\n proxyType: zod_1.default\n .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n .optional(),\n proxyAutoconfigUrl: zod_1.default.string().optional(),\n ftpProxy: zod_1.default.string().optional(),\n httpProxy: zod_1.default.string().optional(),\n noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n sslProxy: zod_1.default.string().optional(),\n socksProxy: zod_1.default.string().optional(),\n socksVersion: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(255)\n .optional(),\n })\n .optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.SubscriptionRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n events: zod_1.default.array(zod_1.default.string()),\n contexts: zod_1.default.array(BrowsingContext.BrowsingContextSchema).optional(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.StatusSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.status'),\n params: exports.EmptyParamsSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.StatusResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n ready: zod_1.default.boolean(),\n message: zod_1.default.string(),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.new'),\n params: Session.NewParametersSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n capabilities: Session.CapabilitiesRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.NewResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n sessionId: zod_1.default.string(),\n capabilities: zod_1.default\n .object({\n acceptInsecureCerts: zod_1.default.boolean(),\n browserName: zod_1.default.string(),\n browserVersion: zod_1.default.string(),\n platformName: zod_1.default.string(),\n proxy: zod_1.default.object({\n proxyType: zod_1.default\n .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n .optional(),\n proxyAutoconfigUrl: zod_1.default.string().optional(),\n ftpProxy: zod_1.default.string().optional(),\n httpProxy: zod_1.default.string().optional(),\n noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n sslProxy: zod_1.default.string().optional(),\n socksProxy: zod_1.default.string().optional(),\n socksVersion: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(255)\n .optional(),\n }),\n setWindowRect: zod_1.default.boolean(),\n })\n .and(exports.ExtensibleSchema),\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.EndSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.end'),\n params: exports.EmptyParamsSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.SubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.subscribe'),\n params: Session.SubscriptionRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n Session.UnsubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('session.unsubscribe'),\n params: Session.SubscriptionRequestSchema,\n }));\n})(Session || (exports.Session = Session = {}));\nexports.BrowserCommandSchema = zod_1.default.lazy(() => Browser.CloseSchema);\nvar Browser;\n(function (Browser) {\n Browser.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browser.close'),\n params: exports.EmptyParamsSchema,\n }));\n})(Browser || (exports.Browser = Browser = {}));\nexports.BrowsingContextCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.ActivateSchema,\n BrowsingContext.CaptureScreenshotSchema,\n BrowsingContext.CloseSchema,\n BrowsingContext.CreateSchema,\n BrowsingContext.GetTreeSchema,\n BrowsingContext.HandleUserPromptSchema,\n BrowsingContext.NavigateSchema,\n BrowsingContext.PrintSchema,\n BrowsingContext.ReloadSchema,\n BrowsingContext.SetViewportSchema,\n]));\nexports.BrowsingContextEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.ContextCreatedSchema,\n BrowsingContext.ContextDestroyedSchema,\n BrowsingContext.NavigationStartedSchema,\n BrowsingContext.FragmentNavigatedSchema,\n BrowsingContext.DomContentLoadedSchema,\n BrowsingContext.LoadSchema,\n BrowsingContext.DownloadWillBeginSchema,\n BrowsingContext.NavigationAbortedSchema,\n BrowsingContext.NavigationFailedSchema,\n BrowsingContext.UserPromptClosedSchema,\n BrowsingContext.UserPromptOpenedSchema,\n]));\nexports.BrowsingContextResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.CaptureScreenshotResultSchema,\n BrowsingContext.CreateResultSchema,\n BrowsingContext.GetTreeResultSchema,\n BrowsingContext.NavigateResultSchema,\n BrowsingContext.PrintResultSchema,\n]));\nvar BrowsingContext;\n(function (BrowsingContext) {\n BrowsingContext.BrowsingContextSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.InfoListSchema = zod_1.default.lazy(() => zod_1.default.array(BrowsingContext.InfoSchema));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.InfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n url: zod_1.default.string(),\n children: zod_1.default.union([BrowsingContext.InfoListSchema, zod_1.default.null()]),\n parent: zod_1.default\n .union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()])\n .optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n timestamp: exports.JsUintSchema,\n url: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReadinessStateSchema = zod_1.default.lazy(() => zod_1.default.enum(['none', 'interactive', 'complete']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ActivateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.activate'),\n params: BrowsingContext.ActivateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ActivateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n clip: BrowsingContext.ClipRectangleSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.captureScreenshot'),\n params: BrowsingContext.CaptureScreenshotParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.union([\n BrowsingContext.BoxClipRectangleSchema,\n BrowsingContext.ElementClipRectangleSchema,\n ]));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ElementClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('element'),\n element: Script.SharedReferenceSchema,\n scrollIntoView: zod_1.default.boolean().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.BoxClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('viewport'),\n x: zod_1.default.number(),\n y: zod_1.default.number(),\n width: zod_1.default.number(),\n height: zod_1.default.number(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CaptureScreenshotResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n data: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.close'),\n params: BrowsingContext.CloseParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CloseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.create'),\n params: BrowsingContext.CreateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['tab', 'window']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: BrowsingContext.CreateTypeSchema,\n referenceContext: BrowsingContext.BrowsingContextSchema.optional(),\n background: zod_1.default.boolean().default(false).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.CreateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.getTree'),\n params: BrowsingContext.GetTreeParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n maxDepth: exports.JsUintSchema.optional(),\n root: BrowsingContext.BrowsingContextSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.GetTreeResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n contexts: BrowsingContext.InfoListSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.HandleUserPromptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.handleUserPrompt'),\n params: BrowsingContext.HandleUserPromptParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.HandleUserPromptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n accept: zod_1.default.boolean().optional(),\n userText: zod_1.default.string().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigate'),\n params: BrowsingContext.NavigateParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n url: zod_1.default.string(),\n wait: BrowsingContext.ReadinessStateSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n url: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.print'),\n params: BrowsingContext.PrintParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n background: zod_1.default.boolean().default(false).optional(),\n margin: BrowsingContext.PrintMarginParametersSchema.optional(),\n orientation: zod_1.default\n .enum(['portrait', 'landscape'])\n .default('portrait')\n .optional(),\n page: BrowsingContext.PrintPageParametersSchema.optional(),\n pageRanges: zod_1.default.array(zod_1.default.union([exports.JsUintSchema, zod_1.default.string()])).optional(),\n scale: zod_1.default.number().gte(0.1).lte(2).default(1).optional(),\n shrinkToFit: zod_1.default.boolean().default(true).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintMarginParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n bottom: zod_1.default.number().gte(0).default(1).optional(),\n left: zod_1.default.number().gte(0).default(1).optional(),\n right: zod_1.default.number().gte(0).default(1).optional(),\n top: zod_1.default.number().gte(0).default(1).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintPageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n height: zod_1.default.number().gte(0).default(27.94).optional(),\n width: zod_1.default.number().gte(0).default(21.59).optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.PrintResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n data: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReloadSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.reload'),\n params: BrowsingContext.ReloadParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ReloadParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n ignoreCache: zod_1.default.boolean().optional(),\n wait: BrowsingContext.ReadinessStateSchema.optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.SetViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.setViewport'),\n params: BrowsingContext.SetViewportParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.SetViewportParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n viewport: zod_1.default.union([BrowsingContext.ViewportSchema, zod_1.default.null()]),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n width: exports.JsUintSchema,\n height: exports.JsUintSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ContextCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.contextCreated'),\n params: BrowsingContext.InfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.ContextDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.contextDestroyed'),\n params: BrowsingContext.InfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationStarted'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.FragmentNavigatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.fragmentNavigated'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.DomContentLoadedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.domContentLoaded'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.LoadSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.load'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.DownloadWillBeginSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.downloadWillBegin'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationAbortedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationAborted'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.NavigationFailedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.navigationFailed'),\n params: BrowsingContext.NavigationInfoSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptClosedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.userPromptClosed'),\n params: BrowsingContext.UserPromptClosedParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptClosedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n accepted: zod_1.default.boolean(),\n userText: zod_1.default.string().optional(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptOpenedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('browsingContext.userPromptOpened'),\n params: BrowsingContext.UserPromptOpenedParametersSchema,\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n BrowsingContext.UserPromptOpenedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n type: zod_1.default.enum(['alert', 'confirm', 'prompt', 'beforeunload']),\n message: zod_1.default.string(),\n }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nexports.NetworkCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Network.AddInterceptSchema,\n Network.ContinueRequestSchema,\n Network.ContinueResponseSchema,\n Network.ContinueWithAuthSchema,\n Network.FailRequestSchema,\n Network.ProvideResponseSchema,\n Network.RemoveInterceptSchema,\n]));\nexports.NetworkEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n Network.AuthRequiredSchema,\n Network.BeforeRequestSentSchema,\n Network.FetchErrorSchema,\n Network.ResponseCompletedSchema,\n Network.ResponseStartedSchema,\n]));\nexports.NetworkResultSchema = zod_1.default.lazy(() => Network.AddInterceptResultSchema);\nvar Network;\n(function (Network) {\n Network.AuthChallengeSchema = zod_1.default.lazy(() => zod_1.default.object({\n scheme: zod_1.default.string(),\n realm: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AuthCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('password'),\n username: zod_1.default.string(),\n password: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BaseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: zod_1.default.union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()]),\n isBlocked: zod_1.default.boolean(),\n navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n redirectCount: exports.JsUintSchema,\n request: Network.RequestDataSchema,\n timestamp: exports.JsUintSchema,\n intercepts: zod_1.default.array(Network.InterceptSchema).optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BytesValueSchema = zod_1.default.lazy(() => zod_1.default.union([Network.StringValueSchema, Network.Base64ValueSchema]));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n value: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.Base64ValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('base64'),\n value: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.CookieSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n domain: zod_1.default.string(),\n path: zod_1.default.string(),\n size: exports.JsUintSchema,\n httpOnly: zod_1.default.boolean(),\n secure: zod_1.default.boolean(),\n sameSite: zod_1.default.enum(['strict', 'lax', 'none']),\n expires: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.CookieHeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchTimingInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n timeOrigin: zod_1.default.number(),\n requestTime: zod_1.default.number(),\n redirectStart: zod_1.default.number(),\n redirectEnd: zod_1.default.number(),\n fetchStart: zod_1.default.number(),\n dnsStart: zod_1.default.number(),\n dnsEnd: zod_1.default.number(),\n connectStart: zod_1.default.number(),\n connectEnd: zod_1.default.number(),\n tlsStart: zod_1.default.number(),\n requestStart: zod_1.default.number(),\n responseStart: zod_1.default.number(),\n responseEnd: zod_1.default.number(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.HeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InitiatorSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.enum(['parser', 'script', 'preflight', 'other']),\n columnNumber: exports.JsUintSchema.optional(),\n lineNumber: exports.JsUintSchema.optional(),\n stackTrace: Script.StackTraceSchema.optional(),\n request: Network.RequestSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InterceptSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RequestSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RequestDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n url: zod_1.default.string(),\n method: zod_1.default.string(),\n headers: zod_1.default.array(Network.HeaderSchema),\n cookies: zod_1.default.array(Network.CookieSchema),\n headersSize: exports.JsUintSchema,\n bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n timings: Network.FetchTimingInfoSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseContentSchema = zod_1.default.lazy(() => zod_1.default.object({\n size: exports.JsUintSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n url: zod_1.default.string(),\n protocol: zod_1.default.string(),\n status: exports.JsUintSchema,\n statusText: zod_1.default.string(),\n fromCache: zod_1.default.boolean(),\n headers: zod_1.default.array(Network.HeaderSchema),\n mimeType: zod_1.default.string(),\n bytesReceived: exports.JsUintSchema,\n headersSize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n content: Network.ResponseContentSchema,\n authChallenge: Network.AuthChallengeSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.SetCookieHeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n name: zod_1.default.string(),\n value: Network.BytesValueSchema,\n domain: zod_1.default.string().optional(),\n httpOnly: zod_1.default.boolean().optional(),\n expires: zod_1.default.string().optional(),\n maxAge: exports.JsIntSchema.optional(),\n path: zod_1.default.string().optional(),\n sameSite: zod_1.default.enum(['strict', 'lax', 'none']).optional(),\n secure: zod_1.default.boolean().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternSchema = zod_1.default.lazy(() => zod_1.default.union([Network.UrlPatternPatternSchema, Network.UrlPatternStringSchema]));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternPatternSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pattern'),\n protocol: zod_1.default.string().optional(),\n hostname: zod_1.default.string().optional(),\n port: zod_1.default.string().optional(),\n pathname: zod_1.default.string().optional(),\n search: zod_1.default.string().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.UrlPatternStringSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n pattern: zod_1.default.string(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n phases: zod_1.default.array(Network.InterceptPhaseSchema),\n urlPatterns: zod_1.default.array(Network.UrlPatternSchema).optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.addIntercept'),\n params: Network.AddInterceptParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.InterceptPhaseSchema = zod_1.default.lazy(() => zod_1.default.enum(['beforeRequestSent', 'responseStarted', 'authRequired']));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.AddInterceptResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n intercept: Network.InterceptSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueRequest'),\n params: Network.ContinueRequestParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueRequestParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n body: Network.BytesValueSchema.optional(),\n cookies: zod_1.default.array(Network.CookieHeaderSchema).optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n method: zod_1.default.string().optional(),\n url: zod_1.default.string().optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueResponseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueResponse'),\n params: Network.ContinueResponseParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueResponseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n cookies: zod_1.default.array(Network.SetCookieHeaderSchema).optional(),\n credentials: Network.AuthCredentialsSchema.optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n reasonPhrase: zod_1.default.string().optional(),\n statusCode: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.continueWithAuth'),\n params: Network.ContinueWithAuthParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthParametersSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n request: Network.RequestSchema,\n })\n .and(zod_1.default.union([\n Network.ContinueWithAuthCredentialsSchema,\n Network.ContinueWithAuthNoCredentialsSchema,\n ])));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n action: zod_1.default.literal('provideCredentials'),\n credentials: Network.AuthCredentialsSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ContinueWithAuthNoCredentialsSchema = zod_1.default.lazy(() => zod_1.default.object({\n action: zod_1.default.enum(['default', 'cancel']),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FailRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.failRequest'),\n params: Network.FailRequestParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FailRequestParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ProvideResponseSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.provideResponse'),\n params: Network.ProvideResponseParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ProvideResponseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n request: Network.RequestSchema,\n body: Network.BytesValueSchema.optional(),\n cookies: zod_1.default.array(Network.SetCookieHeaderSchema).optional(),\n headers: zod_1.default.array(Network.HeaderSchema).optional(),\n reasonPhrase: zod_1.default.string().optional(),\n statusCode: exports.JsUintSchema.optional(),\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RemoveInterceptSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.removeIntercept'),\n params: Network.RemoveInterceptParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.RemoveInterceptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n intercept: Network.InterceptSchema,\n }));\n})(Network || (exports.Network = Network = {}));\nexports.ScriptEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.MessageSchema,\n Script.RealmCreatedSchema,\n Script.RealmDestroyedSchema,\n]));\n(function (Network) {\n Network.AuthRequiredParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BeforeRequestSentParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n initiator: Network.InitiatorSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchErrorParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n errorText: zod_1.default.string(),\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseCompletedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseStartedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n response: Network.ResponseDataSchema,\n })));\n})(Network || (exports.Network = Network = {}));\nexports.ScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.AddPreloadScriptCommandSchema,\n Script.CallFunctionSchema,\n Script.DisownSchema,\n Script.EvaluateSchema,\n Script.GetRealmsSchema,\n Script.RemovePreloadScriptCommandSchema,\n]));\nexports.ScriptResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.AddPreloadScriptResultSchema,\n Script.EvaluateResultSchema,\n Script.GetRealmsResultSchema,\n]));\n(function (Network) {\n Network.AuthRequiredSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.authRequired'),\n params: Network.AuthRequiredParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.BeforeRequestSentSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.beforeRequestSent'),\n params: Network.BeforeRequestSentParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.FetchErrorSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.fetchError'),\n params: Network.FetchErrorParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseCompletedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.responseCompleted'),\n params: Network.ResponseCompletedParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n Network.ResponseStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('network.responseStarted'),\n params: Network.ResponseStartedParametersSchema,\n }));\n})(Network || (exports.Network = Network = {}));\nvar Script;\n(function (Script) {\n Script.ChannelSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultSuccessSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('success'),\n result: Script.RemoteValueSchema,\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ExceptionDetailsSchema = zod_1.default.lazy(() => zod_1.default.object({\n columnNumber: exports.JsUintSchema,\n exception: Script.RemoteValueSchema,\n lineNumber: exports.JsUintSchema,\n stackTrace: Script.StackTraceSchema,\n text: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ChannelValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('channel'),\n value: Script.ChannelPropertiesSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ChannelPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n channel: Script.ChannelSchema,\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n ownership: Script.ResultOwnershipSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.EvaluateResultSuccessSchema,\n Script.EvaluateResultExceptionSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateResultExceptionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('exception'),\n exceptionDetails: Script.ExceptionDetailsSchema,\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.HandleSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ListLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.LocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.LocalValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.RemoteReferenceSchema,\n Script.PrimitiveProtocolValueSchema,\n Script.ChannelValueSchema,\n Script.ArrayLocalValueSchema,\n Script.DateLocalValueSchema,\n Script.MapLocalValueSchema,\n Script.ObjectLocalValueSchema,\n Script.RegExpLocalValueSchema,\n Script.SetLocalValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('array'),\n value: Script.ListLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DateLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('date'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MappingLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n zod_1.default.union([Script.LocalValueSchema, zod_1.default.string()]),\n Script.LocalValueSchema,\n ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MapLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('map'),\n value: Script.MappingLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ObjectLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('object'),\n value: Script.MappingLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n pattern: zod_1.default.string(),\n flags: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('regexp'),\n value: Script.RegExpValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SetLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('set'),\n value: Script.ListLocalValueSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PreloadScriptSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PrimitiveProtocolValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.UndefinedValueSchema,\n Script.NullValueSchema,\n Script.StringValueSchema,\n Script.NumberValueSchema,\n Script.BooleanValueSchema,\n Script.BigIntValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.UndefinedValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('undefined'),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NullValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('null'),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('string'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SpecialNumberSchema = zod_1.default.lazy(() => zod_1.default.enum(['NaN', '-0', 'Infinity', '-Infinity']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NumberValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('number'),\n value: zod_1.default.union([zod_1.default.number(), Script.SpecialNumberSchema]),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BooleanValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('boolean'),\n value: zod_1.default.boolean(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BigIntValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('bigint'),\n value: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmInfoSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.WindowRealmInfoSchema,\n Script.DedicatedWorkerRealmInfoSchema,\n Script.SharedWorkerRealmInfoSchema,\n Script.ServiceWorkerRealmInfoSchema,\n Script.WorkerRealmInfoSchema,\n Script.PaintWorkletRealmInfoSchema,\n Script.AudioWorkletRealmInfoSchema,\n Script.WorkletRealmInfoSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.BaseRealmInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n origin: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('window'),\n context: BrowsingContext.BrowsingContextSchema,\n sandbox: zod_1.default.string().optional(),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DedicatedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('dedicated-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('shared-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ServiceWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('service-worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('worker'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PaintWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('paint-worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AudioWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('audio-worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n type: zod_1.default.literal('worklet'),\n })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmTypeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n 'window',\n 'dedicated-worker',\n 'shared-worker',\n 'service-worker',\n 'worker',\n 'paint-worklet',\n 'audio-worklet',\n 'worklet',\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n Script.PrimitiveProtocolValueSchema,\n Script.SymbolRemoteValueSchema,\n Script.ArrayRemoteValueSchema,\n Script.ObjectRemoteValueSchema,\n Script.FunctionRemoteValueSchema,\n Script.RegExpRemoteValueSchema,\n Script.DateRemoteValueSchema,\n Script.MapRemoteValueSchema,\n Script.SetRemoteValueSchema,\n Script.WeakMapRemoteValueSchema,\n Script.WeakSetRemoteValueSchema,\n Script.IteratorRemoteValueSchema,\n Script.GeneratorRemoteValueSchema,\n Script.ErrorRemoteValueSchema,\n Script.ProxyRemoteValueSchema,\n Script.PromiseRemoteValueSchema,\n Script.TypedArrayRemoteValueSchema,\n Script.ArrayBufferRemoteValueSchema,\n Script.NodeListRemoteValueSchema,\n Script.HtmlCollectionRemoteValueSchema,\n Script.NodeRemoteValueSchema,\n Script.WindowProxyRemoteValueSchema,\n ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteReferenceSchema = zod_1.default.lazy(() => zod_1.default.union([Script.SharedReferenceSchema, Script.RemoteObjectReferenceSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedReferenceSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n sharedId: Script.SharedIdSchema,\n handle: Script.HandleSchema.optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemoteObjectReferenceSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema,\n sharedId: Script.SharedIdSchema.optional(),\n })\n .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.InternalIdSchema = zod_1.default.lazy(() => exports.JsUintSchema);\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.RemoteValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MappingRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n zod_1.default.union([Script.RemoteValueSchema, zod_1.default.string()]),\n Script.RemoteValueSchema,\n ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SymbolRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('symbol'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('array'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ObjectRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('object'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.MappingRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.FunctionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('function'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RegExpRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n })\n .and(Script.RegExpLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DateRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n })\n .and(Script.DateLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('map'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.MappingRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('set'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WeakMapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('weakmap'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WeakSetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('weakset'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.IteratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('iterator'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GeneratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('generator'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ErrorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('error'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('proxy'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.PromiseRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('promise'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.TypedArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('typedarray'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ArrayBufferRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('arraybuffer'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodeListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('nodelist'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.HtmlCollectionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('htmlcollection'),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.ListRemoteValueSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodeRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('node'),\n sharedId: Script.SharedIdSchema.optional(),\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n value: Script.NodePropertiesSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.NodePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n nodeType: exports.JsUintSchema,\n childNodeCount: exports.JsUintSchema,\n attributes: zod_1.default.record(zod_1.default.string(), zod_1.default.string()).optional(),\n children: zod_1.default.array(Script.NodeRemoteValueSchema).optional(),\n localName: zod_1.default.string().optional(),\n mode: zod_1.default.enum(['open', 'closed']).optional(),\n namespaceURI: zod_1.default.string().optional(),\n nodeValue: zod_1.default.string().optional(),\n shadowRoot: zod_1.default.union([Script.NodeRemoteValueSchema, zod_1.default.null()]).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('window'),\n value: Script.WindowProxyPropertiesSchema,\n handle: Script.HandleSchema.optional(),\n internalId: Script.InternalIdSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.WindowProxyPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ResultOwnershipSchema = zod_1.default.lazy(() => zod_1.default.enum(['root', 'none']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SerializationOptionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n maxDomDepth: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]).default(0).optional(),\n maxObjectDepth: zod_1.default\n .union([exports.JsUintSchema, zod_1.default.null()])\n .default(null)\n .optional(),\n includeShadowTree: zod_1.default\n .enum(['none', 'open', 'all'])\n .default('none')\n .optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SharedIdSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StackFrameSchema = zod_1.default.lazy(() => zod_1.default.object({\n columnNumber: exports.JsUintSchema,\n functionName: zod_1.default.string(),\n lineNumber: exports.JsUintSchema,\n url: zod_1.default.string(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.StackTraceSchema = zod_1.default.lazy(() => zod_1.default.object({\n callFrames: zod_1.default.array(Script.StackFrameSchema),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.SourceSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n context: BrowsingContext.BrowsingContextSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.ContextTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n sandbox: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.TargetSchema = zod_1.default.lazy(() => zod_1.default.union([Script.RealmTargetSchema, Script.ContextTargetSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.addPreloadScript'),\n params: Script.AddPreloadScriptParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n functionDeclaration: zod_1.default.string(),\n arguments: zod_1.default.array(Script.ChannelValueSchema).optional(),\n sandbox: zod_1.default.string().optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.AddPreloadScriptResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n script: Script.PreloadScriptSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DisownSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.disown'),\n params: Script.DisownParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.DisownParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n handles: zod_1.default.array(Script.HandleSchema),\n target: Script.TargetSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.CallFunctionParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n functionDeclaration: zod_1.default.string(),\n awaitPromise: zod_1.default.boolean(),\n target: Script.TargetSchema,\n arguments: zod_1.default.array(Script.LocalValueSchema).optional(),\n resultOwnership: Script.ResultOwnershipSchema.optional(),\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n this: Script.LocalValueSchema.optional(),\n userActivation: zod_1.default.boolean().default(false).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.CallFunctionSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.callFunction'),\n params: Script.CallFunctionParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.evaluate'),\n params: Script.EvaluateParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.EvaluateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n expression: zod_1.default.string(),\n target: Script.TargetSchema,\n awaitPromise: zod_1.default.boolean(),\n resultOwnership: Script.ResultOwnershipSchema.optional(),\n serializationOptions: Script.SerializationOptionsSchema.optional(),\n userActivation: zod_1.default.boolean().default(false).optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.getRealms'),\n params: Script.GetRealmsParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema.optional(),\n type: Script.RealmTypeSchema.optional(),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.GetRealmsResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n realms: zod_1.default.array(Script.RealmInfoSchema),\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemovePreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.removePreloadScript'),\n params: Script.RemovePreloadScriptParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RemovePreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n script: Script.PreloadScriptSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MessageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n channel: Script.ChannelSchema,\n data: Script.RemoteValueSchema,\n source: Script.SourceSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.realmCreated'),\n params: Script.RealmInfoSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.MessageSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.message'),\n params: Script.MessageParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('script.realmDestroyed'),\n params: Script.RealmDestroyedParametersSchema,\n }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n Script.RealmDestroyedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n realm: Script.RealmSchema,\n }));\n})(Script || (exports.Script = Script = {}));\nexports.LogEventSchema = zod_1.default.lazy(() => Log.EntryAddedSchema);\nvar Log;\n(function (Log) {\n Log.LevelSchema = zod_1.default.lazy(() => zod_1.default.enum(['debug', 'info', 'warn', 'error']));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.EntrySchema = zod_1.default.lazy(() => zod_1.default.union([\n Log.GenericLogEntrySchema,\n Log.ConsoleLogEntrySchema,\n Log.JavascriptLogEntrySchema,\n ]));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.BaseLogEntrySchema = zod_1.default.lazy(() => zod_1.default.object({\n level: Log.LevelSchema,\n source: Script.SourceSchema,\n text: zod_1.default.union([zod_1.default.string(), zod_1.default.null()]),\n timestamp: exports.JsUintSchema,\n stackTrace: Script.StackTraceSchema.optional(),\n }));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.GenericLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.string(),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.ConsoleLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.literal('console'),\n method: zod_1.default.string(),\n args: zod_1.default.array(Script.RemoteValueSchema),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.JavascriptLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n type: zod_1.default.literal('javascript'),\n })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n Log.EntryAddedSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('log.entryAdded'),\n params: Log.EntrySchema,\n }));\n})(Log || (exports.Log = Log = {}));\nexports.InputCommandSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PerformActionsSchema, Input.ReleaseActionsSchema]));\nvar Input;\n(function (Input) {\n Input.ElementOriginSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('element'),\n element: Script.SharedReferenceSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PerformActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n actions: zod_1.default.array(Input.SourceActionsSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.NoneSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('none'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.NoneSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeySourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('key'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.KeySourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pointer'),\n id: zod_1.default.string(),\n parameters: Input.PointerParametersSchema.optional(),\n actions: zod_1.default.array(Input.PointerSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PerformActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('input.performActions'),\n params: Input.PerformActionsParametersSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.SourceActionsSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.NoneSourceActionsSchema,\n Input.KeySourceActionsSchema,\n Input.PointerSourceActionsSchema,\n Input.WheelSourceActionsSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.NoneSourceActionSchema = zod_1.default.lazy(() => Input.PauseActionSchema);\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeySourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.PauseActionSchema,\n Input.KeyDownActionSchema,\n Input.KeyUpActionSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['mouse', 'pen', 'touch']));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n pointerType: Input.PointerTypeSchema.default('mouse').optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('wheel'),\n id: zod_1.default.string(),\n actions: zod_1.default.array(Input.WheelSourceActionSchema),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n Input.PauseActionSchema,\n Input.PointerDownActionSchema,\n Input.PointerUpActionSchema,\n Input.PointerMoveActionSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PauseActionSchema, Input.WheelScrollActionSchema]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PauseActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('pause'),\n duration: exports.JsUintSchema.optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeyDownActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('keyDown'),\n value: zod_1.default.string(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.KeyUpActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('keyUp'),\n value: zod_1.default.string(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerUpActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerUp'),\n button: exports.JsUintSchema,\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerDownActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerDown'),\n button: exports.JsUintSchema,\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerMoveActionSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n type: zod_1.default.literal('pointerMove'),\n x: exports.JsIntSchema,\n y: exports.JsIntSchema,\n duration: exports.JsUintSchema.optional(),\n origin: Input.OriginSchema.optional(),\n })\n .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.WheelScrollActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n type: zod_1.default.literal('scroll'),\n x: exports.JsIntSchema,\n y: exports.JsIntSchema,\n deltaX: exports.JsIntSchema,\n deltaY: exports.JsIntSchema,\n duration: exports.JsUintSchema.optional(),\n origin: Input.OriginSchema.default('viewport').optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.PointerCommonPropertiesSchema = zod_1.default.lazy(() => zod_1.default\n .object({\n width: exports.JsUintSchema.default(1).optional(),\n height: exports.JsUintSchema.default(1).optional(),\n pressure: zod_1.default.number().default(0).optional(),\n tangentialPressure: zod_1.default.number().default(0).optional(),\n twist: zod_1.default\n .number()\n .int()\n .nonnegative()\n .gte(0)\n .lte(359)\n .default(0)\n .optional(),\n })\n .and(zod_1.default.union([Input.TiltPropertiesSchema, Input.AnglePropertiesSchema])));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.AnglePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n altitudeAngle: zod_1.default.number().default(0).optional(),\n azimuthAngle: zod_1.default.number().default(0).optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.TiltPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n tiltX: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n tiltY: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.OriginSchema = zod_1.default.lazy(() => zod_1.default.union([\n zod_1.default.literal('viewport'),\n zod_1.default.literal('pointer'),\n Input.ElementOriginSchema,\n ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.ReleaseActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n method: zod_1.default.literal('input.releaseActions'),\n params: Input.ReleaseActionsParametersSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n Input.ReleaseActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n context: BrowsingContext.BrowsingContextSchema,\n }));\n})(Input || (exports.Input = Input = {}));\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cdp = exports.Input = exports.Session = exports.BrowsingContext = exports.Script = exports.Network = exports.parseObject = void 0;\n/**\n * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.\n * Parser types should match the `../protocol` types.\n */\nconst zod_1 = require(\"zod\");\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst WebDriverBidi = __importStar(require(\"./webdriver-bidi.js\"));\nfunction parseObject(obj, schema) {\n const parseResult = schema.safeParse(obj);\n if (parseResult.success) {\n return parseResult.data;\n }\n const errorMessage = parseResult.error.errors\n .map((e) => `${e.message} in ` +\n `${e.path.map((p) => JSON.stringify(p)).join('/')}.`)\n .join(' ');\n throw new protocol_js_1.InvalidArgumentException(errorMessage);\n}\nexports.parseObject = parseObject;\n/** @see https://w3c.github.io/webdriver-bidi/#module-network */\nvar Network;\n(function (Network) {\n function parseAddInterceptParameters(params) {\n return parseObject(params, WebDriverBidi.Network.AddInterceptParametersSchema);\n }\n Network.parseAddInterceptParameters = parseAddInterceptParameters;\n function parseContinueRequestParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueRequestParametersSchema);\n }\n Network.parseContinueRequestParameters = parseContinueRequestParameters;\n function parseContinueResponseParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueResponseParametersSchema);\n }\n Network.parseContinueResponseParameters = parseContinueResponseParameters;\n function parseContinueWithAuthParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ContinueWithAuthParametersSchema);\n }\n Network.parseContinueWithAuthParameters = parseContinueWithAuthParameters;\n function parseFailRequestParameters(params) {\n return parseObject(params, WebDriverBidi.Network.FailRequestParametersSchema);\n }\n Network.parseFailRequestParameters = parseFailRequestParameters;\n function parseProvideResponseParameters(params) {\n return parseObject(params, WebDriverBidi.Network.ProvideResponseParametersSchema);\n }\n Network.parseProvideResponseParameters = parseProvideResponseParameters;\n function parseRemoveInterceptParameters(params) {\n return parseObject(params, WebDriverBidi.Network.RemoveInterceptParametersSchema);\n }\n Network.parseRemoveInterceptParameters = parseRemoveInterceptParameters;\n})(Network || (exports.Network = Network = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-script */\nvar Script;\n(function (Script) {\n function parseGetRealmsParams(params) {\n return parseObject(params, WebDriverBidi.Script.GetRealmsParametersSchema);\n }\n Script.parseGetRealmsParams = parseGetRealmsParams;\n function parseEvaluateParams(params) {\n return parseObject(params, WebDriverBidi.Script.EvaluateParametersSchema);\n }\n Script.parseEvaluateParams = parseEvaluateParams;\n function parseDisownParams(params) {\n return parseObject(params, WebDriverBidi.Script.DisownParametersSchema);\n }\n Script.parseDisownParams = parseDisownParams;\n function parseAddPreloadScriptParams(params) {\n return parseObject(params, WebDriverBidi.Script.AddPreloadScriptParametersSchema);\n }\n Script.parseAddPreloadScriptParams = parseAddPreloadScriptParams;\n function parseRemovePreloadScriptParams(params) {\n return parseObject(params, WebDriverBidi.Script.RemovePreloadScriptParametersSchema);\n }\n Script.parseRemovePreloadScriptParams = parseRemovePreloadScriptParams;\n function parseCallFunctionParams(params) {\n return parseObject(params, WebDriverBidi.Script.CallFunctionParametersSchema);\n }\n Script.parseCallFunctionParams = parseCallFunctionParams;\n})(Script || (exports.Script = Script = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */\nvar BrowsingContext;\n(function (BrowsingContext) {\n function parseActivateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.ActivateParametersSchema);\n }\n BrowsingContext.parseActivateParams = parseActivateParams;\n function parseGetTreeParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.GetTreeParametersSchema);\n }\n BrowsingContext.parseGetTreeParams = parseGetTreeParams;\n function parseNavigateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.NavigateParametersSchema);\n }\n BrowsingContext.parseNavigateParams = parseNavigateParams;\n function parseReloadParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.ReloadParametersSchema);\n }\n BrowsingContext.parseReloadParams = parseReloadParams;\n function parseCreateParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CreateParametersSchema);\n }\n BrowsingContext.parseCreateParams = parseCreateParams;\n function parseCloseParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CloseParametersSchema);\n }\n BrowsingContext.parseCloseParams = parseCloseParams;\n function parseCaptureScreenshotParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.CaptureScreenshotParametersSchema);\n }\n BrowsingContext.parseCaptureScreenshotParams = parseCaptureScreenshotParams;\n function parsePrintParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.PrintParametersSchema);\n }\n BrowsingContext.parsePrintParams = parsePrintParams;\n function parseSetViewportParams(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.SetViewportParametersSchema);\n }\n BrowsingContext.parseSetViewportParams = parseSetViewportParams;\n function parseHandleUserPromptParameters(params) {\n return parseObject(params, WebDriverBidi.BrowsingContext.HandleUserPromptParametersSchema);\n }\n BrowsingContext.parseHandleUserPromptParameters = parseHandleUserPromptParameters;\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-session */\nvar Session;\n(function (Session) {\n function parseSubscribeParams(params) {\n return parseObject(params, WebDriverBidi.Session.SubscriptionRequestSchema);\n }\n Session.parseSubscribeParams = parseSubscribeParams;\n})(Session || (exports.Session = Session = {}));\nvar Input;\n(function (Input) {\n function parsePerformActionsParams(params) {\n return parseObject(params, WebDriverBidi.Input.PerformActionsParametersSchema);\n }\n Input.parsePerformActionsParams = parsePerformActionsParams;\n function parseReleaseActionsParams(params) {\n return parseObject(params, WebDriverBidi.Input.ReleaseActionsParametersSchema);\n }\n Input.parseReleaseActionsParams = parseReleaseActionsParams;\n})(Input || (exports.Input = Input = {}));\nvar Cdp;\n(function (Cdp) {\n const SendCommandRequestSchema = zod_1.z.object({\n // Allowing any cdpMethod, and casting to proper type later on.\n method: zod_1.z.string(),\n // `passthrough` allows object to have any fields.\n // https://github.com/colinhacks/zod#passthrough\n params: zod_1.z.object({}).passthrough().optional(),\n session: zod_1.z.string().optional(),\n });\n const GetSessionRequestSchema = zod_1.z.object({\n context: WebDriverBidi.BrowsingContext.BrowsingContextSchema,\n });\n function parseSendCommandRequest(params) {\n return parseObject(params, SendCommandRequestSchema);\n }\n Cdp.parseSendCommandRequest = parseSendCommandRequest;\n function parseGetSessionRequest(params) {\n return parseObject(params, GetSessionRequestSchema);\n }\n Cdp.parseGetSessionRequest = parseGetSessionRequest;\n})(Cdp || (exports.Cdp = Cdp = {}));\n//# sourceMappingURL=protocol-parser.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiParserImpl = void 0;\nconst Parser = __importStar(require(\"../protocol-parser/protocol-parser.js\"));\nclass BidiParserImpl {\n // Browsing Context domain\n // keep-sorted start block=yes\n parseActivateParams(params) {\n return Parser.BrowsingContext.parseActivateParams(params);\n }\n parseCaptureScreenshotParams(params) {\n return Parser.BrowsingContext.parseCaptureScreenshotParams(params);\n }\n parseCloseParams(params) {\n return Parser.BrowsingContext.parseCloseParams(params);\n }\n parseCreateParams(params) {\n return Parser.BrowsingContext.parseCreateParams(params);\n }\n parseGetTreeParams(params) {\n return Parser.BrowsingContext.parseGetTreeParams(params);\n }\n parseHandleUserPromptParams(params) {\n return Parser.BrowsingContext.parseHandleUserPromptParameters(params);\n }\n parseNavigateParams(params) {\n return Parser.BrowsingContext.parseNavigateParams(params);\n }\n parsePrintParams(params) {\n return Parser.BrowsingContext.parsePrintParams(params);\n }\n parseReloadParams(params) {\n return Parser.BrowsingContext.parseReloadParams(params);\n }\n parseSetViewportParams(params) {\n return Parser.BrowsingContext.parseSetViewportParams(params);\n }\n // keep-sorted end\n // CDP domain\n // keep-sorted start block=yes\n parseGetSessionParams(params) {\n return Parser.Cdp.parseGetSessionRequest(params);\n }\n parseSendCommandParams(params) {\n return Parser.Cdp.parseSendCommandRequest(params);\n }\n // keep-sorted end\n // Input domain\n // keep-sorted start block=yes\n parsePerformActionsParams(params) {\n return Parser.Input.parsePerformActionsParams(params);\n }\n parseReleaseActionsParams(params) {\n return Parser.Input.parseReleaseActionsParams(params);\n }\n // keep-sorted end\n // Network domain\n // keep-sorted start block=yes\n parseAddInterceptParams(params) {\n return Parser.Network.parseAddInterceptParameters(params);\n }\n parseContinueRequestParams(params) {\n return Parser.Network.parseContinueRequestParameters(params);\n }\n parseContinueResponseParams(params) {\n return Parser.Network.parseContinueResponseParameters(params);\n }\n parseContinueWithAuthParams(params) {\n return Parser.Network.parseContinueWithAuthParameters(params);\n }\n parseFailRequestParams(params) {\n return Parser.Network.parseFailRequestParameters(params);\n }\n parseProvideResponseParams(params) {\n return Parser.Network.parseProvideResponseParameters(params);\n }\n parseRemoveInterceptParams(params) {\n return Parser.Network.parseRemoveInterceptParameters(params);\n }\n // keep-sorted end\n // Script domain\n // keep-sorted start block=yes\n parseAddPreloadScriptParams(params) {\n return Parser.Script.parseAddPreloadScriptParams(params);\n }\n parseCallFunctionParams(params) {\n return Parser.Script.parseCallFunctionParams(params);\n }\n parseDisownParams(params) {\n return Parser.Script.parseDisownParams(params);\n }\n parseEvaluateParams(params) {\n return Parser.Script.parseEvaluateParams(params);\n }\n parseGetRealmsParams(params) {\n return Parser.Script.parseGetRealmsParams(params);\n }\n parseRemovePreloadScriptParams(params) {\n return Parser.Script.parseRemovePreloadScriptParams(params);\n }\n // keep-sorted end\n // Session domain\n // keep-sorted start block=yes\n parseSubscribeParams(params) {\n return Parser.Session.parseSubscribeParams(params);\n }\n}\nexports.BidiParserImpl = BidiParserImpl;\n//# sourceMappingURL=BidiParserImpl.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.log = exports.generatePage = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst log_js_1 = require(\"../utils/log.js\");\n/** HTML source code for the user-facing Mapper tab. */\nconst mapperPageSource = '<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class=\"card\"><div class=\"item\"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target=\"_blank\" title=\"BiDi-CDP Mapper GitHub Repository\" href=\"https://github.com/GoogleChromeLabs/chromium-bidi\">Details.</a></p></div><div class=\"divider\"></div><details id=\"details\"><summary class=\"item\">Debug information</summary></details></div>';\n/**\n * The following piece of HTML should be added to the `debug` element:\n *\n * <div class=\"divider\"></div>\n * <div class=\"item\">\n * <h3>${name}</h3>\n * <div id=\"${name}_log\" class=\"log\">\n */\nfunction findOrCreateTypeLogContainer(logType) {\n const containerId = `${logType}_log`;\n const existingContainer = document.getElementById(containerId);\n if (existingContainer) {\n return existingContainer;\n }\n const debugElement = document.getElementById('details');\n const divider = document.createElement('div');\n divider.className = 'divider';\n debugElement.appendChild(divider);\n const htmlItem = document.createElement('div');\n htmlItem.className = 'item';\n htmlItem.innerHTML = `<h3>${logType}</h3><div id=\"${containerId}\" class=\"log\"></div>`;\n debugElement.appendChild(htmlItem);\n return document.getElementById(containerId);\n}\nfunction generatePage() {\n // If run not in browser (e.g. unit test), do nothing.\n if (!globalThis.document.documentElement) {\n return;\n }\n globalThis.document.documentElement.innerHTML = mapperPageSource;\n // Create main log containers in proper order.\n findOrCreateTypeLogContainer(log_js_1.LogType.debug);\n findOrCreateTypeLogContainer(log_js_1.LogType.bidi);\n findOrCreateTypeLogContainer(log_js_1.LogType.cdp);\n}\nexports.generatePage = generatePage;\nfunction log(logType, ...messages) {\n // If run not in browser (e.g. unit test), do nothing.\n if (!globalThis.document.documentElement) {\n return;\n }\n // If `sendDebugMessage` is defined, send the log message there.\n global.window?.sendDebugMessage?.(JSON.stringify({ logType, messages }));\n const typeLogContainer = findOrCreateTypeLogContainer(logType);\n // This piece of HTML should be added:\n // <div class=\"pre\">...log message...</div>\n const lineElement = document.createElement('div');\n lineElement.className = 'pre';\n lineElement.textContent = messages.join(' ');\n typeLogContainer.appendChild(lineElement);\n}\nexports.log = log;\n//# sourceMappingURL=mapperTabPage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @license\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bidiMapper_js_1 = require(\"../bidiMapper/bidiMapper.js\");\nconst cdpConnection_js_1 = require(\"../cdp/cdpConnection.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiParserImpl_1 = require(\"./BidiParserImpl\");\nconst mapperTabPage_js_1 = require(\"./mapperTabPage.js\");\n// Initiate `setSelfTargetId` as soon as possible to prevent race condition.\nconst waitSelfTargetIdPromise = waitSelfTargetId();\nvoid (async () => {\n (0, mapperTabPage_js_1.generatePage)();\n // Needed to filter out info related to BiDi target.\n const selfTargetId = await waitSelfTargetIdPromise;\n const bidiServer = await createBidiServer(selfTargetId);\n (0, mapperTabPage_js_1.log)(log_js_1.LogType.debug, 'Launched');\n bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingMessage.createResolved({\n launched: true,\n }), 'launched');\n})();\nfunction createCdpConnection() {\n /**\n * A CdpTransport implementation that uses the window.cdp bindings\n * injected by Target.exposeDevToolsProtocol.\n */\n class WindowCdpTransport {\n #onMessage = null;\n constructor() {\n window.cdp.onmessage = (message) => {\n this.#onMessage?.call(null, message);\n };\n }\n setOnMessage(onMessage) {\n this.#onMessage = onMessage;\n }\n sendMessage(message) {\n window.cdp.send(message);\n }\n close() {\n this.#onMessage = null;\n window.cdp.onmessage = null;\n }\n }\n return new cdpConnection_js_1.CdpConnection(new WindowCdpTransport(), mapperTabPage_js_1.log);\n}\nfunction createBidiServer(selfTargetId) {\n class WindowBidiTransport {\n #onMessage = null;\n constructor() {\n window.onBidiMessage = (messageStr) => {\n (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:RECV ◂`, messageStr);\n let messageObject;\n try {\n messageObject = WindowBidiTransport.#parseBidiMessage(messageStr);\n }\n catch (e) {\n // Transport-level error does not provide channel.\n this.#respondWithError(messageStr, \"invalid argument\" /* ErrorCode.InvalidArgument */, e.message, null);\n return;\n }\n this.#onMessage?.call(null, messageObject);\n };\n }\n setOnMessage(onMessage) {\n this.#onMessage = onMessage;\n }\n sendMessage(message) {\n const messageStr = JSON.stringify(message);\n window.sendBidiResponse(messageStr);\n (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:SEND ▸`, messageStr);\n }\n close() {\n this.#onMessage = null;\n window.onBidiMessage = null;\n }\n #respondWithError(plainCommandData, errorCode, errorMessage, channel) {\n const errorResponse = WindowBidiTransport.#getErrorResponse(plainCommandData, errorCode, errorMessage);\n if (channel) {\n // XXX: get rid of any, same code existed in BidiServer.\n this.sendMessage({\n ...errorResponse,\n channel,\n });\n }\n else {\n this.sendMessage(errorResponse);\n }\n }\n static #getJsonType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n }\n static #getErrorResponse(messageStr, errorCode, errorMessage) {\n // XXX: this is bizarre per spec. We reparse the payload and\n // extract the ID, regardless of what kind of value it was.\n let messageId;\n try {\n const messageObj = JSON.parse(messageStr);\n if (WindowBidiTransport.#getJsonType(messageObj) === 'object' &&\n 'id' in messageObj) {\n messageId = messageObj.id;\n }\n }\n catch { }\n return {\n type: 'error',\n id: messageId,\n error: errorCode,\n message: errorMessage,\n // XXX: optional stacktrace field.\n };\n }\n static #parseBidiMessage(messageStr) {\n let messageObject;\n try {\n messageObject = JSON.parse(messageStr);\n }\n catch {\n throw new Error('Cannot parse data as JSON');\n }\n const parsedType = WindowBidiTransport.#getJsonType(messageObject);\n if (parsedType !== 'object') {\n throw new Error(`Expected JSON object but got ${parsedType}`);\n }\n // Extract and validate id, method and params.\n const { id, method, params } = messageObject;\n const idType = WindowBidiTransport.#getJsonType(id);\n if (idType !== 'number' || !Number.isInteger(id) || id < 0) {\n // TODO: should uint64_t be the upper limit?\n // https://tools.ietf.org/html/rfc7049#section-2.1\n throw new Error(`Expected unsigned integer but got ${idType}`);\n }\n const methodType = WindowBidiTransport.#getJsonType(method);\n if (methodType !== 'string') {\n throw new Error(`Expected string method but got ${methodType}`);\n }\n const paramsType = WindowBidiTransport.#getJsonType(params);\n if (paramsType !== 'object') {\n throw new Error(`Expected object params but got ${paramsType}`);\n }\n let channel = messageObject.channel;\n if (channel !== undefined) {\n const channelType = WindowBidiTransport.#getJsonType(channel);\n if (channelType !== 'string') {\n throw new Error(`Expected string channel but got ${channelType}`);\n }\n // Empty string channel is considered as no channel provided.\n if (channel === '') {\n channel = undefined;\n }\n }\n return { id, method, params, channel };\n }\n }\n return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl_1.BidiParserImpl(), mapperTabPage_js_1.log);\n}\n// Needed to filter out info related to BiDi target.\nasync function waitSelfTargetId() {\n return new Promise((resolve) => {\n window.setSelfTargetId = (targetId) => {\n (0, mapperTabPage_js_1.log)(log_js_1.LogType.debug, 'Current target ID:', targetId);\n resolve(targetId);\n };\n });\n}\n//# sourceMappingURL=bidiTab.js.map"],"names":["n","all","Map","on","t","e","i","get","push","set","off","splice","indexOf","emit","slice","map","__importDefault","this","mod","__esModule","default","Object","defineProperty","EventEmitter_1","value","EventEmitter","mitt_1","require$$0","EventEmitter$1","emitter","type","handler","once","event","onceHandler","eventData","removeAllListeners","delete","clear","LogType","log","processingQueue","ProcessingQueue","log_js_1","static","debug","logger","processor","queue","isProcessing","constructor","add","entry","name","processIfNeeded","length","arrayEntry","shift","entryPromise","LOGGER_PREFIX","undefined","then","kind","debugError","error","catch","cdp","BiDiModule","Script","Log","BrowsingContext","Network","chromiumBidi","EventNames","webdriverBidi","ErrorResponse","UnsupportedOperationException","UnableToCloseBrowserException","UnableToCaptureScreenException","UnknownCommandException","SessionNotCreatedException","NoSuchScriptException","NoSuchRequestException","NoSuchInterceptException","NoSuchHandleException","NoSuchFrameException","NoSuchElementException","MoveTargetOutOfBoundsException","InvalidSessionIdException","InvalidArgumentException","Exception","message","stacktrace","toErrorResponse","commandId","id","super","NoSuchAlertException","NoSuchNodeException","UnknownErrorException","Error","stack","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","enumerable","__setModuleDefault","v","__importStar","result","prototype","hasOwnProperty","call","__exportStar","exports","p","ChromiumBidi","Cdp","require$$1","require$$2","require$$3","BidiNoOpParser_1","BidiNoOpParser","BidiNoOpParser$1","parseActivateParams","params","parseCaptureScreenshotParams","parseCloseParams","parseCreateParams","parseGetTreeParams","parseHandleUserPromptParams","parseNavigateParams","parsePrintParams","parseReloadParams","parseSetViewportParams","parseGetSessionParams","parseSendCommandParams","parseAddPreloadScriptParams","parseCallFunctionParams","parseDisownParams","parseEvaluateParams","parseGetRealmsParams","parseRemovePreloadScriptParams","parsePerformActionsParams","parseReleaseActionsParams","parseAddInterceptParams","parseContinueRequestParams","parseContinueResponseParams","parseContinueWithAuthParams","parseFailRequestParams","parseProvideResponseParams","parseRemoveInterceptParams","parseSubscribeParams","OutgoingMessage_1","OutgoingMessage","channel","createFromPromise","messagePromise","createResolved","Promise","resolve","OutgoingMessage$1","BrowserProcessor_1","BrowserProcessor","BrowserProcessor$1","cdpConnection","close","client","browserClient","setTimeout","sendCommand","CdpProcessor_1","CdpProcessor","CdpProcessor$1","browsingContextStorage","getSession","context","sessionId","getContext","cdpTarget","cdpSessionId","session","getCdpClient","method","deferred","Deferred","isFinished","promise","reject","_error","onFulfilled","onRejected","reason","onFinally","finally","Symbol","toStringTag","unitConversions","inchesFromCm","cm","uuid","uuidv4","globalThis","crypto","randomUUID","randomValues","Uint8Array","getRandomValues","require","webcrypto","bytesToHex","bytes","reduce","str","byte","toString","padStart","subarray","join","ChannelProxy_1","ChannelProxy","protocol_js_1","uuid_js_1","properties","init","realm","eventManager","channelHandle","createAndGetHandleInRealm","sendMessageHandle","createSendMessageHandle","startListener","startListenerFromWindow","getHandleFromWindow","createChannelProxyEvalStr","String","queueNonEmptyResolver","getMessage","onMessage","sendMessage","createChannelHandleResult","cdpClient","expression","contextId","executionContextId","serializationOptions","serialization","exceptionDetails","objectId","functionDeclaration","arguments","async","awaitPromise","maxObjectDepth","maxDepth","registerEvent","MessageEvent","data","cdpToBidiValue","ownership","source","realmId","browsingContextId","channelHandleResult","w","window","channelProxy","getEvalInWindowStr","delegate","channelProxyEval","ChannelProxy$1","Realm_1","Realm","ChannelProxy_js_1","SHARED_ID_DIVIDER","realmStorage","origin","sandbox","addRealm","RealmCreated","realmInfo","cdpValue","resultOwnership","bidiValue","deepSerializedToBiDi","deepSerializedValue","handle","knownHandlesToRealmMap","releaseObject","subtype","hasOwn","internalId","weakLocalObjectReference","sharedId","navigableId","backendNodeId","children","shadowRoot","includes","findContext","evaluate","userActivation","targetUnblocked","cdpEvaluateResult","getSerializationOptions","userGesture","getExceptionResult","serializeCdpObject","cdpRemoteObject","argument","cdpRemoteObjectToCallArgument","remoteObject","unserializableValue","stringifyObject","returnByValue","flattenKeyValuePairs","mappingLocalValue","keyValueArray","key","keyArg","deserializeToCdpArg","valueArg","flattenValueList","listLocalValue","localValue","serializeCdpExceptionDetails","cdpExceptionDetails","lineOffset","callFrames","stackTrace","frame","url","functionName","lineNumber","columnNumber","exception","text","callFunction","thisLocalValue","argumentsLocalValues","callFunctionAndSerializeScript","thisAndArgumentsList","argumentLocalValue","cdpCallFunctionResult","code","rawBackendNodeId","split","parseInt","isNaN","object","Boolean","JSON","stringify","pattern","flags","args","Set","additionalParameters","getAdditionalSerializationParameters","getMaxObjectDepth","maxDomDepth","includeShadowTree","disown","dispose","RealmDestroyed","Realm$1","assert_1","assert","assert$1","predicate","BrowsingContextImpl_1","BrowsingContextImpl","deferred_js_1","unitConversions_js_1","Realm_js_1","require$$4","assert_js_1","require$$5","parentId","deferreds","Page","navigatedWithinDocument","lifecycleEvent","DOMContentLoaded","load","frameStartedLoading","loaderId","maybeDefaultRealm","initListeners","addContext","isTopLevelContext","parent","addChild","ContextCreatedEvent","serializeToBidiValue","getTimestamp","Date","getTime","deleteAllChildren","deleteRealms","ContextDestroyedEvent","deleteContextById","directChildren","allChildren","concat","child","top","topContext","childId","defaultRealm","updateCdpTarget","lifecycleLoaded","getOrCreateSandbox","maybeSandboxes","findRealms","frameId","worldName","addParentField","c","onTargetInfoChanged","targetInfo","urlFragment","timestamp","FragmentNavigated","navigation","NavigationStarted","documentChanged","DomContentLoadedEvent","LoadEvent","auxData","uniqueId","getOrigin","isDefault","getChannels","UserPromptClosed","accepted","userText","userInput","UserPromptOpened","resetDeferredsIfFinished","navigate","wait","URL","cdpNavigateResult","errorText","reload","ignoreCache","setViewport","viewport","width","height","deviceScaleFactor","mobile","dontSetVisibleSize","err","startsWith","handleUserPrompt","accept","promptText","activate","captureScreenshot","rect","parseRect","clip","cssContentSize","cssLayoutViewport","x","y","clientWidth","clientHeight","first","second","normalizeRect","Math","max","min","getIntersectionRect","scale","print","cdpParams","background","printBackground","margin","bottom","marginBottom","left","marginLeft","right","marginRight","marginTop","orientation","landscape","page","paperHeight","paperWidth","pageRanges","range","rangeParts","parseInteger","lowerBound","upperBound","rangeLowerPart","rangeUpperPart","Number","MAX_SAFE_INTEGER","shrinkToFit","preferCSSPageSize","scrollIntoView","element","Element","getBoundingClientRect","find","deserializeDOMRect","box","trim","test","logHelper","getRemoteValuesText","logMessageFormatter","specifiers","isFormatSpecifier","some","spec","output","argFormat","argValues","tokens","RegExp","token","arg","stringFromArg","parseFloat","toJson","pair","val","formatText","LogManager_1","LogManager","logHelper_js_1","getBidiStackTrace","cdpStackTrace","stackFrames","callFrame","logManager","initializeEntryAddedEventListener","findRealm","argsPromise","registerPromiseEvent","LogEntryAddedEvent","level","consoleApiType","round","textPromise","LogManager$1","NetworkManager_1","NetworkManager","networkStorage","forgetNetworkRequest","requestId","deleteRequest","getOrCreateNetworkRequest","getRequest","networkManager","disposeRequestMap","onRequestWillBeSentEvent","onRequestWillBeSentExtraInfoEvent","onResponseReceivedEvent","onResponseReceivedEventExtraInfo","onServedFromCache","onLoadingFailedEvent","NetworkManager$1","CdpTarget_1","CdpTarget","LogManager_js_1","NetworkManager_js_1","targetId","preloadScriptStorage","setEventListeners","unblock","fetchEnable","getFetchEnableParams","fetchDisable","fetchApply","promises","enabled","autoAttach","waitForDebuggerOnStart","flatten","initAndEvaluatePreloadScripts","isCloseError","flatMap","script","channels","initInTarget","CdpTarget$1","BrowsingContextProcessor_1","BrowsingContextProcessor","BrowsingContextImpl_js_1","CdpTarget_js_1","BrowsingContextProcessor$1","selfTargetId","getTree","contexts","root","getTopLevelContexts","MAX_VALUE","browserCdpClient","referenceContext","newWindow","commandParams","detachedFromTargetPromise","onContextDestroyed","handleAttachedToTargetEvent","handleDetachedFromTargetEvent","handleTargetInfoChangedEvent","handleFrameAttachedEvent","handleFrameDetachedEvent","parentBrowsingContext","parentFrameId","parentSessionCdpClient","targetCdpClient","isValidTarget","maybeContext","preloadScript","target","Mutex_1","Mutex","Mutex$1","locked","acquirers","acquire","state","resolved","release","bind","run","action","InputSource","WheelSource","KeySource","NoneSource","pressed","modifiers","alt","setModifier","ctrl","meta","bit","PointerSource","pointerId","buttons","button","clickCount","lastClick","setClickCount","timeStamp","DOUBLE_CLICK_TIME_MS","abs","MAX_DOUBLE_CLICK_RADIUS","InputState_1","InputState","Mutex_js_1","InputSource_js_1","InputState$1","cancelList","sources","mutex","getOrCreate","pointerIds","has","getGlobalKeyState","InputStateManager_1","InputStateManager","InputState_js_1","WeakMap","InputStateManager$1","USKeyboardLayout","KeyToKeyCode","Abort","Help","Backspace","Tab","Numpad5","NumpadEnter","Enter","ShiftLeft","ShiftRight","ControlLeft","ControlRight","AltLeft","AltRight","Pause","CapsLock","Escape","Convert","NonConvert","Space","Numpad9","PageUp","Numpad3","PageDown","End","Numpad1","Home","Numpad7","ArrowLeft","Numpad4","Numpad8","ArrowUp","ArrowRight","Numpad6","Numpad2","ArrowDown","Select","Open","PrintScreen","Insert","Numpad0","Delete","NumpadDecimal","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","MetaLeft","MetaRight","ContextMenu","NumpadMultiply","NumpadAdd","NumpadSubtract","NumpadDivide","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","AudioVolumeMute","AudioVolumeDown","AudioVolumeUp","MediaTrackNext","MediaTrackPrevious","MediaStop","MediaPlayPause","Semicolon","Equal","NumpadEqual","Comma","Minus","Period","Slash","Backquote","BracketLeft","Backslash","BracketRight","Quote","AltGraph","Props","Cancel","Clear","Shift","Control","Alt","Accept","ModeChange","Print","Execute","a","b","d","f","g","h","j","l","q","r","s","u","z","Meta","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","$","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","Camera","EndCall","VolumeDown","VolumeUp","keyUtils","getKeyLocation","getKeyCode","getNormalizedKey","ActionDispatcher_1","ActionDispatcher","USKeyboardLayout_js_1","keyUtils_js_1","CALCULATE_IN_VIEW_CENTER_PT_DECL","getClientRects","innerWidth","innerHeight","IS_MAC_DECL","navigator","platform","toLowerCase","tickStart","tickDuration","inputState","isMacOS","dispatchActions","optionsByTick","options","dispatchTickActions","performance","now","duration","option","dispatchAction","keyState","dispatchKeyDownAction","dispatchKeyUpAction","dispatchPointerDownAction","dispatchPointerMoveAction","dispatchPointerUpAction","dispatchScrollAction","pointerType","pressure","twist","tangentialPressure","tiltX","tiltY","getCdpButton","force","touchPoints","radiusX","radiusY","startX","startY","offsetX","offsetY","targetX","targetY","getCoordinateFromOrigin","last","ratio","values","next","size","posX","posY","getElementCenter","_source","deltaX","targetDeltaX","deltaY","targetDeltaY","currentDeltaX","currentDeltaY","rawKey","repeat","location","unmodifiedText","getKeyEventUnmodifiedText","getKeyEventText","command","windowsVirtualKeyCode","autoRepeat","isSystemKey","isKeypad","commands","toLocaleUpperCase","InputProcessor_1","InputProcessor","InputStateManager_js_1","ActionDispatcher_js_1","InputProcessor$1","inputStateManager","performActions","actionsByTick","getActionsByTick","dispatcher","releaseActions","reverse","actions","parameters","item","PreloadScriptStorage_1","PreloadScriptStorage","PreloadScriptStorage$1","scripts","filter","targetIds","remove","PreloadScript_1","PreloadScript","PreloadScript$1","cdpPreloadScripts","getEvaluateString","channelsArgStr","initInTargets","cdpTargets","runImmediately","Array","from","addCdpPreloadScriptResult","preloadScriptId","identifier","cdpPreloadScript","cdpPreloadScriptId","cdpTargetId","ScriptProcessor_1","ScriptProcessor","protocol_1","ScriptProcessor$1","addPreloadScript","removePreloadScript","bidiId","getRealm","handles","getRealms","realms","DefaultMap_1","DefaultMap","getDefaultValue","entries","DefaultMap$1","NetworkRequest_1","NetworkRequest","servedFromCache","redirectCount","requestWillBeSentEvent","requestWillBeSentExtraInfoEvent","responseReceivedEvent","responseReceivedExtraInfoEvent","beforeRequestSentDeferred","responseReceivedDeferred","sendBeforeRequestEvent","hasExtraInfo","sendResponseReceivedEvent","FetchErrorEvent","getBaseEventParams","isBlocked","getNavigationId","request","getRequestData","wallTime","cookies","getCookies","associatedCookies","unknown","headers","getHeaders","headersSize","bodySize","timings","timeOrigin","requestTime","redirectStart","redirectEnd","fetchStart","dnsStart","dnsEnd","connectStart","connectEnd","tlsStart","requestStart","responseStart","responseEnd","isIgnoredEvent","assign","getBeforeRequestEvent","BeforeRequestSentEvent","initiator","getInitiatorType","getResponseReceivedEvent","ResponseCompletedEvent","response","fromDiskCache","protocol","status","statusCode","statusText","fromCache","fromPrefetchCache","mimeType","bytesReceived","encodedDataLength","computeResponseHeadersSize","content","total","header","endsWith","initiatorType","blockedReasons","isArray","cookie","domain","path","expires","httpOnly","secure","sameSite","getCookiesSameSite","cdpSameSiteValue","NetworkRequest$1","NetworkStorage_1","NetworkStorage","DefaultMap_js_1","NetworkRequest_js_1","requestMap","interceptMap","blockedRequestMap","addIntercept","intercept","removeIntercept","patterns","urlPatternSpec","urlPatterns","urlPattern","cdpFromSpecUrlPattern","phase","phases","requestStage","requestStageFromPhase","handleAuthRequests","param","buildUrlPatternString","hostname","port","pathname","search","NetworkStorage$1","NetworkProcessor_1","NetworkProcessor","NetworkStorage_js_1","parsedUrlPatterns","parseUrlPatterns","applyIntercepts","continueRequest","_params","continueResponse","continueWithAuth","failRequest","provideResponse","getAllContexts","match","NetworkProcessor$1","SessionProcessor_1","SessionProcessor","SessionProcessor$1","ready","subscribe","events","unsubscribe","CommandProcessor_1","CommandProcessor","EventEmitter_js_1","BidiNoOpParser_js_1","OutgoingMessage_js_1","BrowserProcessor_js_1","CdpProcessor_js_1","require$$6","BrowsingContextProcessor_js_1","require$$7","InputProcessor_js_1","require$$8","PreloadScriptStorage_js_1","require$$9","ScriptProcessor_js_1","require$$10","NetworkProcessor_js_1","require$$11","SessionProcessor_js_1","require$$12","require$$13","browserProcessor","browsingContextProcessor","cdpProcessor","inputProcessor","networkProcessor","scriptProcessor","sessionProcessor","parser","processCommand","bidi","CommandProcessor$1","BrowsingContextStorage_1","BrowsingContextStorage","BrowsingContextStorage$1","deleteContext","hasContext","findTopLevelContextId","buffer","Buffer","capacity","onItemRemoved","idWrapper","IdWrapper","counter","SubscriptionManager_1","SubscriptionManager","unrollEvents","cartesianProduct","flat","allEvents","addEvents","SubscriptionManager$1","subscriptionPriority","channelToContextToEventMap","getChannelsSubscribedToEvent","eventMethod","keys","priority","getEventSubscriptionPriorityForChannel","sort","contextToEventMap","maybeTopLevelContextId","priorities","specificEvent","eventMap","unsubscribeAll","contextIds","checkUnsubscribe","forEach","eventName","EventManager_1","EventManager","buffer_js_1","idWrapper_js_1","SubscriptionManager_js_1","EventWrapper","eventBufferLength","eventToContextsMap","eventBuffers","lastMessageSent","subscriptionManager","bidiServer","getBrowsingContextStorage","getMapKey","browsingContext","eventWrapper","sortedChannels","bufferEvent","emitOutgoingMessage","markEventSent","eventNames","checkEventName","getBufferedEvents","bufferMapKey","lastSentMapKey","lastSentMessageId","Infinity","wrapper","_contextId","e1","e2","EVENT_NAMES","RealmStorage_1","RealmStorage","RealmStorage$1","realmMap","maybeRealms","maybeRealm","BidiServer_1","BidiServer","processingQueue_js_1","CommandProcessor_js_1","BrowsingContextStorage_js_1","EventManager_js_1","RealmStorage_js_1","messageQueue","transport","commandProcessor","handleIncomingMessage","processOutgoingMessage","messageEntry","bidiTransport","setOnMessage","createAndStart","server","discover","topLevelContextsLoaded","BidiServer$1","BidiServer_js_1","CdpClient","CloseError","CdpConnection","cdpClient_js_1","sessionCdpClients","commandCallbacks","nextId","cdpMessage","cdpMessageStr","messageParsed","parse","messagePretty","callbacks","util","getParsedType","ZodParsedType","objectUtil","assertEqual","assertIs","_arg","assertNever","_x","arrayToEnum","items","obj","getValidEnumValues","validKeys","objectKeys","filtered","objectValues","arr","checker","isInteger","isFinite","floor","joinValues","array","separator","jsonStringifyReplacer","mergeShapes","string","nan","number","boolean","function","bigint","symbol","null","date","ZodError_1","ZodError","quotelessJson","util_1","ZodError$1","ZodIssueCode","replace","issues","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","errors","format","_mapper","mapper","issue","fieldErrors","_errors","processError","unionErrors","returnTypeError","argumentsError","curr","el","isEmpty","formErrors","en","_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","position","too_small","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","getErrorMap","setErrorMap","en_1","defaultErrorMap","overrideErrorMap","isAsync","isValid","isDirty","isAborted","OK","DIRTY","INVALID","ParseStatus","addIssueToContext","EMPTY_PATH","makeIssue","errors_1","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","ctx","common","contextualErrorMap","schemaErrorMap","dirty","abort","mergeArray","results","arrayValue","mergeObjectAsync","pairs","syncPairs","mergeObjectSync","finalObject","alwaysSet","freeze","typeAliases","errorUtil","errToObj","discriminatedUnion","coerce","ZodFirstPartyTypeKind","late","ZodSchema","Schema","ZodBranded","BRAND","ZodNaN","ZodCatch","ZodDefault","ZodNullable","ZodTransformer","ZodEffects","ZodPromise","ZodNativeEnum","ZodEnum","ZodLiteral","ZodFunction","ZodSet","ZodMap","ZodRecord","ZodTuple","ZodIntersection","ZodUnion","ZodObject","ZodArray","ZodVoid","ZodNever","ZodUnknown","ZodNull","ZodUndefined","ZodSymbol","ZodDate","ZodBoolean","ZodBigInt","ZodString","ZodType","NEVER","void","union","transformer","strictObject","record","preprocess","pipeline","optional","onumber","oboolean","nullable","never","nativeEnum","literal","lazy","intersection","enum","effect","errorUtil_1","parseUtil_1","ParseInputLazyPath","_cachedPath","_path","_key","handleResult","success","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","def","spa","safeParseAsync","_def","safeParse","parseAsync","refine","refinement","superRefine","nullish","or","and","transform","brand","describe","pipe","isNullable","isOptional","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","_a","maybeAsyncResult","check","getIssueProperties","_refinement","setError","refinementData","schema","typeName","ZodOptional","incoming","defaultValueFunc","innerType","defaultValue","catchValueFunc","catchValue","This","ZodPipeline","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","emojiRegex","ipv4Regex","ipv6Regex","_regex","regex","nonempty","checks","toUpperCase","tooBig","tooSmall","lastIndex","precision","offset","ip","version","_addCheck","email","emoji","cuid","cuid2","ulid","datetime","minLength","maxLength","len","isDatetime","ch","isEmail","isURL","isEmoji","isUUID","isCUID","isCUID2","isULID","isIP","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","toFixed","pow","ZodNumber","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","minValue","maxValue","isInt","BigInt","minDate","maxDate","ZodAny","_any","_unknown","exactLength","deepPartialify","newShape","shape","fieldSchema","unwrap","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","_b","_c","_d","strip","augmentation","merge","merging","setKey","index","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","valid","bKeys","sharedKeys","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","rest","itemIndex","schemas","keySchema","keyType","valueSchema","valueType","third","finalMap","minSize","maxSize","finalizeSet","elements","parsedSet","validate","implement","makeArgsIssue","makeReturnsIssue","returns","fn","parsedArgs","parsedReturns","returnType","func","strictImplement","getter","expectedValues","enumValues","Values","Enum","extract","exclude","opt","nativeEnumValues","promisified","sourceType","processed","checkCtx","fatal","executeRefinement","acc","inner","base","createWithPreprocess","removeDefault","newCtx","removeCatch","inResult","in","out","handleAsync","_fatal","p2","instanceof","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","any","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","tuple","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","Input","LogEventSchema","ScriptResultSchema","ScriptEventSchema","NetworkResultSchema","NetworkEventSchema","BrowsingContextResultSchema","BrowsingContextEventSchema","BrowsingContextCommandSchema","BrowserCommandSchema","Session","SessionResultSchema","SessionCommandSchema","JsUintSchema","JsIntSchema","ExtensibleSchema","EmptyResultSchema","MessageSchema","EmptyParamsSchema","ResultDataSchema","CommandDataSchema","CommandResponseSchema","CommandSchema","EventSchema","zod_1","Browser","EventDataSchema","InputCommandSchema","NetworkCommandSchema","ScriptCommandSchema","ErrorResponseSchema","ErrorCodeSchema","EndSchema","NewSchema","StatusSchema","SubscribeSchema","UnsubscribeSchema","NewResultSchema","StatusResultSchema","CapabilitiesRequestSchema","alwaysMatch","CapabilityRequestSchema","firstMatch","acceptInsecureCerts","browserName","browserVersion","platformName","proxy","proxyType","proxyAutoconfigUrl","ftpProxy","httpProxy","noProxy","sslProxy","socksProxy","socksVersion","SubscriptionRequestSchema","BrowsingContextSchema","NewParametersSchema","capabilities","setWindowRect","CloseSchema","ActivateSchema","CaptureScreenshotSchema","CreateSchema","GetTreeSchema","HandleUserPromptSchema","NavigateSchema","PrintSchema","ReloadSchema","SetViewportSchema","ContextCreatedSchema","ContextDestroyedSchema","NavigationStartedSchema","FragmentNavigatedSchema","DomContentLoadedSchema","LoadSchema","DownloadWillBeginSchema","NavigationAbortedSchema","NavigationFailedSchema","UserPromptClosedSchema","UserPromptOpenedSchema","CaptureScreenshotResultSchema","CreateResultSchema","GetTreeResultSchema","NavigateResultSchema","PrintResultSchema","InfoListSchema","InfoSchema","NavigationSchema","NavigationInfoSchema","ReadinessStateSchema","ActivateParametersSchema","CaptureScreenshotParametersSchema","ClipRectangleSchema","BoxClipRectangleSchema","ElementClipRectangleSchema","SharedReferenceSchema","CloseParametersSchema","CreateParametersSchema","CreateTypeSchema","GetTreeParametersSchema","HandleUserPromptParametersSchema","NavigateParametersSchema","PrintParametersSchema","PrintMarginParametersSchema","PrintPageParametersSchema","ReloadParametersSchema","SetViewportParametersSchema","ViewportSchema","UserPromptClosedParametersSchema","UserPromptOpenedParametersSchema","AddInterceptSchema","ContinueRequestSchema","ContinueResponseSchema","ContinueWithAuthSchema","FailRequestSchema","ProvideResponseSchema","RemoveInterceptSchema","AuthRequiredSchema","BeforeRequestSentSchema","FetchErrorSchema","ResponseCompletedSchema","ResponseStartedSchema","AddInterceptResultSchema","AuthChallengeSchema","scheme","AuthCredentialsSchema","username","password","BaseParametersSchema","RequestDataSchema","intercepts","InterceptSchema","BytesValueSchema","StringValueSchema","Base64ValueSchema","CookieSchema","CookieHeaderSchema","FetchTimingInfoSchema","HeaderSchema","InitiatorSchema","StackTraceSchema","RequestSchema","ResponseContentSchema","ResponseDataSchema","authChallenge","SetCookieHeaderSchema","maxAge","UrlPatternSchema","UrlPatternPatternSchema","UrlPatternStringSchema","AddInterceptParametersSchema","InterceptPhaseSchema","ContinueRequestParametersSchema","body","ContinueResponseParametersSchema","credentials","reasonPhrase","ContinueWithAuthParametersSchema","ContinueWithAuthCredentialsSchema","ContinueWithAuthNoCredentialsSchema","FailRequestParametersSchema","ProvideResponseParametersSchema","RemoveInterceptParametersSchema","RealmCreatedSchema","RealmDestroyedSchema","AuthRequiredParametersSchema","BeforeRequestSentParametersSchema","FetchErrorParametersSchema","ResponseCompletedParametersSchema","ResponseStartedParametersSchema","AddPreloadScriptCommandSchema","CallFunctionSchema","DisownSchema","EvaluateSchema","GetRealmsSchema","RemovePreloadScriptCommandSchema","AddPreloadScriptResultSchema","EvaluateResultSchema","GetRealmsResultSchema","ChannelSchema","EvaluateResultSuccessSchema","RemoteValueSchema","RealmSchema","ExceptionDetailsSchema","ChannelValueSchema","ChannelPropertiesSchema","SerializationOptionsSchema","ResultOwnershipSchema","EvaluateResultExceptionSchema","HandleSchema","ListLocalValueSchema","LocalValueSchema","RemoteReferenceSchema","PrimitiveProtocolValueSchema","ArrayLocalValueSchema","DateLocalValueSchema","MapLocalValueSchema","ObjectLocalValueSchema","RegExpLocalValueSchema","SetLocalValueSchema","MappingLocalValueSchema","RegExpValueSchema","PreloadScriptSchema","UndefinedValueSchema","NullValueSchema","NumberValueSchema","BooleanValueSchema","BigIntValueSchema","SpecialNumberSchema","RealmInfoSchema","WindowRealmInfoSchema","DedicatedWorkerRealmInfoSchema","SharedWorkerRealmInfoSchema","ServiceWorkerRealmInfoSchema","WorkerRealmInfoSchema","PaintWorkletRealmInfoSchema","AudioWorkletRealmInfoSchema","WorkletRealmInfoSchema","BaseRealmInfoSchema","RealmTypeSchema","SymbolRemoteValueSchema","ArrayRemoteValueSchema","ObjectRemoteValueSchema","FunctionRemoteValueSchema","RegExpRemoteValueSchema","DateRemoteValueSchema","MapRemoteValueSchema","SetRemoteValueSchema","WeakMapRemoteValueSchema","WeakSetRemoteValueSchema","IteratorRemoteValueSchema","GeneratorRemoteValueSchema","ErrorRemoteValueSchema","ProxyRemoteValueSchema","PromiseRemoteValueSchema","TypedArrayRemoteValueSchema","ArrayBufferRemoteValueSchema","NodeListRemoteValueSchema","HtmlCollectionRemoteValueSchema","NodeRemoteValueSchema","WindowProxyRemoteValueSchema","RemoteObjectReferenceSchema","SharedIdSchema","InternalIdSchema","ListRemoteValueSchema","MappingRemoteValueSchema","NodePropertiesSchema","nodeType","childNodeCount","attributes","localName","mode","namespaceURI","nodeValue","WindowProxyPropertiesSchema","StackFrameSchema","SourceSchema","RealmTargetSchema","ContextTargetSchema","TargetSchema","AddPreloadScriptParametersSchema","DisownParametersSchema","CallFunctionParametersSchema","EvaluateParametersSchema","GetRealmsParametersSchema","RemovePreloadScriptParametersSchema","MessageParametersSchema","RealmDestroyedParametersSchema","EntryAddedSchema","LevelSchema","EntrySchema","GenericLogEntrySchema","ConsoleLogEntrySchema","JavascriptLogEntrySchema","BaseLogEntrySchema","PerformActionsSchema","ReleaseActionsSchema","ElementOriginSchema","PerformActionsParametersSchema","SourceActionsSchema","NoneSourceActionsSchema","NoneSourceActionSchema","KeySourceActionsSchema","KeySourceActionSchema","PointerSourceActionsSchema","PointerParametersSchema","PointerSourceActionSchema","WheelSourceActionsSchema","PauseActionSchema","KeyDownActionSchema","KeyUpActionSchema","PointerTypeSchema","WheelSourceActionSchema","PointerDownActionSchema","PointerUpActionSchema","PointerMoveActionSchema","WheelScrollActionSchema","PointerCommonPropertiesSchema","OriginSchema","TiltPropertiesSchema","AnglePropertiesSchema","altitudeAngle","azimuthAngle","ReleaseActionsParametersSchema","protocolParser","parseObject","WebDriverBidi","parseResult","parseAddInterceptParameters","parseContinueRequestParameters","parseContinueResponseParameters","parseContinueWithAuthParameters","parseFailRequestParameters","parseProvideResponseParameters","parseRemoveInterceptParameters","parseHandleUserPromptParameters","SendCommandRequestSchema","GetSessionRequestSchema","parseSendCommandRequest","parseGetSessionRequest","BidiParserImpl_1","BidiParserImpl","Parser","BidiParserImpl$1","mapperTabPage","generatePage","findOrCreateTypeLogContainer","logType","containerId","existingContainer","document","getElementById","debugElement","divider","createElement","className","appendChild","htmlItem","innerHTML","documentElement","messages","global","sendDebugMessage","typeLogContainer","lineElement","textContent","bidiTab","bidiMapper_js_1","cdpConnection_js_1","mapperTabPage_js_1","waitSelfTargetIdPromise","setSelfTargetId","waitSelfTargetId","WindowBidiTransport","onBidiMessage","messageStr","messageObject","parseBidiMessage","respondWithError","sendBidiResponse","plainCommandData","errorCode","errorResponse","getErrorResponse","getJsonType","messageId","messageObj","idType","methodType","paramsType","channelType","WindowCdpTransport","onmessage","send","createCdpConnection","createBidiServer","launched"],"mappings":"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AK,KACL,IAAK,IACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,cACX,IAAK,IACL,IAAK,IACD,MAAO,eACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,IACL,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,cACX,IAAK,SACL,IAAK,SACD,MAAO,gBACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,iBACX,IAAK,SACD,MAAO,iBACX,QACI,OAEZ,EA8CsByiB,GAAAC,eA5CtB,SAAwB1iB,GACpB,OAAQA,GACJ,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACD,OAAO,EACX,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACD,OAAO,EACX,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACD,OAAO,EACX,QACI,OAAO,EAEnB,ECxcAhT,OAAOC,eAAe41B,GAAS,aAAc,CAAE11B,OAAO,IAC9B01B,GAAAC,sBAAG,EAC3B,MAAM/oB,GAAgBzM,EAChBoW,GAAclQ,EACduvB,GAAwBtvB,GACxBuvB,GAAgBtvB,GAEhBuvB,IAAqCh3B,IACvC,MAAMF,EAAIE,EAAEi3B,iBAAiB,GAAIl3B,EAAI2d,KAAKC,IAAI,EAAGD,KAAKE,IAAI9d,EAAEqd,EAAGrd,EAAEqd,EAAIrd,EAAEoc,QAASxc,EAAIge,KAAKE,IAAIlN,OAAOwmB,WAAYxZ,KAAKC,IAAI7d,EAAEqd,EAAGrd,EAAEqd,EAAIrd,EAAEoc,QAASuX,EAAI/V,KAAKC,IAAI,EAAGD,KAAKE,IAAI9d,EAAEsd,EAAGtd,EAAEsd,EAAItd,EAAEqc,SACrL,MAAO,CAACpc,GAAML,EAAIK,GAAM,GAAI0zB,GADuK/V,KAAKE,IAAIlN,OAAOymB,YAAazZ,KAAKC,IAAI7d,EAAEsd,EAAGtd,EAAEsd,EAAItd,EAAEqc,SAChNsX,GAAM,GAC/C,GAAEjmB,WACG4pB,IAAc,IACTC,UAAUC,SAASC,cAAc5kB,SAAS,QAClDnF,WAweqBopB,GAAAC,iBA3dxB,MACIv0B,eAAiBsN,MAAO3E,IACpB,MAAMnE,cAAsBmE,EAAQ4O,wBAAmBvW,IAAY4R,aAAakiB,GAAa,CAAE51B,KAAM,aAAe,IAAI,EAAO,OAA0C,CAAA,GAGzK,OAFA,EAAIiW,GAAYT,QAAwB,cAAhBlQ,EAAOtF,OAC/B,EAAIiW,GAAYT,QAA+B,YAAvBlQ,EAAOA,OAAOtF,MAC/BsF,EAAOA,OAAO5F,KAAK,EAE9Bs2B,IAAa,EACbC,IAAgB,EAChBC,IACAzsB,IACA0sB,IACA,WAAA/0B,CAAY80B,EAAYzsB,EAAS0sB,GAC7Bh3B,MAAK+2B,GAAcA,EACnB/2B,MAAKsK,GAAWA,EAChBtK,MAAKg3B,GAAWA,CACnB,CACD,qBAAMC,CAAgBC,SACZl3B,MAAK+2B,GAAYh1B,MAAMklB,KAAIhY,UAC7B,IAAK,MAAMkoB,KAAWD,QACZl3B,KAAKo3B,oBAAoBD,EAClC,GAER,CACD,yBAAMC,CAAoBD,GACtBn3B,MAAK62B,GAAaQ,YAAYC,MAC9Bt3B,MAAK82B,GAAgB,EACrB,IAAK,MAAM5P,OAAEA,KAAYiQ,EACjB,aAAcjQ,QAA8BvkB,IAApBukB,EAAOqQ,WAC/Bv3B,MAAK82B,GAAgB/Z,KAAKC,IAAIhd,MAAK82B,GAAe5P,EAAOqQ,WAGjE,MAAM1T,EAAW,CACb,IAAIxa,SAASC,GAAYS,WAAWT,EAAStJ,MAAK82B,OAEtD,IAAK,MAAMU,KAAUL,EAIjBtT,EAAStkB,KAAKS,MAAKy3B,GAAgBD,UAEjCnuB,QAAQrK,IAAI6kB,EACrB,CACD,QAAM4T,EAAgB3yB,GAAEA,EAAEoiB,OAAEA,IACxB,MAAMxX,EAAS1P,MAAK+2B,GAAYz3B,IAAIwF,GAC9B4yB,EAAW13B,MAAK+2B,GAAY3N,oBAClC,OAAQlC,EAAOrmB,MACX,IAAK,gBAEKb,MAAK23B,GAAuBjoB,EAAQwX,GAC1ClnB,MAAK+2B,GAAYjO,WAAWvpB,KAAK,CAC7BuF,KACAoiB,OAAQ,IACDA,EACHrmB,KAAM,WAGd,MAEJ,IAAK,cAEKb,MAAK43B,GAAqBloB,EAAQwX,GACxC,MAEJ,IAAK,QAED,MAEJ,IAAK,oBAEKlnB,MAAK63B,GAA2BnoB,EAAQgoB,EAAUxQ,GACxDlnB,MAAK+2B,GAAYjO,WAAWvpB,KAAK,CAC7BuF,KACAoiB,OAAQ,IACDA,EACHrmB,KAAM,eAGd,MAEJ,IAAK,oBAEKb,MAAK83B,GAA2BpoB,EAAQgoB,EAAUxQ,GACxD,MAEJ,IAAK,kBAEKlnB,MAAK+3B,GAAyBroB,EAAQgoB,EAAUxQ,GACtD,MAEJ,IAAK,eAEKlnB,MAAKg4B,GAAsBtoB,EAAQgoB,EAAUxQ,GAI9D,CACD,GAAA2Q,CAA2BnoB,EAAQgoB,EAAUxQ,GACzC,MAAMe,OAAEA,GAAWf,EACnB,GAAIxX,EAAO6X,QAAQ4B,IAAIlB,GACnB,OAEJvY,EAAO6X,QAAQrlB,IAAI+lB,GACnB,MAAMzL,EAAEA,EAACC,EAAEA,EAAGlL,QAAS0mB,GAAgBvoB,GACjC6L,MAAEA,EAAKC,OAAEA,EAAM0c,SAAEA,EAAQC,MAAEA,EAAKC,mBAAEA,GAAuBlR,GACzDmR,MAAEA,EAAKC,MAAEA,GAAU,UAAWpR,EAASA,EAAS,IAGhDM,UAAEA,GAAckQ,EACtB,OAAQO,GACJ,IAAK,QACL,IAAK,MAGD,OAFAvoB,EAAO0Y,cAAc,CAAE5L,IAAGC,IAAG4L,UAAWgP,YAAYC,QAE7Ct3B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC7EnJ,KAAM,eACN2b,IACAC,IACA+K,YACAS,OAAQsQ,GAAatQ,GACrBD,QAAStY,EAAOsY,QAChBE,WAAYxY,EAAOwY,WACnB+P,cACAG,qBACAC,QACAC,QACAH,QACAK,MAAON,IAEf,IAAK,QACD,OAAOl4B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC7EnJ,KAAM,aACN43B,YAAa,CACT,CACIjc,IACAC,IACAic,QAASnd,EACTod,QAASnd,EACT4c,qBACAC,QACAC,QACAH,QACAK,MAAON,EACPpzB,GAAI4K,EAAOqY,YAGnBP,cAIf,CACD,GAAAuQ,CAAyBroB,EAAQgoB,EAAUxQ,GACvC,MAAMe,OAAEA,GAAWf,EACnB,IAAKxX,EAAO6X,QAAQ4B,IAAIlB,GACpB,OAEJvY,EAAO6X,QAAQnmB,OAAO6mB,GACtB,MAAMzL,EAAEA,EAACC,EAAEA,EAAGlL,QAAS0mB,GAAgBvoB,GAEjC8X,UAAEA,GAAckQ,EACtB,OAAQO,GACJ,IAAK,QACL,IAAK,MAED,OAAOj4B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC7EnJ,KAAM,gBACN2b,IACAC,IACA+K,YACAS,OAAQsQ,GAAatQ,GACrBD,QAAStY,EAAOsY,QAChBE,WAAYxY,EAAOwY,WACnB+P,gBAER,IAAK,QACD,OAAOj4B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC7EnJ,KAAM,WACN43B,YAAa,CACT,CACIjc,IACAC,IACA3X,GAAI4K,EAAOqY,YAGnBP,cAIf,CACD,QAAMsQ,CAA2BpoB,EAAQgoB,EAAUxQ,GAC/C,MAAQ1K,EAAGoc,EAAQnc,EAAGoc,EAAQtnB,QAAS0mB,GAAgBvoB,GACjD6L,MAAEA,EAAKC,OAAEA,EAAM0c,SAAEA,EAAQC,MAAEA,EAAKC,mBAAEA,EAAoB5b,EAAGsc,EAASrc,EAAGsc,EAAOroB,OAAEA,EAAS,WAAU6mB,SAAEA,EAAWv3B,MAAK82B,IAAmB5P,GACtImR,MAAEA,EAAKC,MAAEA,GAAU,UAAWpR,EAASA,EAAS,IAEhD8R,QAAEA,EAAOC,QAAEA,SAAkBj5B,MAAKk5B,GAAyBxoB,EAAQooB,EAASC,EAASH,EAAQC,GACnG,GAAIG,EAAU,GAAKC,EAAU,EACzB,MAAM,IAAI9rB,GAAc7I,+BAA+B,mCAAmC00B,SAAeC,MAE7G,IAAIE,EACJ,EAAG,CACC,MAAMC,EAAQ7B,EAAW,GAAKF,YAAYC,MAAQt3B,MAAK62B,IAAcU,EAAW,EAEhF,IAAI/a,EACAC,EASJ,GAXA0c,EAAOC,GAAS,EAGZD,GACA3c,EAAIwc,EACJvc,EAAIwc,IAGJzc,EAAIO,KAAK8E,MAAMuX,GAASJ,EAAUJ,GAAUA,GAC5Cnc,EAAIM,KAAK8E,MAAMuX,GAASH,EAAUJ,GAAUA,IAE5CnpB,EAAO8M,IAAMA,GAAK9M,EAAO+M,IAAMA,EAAG,CAElC,MAAM+K,UAAEA,GAAckQ,EACtB,OAAQO,GACJ,IAAK,cAEKj4B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC5EnJ,KAAM,aACN2b,IACAC,IACA+K,YACAU,WAAY,EACZD,OAAQsQ,GAAa7oB,EAAO6X,QAAQ8R,SAASC,OAAO/4B,OAAS,GAC7DynB,QAAStY,EAAOsY,QAChBiQ,cACAG,qBACAC,QACAC,QACAH,QACAK,MAAON,IAEX,MACJ,IAAK,MAC2B,IAAxBxoB,EAAO6X,QAAQgS,YAETv5B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC5EnJ,KAAM,aACN2b,IACAC,IACA+K,YACAU,WAAY,EACZD,OAAQsQ,GAAa7oB,EAAO6X,QAAQ8R,SAASC,OAAO/4B,OAAS,GAC7DynB,QAAStY,EAAOsY,QAChBiQ,cACAG,qBACAC,QACAC,QACAH,QACAK,MAAON,IAGf,MACJ,IAAK,QAC2B,IAAxBxoB,EAAO6X,QAAQgS,YACTv5B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC5EnJ,KAAM,YACN43B,YAAa,CACT,CACIjc,IACAC,IACAic,QAASnd,EACTod,QAASnd,EACT4c,qBACAC,QACAC,QACAH,QACAK,MAAON,EACPpzB,GAAI4K,EAAOqY,YAGnBP,cAMhB9X,EAAO8M,EAAIA,EACX9M,EAAO+M,EAAIA,CACd,CACJ,QAAS0c,EACb,CACD,QAAMD,CAAyBxoB,EAAQooB,EAASC,EAASH,EAAQC,GAC7D,IAAIG,EACAC,EACJ,OAAQvoB,GACJ,IAAK,WACDsoB,EAAUF,EACVG,EAAUF,EACV,MACJ,IAAK,UACDC,EAAUJ,EAASE,EACnBG,EAAUJ,EAASE,EACnB,MACJ,QAAS,CACL,MAAQvc,EAAGgd,EAAM/c,EAAGgd,SApTpCxqB,eAAgC3E,EAAS4U,GACrC,MAAMvO,QAAgBrG,EAAQ4O,wBAAmBvW,GAC3CwD,QAAewK,EAAQ4D,aAAa8hB,GAAkC,CAAEx1B,KAAM,aAAe,CAACqe,IAAU,EAAO,OAA0C,CAAE,GACjK,GAAoB,cAAhB/Y,EAAOtF,KACP,MAAM,IAAIsM,GAAc9I,uBAAuB,kBAAkB6a,EAAQvN,2BAE7E,EAAImF,GAAYT,QAA+B,UAAvBlQ,EAAOA,OAAOtF,OACtC,EAAIiW,GAAYT,QAA2C,WAAnClQ,EAAOA,OAAO5F,QAAQ,IAAIM,OAClD,EAAIiW,GAAYT,QAA2C,WAAnClQ,EAAOA,OAAO5F,QAAQ,IAAIM,MAClD,MAAQsF,QAAU5F,QAAUA,MAAOic,IAAOjc,MAAOkc,MAAatW,EAC9D,MAAO,CAAEqW,EAAGA,EAAGC,EAAGA,EACtB,CAySmDid,CAAiB15B,MAAKsK,GAAUoG,EAAOwO,SAE1E8Z,EAAUQ,EAAOV,EACjBG,EAAUQ,EAAOV,EACjB,KACH,EAEL,MAAO,CAAEC,UAASC,UACrB,CACD,QAAMjB,CAAsB2B,EAASjC,EAAUxQ,GAC3C,MAAQ0S,OAAQC,EAAcC,OAAQC,EAAcvd,EAAGsc,EAASrc,EAAGsc,EAAOroB,OAAEA,EAAS,WAAU6mB,SAAEA,EAAWv3B,MAAK82B,IAAmB5P,EACpI,GAAe,YAAXxW,EACA,MAAM,IAAIvD,GAAc3I,yBAAyB,8CAErD,MAAMw0B,QAAEA,EAAOC,QAAEA,SAAkBj5B,MAAKk5B,GAAyBxoB,EAAQooB,EAASC,EAAS,EAAG,GAC9F,GAAIC,EAAU,GAAKC,EAAU,EACzB,MAAM,IAAI9rB,GAAc7I,+BAA+B,mCAAmC00B,SAAeC,MAE7G,IAEIE,EAFAa,EAAgB,EAChBC,EAAgB,EAEpB,EAAG,CACC,MAAMb,EAAQ7B,EAAW,GAAKF,YAAYC,MAAQt3B,MAAK62B,IAAcU,EAAW,EAEhF,IAAIqC,EACAE,EASJ,GAXAX,EAAOC,GAAS,EAGZD,GACAS,EAASC,EAAeG,EACxBF,EAASC,EAAeE,IAGxBL,EAAS7c,KAAK8E,MAAMuX,EAAQS,EAAeG,GAC3CF,EAAS/c,KAAK8E,MAAMuX,EAAQW,EAAeE,IAEhC,IAAXL,GAA2B,IAAXE,EAAc,CAE9B,MAAMtS,UAAEA,GAAckQ,QAChB13B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,2BAA4B,CAC5EnJ,KAAM,aACN+4B,SACAE,SACAtd,EAAGwc,EACHvc,EAAGwc,EACHzR,cAGJwS,GAAiBJ,EACjBK,GAAiBH,CACpB,CACJ,QAASX,EACb,CACD,QAAMxB,CAAuBjoB,EAAQwX,GACjC,GAAI,IAAIA,EAAO3mB,OAAO+B,OAAS,EAC3B,MAAM,IAAI6K,GAAc3I,yBAAyB,sBAAsB0iB,EAAO3mB,SAElF,MAAM25B,EAAShT,EAAO3mB,MAChB6S,GAAM,EAAIgjB,GAAcJ,kBAAkBkE,GAC1CC,EAASzqB,EAAO6X,QAAQ4B,IAAI/V,GAC5B0B,GAAO,EAAIshB,GAAcL,YAAYmE,GACrCE,GAAW,EAAIhE,GAAcN,gBAAgBoE,GACnD,OAAQ9mB,GACJ,IAAK,MACD1D,EAAO+X,KAAM,EACb,MACJ,IAAK,QACD/X,EAAOlN,OAAQ,EACf,MACJ,IAAK,UACDkN,EAAOiY,MAAO,EACd,MACJ,IAAK,OACDjY,EAAOkY,MAAO,EAGtBlY,EAAO6X,QAAQrlB,IAAIkR,GACnB,MAAMoU,UAAEA,GAAc9X,EAIhB2qB,EAAiBC,GAA0BlnB,EAAK1D,GAChD4E,EAAOimB,GAAgBzlB,GAAQ,GAAIpF,IAAW2qB,EACpD,IAAIG,EAIJ,GAAIx6B,MAAKg3B,IAAYtnB,EAAOkY,KACxB,OAAQ9S,GACJ,IAAK,OACD0lB,EAAU,YACV,MACJ,IAAK,OACDA,EAAU,OACV,MACJ,IAAK,OACDA,EAAU9qB,EAAOlN,MAAQ,qBAAuB,QAChD,MACJ,IAAK,OACDg4B,EAAU,MACV,MACJ,IAAK,OACDA,EAAU9qB,EAAOlN,MAAQ,OAAS,OAM9C,MAAMqhB,EAAW,CACb7jB,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,yBAA0B,CACpEnJ,KAAMyT,EAAO,UAAY,aACzBmmB,sBAAuBtE,GAAsBxM,aAAavW,GAC1DA,MACA0B,OACAR,OACA+lB,iBACAK,WAAYP,EACZQ,YAAajrB,EAAO+X,UAAO9kB,EAC3By3B,SAAUA,EAAW,EAAIA,OAAWz3B,EACpCi4B,SAAuB,IAAbR,EACV5S,YACAqT,SAAUL,EAAU,CAACA,QAAW73B,KAI5B,WAARyQ,IACK1D,EAAO+X,OACNznB,MAAKg3B,IAAatnB,EAAOiY,MAASjY,EAAOkY,OAAU5nB,MAAKg3B,IAC1DnT,EAAStkB,KAAKS,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,gCAG9DX,QAAQrK,IAAI6kB,EAErB,CACD,GAAA+T,CAAqBloB,EAAQwX,GACzB,GAAI,IAAIA,EAAO3mB,OAAO+B,OAAS,EAC3B,MAAM,IAAI6K,GAAc3I,yBAAyB,sBAAsB0iB,EAAO3mB,SAElF,MAAM25B,EAAShT,EAAO3mB,MAChB6S,GAAM,EAAIgjB,GAAcJ,kBAAkBkE,GAChD,IAAKxqB,EAAO6X,QAAQ4B,IAAI/V,GACpB,OAEJ,MAAM0B,GAAO,EAAIshB,GAAcL,YAAYmE,GACrCE,GAAW,EAAIhE,GAAcN,gBAAgBoE,GACnD,OAAQ9mB,GACJ,IAAK,MACD1D,EAAO+X,KAAM,EACb,MACJ,IAAK,QACD/X,EAAOlN,OAAQ,EACf,MACJ,IAAK,UACDkN,EAAOiY,MAAO,EACd,MACJ,IAAK,OACDjY,EAAOkY,MAAO,EAGtBlY,EAAO6X,QAAQnmB,OAAOgS,GACtB,MAAMoU,UAAEA,GAAc9X,EAIhB2qB,EAAiBC,GAA0BlnB,EAAK1D,GAChD4E,EAAOimB,GAAgBzlB,GAAQ,GAAIpF,IAAW2qB,EACpD,OAAOr6B,MAAKsK,GAASG,UAAU8D,UAAUvE,YAAY,yBAA0B,CAC3EnJ,KAAM,QACN45B,sBAAuBtE,GAAsBxM,aAAavW,GAC1DA,MACA0B,OACAR,OACA+lB,iBACAD,SAAUA,EAAW,EAAIA,OAAWz3B,EACpCg4B,YAAajrB,EAAO+X,UAAO9kB,EAC3Bi4B,SAAuB,IAAbR,EACV5S,aAGP,GAGL,MAAM8S,GAA4B,CAAClnB,EAAK1D,IACxB,UAAR0D,EACO,KAEgB,IAApB,IAAIA,GAAK9Q,OACVoN,EAAOlN,MACH4Q,EAAI0nB,kBAAkB,SACtB1nB,OACJzQ,EAEJ43B,GAAkB,CAACzlB,EAAMpF,KAC3B,GAAIA,EAAOiY,KAAM,CACb,OAAQ7S,GACJ,IAAK,SACD,GAAIpF,EAAOlN,MACP,MAAO,KAEX,MACJ,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,KACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,OACD,MAAO,OACX,IAAK,cACD,MAAO,OACX,IAAK,YACD,MAAO,OACX,IAAK,eACD,MAAO,OACX,IAAK,SACD,GAAIkN,EAAOlN,MACP,MAAO,OAEX,MACJ,IAAK,QACD,MAAO,OAEf,MAAO,EACV,CACD,GAAIkN,EAAO+X,IACP,MAAO,EAEJ,EAEX,SAAS8Q,GAAatQ,GAClB,OAAQA,GACJ,KAAK,EACD,MAAO,OACX,KAAK,EACD,MAAO,SACX,KAAK,EACD,MAAO,QACX,KAAK,EACD,MAAO,OACX,KAAK,EACD,MAAO,UACX,QACI,MAAO,OAEnB,CChnBA7nB,OAAOC,eAAe06B,GAAS,aAAc,CAAEx6B,OAAO,IAChCw6B,GAAAC,oBAAG,EAiBzB,MAAM7tB,GAAgBzM,EAChBu6B,GAAyBr0B,GACzBs0B,GAAwBr0B,GAsDRs0B,GAAAH,eArDtB,MACI5wB,GACAgxB,IAAqB,IAAIH,GAAuB3R,kBAChD,WAAArnB,CAAYmI,GACRpK,MAAKoK,EAA0BA,CAClC,CACD,oBAAMixB,CAAel0B,GACjB,MAAMmD,EAAUtK,MAAKoK,EAAwBI,WAAWrD,EAAOmD,SACzDysB,EAAa/2B,MAAKo7B,GAAmB97B,IAAIgL,EAAQsO,KACjD0iB,EAAgBt7B,MAAKu7B,GAAkBp0B,EAAQ4vB,GAC/CyE,EAAa,IAAIN,GAAsBhF,iBAAiBa,EAAYzsB,QAAe4wB,GAAsBhF,iBAAiBc,QAAQ1sB,GAAStH,OAAM,KAAM,KAE7J,aADMw4B,EAAWvE,gBAAgBqE,GAC1B,EACV,CACD,oBAAMG,CAAet0B,GACjB,MAAMmD,EAAUtK,MAAKoK,EAAwBI,WAAWrD,EAAOmD,SACzDuO,EAAavO,EAAQsO,IACrBme,EAAa/2B,MAAKo7B,GAAmB97B,IAAIuZ,GACzC2iB,EAAa,IAAIN,GAAsBhF,iBAAiBa,EAAYzsB,QAAe4wB,GAAsBhF,iBAAiBc,QAAQ1sB,GAAStH,OAAM,KAAM,KAG7J,aAFMw4B,EAAWpE,oBAAoBL,EAAWjO,WAAW4S,WAC3D17B,MAAKo7B,GAAmBh6B,OAAOyX,GACxB,EACV,CACD,GAAA0iB,CAAkBp0B,EAAQ4vB,GACtB,MAAMuE,EAAgB,GACtB,IAAK,MAAMpU,KAAU/f,EAAOw0B,QAAS,CACjC,OAAQzU,EAAOrmB,MACX,IAAK,UAAoC,CACrCqmB,EAAO0U,aAAe,CAAE3D,YAAa,SACrC/Q,EAAO0U,WAAW3D,cAAgB,QAClC,MAAMvoB,EAASqnB,EAAW9N,YAAY/B,EAAOpiB,GAAI,UAAoCoiB,EAAO0U,WAAW3D,aACvG,GAAIvoB,EAAO6B,UAAY2V,EAAO0U,WAAW3D,YACrC,MAAM,IAAI9qB,GAAc3I,yBAAyB,yBAAyB0iB,EAAOpiB,YAAY4K,EAAO6B,gBAAgB2V,EAAO0U,WAAW3D,gBAE1I,KACH,CACD,QACIlB,EAAW9N,YAAY/B,EAAOpiB,GAAIoiB,EAAOrmB,MAEjD,MAAM86B,EAAUzU,EAAOyU,QAAQ77B,KAAK+7B,IAAU,CAC1C/2B,GAAIoiB,EAAOpiB,GACXoiB,OAAQ2U,MAEZ,IAAK,IAAIx8B,EAAI,EAAGA,EAAIs8B,EAAQr5B,OAAQjD,IAC5Bi8B,EAAch5B,SAAWjD,GACzBi8B,EAAc/7B,KAAK,IAEvB+7B,EAAcj8B,GAAGE,KAAKo8B,EAAQt8B,GAErC,CACD,OAAOi8B,CACV,aCxELl7B,OAAOC,eAAey7B,GAAS,aAAc,CAAEv7B,OAAO,IAC1Bu7B,GAAAC,0BAAG,EAiCHC,GAAAD,qBA7B5B,MAEIE,IAAW,IAAIvmB,IAEf,IAAA2J,CAAK6c,GACD,OAAKA,EAGE,IAAIl8B,MAAKi8B,IAAUC,QAAQ7X,SACZ1hB,IAAdu5B,EAAOp3B,IAAoBo3B,EAAOp3B,KAAOuf,EAAOvf,YAG5BnC,IAApBu5B,EAAO7Y,WACNgB,EAAO8X,UAAUhT,IAAI+S,EAAO7Y,aAP1B,IAAIrjB,MAAKi8B,GAYvB,CACD,GAAA/5B,CAAImkB,GACArmB,MAAKi8B,GAAS/5B,IAAImkB,EACrB,CAED,MAAA+V,CAAOF,GACH,IAAK,MAAM7V,KAAiBrmB,KAAKqf,KAAK6c,GAClCl8B,MAAKi8B,GAAS76B,OAAOilB,EAE5B,mBCfLjmB,OAAOC,eAAeg8B,GAAS,aAAc,CAAE97B,OAAO,IACjC87B,GAAAC,mBAAG,EACxB,MAAMlvB,GAAY1M,EACZ6P,GAAoB3J,EA8FL21B,GAAAD,cAnFrB,MAEIx3B,IAAM,EAAIsI,GAAUrB,UAEpBywB,IAAqB,GAErBztB,IAEAotB,IAAa,IAAIzmB,IAEjB4O,IAEA3T,IACA,MAAI7L,GACA,OAAO9E,MAAK8E,CACf,CACD,aAAIq3B,GACA,OAAOn8B,MAAKm8B,EACf,CACD,WAAAl6B,CAAYkF,EAAQtF,GAChB7B,MAAKskB,GACDnd,EAAO6H,WAAWlP,KAAK2yB,GAAM,IAAIliB,GAAkBrD,aAAaulB,EAAElyB,MAAOsB,MAAY,GACzF7B,MAAK+O,GAAuB5H,EAAO4H,oBACnC/O,MAAK2Q,GAAWxJ,EAAOwJ,OAC1B,CAED,YAAI2T,GACA,OAAOtkB,MAAKskB,EACf,CAQD,GAAAmY,GACI,MAAMC,EAAiB,IAAI18B,KAAKskB,SAC3BxkB,KAAK0Z,GAAMA,EAAEvJ,uBACbjD,KAAK,SACV,MAAO,UAAUhN,MAAK+O,UAA4B2tB,QACrD,CAKD,mBAAMC,CAAcC,EAAYC,SACtBxzB,QAAQrK,IAAI89B,MAAMC,KAAKH,GAAY98B,KAAK2K,GAAczK,KAAKukB,aAAa9Z,EAAWoyB,KAC5F,CAKD,kBAAMtY,CAAa9Z,EAAWoyB,GAC1B,MAAMG,QAAkCvyB,EAAU8D,UAAUvE,YAAY,wCAAyC,CAC7G0F,OAAQ1P,MAAKy8B,KACbnjB,UAAWtZ,MAAK2Q,GAChBksB,mBAEJ78B,MAAKw8B,GAAmBj9B,KAAK,CACzB+mB,OAAQ7b,EACRwyB,gBAAiBD,EAA0BE,aAE/Cl9B,MAAKm8B,GAAWj6B,IAAIuI,EAAU4Y,SACjC,CAID,YAAM+Y,GACF,IAAK,MAAMe,KAAoBn9B,MAAKw8B,GAAoB,CACpD,MAAM/xB,EAAY0yB,EAAiB7W,OAC7B8W,EAAqBD,EAAiBF,sBACtCxyB,EAAU8D,UAAUvE,YAAY,2CAA4C,CAC9EkzB,WAAYE,GAEnB,CACJ,CAED,OAAAnnB,CAAQonB,GACJr9B,MAAKw8B,GAAqBx8B,MAAKw8B,GAAmBN,QAAQiB,GAAqBA,EAAiB7W,QAAQjD,WAAaga,IACrHr9B,MAAKm8B,GAAW/6B,OAAOi8B,EAC1B,GChGLj9B,OAAOC,eAAei9B,GAAS,aAAc,CAAE/8B,OAAO,IAC/B+8B,GAAAC,qBAAG,EAC1B,MAAMC,GAAa98B,EACb27B,GAAkBz1B,GA6ED62B,GAAAF,gBA5EvB,MACInzB,GACAqG,GACA6S,IACAzhB,GACA,WAAAI,CAAYmI,EAAwBqG,EAAc6S,EAAsBzhB,GACpE7B,MAAKoK,EAA0BA,EAC/BpK,MAAKyQ,EAAgBA,EACrBzQ,MAAKsjB,GAAwBA,EAC7BtjB,MAAK6B,EAAUA,CAClB,CACD,sBAAM67B,CAAiBv2B,GACnB,MAAMkf,EAAgB,IAAIgW,GAAgBC,cAAcn1B,EAAQnH,MAAK6B,GACrE7B,MAAKsjB,GAAsBphB,IAAImkB,GAC/B,MAAMuW,EAAa,IAAIlnB,IAAI1V,MAAKoK,EAC3B8a,sBACAplB,KAAKwK,GAAYA,EAAQG,aAE9B,aADM4b,EAAcsW,cAAcC,GAAY,GACvC,CACHvY,OAAQgC,EAAcvhB,GAE7B,CACD,yBAAM64B,CAAoBx2B,GACtB,MAAMy2B,EAASz2B,EAAOkd,OAChB4X,EAAUj8B,MAAKsjB,GAAsBjE,KAAK,CAC5Cva,GAAI84B,IAER,GAAuB,IAAnB3B,EAAQ35B,OACR,MAAM,IAAIk7B,GAAWx5B,sBAAsB,mCAAmC45B,MAMlF,aAJMv0B,QAAQrK,IAAIi9B,EAAQn8B,KAAKukB,GAAWA,EAAO+X,YACjDp8B,MAAKsjB,GAAsB8Y,OAAO,CAC9Bt3B,GAAI84B,IAED,EACV,CACD,kBAAMrpB,CAAapN,GAEf,aADoBnH,MAAK69B,GAAU12B,EAAOmf,SAC7B/R,aAAapN,EAAO4H,oBAAqB5H,EAAOnH,MAAQ,CACjEa,KAAM,aAEVsG,EAAO6H,WAAa,GACpB7H,EAAO+H,aAAc/H,EAAO6J,iBAAmB,OAA0C7J,EAAOwH,sBAAwB,GAAIxH,EAAOgL,iBAAkB,EACxJ,CACD,cAAMD,CAAS/K,GAEX,aADoBnH,MAAK69B,GAAU12B,EAAOmf,SAC7BpU,SAAS/K,EAAOqH,WAAYrH,EAAO+H,aAAc/H,EAAO6J,iBAAmB,OAA0C7J,EAAOwH,sBAAwB,CAAA,EAAIxH,EAAOgL,iBAAkB,EACjM,CACD,YAAM6D,CAAO7O,GACT,MAAMoG,QAAcvN,MAAK69B,GAAU12B,EAAOmf,QAE1C,aADMjd,QAAQrK,IAAImI,EAAO22B,QAAQh+B,KAAImP,MAAOmC,GAAW7D,EAAMyI,OAAO5E,MAC7D,EACV,CACD,SAAA2sB,CAAU52B,QACiBxE,IAAnBwE,EAAOmD,SAEPtK,MAAKoK,EAAwBI,WAAWrD,EAAOmD,SAQnD,MAAO,CAAE0zB,OANMh+B,MAAKyQ,EACf2I,WAAW,CACZxJ,kBAAmBzI,EAAOmD,QAC1BzJ,KAAMsG,EAAOtG,OAEZf,KAAKyN,GAAUA,EAAMuD,YAE7B,CACD,QAAM+sB,CAAUvX,GACZ,GAAI,UAAWA,EACX,OAAOtmB,MAAKyQ,EAAcotB,SAAS,CAC/BluB,QAAS2W,EAAO/Y,QAIxB,OADgBvN,MAAKoK,EAAwBI,WAAW8b,EAAOhc,SAChD4O,mBAAmBoN,EAAO3V,QAC5C,yBC9ELvQ,OAAOC,eAAe49B,GAAS,aAAc,CAAE19B,OAAO,IACpC09B,GAAAC,gBAAG,EAMrB,MAAMA,WAAmBj/B,IAErBk/B,IACA,WAAAl8B,CAAYk8B,EAAiBC,GACzBr5B,MAAMq5B,GACNp+B,MAAKm+B,GAAmBA,CAC3B,CACD,GAAA7+B,CAAI8T,GAIA,OAHKpT,KAAKmpB,IAAI/V,IACVpT,KAAKR,IAAI4T,EAAKpT,MAAKm+B,GAAiB/qB,IAEjCrO,MAAMzF,IAAI8T,EACpB,EAEairB,GAAAH,WAAGA,aCpBrB99B,OAAOC,eAAei+B,GAAS,aAAc,CAAE/9B,OAAO,IAChC+9B,GAAAC,oBAAG,EACzB,MAAM7nB,GAAgBhW,EAChByM,GAAgBvG,EAEtB,MAAM23B,GACF58B,UAAkB,UAQlBygB,UACAoc,KAAmB,EACnBC,IAAiB,EACjBjxB,GACAkxB,IACAC,IACAC,IACAC,IACAC,IAA6B,IAAIpoB,GAAc3L,SAC/Cg0B,IAA4B,IAAIroB,GAAc3L,SAC9C,WAAA9I,CAAYmgB,EAAW5U,GACnBxN,KAAKoiB,UAAYA,EACjBpiB,MAAKwN,EAAgBA,CACxB,CACD,wBAAAkV,CAAyB1hB,QACgB2B,IAAjC3C,MAAK0+B,KAIT1+B,MAAK0+B,GAA0B19B,OACe2B,IAA1C3C,MAAK2+B,IACL3+B,MAAK8+B,GAA2Bx1B,QAAQ,CACpCzG,KAAM,UACNtC,WAAOoC,IAGf3C,MAAKg/B,KACR,CACD,iCAAArc,CAAkC3hB,QACgB2B,IAA1C3C,MAAK2+B,KAIT3+B,MAAK2+B,GAAmC39B,OACH2B,IAAjC3C,MAAK0+B,IACL1+B,MAAK8+B,GAA2Bx1B,QAAQ,CACpCzG,KAAM,UACNtC,WAAOoC,IAGlB,CACD,gCAAAkgB,CAAiC7hB,QACgB2B,IAAzC3C,MAAK6+B,KAIT7+B,MAAK6+B,GAAkC79B,OACH2B,IAAhC3C,MAAK4+B,IACL5+B,MAAK++B,GAA0Bz1B,QAAQ,CACnCzG,KAAM,UACNtC,WAAOoC,IAGlB,CACD,uBAAAigB,CAAwBgc,QACgBj8B,IAAhC3C,MAAK4+B,KAIT5+B,MAAK4+B,GAAyBA,EACzBA,EAAsBK,cACtBj/B,MAAK8+B,GAA2B9zB,YACjChL,MAAK8+B,GAA2Bx1B,QAAQ,CACpCzG,KAAM,UACNtC,WAAOoC,IAGVi8B,EAAsBK,mBACkBt8B,IAAzC3C,MAAK6+B,KACL7+B,MAAKw+B,IACLx+B,MAAK++B,GAA0Bz1B,QAAQ,CACnCzG,KAAM,UACNtC,WAAOoC,IAGf3C,MAAKk/B,KACR,CACD,iBAAApc,QACyCngB,IAAjC3C,MAAK0+B,IACL1+B,MAAK8+B,GAA2Bx1B,QAAQ,CACpCzG,KAAM,UACNtC,WAAOoC,SAGqBA,IAAhC3C,MAAK4+B,IACL5+B,MAAK++B,GAA0Bz1B,QAAQ,CACnCzG,KAAM,UACNtC,WAAOoC,IAGf3C,MAAKw+B,IAAmB,CAC3B,CACD,oBAAAzb,CAAqB/hB,GACjBhB,MAAK8+B,GAA2Bx1B,QAAQ,CACpCzG,KAAM,UACNtC,WAAOoC,IAEX3C,MAAK++B,GAA0Bz1B,QAAQ,CACnCzG,KAAM,QACNE,MAAO,IAAIoC,MAAM,oBAErBnF,MAAKwN,EAAc6B,cAAc,CAC7BxO,KAAM,QACNgK,OAAQsC,GAAczG,aAAapD,QAAQE,WAAW27B,gBACtDh4B,OAAQ,IACDnH,MAAKo/B,KACRlkB,UAAWla,EAAMka,YAEtBlb,MAAK0+B,IAAyBrlB,SAAW,KAC/C,CACD,OAAApD,GACI,MAAM9P,EAAS,CACXtD,KAAM,QACNE,MAAO,IAAIoC,MAAM,+BAErBnF,MAAK++B,GAA0Bz1B,QAAQnD,GACvCnG,MAAK8+B,GAA2Bx1B,QAAQnD,EAC3C,CACD,GAAAi5B,GACI,MAAO,CAEHC,WAAW,EACX/0B,QAAStK,MAAK0+B,IAAyBrlB,SAAW,KAClDS,WAAY9Z,MAAKs/B,KAEjBb,cAAez+B,MAAKy+B,GACpBc,QAASv/B,MAAKw/B,KAEd5lB,UAAWmD,KAAK8E,MAAsD,KAA/C7hB,MAAK0+B,IAAyBe,UAAY,IAExE,CACD,GAAAH,GACI,OAAKt/B,MAAK0+B,IACL1+B,MAAK0+B,GAAwBlnB,UAI9BxX,MAAK0+B,GAAwBlnB,WACzBxX,MAAK0+B,GAAwBtc,UAG9BpiB,MAAK0+B,GAAwBlnB,SAFzB,IAGd,CACD,GAAAgoB,GACI,MAAME,EAAU1/B,MAAK2+B,GACfJ,IAAeoB,GAAY3/B,MAAK2+B,GAAiCiB,mBACjE,GACN,MAAO,CACHL,QAASv/B,MAAK0+B,IAAyBtc,WAAamc,IAAesB,GACnE5rB,IAAKjU,MAAK0+B,IAAyBa,QAAQtrB,KAAOsqB,IAAesB,GACjEh1B,OAAQ7K,MAAK0+B,IAAyBa,QAAQ10B,QAAU0zB,IAAesB,GACvEC,QAASvB,IAAewB,GAAY//B,MAAK0+B,IAAyBa,QAAQO,SAC1EJ,UAEAM,aAAc,EAEdC,SAAU,EACVC,QAAS,CAELC,WAAY,EAEZC,YAAa,EAEbC,cAAe,EAEfC,YAAa,EAEbC,WAAY,EAEZC,SAAU,EAEVC,OAAQ,EAERC,aAAc,EAEdC,WAAY,EAEZC,SAAU,EAEVC,aAAc,EAEdC,cAAe,EAEfC,YAAa,GAGxB,CACD,GAAA/B,GACSh/B,MAAKghC,MACNhhC,MAAKwN,EAAciU,qBAAqBzhB,MAAK8+B,GAA2Bl8B,MAAMuD,GACtD,YAAhBA,EAAOtD,KACA,CACHA,KAAM,UACNtC,MAAOH,OAAO6gC,OAAOjhC,MAAKkhC,KAA0B,CAChDrgC,KAAM,WAIXsF,IACPnG,MAAK0+B,IAAyBrlB,SAAW,KAAMlM,GAAczG,aAAapD,QAAQE,WAAW29B,uBAExG,CACD,GAAAD,GACI,QAAqCv+B,IAAjC3C,MAAK0+B,GACL,MAAM,IAAIv5B,MAAM,qCAEpB,MAAO,CACH0F,OAAQsC,GAAczG,aAAapD,QAAQE,WAAW29B,uBACtDh6B,OAAQ,IACDnH,MAAKo/B,KACRgC,UAAW,CACPvgC,KAAM09B,IAAe8C,GAAkBrhC,MAAK0+B,GAAwB0C,UAAUvgC,QAI7F,CACD,GAAAq+B,GACSl/B,MAAKghC,MACNhhC,MAAKwN,EAAciU,qBAAqBzhB,MAAK++B,GAA0Bn8B,MAAMuD,GACrD,YAAhBA,EAAOtD,KACA,CACHA,KAAM,UACNtC,MAAOH,OAAO6gC,OAAOjhC,MAAKshC,KAA6B,CACnDzgC,KAAM,WAIXsF,IACPnG,MAAK4+B,IAAwBvlB,SAAW,KAAMlM,GAAczG,aAAapD,QAAQE,WAAW+9B,uBAEvG,CACD,GAAAD,GACI,QAAqC3+B,IAAjC3C,MAAK0+B,GACL,MAAM,IAAIv5B,MAAM,qCAEpB,QAAoCxC,IAAhC3C,MAAK4+B,GACL,MAAM,IAAIz5B,MAAM,oCAKhBnF,MAAK4+B,GAAuB4C,SAASC,gBACrCzhC,MAAK6+B,QAAkCl8B,GAE3C,MAAMm9B,EAAUvB,IAAewB,GAAY//B,MAAK4+B,GAAuB4C,SAAS1B,SAChF,MAAO,CACHj1B,OAAQsC,GAAczG,aAAapD,QAAQE,WAAW+9B,uBACtDp6B,OAAQ,IACDnH,MAAKo/B,KACRoC,SAAU,CACNvtB,IAAKjU,MAAK4+B,GAAuB4C,SAASvtB,IAC1CytB,SAAU1hC,MAAK4+B,GAAuB4C,SAASE,UAAY,GAC3DC,OAAQ3hC,MAAK6+B,IAAiC+C,YAC1C5hC,MAAK4+B,GAAuB4C,SAASG,OACzCE,WAAY7hC,MAAK4+B,GAAuB4C,SAASK,WACjDC,UAAW9hC,MAAK4+B,GAAuB4C,SAASC,eAC5CzhC,MAAK4+B,GAAuB4C,SAASO,mBACrC/hC,MAAKw+B,GACTsB,UACAkC,SAAUhiC,MAAK4+B,GAAuB4C,SAASQ,SAC/CC,cAAejiC,MAAK4+B,GAAuB4C,SAASU,kBACpDlC,YAAahgC,MAAKmiC,GAA4BrC,GAE9CG,SAAU,EACVmC,QAAS,CAEL7I,KAAM,KAKzB,CACD,GAAA4I,CAA4BrC,GACxB,OAAOA,EAAQpzB,QAAO,CAAC21B,EAAOC,IAClBD,EAAQC,EAAOlgC,KAAKE,OAASggC,EAAO/hC,MAAMA,MAAM+B,OAAS,GAElE,EACN,CACD,GAAA0+B,GACI,OAAQhhC,MAAK0+B,IAAyBa,QAAQtrB,IAAIsuB,SAAS,kBACvD,CACP,CACD,SAAOxC,CAAYD,GACf,OAAKA,EAGE1/B,OAAOg+B,QAAQ0B,GAAShgC,KAAI,EAAEsC,EAAM7B,MAAY,CACnD6B,OACA7B,MAAO,CACHM,KAAM,SACNN,aANG,EASd,CACD,SAAO8gC,CAAkBmB,GACrB,OAAQA,GACJ,IAAK,SACL,IAAK,SACL,IAAK,YACD,OAAOA,EACX,QACI,MAAO,QAElB,CACD,SAAO7C,CAAYC,GACf,OAAOA,EACF1D,QAAO,EAAGuG,qBACH3F,MAAM4F,QAAQD,IAA6C,IAA1BA,EAAengC,SAEvDxC,KAAI,EAAG6iC,aACD,CACHvgC,KAAMugC,EAAOvgC,KACb7B,MAAO,CACHM,KAAM,SACNN,MAAOoiC,EAAOpiC,OAElBqiC,OAAQD,EAAOC,OACfC,KAAMF,EAAOE,KACbC,QAASH,EAAOG,QAChBvJ,KAAMoJ,EAAOpJ,KACbwJ,SAAUJ,EAAOI,SACjBC,OAAQL,EAAOK,OACfC,SAAU1E,IAAe2E,GAAoBP,EAAOM,aAG/D,CACD,SAAOC,CAAoBC,GACvB,OAAQA,GACJ,IAAK,SACD,MAAO,SACX,IAAK,MACD,MAAO,MACX,QACI,MAAO,OAElB,EAEiBC,GAAA7E,eAAGA,GChXzBn+B,OAAOC,eAAegjC,GAAS,aAAc,CAAE9iC,OAAO,IAChC8iC,GAAAC,oBAAG,EACzB,MAAMl2B,GAAY1M,EACZyM,GAAgBvG,EAChB28B,GAAkB18B,GAClB28B,GAAsB18B,GAE5B,MAAMw8B,GAKFG,IAEAC,IAEAC,IACA,WAAA1hC,CAAYuL,GACRxN,MAAKyjC,GAAc,IAAIF,GAAgBrF,YAAY9b,GAAc,IAAIohB,GAAoBjF,eAAenc,EAAW5U,KACnHxN,MAAK0jC,GAAgB,IAAIzkC,IACzBe,MAAK2jC,GAAqB,IAAI1kC,GACjC,CACD,iBAAAwjB,GACI,IAAK,MAAM8c,KAAWv/B,MAAKyjC,GAAYpK,SACnCkG,EAAQtpB,UAEZjW,MAAKyjC,GAAYpiC,OACpB,CAOD,YAAAuiC,CAAarjC,GACT,MAAMsjC,GAAY,EAAIz2B,GAAUrB,UAEhC,OADA/L,MAAK0jC,GAAclkC,IAAIqkC,EAAWtjC,GAC3BsjC,CACV,CAKD,eAAAC,CAAgBD,GACZ,IAAK7jC,MAAK0jC,GAAcva,IAAI0a,GACxB,MAAM,IAAI12B,GAAcjJ,yBAAyB,cAAc2/B,sBAEnE7jC,MAAK0jC,GAActiC,OAAOyiC,EAC7B,CAED,oBAAAngB,GACI,MAAMqgB,EAAW,GACjB,IAAK,MAAMxjC,KAASP,MAAK0jC,GAAcrK,SACnC,IAAK,MAAM2K,KAAkBzjC,EAAM0jC,YAAa,CAC5C,MAAMC,EAAaZ,GAAea,sBAAsBH,GACxD,IAAK,MAAMI,KAAS7jC,EAAM8jC,OACR,iBAAVD,EACAL,EAASxkC,KAAK,CACV2kC,eAIJH,EAASxkC,KAAK,CACV2kC,aACAI,aAAchB,GAAeiB,sBAAsBH,IAIlE,CAEL,MAAO,CACHL,WAGAS,mBAAoB,IAAIxkC,MAAK0jC,GAAcrK,UAAUtZ,MAAM0kB,GAChDA,EAAMJ,OAAOryB,SAAS,kBAGxC,CACD,UAAAuQ,CAAWzd,GACP,OAAO9E,MAAKyjC,GAAYnkC,IAAIwF,EAC/B,CACD,aAAAud,CAAcvd,GACV,MAAMy6B,EAAUv/B,MAAKyjC,GAAYnkC,IAAIwF,GACjCy6B,GACAA,EAAQtpB,UAEZjW,MAAKyjC,GAAYriC,OAAO0D,EAC3B,CAED,4BAAOq/B,CAAsBD,GACzB,OAAQA,EAAWrjC,MACf,IAAK,SACD,OAAOqjC,EAAW3uB,QACtB,IAAK,UACD,OAAO+tB,GAAeoB,sBAAsBR,GAEvD,CACD,4BAAOQ,EAAsBhD,SAAEA,EAAQiD,SAAEA,EAAQC,KAAEA,EAAIC,SAAEA,EAAQC,OAAEA,IAC/D,IAAI7wB,EAAM,GA0BV,OAzBIytB,IACAztB,GAAO,GAAGytB,IACLA,EAASa,SAAS,OACnBtuB,GAAO,KAEXA,GAAO,MAEP0wB,IACA1wB,GAAO0wB,GAEPC,IACA3wB,GAAO,IAAI2wB,KAEXC,IACKA,EAAShpB,WAAW,OACrB5H,GAAO,KAEXA,GAAO4wB,GAEPC,IACKA,EAAOjpB,WAAW,OACnB5H,GAAO,KAEXA,GAAO,GAAG6wB,KAEP7wB,CACV,CAKD,4BAAOswB,CAAsBH,GACzB,OAAQA,GACJ,IAAK,oBACD,MAAO,UACX,IAAK,kBACD,MAAO,WACX,IAAK,eACD,MAAM,IAAIj/B,MAAM,kEAE3B,CAED,qBAAIw+B,GACA,OAAO3jC,MAAK2jC,EACf,EAEiBoB,GAAAzB,eAAGA,GClJzBljC,OAAOC,eAAe2kC,GAAS,aAAc,CAAEzkC,OAAO,IAC9BykC,GAAAC,sBAAG,EAiB3B,MAAM93B,GAAgBzM,EAChBwkC,GAAsBt+B,GAE5B,MAAMq+B,GACF76B,GACA8X,IACA,WAAAjgB,CAAYmI,EAAwB8X,GAChCliB,MAAKoK,EAA0BA,EAC/BpK,MAAKkiB,GAAkBA,CAC1B,CACD,kBAAM0hB,CAAaz8B,GACf,GAA6B,IAAzBA,EAAOk9B,OAAO/hC,OACd,MAAM,IAAI6K,GAAc3I,yBAAyB,yCAErD,MAAMy/B,EAAc98B,EAAO88B,aAAe,GACpCkB,EAAoBF,GAAiBG,iBAAiBnB,GACtDJ,EAAY7jC,MAAKkiB,GAAgB0hB,aAAa,CAChDK,YAAakB,EACbd,OAAQl9B,EAAOk9B,SAInB,aADMrkC,MAAKqlC,KACJ,CACHxB,YAEP,CACD,eAAAyB,CAAgBC,GACZ,MAAM,IAAIp4B,GAAcrJ,wBAAwB,uBACnD,CACD,gBAAA0hC,CAAiBD,GACb,MAAM,IAAIp4B,GAAcrJ,wBAAwB,uBACnD,CACD,gBAAA2hC,CAAiBF,GACb,MAAM,IAAIp4B,GAAcrJ,wBAAwB,uBACnD,CACD,WAAA4hC,CAAYH,GACR,MAAM,IAAIp4B,GAAcrJ,wBAAwB,uBACnD,CACD,eAAA6hC,CAAgBJ,GACZ,MAAM,IAAIp4B,GAAcrJ,wBAAwB,uBACnD,CACD,qBAAMggC,CAAgB38B,GAIlB,OAHAnH,MAAKkiB,GAAgB4hB,gBAAgB38B,EAAO08B,iBAEtC7jC,MAAKqlC,KACJ,EACV,CAED,QAAMA,SACIh8B,QAAQrK,IAAIgB,MAAKoK,EAAwBw7B,iBAAiB9lC,KAAImP,MAAO3E,UACjEA,EAAQG,UAAUmZ,YAAY,IAE3C,CACD,uBAAOwhB,CAAiBnB,GACpB,OAAOA,EAAYnkC,KAAKokC,IACpB,OAAQA,EAAWrjC,MACf,IAAK,SACD,IACI,IAAIma,IAAIkpB,EAAW3uB,QACtB,CACD,MAAOxS,GACH,MAAM,IAAIoK,GAAc3I,yBAAyB,gBAAgB0/B,EAAW3uB,aAAaxS,IAC5F,CACD,OAAOmhC,EAEX,IAAK,UACD,GAA4B,KAAxBA,EAAWxC,SACX,MAAM,IAAIv0B,GAAc3I,yBAAyB,uCAErD,GAA4B,KAAxB0/B,EAAWS,SACX,MAAM,IAAIx3B,GAAc3I,yBAAyB,uCAErD,IAAK0/B,EAAWS,UAAUriC,QAAU,GAAK,EAAG,CACxC,GAAI4hC,EAAWxC,UAAUmE,MAAM,UAC3B,MAAM,IAAI14B,GAAc3I,yBAAyB,yCAErD,GAAI0/B,EAAWS,UAAU3yB,SAAS,KAC9B,MAAM,IAAI7E,GAAc3I,yBAAyB,gDAExD,CACD,GAAwB,KAApB0/B,EAAWU,KACX,MAAM,IAAIz3B,GAAc3I,yBAAyB,mCAErD,IACI,IAAIwW,IAAIkqB,GAAoB5B,eAAeoB,sBAAsBR,GACpE,CACD,MAAOnhC,GACH,MAAM,IAAIoK,GAAc3I,yBAAyB,GAAGzB,IACvD,CACD,OAAOmhC,EACd,GAER,EAEmB4B,GAAAb,iBAAGA,aChG3B7kC,OAAOC,eAAe0lC,GAAS,aAAc,CAAExlC,OAAO,IAC9BwlC,GAAAC,sBAAG,EAkBHC,GAAAD,iBAjBxB,MACIx4B,GACA,WAAAvL,CAAYuL,GACRxN,MAAKwN,EAAgBA,CACxB,CACD,MAAAm0B,GACI,MAAO,CAAEuE,OAAO,EAAOxhC,QAAS,oBACnC,CACD,SAAAyhC,CAAUh/B,EAAQ8B,EAAU,MAExB,OADAjJ,MAAKwN,EAAc24B,UAAUh/B,EAAOi/B,OAAQj/B,EAAO6d,UAAY,CAAC,MAAO/b,GAChE,EACV,CACD,WAAAo9B,CAAYl/B,EAAQ8B,EAAU,MAE1B,OADAjJ,MAAKwN,EAAc64B,YAAYl/B,EAAOi/B,OAAQj/B,EAAO6d,UAAY,CAAC,MAAO/b,GAClE,EACV,GCjBL7I,OAAOC,eAAeimC,EAAS,aAAc,CAAE/lC,OAAO,IAC9B+lC,EAAAC,sBAAG,EAC3B,MAAMp5B,GAAgBzM,EAChB8lC,GAAoB5/B,EACpBlF,GAAWmF,EACX4/B,GAAsB3/B,EACtB4/B,GAAuB7vB,EACvB8vB,GAAwB5vB,EACxB6vB,GAAoBC,EACpBC,GAAgCC,EAChCC,GAAsBC,GACtBC,GAA4BC,GAC5BC,GAAuBC,GACvBC,GAAwBC,GACxBC,GAAwBC,GACxBvC,GAAsBwC,GAC5B,MAAMnB,WAAyBC,GAAkBhmC,aAE7CmnC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IAEAC,IACArmC,GACA,WAAAI,CAAY0H,EAAe6D,EAAcsX,EAAc1a,EAAwBqG,EAAcy3B,EAAS,IAAIzB,GAAoBz/B,eAAkBnF,GAC5IkD,QACA/E,MAAKkoC,GAAUA,EACfloC,MAAK6B,EAAUA,EACf,MAAMqgB,EAAiB,IAAIgjB,GAAoB5B,eAAe91B,GACxD8V,EAAuB,IAAI4jB,GAA0BnL,qBAE3D/7B,MAAK2nC,GAAoB,IAAIhB,GAAsBl9B,iBAAiBE,GACpE3J,MAAK4nC,GAA4B,IAAId,GAA8BpiB,yBAAyB/a,EAAemb,EAActX,EAAcpD,EAAwBqG,EAAcyR,EAAgBoB,EAAsBzhB,GACnN7B,MAAK6nC,GAAgB,IAAIjB,GAAkB18B,aAAaE,EAAwBT,GAChF3J,MAAK8nC,GAAkB,IAAId,GAAoBhM,eAAe5wB,GAC9DpK,MAAK+nC,GAAoB,IAAIT,GAAsBrC,iBAAiB76B,EAAwB8X,GAC5FliB,MAAKgoC,GAAmB,IAAIZ,GAAqB7J,gBAAgBnzB,EAAwBqG,EAAc6S,EAAsBzhB,GAC7H7B,MAAKioC,GAAoB,IAAIT,GAAsBxB,iBAAiBx4B,EAEvE,CACD,QAAM26B,CAAgB3N,GAClB,OAAQA,EAAQ3vB,QACZ,IAAK,cACL,IAAK,cAED,MAGJ,IAAK,gBACD,OAAO7K,MAAK2nC,GAAkB/9B,QAIlC,IAAK,2BACD,OAAO5J,MAAK4nC,GAA0B3rB,SAASjc,MAAKkoC,GAAQhhC,oBAAoBszB,EAAQrzB,SAC5F,IAAK,oCACD,OAAOnH,MAAK4nC,GAA0B1rB,kBAAkBlc,MAAKkoC,GAAQ9gC,6BAA6BozB,EAAQrzB,SAC9G,IAAK,wBACD,OAAOnH,MAAK4nC,GAA0Bh+B,MAAM5J,MAAKkoC,GAAQ7gC,iBAAiBmzB,EAAQrzB,SACtF,IAAK,yBACD,OAAOnH,MAAK4nC,GAA0BtiC,OAAOtF,MAAKkoC,GAAQ5gC,kBAAkBkzB,EAAQrzB,SACxF,IAAK,0BACD,OAAOnH,MAAK4nC,GAA0B7iB,QAAQ/kB,MAAKkoC,GAAQ3gC,mBAAmBizB,EAAQrzB,SAC1F,IAAK,mCACD,OAAOnH,MAAK4nC,GAA0B9rB,iBAAiB9b,MAAKkoC,GAAQ1gC,4BAA4BgzB,EAAQrzB,SAC5G,IAAK,2BACD,OAAOnH,MAAK4nC,GAA0B9sB,SAAS9a,MAAKkoC,GAAQzgC,oBAAoB+yB,EAAQrzB,SAC5F,IAAK,wBACD,OAAOnH,MAAK4nC,GAA0BxqB,MAAMpd,MAAKkoC,GAAQxgC,iBAAiB8yB,EAAQrzB,SACtF,IAAK,yBACD,OAAOnH,MAAK4nC,GAA0BzsB,OAAOnb,MAAKkoC,GAAQvgC,kBAAkB6yB,EAAQrzB,SACxF,IAAK,8BACD,OAAOnH,MAAK4nC,GAA0BvsB,YAAYrb,MAAKkoC,GAAQtgC,uBAAuB4yB,EAAQrzB,SAIlG,IAAK,iBACD,OAAOnH,MAAK6nC,GAAcx9B,WAAWrK,MAAKkoC,GAAQrgC,sBAAsB2yB,EAAQrzB,SACpF,IAAK,kBACD,OAAOnH,MAAK6nC,GAAc79B,YAAYhK,MAAKkoC,GAAQpgC,uBAAuB0yB,EAAQrzB,SAItF,IAAK,uBACD,OAAOnH,MAAK8nC,GAAgBzM,eAAer7B,MAAKkoC,GAAQ7/B,0BAA0BmyB,EAAQrzB,SAC9F,IAAK,uBACD,OAAOnH,MAAK8nC,GAAgBrM,eAAez7B,MAAKkoC,GAAQ5/B,0BAA0BkyB,EAAQrzB,SAI9F,IAAK,uBACD,OAAOnH,MAAK+nC,GAAkBnE,aAAa5jC,MAAKkoC,GAAQ3/B,wBAAwBiyB,EAAQrzB,SAC5F,IAAK,0BACD,OAAOnH,MAAK+nC,GAAkBzC,gBAAgBtlC,MAAKkoC,GAAQ1/B,2BAA2BgyB,EAAQrzB,SAClG,IAAK,2BACD,OAAOnH,MAAK+nC,GAAkBvC,iBAAiBxlC,MAAKkoC,GAAQz/B,4BAA4B+xB,EAAQrzB,SACpG,IAAK,2BACD,OAAOnH,MAAK+nC,GAAkBtC,iBAAiBzlC,MAAKkoC,GAAQx/B,4BAA4B8xB,EAAQrzB,SACpG,IAAK,sBACD,OAAOnH,MAAK+nC,GAAkBrC,YAAY1lC,MAAKkoC,GAAQv/B,uBAAuB6xB,EAAQrzB,SAC1F,IAAK,0BACD,OAAOnH,MAAK+nC,GAAkBpC,gBAAgB3lC,MAAKkoC,GAAQt/B,2BAA2B4xB,EAAQrzB,SAClG,IAAK,0BACD,OAAOnH,MAAK+nC,GAAkBjE,gBAAgB9jC,MAAKkoC,GAAQr/B,2BAA2B2xB,EAAQrzB,SAIlG,IAAK,0BACD,OAAOnH,MAAKgoC,GAAiBtK,iBAAiB19B,MAAKkoC,GAAQngC,4BAA4ByyB,EAAQrzB,SACnG,IAAK,sBACD,OAAOnH,MAAKgoC,GAAiBzzB,aAAavU,MAAKkoC,GAAQlgC,wBAAwBwyB,EAAQrzB,SAC3F,IAAK,gBACD,OAAOnH,MAAKgoC,GAAiBhyB,OAAOhW,MAAKkoC,GAAQjgC,kBAAkBuyB,EAAQrzB,SAC/E,IAAK,kBACD,OAAOnH,MAAKgoC,GAAiB91B,SAASlS,MAAKkoC,GAAQhgC,oBAAoBsyB,EAAQrzB,SACnF,IAAK,mBACD,OAAOnH,MAAKgoC,GAAiBjK,UAAU/9B,MAAKkoC,GAAQ//B,qBAAqBqyB,EAAQrzB,SACrF,IAAK,6BACD,OAAOnH,MAAKgoC,GAAiBrK,oBAAoB39B,MAAKkoC,GAAQ9/B,+BAA+BoyB,EAAQrzB,SAIzG,IAAK,iBACD,OAAOnH,MAAKioC,GAAkBtG,SAClC,IAAK,oBACD,OAAO3hC,MAAKioC,GAAkB9B,UAAUnmC,MAAKkoC,GAAQp/B,qBAAqB0xB,EAAQrzB,QAASqzB,EAAQvxB,SACvG,IAAK,sBACD,OAAOjJ,MAAKioC,GAAkB5B,YAAYrmC,MAAKkoC,GAAQp/B,qBAAqB0xB,EAAQrzB,QAASqzB,EAAQvxB,SAM7G,MAAM,IAAIkE,GAAcrJ,wBAAwB,oBAAoB02B,EAAQ3vB,WAC/E,CACD,oBAAMs9B,CAAe3N,GACjB,IACI,MAAMr0B,QAAenG,MAAKmoC,GAAgB3N,GACpCgH,EAAW,CACb3gC,KAAM,UACNiE,GAAI01B,EAAQ11B,GACZqB,UAEJnG,KAAKJ,KAAK,WAAkD,CACxD8E,QAASgiC,GAAqB19B,gBAAgBI,eAAeo4B,EAAUhH,EAAQvxB,SAC/EjI,MAAOw5B,EAAQ3vB,QAEtB,CACD,MAAOzL,GACH,GAAIA,aAAa+N,GAAc1I,UAC3BzE,KAAKJ,KAAK,WAAkD,CACxD8E,QAASgiC,GAAqB19B,gBAAgBI,eAAehK,EAAEwF,gBAAgB41B,EAAQ11B,IAAK01B,EAAQvxB,SACpGjI,MAAOw5B,EAAQ3vB,aAGlB,CACD,MAAM9H,EAAQ3D,EACdY,MAAK6B,IAAUH,GAASJ,QAAQ8mC,KAAMrlC,GACtC/C,KAAKJ,KAAK,WAAkD,CACxD8E,QAASgiC,GAAqB19B,gBAAgBI,eAAe,IAAI+D,GAAcjI,sBAAsBnC,EAAM2B,QAAS3B,EAAMqC,OAAOR,gBAAgB41B,EAAQ11B,IAAK01B,EAAQvxB,SACtKjI,MAAOw5B,EAAQ3vB,QAEtB,CACJ,CACJ,EAEmBw9B,EAAA9B,iBAAGA,aC1K3BnmC,OAAOC,eAAeioC,GAAS,aAAc,CAAE/nC,OAAO,IACxB+nC,GAAAC,4BAAG,EACjC,MAAMp7B,GAAgBzM,EAsDQ8nC,GAAAD,uBApD9B,MAEIvjB,IAAY,IAAI/lB,IAEhB,mBAAAimB,GACI,OAAOllB,KAAK4lC,iBAAiB1J,QAAQ5xB,GAAYA,EAAQsN,qBAC5D,CAED,cAAAguB,GACI,OAAO9I,MAAMC,KAAK/8B,MAAKglB,GAAUqU,SACpC,CAED,iBAAA9gB,CAAkBzT,GACd9E,MAAKglB,GAAU5jB,OAAO0D,EACzB,CAED,aAAA2jC,CAAcn+B,GACVtK,MAAKglB,GAAU5jB,OAAOkJ,EAAQxF,GACjC,CAED,UAAA6S,CAAWrN,GACPtK,MAAKglB,GAAUxlB,IAAI8K,EAAQxF,GAAIwF,EAClC,CAED,UAAAo+B,CAAW5jC,GACP,OAAO9E,MAAKglB,GAAUmE,IAAIrkB,EAC7B,CAED,WAAAmN,CAAYnN,GACR,OAAO9E,MAAKglB,GAAU1lB,IAAIwF,EAC7B,CAED,qBAAA6jC,CAAsB7jC,GAClB,GAAW,OAAPA,EACA,OAAO,KAEX,MAAMshB,EAAepmB,KAAKiS,YAAYnN,GAChCkS,EAAWoP,GAAcpP,UAAY,KAC3C,OAAiB,OAAbA,EACOlS,EAEJ9E,KAAK2oC,sBAAsB3xB,EACrC,CAED,UAAAxM,CAAW1F,GACP,MAAMqB,EAASnG,KAAKiS,YAAYnN,GAChC,QAAenC,IAAXwD,EACA,MAAM,IAAIgH,GAAc/I,qBAAqB,WAAWU,eAE5D,OAAOqB,CACV,mBCtDL/F,OAAOC,eAAeuoC,GAAS,aAAc,CAAEroC,OAAO,IACxCqoC,GAAAC,YAAG,EA2BHD,GAAAC,OAzBd,MACIC,IACA1K,IAAW,GACX2K,IAKA,WAAA9mC,CAAY6mC,EAAUC,GAClB/oC,MAAK8oC,GAAYA,EACjB9oC,MAAK+oC,GAAiBA,CACzB,CACD,GAAAzpC,GACI,OAAOU,MAAKo+B,EACf,CACD,GAAAl8B,CAAI3B,GAEA,IADAP,MAAKo+B,GAAS7+B,KAAKgB,GACZP,MAAKo+B,GAAS97B,OAAStC,MAAK8oC,IAAW,CAC1C,MAAMjN,EAAO77B,MAAKo+B,GAAS57B,aACdG,IAATk5B,GACA77B,MAAK+oC,KAAiBlN,EAE7B,CACJ,aC1BLz7B,OAAOC,eAAe2oC,GAAS,aAAc,CAAEzoC,OAAO,IACrCyoC,GAAAC,eAAG,EAIpB,MAAMA,GACFtnC,UAAkB,EAClBmD,GACA,WAAA7C,GACIjC,MAAK8E,IAAQmkC,IAAUC,EAC1B,CACD,MAAIpkC,GACA,OAAO9E,MAAK8E,CACf,EAEYkkC,GAAAC,UAAGA,aCfpB7oC,OAAOC,eAAe8oC,GAAS,aAAc,CAAE5oC,OAAO,IACtD4oC,GAAAC,oBAAkDD,GAAAE,sCAA8B,EAChF,MAAMl8B,GAAgBzM,EAOtB,SAAS4oC,MAAoB7W,GACzB,OAAOA,EAAE/lB,QAAO,CAAC+lB,EAAGC,IAAMD,EAAErO,SAASuO,GAAMD,EAAE5yB,KAAKV,GAAM,CAACuzB,EAAGvzB,GAAGmqC,YACnE,CAGA,SAASF,GAAajD,GAClB,MAAMoD,EAAY,IAAI9zB,IACtB,SAAS+zB,EAAUrD,GACf,IAAK,MAAMplC,KAASolC,EAChBoD,EAAUtnC,IAAIlB,EAErB,CACD,IAAK,MAAMA,KAASolC,EAChB,OAAQplC,GACJ,KAAKmM,GAAczG,aAAaxD,WAAWG,gBACvComC,EAAUrpC,OAAOi5B,OAAOlsB,GAAczG,aAAarD,gBAAgBG,aACnE,MACJ,KAAK2J,GAAczG,aAAaxD,WAAWE,IACvCqmC,EAAUrpC,OAAOi5B,OAAOlsB,GAAczG,aAAatD,IAAII,aACvD,MACJ,KAAK2J,GAAczG,aAAaxD,WAAWI,QACvCmmC,EAAUrpC,OAAOi5B,OAAOlsB,GAAczG,aAAapD,QAAQE,aAC3D,MACJ,KAAK2J,GAAczG,aAAaxD,WAAWC,OACvCsmC,EAAUrpC,OAAOi5B,OAAOlsB,GAAczG,aAAavD,OAAOK,aAC1D,MACJ,QACIgmC,EAAUtnC,IAAIlB,GAG1B,MAAO,IAAIwoC,EAAUnQ,SACzB,CA5BwBqQ,GAAAJ,iBAAGA,GA6BPI,GAAAL,aAAGA,GA8HIK,GAAAN,oBA7H3B,MACIO,IAAwB,EAIxBC,IAA8B,IAAI3qC,IAClCmL,GACA,WAAAnI,CAAYmI,GACRpK,MAAKoK,EAA0BA,CAClC,CACD,4BAAAy/B,CAA6BC,EAAar7B,GAQtC,OAP8BquB,MAAMC,KAAK/8B,MAAK4pC,GAA4BG,QACrEjqC,KAAKmJ,IAAa,CACnB+gC,SAAUhqC,MAAKiqC,GAAwCH,EAAar7B,EAAWxF,GAC/EA,cAECizB,QAAO,EAAG8N,cAA4B,OAAbA,IAGzBE,MAAK,CAACzX,EAAGC,IAAMD,EAAEuX,SAAWtX,EAAEsX,WAC9BlqC,KAAI,EAAGmJ,aAAcA,GAC7B,CACD,GAAAghC,CAAwCH,EAAar7B,EAAWxF,GAC5D,MAAMkhC,EAAoBnqC,MAAK4pC,GAA4BtqC,IAAI2J,GAC/D,QAA0BtG,IAAtBwnC,EACA,OAAO,KAEX,MAAMC,EAAyBpqC,MAAKoK,EAAwBu+B,sBAAsBl6B,GAI5E47B,EAFmB,IAAI,IAAI30B,IAAI,CAAC,KAAM00B,KAGvCtqC,KAAK0Z,GAAM2wB,EAAkB7qC,IAAIka,IAAIla,IAAIwqC,KACzC5N,QAAQz1B,QAAY9D,IAAN8D,IACnB,OAA0B,IAAtB4jC,EAAW/nC,OAEJ,KAGJya,KAAKE,OAAOotB,EACtB,CACD,SAAAlE,CAAUnlC,EAAOyN,EAAWxF,GAIxB,OAFAwF,EAAYzO,MAAKoK,EAAwBu+B,sBAAsBl6B,GAEvDzN,GACJ,KAAKmM,GAAczG,aAAaxD,WAAWG,gBAEvC,YADAjD,OAAOi5B,OAAOlsB,GAAczG,aAAarD,gBAAgBG,YAAY1D,KAAKwqC,GAAkBtqC,KAAKmmC,UAAUmE,EAAe77B,EAAWxF,KAEzI,KAAKkE,GAAczG,aAAaxD,WAAWE,IAEvC,YADAhD,OAAOi5B,OAAOlsB,GAAczG,aAAatD,IAAII,YAAY1D,KAAKwqC,GAAkBtqC,KAAKmmC,UAAUmE,EAAe77B,EAAWxF,KAE7H,KAAKkE,GAAczG,aAAaxD,WAAWI,QAEvC,YADAlD,OAAOi5B,OAAOlsB,GAAczG,aAAapD,QAAQE,YAAY1D,KAAKwqC,GAAkBtqC,KAAKmmC,UAAUmE,EAAe77B,EAAWxF,KAEjI,KAAKkE,GAAczG,aAAaxD,WAAWC,OAEvC,YADA/C,OAAOi5B,OAAOlsB,GAAczG,aAAavD,OAAOK,YAAY1D,KAAKwqC,GAAkBtqC,KAAKmmC,UAAUmE,EAAe77B,EAAWxF,KAK/HjJ,MAAK4pC,GAA4BzgB,IAAIlgB,IACtCjJ,MAAK4pC,GAA4BpqC,IAAIyJ,EAAS,IAAIhK,KAEtD,MAAMkrC,EAAoBnqC,MAAK4pC,GAA4BtqC,IAAI2J,GAC1DkhC,EAAkBhhB,IAAI1a,IACvB07B,EAAkB3qC,IAAIiP,EAAW,IAAIxP,KAEzC,MAAMsrC,EAAWJ,EAAkB7qC,IAAImP,GAEnC87B,EAASphB,IAAInoB,IAGjBupC,EAAS/qC,IAAIwB,EAAOhB,MAAK2pC,KAC5B,CAID,cAAAa,CAAepE,EAAQqE,EAAYxhC,GAE/B,IAAK,MAAMwF,KAAag8B,EACF,OAAdh8B,GACAzO,MAAKoK,EAAwBI,WAAWiE,GAGtB66B,GAAiBD,GAAajD,GAASqE,GAI5D3qC,KAAI,EAAEkB,EAAOyN,KAAezO,MAAK0qC,GAAkB1pC,EAAOyN,EAAWxF,KACrE0hC,SAAStE,GAAgBA,KACjC,CAKD,WAAAA,CAAYuE,EAAWn8B,EAAWxF,GAC9BjJ,KAAKwqC,eAAe,CAACI,GAAY,CAACn8B,GAAYxF,EACjD,CACD,GAAAyhC,CAAkB1pC,EAAOyN,EAAWxF,GAGhC,GADAwF,EAAYzO,MAAKoK,EAAwBu+B,sBAAsBl6B,IAC1DzO,MAAK4pC,GAA4BzgB,IAAIlgB,GACtC,MAAM,IAAIkE,GAAc3I,yBAAyB,2BAA2BxD,MAAwB,OAAdyN,EAAqB,OAASA,6BAExH,MAAM07B,EAAoBnqC,MAAK4pC,GAA4BtqC,IAAI2J,GAC/D,IAAKkhC,EAAkBhhB,IAAI1a,GACvB,MAAM,IAAItB,GAAc3I,yBAAyB,2BAA2BxD,MAAwB,OAAdyN,EAAqB,OAASA,6BAExH,MAAM87B,EAAWJ,EAAkB7qC,IAAImP,GACvC,IAAK87B,EAASphB,IAAInoB,GACd,MAAM,IAAImM,GAAc3I,yBAAyB,2BAA2BxD,MAAwB,OAAdyN,EAAqB,OAASA,6BAExH,MAAO,KACH87B,EAASnpC,OAAOJ,GAEM,IAAlBupC,EAAShR,MACT4Q,EAAkB/oC,OAAOJ,GAEE,IAA3BmpC,EAAkB5Q,MAClBv5B,MAAK4pC,GAA4BxoC,OAAO6H,EAC3C,CAER,GCrKL7I,OAAOC,eAAewqC,GAAS,aAAc,CAAEtqC,OAAO,IAClCsqC,GAAAC,kBAAG,EACvB,MAAM39B,GAAgBzM,EAChB6iC,GAAkB38B,GAClBmkC,GAAclkC,GACdmkC,GAAiBlkC,GACjB4/B,GAAuB7vB,EACvBo0B,GAA2Bl0B,GACjC,MAAMm0B,GACFlC,IAAa,IAAIgC,GAAe/B,UAChCx6B,IACAzN,IACA,WAAAiB,CAAYjB,EAAOyN,GACfzO,MAAKgB,GAASA,EACdhB,MAAKyO,GAAaA,CACrB,CACD,MAAI3J,GACA,OAAO9E,MAAKgpC,GAAWlkC,EAC1B,CACD,aAAI2J,GACA,OAAOzO,MAAKyO,EACf,CACD,SAAIzN,GACA,OAAOhB,MAAKgB,EACf,EAKL,MAAMmqC,GAAoB,IAAIlsC,IAAI,CAAC,CAACkO,GAAczG,aAAatD,IAAII,WAAWke,mBAAoB,OAClG,MAAMopB,GAMFM,IAAsB,IAAI7H,GAAgBrF,YAAW,IAAM,IAAIxoB,MAK/D21B,IAAgB,IAAIpsC,IAMpBqsC,IAAmB,IAAIrsC,IACvBssC,IACAC,IACA,WAAAvpC,CAAYupC,GACRxrC,MAAKwrC,GAAcA,EACnBxrC,MAAKurC,GAAuB,IAAIN,GAAyB7B,oBAAoBoC,EAAWC,4BAC3F,CAID,SAAOC,CAAWd,EAAWe,EAAiB1iC,GAC1C,OAAOoM,KAAKC,UAAU,CAAEs1B,YAAWe,kBAAiB1iC,WACvD,CACD,aAAAoG,CAAcrO,EAAOyN,GACjBzO,KAAKyhB,qBAAqBpY,QAAQC,QAAQ,CACtCzG,KAAM,UACNtC,MAAOS,IACPyN,EAAWzN,EAAM6J,OACxB,CACD,oBAAA4W,CAAqBzgB,EAAOyN,EAAWm8B,GACnC,MAAMgB,EAAe,IAAIV,GAAalqC,EAAOyN,GACvCo9B,EAAiB7rC,MAAKurC,GAAqB1B,6BAA6Be,EAAWn8B,GACzFzO,MAAK8rC,GAAaF,EAAchB,GAEhC,IAAK,MAAM3hC,KAAW4iC,EAClB7rC,MAAKwrC,GAAYO,oBAAoBrF,GAAqB19B,gBAAgBE,kBAAkBlI,EAAOiI,GAAU2hC,GAC7G5qC,MAAKgsC,GAAeJ,EAAc3iC,EAAS2hC,EAElD,CACD,SAAAzE,CAAU8F,EAAYxB,EAAYxhC,GAC9B,IAAK,MAAM7G,KAAQ6pC,EACfC,GAAe9pC,GAGnB,IAAK,MAAMqM,KAAag8B,EACF,OAAdh8B,GAEAzO,MAAKwrC,GAAYC,4BAA4BjhC,WAAWiE,GAGhE,IAAK,MAAMm8B,KAAaqB,EACpB,IAAK,MAAMx9B,KAAag8B,EAAY,CAChCzqC,MAAKurC,GAAqBpF,UAAUyE,EAAWn8B,EAAWxF,GAC1D,IAAK,MAAM2iC,KAAgB5rC,MAAKmsC,GAAmBvB,EAAWn8B,EAAWxF,GAErEjJ,MAAKwrC,GAAYO,oBAAoBrF,GAAqB19B,gBAAgBE,kBAAkB0iC,EAAa5qC,MAAOiI,GAAU2hC,GAC1H5qC,MAAKgsC,GAAeJ,EAAc3iC,EAAS2hC,EAElD,CAER,CACD,WAAAvE,CAAY4F,EAAYxB,EAAYxhC,GAChC,IAAK,MAAM7G,KAAQ6pC,EACfC,GAAe9pC,GAEnBpC,MAAKurC,GAAqBf,eAAeyB,EAAYxB,EAAYxhC,EACpE,CAID,GAAA6iC,CAAaF,EAAchB,GACvB,IAAKO,GAAkBhiB,IAAIyhB,GAEvB,OAEJ,MAAMwB,EAAetB,IAAaY,GAAWd,EAAWgB,EAAan9B,WAChEzO,MAAKqrC,GAAcliB,IAAIijB,IACxBpsC,MAAKqrC,GAAc7rC,IAAI4sC,EAAc,IAAIrB,GAAYlC,OAAOsC,GAAkB7rC,IAAIsrC,KAEtF5qC,MAAKqrC,GAAc/rC,IAAI8sC,GAAclqC,IAAI0pC,GAEzC5rC,MAAKorC,GAAoB9rC,IAAIsrC,GAAW1oC,IAAI0pC,EAAan9B,UAC5D,CAID,GAAAu9B,CAAeJ,EAAc3iC,EAAS2hC,GAClC,IAAKO,GAAkBhiB,IAAIyhB,GAEvB,OAEJ,MAAMyB,EAAiBvB,IAAaY,GAAWd,EAAWgB,EAAan9B,UAAWxF,GAClFjJ,MAAKsrC,GAAiB9rC,IAAI6sC,EAAgBtvB,KAAKC,IAAIhd,MAAKsrC,GAAiBhsC,IAAI+sC,IAAmB,EAAGT,EAAa9mC,IACnH,CAID,GAAAqnC,CAAmBvB,EAAWn8B,EAAWxF,GACrC,MAAMmjC,EAAetB,IAAaY,GAAWd,EAAWn8B,GAClD49B,EAAiBvB,IAAaY,GAAWd,EAAWn8B,EAAWxF,GAC/DqjC,EAAoBtsC,MAAKsrC,GAAiBhsC,IAAI+sC,KAAoBE,IAClEpmC,EAASnG,MAAKqrC,GACf/rC,IAAI8sC,IACH9sC,MACD48B,QAAQsQ,GAAYA,EAAQ1nC,GAAKwnC,KAAsB,GAY5D,OAXkB,OAAd79B,GAEAquB,MAAMC,KAAK/8B,MAAKorC,GAAoB9rC,IAAIsrC,GAAWb,QAC9C7N,QAAQuQ,GAEE,OAAfA,GAEIzsC,MAAKwrC,GAAYC,4BAA4B/C,WAAW+D,KACvD3sC,KAAK2sC,GAAezsC,MAAKmsC,GAAmBvB,EAAW6B,EAAYxjC,KACnE0hC,SAASvE,GAAWjgC,EAAO5G,QAAQ6mC,KAErCjgC,EAAO+jC,MAAK,CAACwC,EAAIC,IAAOD,EAAG5nC,GAAK6nC,EAAG7nC,IAC7C,EAEe+lC,GAAAC,aAAGA,GACvB,MAAM8B,GAAc,IAAIl3B,IAAI,IAErBtV,OAAOi5B,OAAOlsB,GAAczG,aAAaxD,eACzC9C,OAAOi5B,OAAOlsB,GAAczG,aAAarD,gBAAgBG,eACzDpD,OAAOi5B,OAAOlsB,GAAczG,aAAatD,IAAII,eAC7CpD,OAAOi5B,OAAOlsB,GAAczG,aAAapD,QAAQE,eACjDpD,OAAOi5B,OAAOlsB,GAAczG,aAAavD,OAAOK,cAGvD,SAAS0oC,GAAe9pC,GACpB,IAAKwqC,GAAYzjB,IAAI/mB,KAChBA,EAAKyZ,WAAW,SACR,QAATzZ,EACA,MAAM,IAAI+K,GAAc3I,yBAAyB,kBAAkBpC,IAE3E,WC5LAhC,OAAOC,eAAewsC,GAAS,aAAc,CAAEtsC,OAAO,IAClCssC,GAAAC,kBAAG,EACvB,MAAM3/B,GAAgBzM,EAyEFqsC,GAAAD,aAvEpB,MAEIz7B,IAA0B,IAAIpS,IAE9B+tC,IAAY,IAAI/tC,IAChB,0BAAIoS,GACA,OAAOrR,MAAKqR,EACf,CACD,QAAAT,CAASrD,GACLvN,MAAKgtC,GAAUxtC,IAAI+N,EAAMoC,QAASpC,EACrC,CAED,UAAA6L,CAAW8iB,GACP,OAAOY,MAAMC,KAAK/8B,MAAKgtC,GAAU3T,UAAU6C,QAAQ3uB,SACxB5K,IAAnBu5B,EAAOvsB,SAAyBusB,EAAOvsB,UAAYpC,EAAMoC,iBAG5BhN,IAA7Bu5B,EAAOtsB,mBACPssB,EAAOtsB,oBAAsBrC,EAAMqC,2BAGZjN,IAAvBu5B,EAAOtqB,aACPsqB,EAAOtqB,cAAgBrE,EAAMqE,qBAGCjP,IAA9Bu5B,EAAOxtB,oBACPwtB,EAAOxtB,qBAAuBnB,EAAMmB,4BAGlB/L,IAAlBu5B,EAAOxrB,QAAwBwrB,EAAOxrB,SAAWnD,EAAMmD,gBAGvC/N,IAAhBu5B,EAAOr7B,MAAsBq7B,EAAOr7B,OAAS0M,EAAM1M,cAGhC8B,IAAnBu5B,EAAOvrB,SAAyBurB,EAAOvrB,UAAYpD,EAAMoD,gBAGjChO,IAAxBu5B,EAAOxxB,cACPwxB,EAAOxxB,eAAiB6C,EAAMgB,UAAUhE,kBAKnD,CACD,SAAAgX,CAAU2a,GACN,MAAM+Q,EAAcjtC,KAAKoZ,WAAW8iB,GACpC,GAA2B,IAAvB+Q,EAAY3qC,OAGhB,OAAO2qC,EAAY,EACtB,CAED,QAAApP,CAAS3B,GACL,MAAMgR,EAAaltC,KAAKuhB,UAAU2a,GAClC,QAAmBv5B,IAAfuqC,EACA,MAAM,IAAI//B,GAAc/I,qBAAqB,SAASiR,KAAKC,UAAU4mB,gBAEzE,OAAOgR,CACV,CAED,YAAA70B,CAAa6jB,GACTl8B,KAAKoZ,WAAW8iB,GAAQp8B,KAAKyN,IACzBA,EAAM0I,UACNjW,MAAKgtC,GAAU5rC,OAAOmM,EAAMoC,SAC5BmtB,MAAMC,KAAK/8B,KAAKqR,uBAAuB+sB,WAClClC,QAAO,EAAC,CAAGhJ,KAAOA,IAAM3lB,EAAMoC,UAC9B7P,KAAI,EAAEsR,KAAYpR,KAAKqR,uBAAuBjQ,OAAOgQ,IAAQ,GAEzE,GCzDLhR,OAAOC,eAAe8sC,EAAS,aAAc,CAAE5sC,OAAO,IACpC4sC,EAAAC,gBAAG,EACrB,MAAM5G,GAAoB9lC,EACpBgB,GAAWkF,EACXymC,GAAuBxmC,EACvBymC,GAAwBxmC,EACxBymC,GAA8B12B,GAC9B22B,GAAoBz2B,GACpB02B,GAAoB5G,GAC1B,MAAMuG,WAAmB5G,GAAkBhmC,aACvCktC,IACAC,IACAC,IACAxjC,GAA0B,IAAImjC,GAA4BhF,uBAC1D1mC,GACAgsC,IAA0BnpC,IACjB1E,MAAK4tC,GAAkBzF,eAAezjC,GAAS1B,OAAOD,IACvD/C,MAAK6B,IAAUH,GAASJ,QAAQM,MAAOmB,EAAM,GAC/C,EAEN+qC,IAA0B7+B,MAAO8+B,IAC7B,MAAMrpC,EAAUqpC,EAAarpC,QACA,OAAzBqpC,EAAa9kC,UACbvE,EAAiB,QAAIqpC,EAAa9kC,eAEhCjJ,MAAK2tC,GAAWt/B,YAAY3J,EAAQ,EAE9C,WAAAzC,CAAY+rC,EAAerkC,EAAemb,EAAcojB,EAAQrmC,GAC5DkD,QACA/E,MAAK6B,EAAUA,EACf7B,MAAK0tC,GAAgB,IAAIL,GAAqB5rC,gBAAgBzB,MAAK8tC,GAAyB9tC,MAAK6B,GACjG7B,MAAK2tC,GAAaK,EAClBhuC,MAAK2tC,GAAWM,aAAajuC,MAAK6tC,IAClC7tC,MAAK4tC,GAAoB,IAAIN,GAAsB/G,iBAAiB58B,EAAe,IAAI6jC,GAAkB1C,aAAa9qC,MAAO8kB,EAAc9kB,MAAKoK,EAAyB,IAAIqjC,GAAkBX,aAAgB5E,EAAQloC,MAAK6B,GAC5N7B,MAAK4tC,GAAkB1uC,GAAG,YAAkD,EAAGwF,UAAS1D,YACpFhB,KAAK+rC,oBAAoBrnC,EAAS1D,EAAM,GAE/C,CACD,2BAAaktC,CAAeF,EAAerkC,EAAemb,EAAcojB,EAAQrmC,GAC5E,MAAMssC,EAAS,IAAIf,GAAWY,EAAerkC,EAAemb,EAAcojB,EAAQrmC,GAC5E0M,EAAY5E,EAAcG,gBAUhC,aARMyE,EAAUvE,YAAY,4BAA6B,CAAEokC,UAAU,UAE/D7/B,EAAUvE,YAAY,uBAAwB,CAChD+Z,YAAY,EACZC,wBAAwB,EACxBC,SAAS,UAEPkqB,GAAOE,KACNF,CACV,CAID,mBAAApC,CAAoBgC,EAAc/sC,GAC9BhB,MAAK0tC,GAAcxrC,IAAI6rC,EAAc/sC,EACxC,CACD,KAAA4I,GACI5J,MAAK2tC,GAAW/jC,OACnB,CACD,yBAAA6hC,GACI,OAAOzrC,MAAKoK,CACf,CACD,QAAMikC,SACIhlC,QAAQrK,IAAIgB,MAAKoK,EAClB8a,sBACAplB,KAAK0Z,GAAMA,EAAEP,oBACrB,EAEaq1B,EAAAlB,WAAGA,eCtErBhtC,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAAAwC,gBAA0BxC,EAAuBhG,aAAAgG,EAAA4mC,gBAAqB,EAMtE,IAAImB,EAAkB7tC,EACtBN,OAAOC,eAAemG,EAAS,aAAc,CAAET,YAAY,EAAMzG,IAAK,WAAc,OAAOivC,EAAgBnB,UAAW,IACtH,IAAI5G,EAAoB5/B,EACxBxG,OAAOC,eAAemG,EAAS,eAAgB,CAAET,YAAY,EAAMzG,IAAK,WAAc,OAAOknC,EAAkBhmC,YAAa,IAC5H,IAAIkmC,EAAuB7/B,EAC3BzG,OAAOC,eAAemG,EAAS,kBAAmB,CAAET,YAAY,EAAMzG,IAAK,WAAc,OAAOonC,EAAqB19B,eAAgB,wBCZrI5I,OAAOC,eAAekO,GAAS,aAAc,CAAEhO,OAAO,IACtDgO,GAAAigC,UAAoBjgC,GAAAkgC,gBAAqB,EACzC,MAAMjI,GAAoB9lC,EAE1B,MAAM+tC,WAAmBtpC,OAEPoJ,GAAAkgC,WAAGA,GAErB,MAAMD,WAAkBhI,GAAkBhmC,aACtCmJ,GACAY,IACA,WAAAtI,CAAY0H,EAAeY,GACvBxF,QACA/E,MAAK2J,EAAiBA,EACtB3J,MAAKuK,GAAaA,CACrB,CACD,aAAIA,GACA,OAAOvK,MAAKuK,EACf,CACD,aAAAT,GACI,OAAO9J,MAAK2J,EAAeG,eAC9B,CACD,WAAAE,CAAYa,KAAW1D,GACnB,OAAOnH,MAAK2J,EAAeK,YAAYa,EAAQ1D,EAAO,GAAInH,MAAKuK,GAClE,CACD,YAAA4Z,CAAaphB,GACT,OAAOA,aAAiB0rC,EAC3B,EAEYlgC,GAAAigC,UAAGA,GC7CpBpuC,OAAOC,eAAesJ,GAAS,aAAc,CAAEpJ,OAAO,IACjCoJ,GAAA+kC,mBAAG,EACxB,MAAMhtC,GAAWhB,EACXiuC,GAAiB/nC,GA2GF+C,GAAA+kC,cApGrB,MACIf,IAEAvoB,IAEAwpB,IAAqB,IAAI3vC,IACzB4vC,IAAoB,IAAI5vC,IACxB4C,GACAitC,IAAU,EACV,WAAA7sC,CAAY0rC,EAAW9rC,GACnB7B,MAAK2tC,GAAaA,EAClB3tC,MAAK6B,EAAUA,EACf7B,MAAK2tC,GAAWM,aAAajuC,MAAKoO,IAClCpO,MAAKolB,GAAoB,IAAIupB,GAAeH,UAAUxuC,UAAM2C,EAC/D,CAED,KAAAiH,GACI5J,MAAK2tC,GAAW/jC,QAChB,IAAK,MAAS,EAAAsB,OAAEA,EAAMnI,MAAEA,MAAY/C,MAAK6uC,GACrC3jC,EAAOnI,GAEX/C,MAAK6uC,GAAkBxtC,QACvBrB,MAAK4uC,GAAmBvtC,OAC3B,CAED,aAAAyI,GACI,OAAO9J,MAAKolB,EACf,CAKD,YAAAxa,CAAaL,GACT,MAAMgE,EAAYvO,MAAK4uC,GAAmBtvC,IAAIiL,GAC9C,IAAKgE,EACD,MAAM,IAAIpJ,MAAM,2BAA2BoF,KAE/C,OAAOgE,CACV,CACD,WAAAvE,CAAYa,EAAQ1D,EAAQoD,GACxB,OAAO,IAAIlB,SAAQ,CAACC,EAAS4B,KACzB,MAAMpG,EAAK9E,MAAK8uC,KAChB9uC,MAAK6uC,GAAkBrvC,IAAIsF,EAAI,CAC3BwE,UACA4B,SACAnI,MAAO,IAAI4rC,GAAeF,WAAW,GAAG5jC,KAAUwK,KAAKC,UAAUnO,MAAWoD,GAAa,8DAE7F,MAAMwkC,EAAa,CAAEjqC,KAAI+F,SAAQ1D,UAC7BoD,IACAwkC,EAAWxkC,UAAYA,GAE3B,MAAMykC,EAAgB35B,KAAKC,UAAUy5B,GAChC/uC,MAAK2tC,GAAWt/B,YAAY2gC,IAAgBhsC,OAAOD,IACpD/C,MAAK6B,IAAUH,GAASJ,QAAQM,MAAOmB,GACvC/C,MAAK2tC,GAAW/jC,OAAO,IAE3B5J,MAAK6B,IAAU,GAAGH,GAASJ,QAAQ2B,kBAAcoS,KAAKC,UAAUy5B,EAAY,KAAM,GAAG,GAE5F,CACD3gC,IAAc1J,IACV,MAAMuqC,EAAgB55B,KAAK65B,MAAMxqC,GAC3ByqC,EAAgB95B,KAAKC,UAAU25B,EAAe,KAAM,GAI1D,GAHAjvC,MAAK6B,IAAU,GAAGH,GAASJ,QAAQ2B,kBAAcksC,GAGpB,4BAAzBF,EAAcpkC,OAAsC,CACpD,MAAMN,UAAEA,GAAc0kC,EAAc9nC,OACpCnH,MAAK4uC,GAAmBpvC,IAAI+K,EAAW,IAAIokC,GAAeH,UAAUxuC,KAAMuK,GAC7E,CACD,QAAyB5H,IAArBssC,EAAcnqC,GAAkB,CAEhC,MAAMsqC,EAAYpvC,MAAK6uC,GAAkBvvC,IAAI2vC,EAAcnqC,IAC3D9E,MAAK6uC,GAAkBztC,OAAO6tC,EAAcnqC,IACxCsqC,IACIH,EAAc9oC,OACdipC,EAAU9lC,QAAQ2lC,EAAc9oC,QAE3B8oC,EAAclsC,OACnBqsC,EAAUlkC,OAAO+jC,EAAclsC,OAG1C,MACI,GAAIksC,EAAcpkC,OAAQ,CAC3B,MAAMhB,EAASolC,EAAc1kC,UACvBvK,MAAK4uC,GAAmBtvC,IAAI2vC,EAAc1kC,WAC1CvK,MAAKolB,GAIX,GAHAvb,GAAQjK,KAAKqvC,EAAcpkC,OAAQokC,EAAc9nC,QAAU,CAAA,GAG9B,8BAAzB8nC,EAAcpkC,OAAwC,CACtD,MAAMN,UAAEA,GAAc0kC,EAAc9nC,OAC9B0C,EAAS7J,MAAK4uC,GAAmBtvC,IAAIiL,GACvCV,IACA7J,MAAK4uC,GAAmBxtC,OAAOmJ,GAC/BV,EAAO1I,qBAEd,CACJ,+DCzGT,IAAIkuC,EAFJjvC,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAAA8oC,cAAwB9oC,EAAwB+oC,cAAA/oC,EAAAgpC,WAAqBhpC,EAAe6oC,UAAA,EAEpF,SAAWA,GACPA,EAAKI,YAAe7uB,GAAQA,EAE5ByuB,EAAKK,SADL,SAAkBC,GAAS,EAK3BN,EAAKO,YAHL,SAAqBC,GACjB,MAAM,IAAI1qC,KACb,EAEDkqC,EAAKS,YAAeC,IAChB,MAAMC,EAAM,CAAA,EACZ,IAAK,MAAMnU,KAAQkU,EACfC,EAAInU,GAAQA,EAEhB,OAAOmU,CAAG,EAEdX,EAAKY,mBAAsBD,IACvB,MAAME,EAAYb,EAAKc,WAAWH,GAAK9T,QAAQz2B,GAA6B,iBAAhBuqC,EAAIA,EAAIvqC,MAC9D2qC,EAAW,CAAA,EACjB,IAAK,MAAM3qC,KAAKyqC,EACZE,EAAS3qC,GAAKuqC,EAAIvqC,GAEtB,OAAO4pC,EAAKgB,aAAaD,EAAS,EAEtCf,EAAKgB,aAAgBL,GACVX,EAAKc,WAAWH,GAAKlwC,KAAI,SAAUV,GACtC,OAAO4wC,EAAI5wC,EACvB,IAEIiwC,EAAKc,WAAoC,mBAAhB/vC,OAAO2pC,KACzBiG,GAAQ5vC,OAAO2pC,KAAKiG,GACpB76B,IACC,MAAM40B,EAAO,GACb,IAAK,MAAM32B,KAAO+B,EACV/U,OAAOgG,UAAUC,eAAeC,KAAK6O,EAAQ/B,IAC7C22B,EAAKxqC,KAAK6T,GAGlB,OAAO22B,CAAI,EAEnBsF,EAAKhwB,KAAO,CAACixB,EAAKC,KACd,IAAK,MAAM1U,KAAQyU,EACf,GAAIC,EAAQ1U,GACR,OAAOA,CAEC,EAEpBwT,EAAKmB,UAAwC,mBAArB3xB,OAAO2xB,UACxB5vB,GAAQ/B,OAAO2xB,UAAU5vB,GACzBA,GAAuB,iBAARA,GAAoB6vB,SAAS7vB,IAAQ7D,KAAK2zB,MAAM9vB,KAASA,EAM/EyuB,EAAKsB,WALL,SAAoBC,EAAOC,EAAY,OACnC,OAAOD,EACF9wC,KAAK8gB,GAAwB,iBAARA,EAAmB,IAAIA,KAASA,IACrD5T,KAAK6jC,EACb,EAEDxB,EAAKyB,sBAAwB,CAACtb,EAAGj1B,IACR,iBAAVA,EACAA,EAAMsM,WAEVtM,CAEd,CA7DD,CA6DG8uC,EAAO7oC,EAAQ6oC,OAAS7oC,EAAe6oC,KAAA,CAAE,KAS5B7oC,EAAQgpC,aAAehpC,EAAqBgpC,WAAA,CAAA,IAN7CuB,YAAc,CAACn0B,EAAOC,KACtB,IACAD,KACAC,IAIfrW,EAAwB+oC,cAAAF,EAAKS,YAAY,CACrC,SACA,MACA,SACA,UACA,QACA,UACA,OACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,UACA,UACA,OACA,QACA,MACA,QA8CJtpC,EAAA8oC,cA5CuB//B,IAEnB,cADiBA,GAEb,IAAK,YACD,OAAO/I,EAAQ+oC,cAAc5sC,UACjC,IAAK,SACD,OAAO6D,EAAQ+oC,cAAcyB,OACjC,IAAK,SACD,OAAO97B,MAAM3F,GAAQ/I,EAAQ+oC,cAAc0B,IAAMzqC,EAAQ+oC,cAAc2B,OAC3E,IAAK,UACD,OAAO1qC,EAAQ+oC,cAAc4B,QACjC,IAAK,WACD,OAAO3qC,EAAQ+oC,cAAc6B,SACjC,IAAK,SACD,OAAO5qC,EAAQ+oC,cAAc8B,OACjC,IAAK,SACD,OAAO7qC,EAAQ+oC,cAAc+B,OACjC,IAAK,SACD,OAAIxU,MAAM4F,QAAQnzB,GACP/I,EAAQ+oC,cAAcqB,MAEpB,OAATrhC,EACO/I,EAAQ+oC,cAAcgC,KAE7BhiC,EAAK3M,MACgB,mBAAd2M,EAAK3M,MACZ2M,EAAKvM,OACiB,mBAAfuM,EAAKvM,MACLwD,EAAQ+oC,cAActkC,QAEd,oBAARhM,KAAuBsQ,aAAgBtQ,IACvCuH,EAAQ+oC,cAAczvC,IAEd,oBAAR4V,KAAuBnG,aAAgBmG,IACvClP,EAAQ+oC,cAAc/vC,IAEb,oBAAT0Y,MAAwB3I,aAAgB2I,KACxC1R,EAAQ+oC,cAAciC,KAE1BhrC,EAAQ+oC,cAAcp6B,OACjC,QACI,OAAO3O,EAAQ+oC,cAAc1P,QACpC,iBC1ILz/B,OAAOC,eAAeoxC,GAAS,aAAc,CAAElxC,OAAO,IACtDkxC,GAAAC,SAAwCD,GAAAE,mCAA0B,EAClE,MAAMC,GAASlxC,GACfmxC,GAAAC,aAAuBF,GAAOvC,KAAKS,YAAY,CAC3C,eACA,kBACA,SACA,gBACA,8BACA,qBACA,oBACA,oBACA,sBACA,eACA,iBACA,YACA,UACA,6BACA,kBACA,eAMiB+B,GAAAF,cAJE3B,GACN36B,KAAKC,UAAU06B,EAAK,KAAM,GAC3B+B,QAAQ,cAAe,OAGvC,MAAML,WAAiBvsC,MACnB,WAAAlD,CAAY+vC,GACRjtC,QACA/E,KAAKgyC,OAAS,GACdhyC,KAAKiyC,SAAYC,IACblyC,KAAKgyC,OAAS,IAAIhyC,KAAKgyC,OAAQE,EAAI,EAEvClyC,KAAKmyC,UAAY,CAACC,EAAO,MACrBpyC,KAAKgyC,OAAS,IAAIhyC,KAAKgyC,UAAWI,EAAK,EAE3C,MAAMC,aAAyBjsC,UAC3BhG,OAAOkyC,eACPlyC,OAAOkyC,eAAetyC,KAAMqyC,GAG5BryC,KAAKuyC,UAAYF,EAErBryC,KAAKoC,KAAO,WACZpC,KAAKgyC,OAASA,CACjB,CACD,UAAIQ,GACA,OAAOxyC,KAAKgyC,MACf,CACD,MAAAS,CAAOC,GACH,MAAMC,EAASD,GACX,SAAUE,GACN,OAAOA,EAAMluC,OAC7B,EACcmuC,EAAc,CAAEC,QAAS,IACzBC,EAAgBhwC,IAClB,IAAK,MAAM6vC,KAAS7vC,EAAMivC,OACtB,GAAmB,kBAAfY,EAAM99B,KACN89B,EAAMI,YAAYlzC,IAAIizC,QAErB,GAAmB,wBAAfH,EAAM99B,KACXi+B,EAAaH,EAAMK,sBAElB,GAAmB,sBAAfL,EAAM99B,KACXi+B,EAAaH,EAAMM,qBAElB,GAA0B,IAAtBN,EAAM/P,KAAKvgC,OAChBuwC,EAAYC,QAAQvzC,KAAKozC,EAAOC,QAE/B,CACD,IAAIO,EAAON,EACPxzC,EAAI,EACR,KAAOA,EAAIuzC,EAAM/P,KAAKvgC,QAAQ,CAC1B,MAAM8wC,EAAKR,EAAM/P,KAAKxjC,GACLA,IAAMuzC,EAAM/P,KAAKvgC,OAAS,GAKvC6wC,EAAKC,GAAMD,EAAKC,IAAO,CAAEN,QAAS,IAClCK,EAAKC,GAAIN,QAAQvzC,KAAKozC,EAAOC,KAJ7BO,EAAKC,GAAMD,EAAKC,IAAO,CAAEN,QAAS,IAMtCK,EAAOA,EAAKC,GACZ/zC,GACH,CACJ,CACJ,EAGL,OADA0zC,EAAa/yC,MACN6yC,CACV,CACD,QAAAhmC,GACI,OAAO7M,KAAK0E,OACf,CACD,WAAIA,GACA,OAAO2Q,KAAKC,UAAUtV,KAAKgyC,OAAQJ,GAAOvC,KAAKyB,sBAAuB,EACzE,CACD,WAAIuC,GACA,OAA8B,IAAvBrzC,KAAKgyC,OAAO1vC,MACtB,CACD,OAAA2hB,CAAQ0uB,EAAS,CAACC,GAAUA,EAAMluC,UAC9B,MAAMmuC,EAAc,CAAA,EACdS,EAAa,GACnB,IAAK,MAAMpB,KAAOlyC,KAAKgyC,OACfE,EAAIrP,KAAKvgC,OAAS,GAClBuwC,EAAYX,EAAIrP,KAAK,IAAMgQ,EAAYX,EAAIrP,KAAK,KAAO,GACvDgQ,EAAYX,EAAIrP,KAAK,IAAItjC,KAAKozC,EAAOT,KAGrCoB,EAAW/zC,KAAKozC,EAAOT,IAG/B,MAAO,CAAEoB,aAAYT,cACxB,CACD,cAAIS,GACA,OAAOtzC,KAAKikB,SACf,EAEWwtB,GAAAC,SAAGA,GACnBA,GAASpsC,OAAU0sC,GACD,IAAIN,GAASM,GCxH/B5xC,OAAOC,eAAekzC,GAAS,aAAc,CAAEhzC,OAAO,IACtD,MAAMqxC,GAASlxC,GACT+wC,GAAa7qC,GA6HnB2sC,GAAApzC,QA5HiB,CAACyyC,EAAOY,KACrB,IAAI9uC,EACJ,OAAQkuC,EAAM99B,MACV,KAAK28B,GAAWK,aAAa2B,aAErB/uC,EADAkuC,EAAMc,WAAa9B,GAAOrC,cAAc5sC,UAC9B,WAGA,YAAYiwC,EAAMe,sBAAsBf,EAAMc,WAE5D,MACJ,KAAKjC,GAAWK,aAAa8B,gBACzBlvC,EAAU,mCAAmC2Q,KAAKC,UAAUs9B,EAAMe,SAAU/B,GAAOvC,KAAKyB,yBACxF,MACJ,KAAKW,GAAWK,aAAa+B,kBACzBnvC,EAAU,kCAAkCktC,GAAOvC,KAAKsB,WAAWiC,EAAM7I,KAAM,QAC/E,MACJ,KAAK0H,GAAWK,aAAagC,cACzBpvC,EAAU,gBACV,MACJ,KAAK+sC,GAAWK,aAAaiC,4BACzBrvC,EAAU,yCAAyCktC,GAAOvC,KAAKsB,WAAWiC,EAAMzb,WAChF,MACJ,KAAKsa,GAAWK,aAAakC,mBACzBtvC,EAAU,gCAAgCktC,GAAOvC,KAAKsB,WAAWiC,EAAMzb,uBAAuByb,EAAMc,YACpG,MACJ,KAAKjC,GAAWK,aAAamC,kBACzBvvC,EAAU,6BACV,MACJ,KAAK+sC,GAAWK,aAAaoC,oBACzBxvC,EAAU,+BACV,MACJ,KAAK+sC,GAAWK,aAAaqC,aACzBzvC,EAAU,eACV,MACJ,KAAK+sC,GAAWK,aAAasC,eACO,iBAArBxB,EAAMyB,WACT,aAAczB,EAAMyB,YACpB3vC,EAAU,gCAAgCkuC,EAAMyB,WAAWriC,YAClB,iBAA9B4gC,EAAMyB,WAAWC,WACxB5vC,EAAU,GAAGA,uDAA6DkuC,EAAMyB,WAAWC,aAG1F,eAAgB1B,EAAMyB,WAC3B3vC,EAAU,mCAAmCkuC,EAAMyB,WAAWx4B,cAEzD,aAAc+2B,EAAMyB,WACzB3vC,EAAU,iCAAiCkuC,EAAMyB,WAAW9R,YAG5DqP,GAAOvC,KAAKO,YAAYgD,EAAMyB,YAIlC3vC,EAD0B,UAArBkuC,EAAMyB,WACD,WAAWzB,EAAMyB,aAGjB,UAEd,MACJ,KAAK5C,GAAWK,aAAayC,UAErB7vC,EADe,UAAfkuC,EAAM/xC,KACI,sBAAsB+xC,EAAM4B,MAAQ,UAAY5B,EAAM6B,UAAY,WAAa,eAAe7B,EAAM8B,qBAC1F,WAAf9B,EAAM/xC,KACD,uBAAuB+xC,EAAM4B,MAAQ,UAAY5B,EAAM6B,UAAY,WAAa,UAAU7B,EAAM8B,uBACtF,WAAf9B,EAAM/xC,KACD,kBAAkB+xC,EAAM4B,MAC5B,oBACA5B,EAAM6B,UACF,4BACA,kBAAkB7B,EAAM8B,UACd,SAAf9B,EAAM/xC,KACD,gBAAgB+xC,EAAM4B,MAC1B,oBACA5B,EAAM6B,UACF,4BACA,kBAAkB,IAAIv8B,KAAK2G,OAAO+zB,EAAM8B,YAExC,gBACd,MACJ,KAAKjD,GAAWK,aAAa6C,QAErBjwC,EADe,UAAfkuC,EAAM/xC,KACI,sBAAsB+xC,EAAM4B,MAAQ,UAAY5B,EAAM6B,UAAY,UAAY,eAAe7B,EAAMgC,qBACzF,WAAfhC,EAAM/xC,KACD,uBAAuB+xC,EAAM4B,MAAQ,UAAY5B,EAAM6B,UAAY,UAAY,WAAW7B,EAAMgC,uBACtF,WAAfhC,EAAM/xC,KACD,kBAAkB+xC,EAAM4B,MAC5B,UACA5B,EAAM6B,UACF,wBACA,eAAe7B,EAAMgC,UACX,WAAfhC,EAAM/xC,KACD,kBAAkB+xC,EAAM4B,MAC5B,UACA5B,EAAM6B,UACF,wBACA,eAAe7B,EAAMgC,UACX,SAAfhC,EAAM/xC,KACD,gBAAgB+xC,EAAM4B,MAC1B,UACA5B,EAAM6B,UACF,2BACA,kBAAkB,IAAIv8B,KAAK2G,OAAO+zB,EAAMgC,YAExC,gBACd,MACJ,KAAKnD,GAAWK,aAAa+C,OACzBnwC,EAAU,gBACV,MACJ,KAAK+sC,GAAWK,aAAagD,2BACzBpwC,EAAU,2CACV,MACJ,KAAK+sC,GAAWK,aAAaiD,gBACzBrwC,EAAU,gCAAgCkuC,EAAMoC,aAChD,MACJ,KAAKvD,GAAWK,aAAamD,WACzBvwC,EAAU,wBACV,MACJ,QACIA,EAAU8uC,EAAK0B,aACftD,GAAOvC,KAAKO,YAAYgD,GAEhC,MAAO,CAAEluC,UAAS,EC7HtB,IAAI3E,GAAmBC,GAAQA,EAAKD,iBAAoB,SAAUE,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEE,QAAWF,EACxD,EACAG,OAAOC,eAAemyC,GAAS,aAAc,CAAEjyC,OAAO,IACtDiyC,GAAA2C,YAAyC3C,GAAA4C,oCAA6B,EACtE,MAAMC,GAAOt1C,GAAgBW,IAC7B8xC,GAAA8C,gBAA0BD,GAAKl1C,QAC/B,IAAIo1C,GAAmBF,GAAKl1C,QAITqyC,GAAA4C,YAHnB,SAAqBt1C,GACjBy1C,GAAmBz1C,CACvB,EAKA0yC,GAAA2C,YAHA,WACI,OAAOI,EACX,yBCdA,IAAIx1C,EAAmBC,GAAQA,EAAKD,iBAAoB,SAAUE,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEE,QAAWF,EACxD,EACAG,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAAAgvC,QAAkBhvC,EAAkBivC,QAAAjvC,EAAAkvC,QAAkBlvC,EAAoBmvC,UAAAnvC,EAAAovC,GAAapvC,EAAgBqvC,MAAArvC,EAAAsvC,QAAkBtvC,EAAsBuvC,YAAAvvC,EAAAwvC,kBAA4BxvC,EAAqByvC,WAAAzvC,EAAA0vC,eAAoB,EACpN,MAAMC,EAAWz1C,GACX20C,EAAOt1C,EAAgB6G,IAsB7BJ,EAAA0vC,UArBmB/uC,IACf,MAAMoI,KAAEA,EAAIszB,KAAEA,EAAIuT,UAAEA,EAASC,UAAEA,GAAclvC,EACvCmvC,EAAW,IAAIzT,KAAUwT,EAAUxT,MAAQ,IAC3C0T,EAAY,IACXF,EACHxT,KAAMyT,GAEV,IAAIE,EAAe,GACnB,MAAMC,EAAOL,EACRla,QAAQ12B,KAAQA,IAChB3F,QACA67B,UACL,IAAK,MAAM57B,KAAO22C,EACdD,EAAe12C,EAAIy2C,EAAW,CAAEhnC,OAAM2lC,aAAcsB,IAAgB9xC,QAExE,MAAO,IACA2xC,EACHxT,KAAMyT,EACN5xC,QAAS2xC,EAAU3xC,SAAW8xC,EACjC,EAGLhwC,EAAAyvC,WAAqB,GAerBzvC,EAAAwvC,kBAdA,SAA2BU,EAAKL,GAC5B,MAAMzD,GAAQ,EAAIpsC,EAAQ0vC,WAAW,CACjCG,UAAWA,EACX9mC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVuT,UAAW,CACPM,EAAIC,OAAOC,mBACXF,EAAIG,gBACJ,EAAIV,EAAShB,eACbE,EAAKl1C,SACP+7B,QAAQ1f,KAAQA,MAEtBk6B,EAAIC,OAAO3E,OAAOzyC,KAAKqzC,EAC1B,EAED,MAAMmD,EACF,WAAA9zC,GACIjC,KAAKO,MAAQ,OAChB,CACD,KAAAu2C,GACuB,UAAf92C,KAAKO,QACLP,KAAKO,MAAQ,QACpB,CACD,KAAAw2C,GACuB,YAAf/2C,KAAKO,QACLP,KAAKO,MAAQ,UACpB,CACD,iBAAOy2C,CAAWrV,EAAQsV,GACtB,MAAMC,EAAa,GACnB,IAAK,MAAM/jB,KAAK8jB,EAAS,CACrB,GAAiB,YAAb9jB,EAAEwO,OACF,OAAOn7B,EAAQsvC,QACF,UAAb3iB,EAAEwO,QACFA,EAAOmV,QACXI,EAAW33C,KAAK4zB,EAAE5yB,MACrB,CACD,MAAO,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAO22C,EACzC,CACD,6BAAaC,CAAiBxV,EAAQyV,GAClC,MAAMC,EAAY,GAClB,IAAK,MAAM12B,KAAQy2B,EACfC,EAAU93C,KAAK,CACX6T,UAAWuN,EAAKvN,IAChB7S,YAAaogB,EAAKpgB,QAG1B,OAAOw1C,EAAYuB,gBAAgB3V,EAAQ0V,EAC9C,CACD,sBAAOC,CAAgB3V,EAAQyV,GAC3B,MAAMG,EAAc,CAAA,EACpB,IAAK,MAAM52B,KAAQy2B,EAAO,CACtB,MAAMhkC,IAAEA,EAAG7S,MAAEA,GAAUogB,EACvB,GAAmB,YAAfvN,EAAIuuB,OACJ,OAAOn7B,EAAQsvC,QACnB,GAAqB,YAAjBv1C,EAAMohC,OACN,OAAOn7B,EAAQsvC,QACA,UAAf1iC,EAAIuuB,QACJA,EAAOmV,QACU,UAAjBv2C,EAAMohC,QACNA,EAAOmV,cACgB,IAAhBv2C,EAAMA,OAAyBogB,EAAK62B,aAC3CD,EAAYnkC,EAAI7S,OAASA,EAAMA,MAEtC,CACD,MAAO,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAOg3C,EACzC,EAEL/wC,EAAAuvC,YAAsBA,EACtBvvC,EAAkBsvC,QAAA11C,OAAOq3C,OAAO,CAC5B9V,OAAQ,YAGZn7B,EAAAqvC,MADet1C,IAAW,CAAEohC,OAAQ,QAASphC,UAG7CiG,EAAAovC,GADYr1C,IAAW,CAAEohC,OAAQ,QAASphC,UAG1CiG,EAAAmvC,UADmBn5B,GAAmB,YAAbA,EAAEmlB,OAG3Bn7B,EAAAkvC,QADiBl5B,GAAmB,UAAbA,EAAEmlB,OAGzBn7B,EAAAivC,QADiBj5B,GAAmB,UAAbA,EAAEmlB,OAGzBn7B,EAAAgvC,QADiBh5B,GAAyB,oBAAZnT,SAA2BmT,aAAanT,uBC/GtEjJ,OAAOC,eAAeq3C,GAAS,aAAc,CAAEn3C,OAAO,6BCAtDH,OAAOC,eAAcmG,GAAU,aAAc,CAAEjG,OAAO,IACtDiG,GAAoBmxC,eAAA,EAEpB,SAAWA,GACPA,EAAUC,SAAYlzC,GAA+B,iBAAZA,EAAuB,CAAEA,WAAYA,GAAW,GACzFizC,EAAU9qC,SAAYnI,GAA+B,iBAAZA,EAAuBA,EAAUA,aAAyC,EAASA,EAAQA,OACvI,CAHD,CAGe8B,GAAQmxC,YAAcnxC,GAAAmxC,UAAoB,CAAA,gBCNzDv3C,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAA6BqxC,mBAAArxC,EAAAgrC,KAAehrC,UAAkBA,EAAiB6qC,OAAA7qC,EAAAoqC,MAAgBpqC,MAAcA,EAAiBsxC,OAAAtxC,EAAAuxC,sBAAgCvxC,EAAewxC,KAAAxxC,EAAAyxC,UAAoBzxC,EAAiB0xC,OAAA1xC,EAAAquC,OAAiBruC,cAAsBA,EAAqB2xC,WAAA3xC,EAAA4xC,MAAgB5xC,EAAiB6xC,OAAA7xC,EAAA8xC,SAAmB9xC,EAAqB+xC,WAAA/xC,EAAAgyC,YAAsBhyC,cAAsBA,EAAyBiyC,eAAAjyC,EAAAkyC,WAAqBlyC,EAAqBmyC,WAAAnyC,EAAAoyC,cAAwBpyC,EAAkBqyC,QAAAryC,EAAAsyC,WAAqBtyC,UAAkBA,EAAsBuyC,YAAAvyC,EAAAwyC,OAAiBxyC,EAAiByyC,OAAAzyC,EAAA0yC,UAAoB1yC,EAAmB2yC,SAAA3yC,EAAA4yC,gBAA0B5yC,wBAAgCA,EAAmB6yC,SAAA7yC,EAAA8yC,UAAoB9yC,EAAmB+yC,SAAA/yC,EAAAgzC,QAAkBhzC,EAAmBizC,SAAAjzC,EAAAkzC,WAAqBlzC,SAAiBA,EAAkBmzC,QAAAnzC,EAAAozC,aAAuBpzC,EAAoBqzC,UAAArzC,EAAAszC,QAAkBtzC,EAAqBuzC,WAAAvzC,EAAAwzC,UAAoBxzC,YAAoBA,EAAoByzC,UAAAzzC,EAAA0zC,aAAkB,EACv+B1zC,EAAA2zC,MAAgB3zC,EAAe4zC,KAAA5zC,EAAAq5B,QAAkBr5B,EAAgB6zC,MAAA7zC,EAAA7D,UAAoB6D,QAAgBA,EAAsB8zC,YAAA9zC,EAAA8qC,OAAiB9qC,EAAiBwqC,OAAAxqC,EAAA+zC,aAAuB/zC,MAAcA,EAAiBg0C,OAAAh0C,EAAAyE,QAAkBzE,EAAqBi0C,WAAAj0C,EAAAk0C,SAAmBl0C,UAAkBA,EAAmBm0C,SAAAn0C,EAAAo0C,QAAkBp0C,EAAmBq0C,SAAAr0C,EAAA2O,OAAiB3O,SAAiBA,EAAmBs0C,SAAAt0C,EAAA+qC,KAAe/qC,EAAgBu0C,MAAAv0C,EAAAw0C,WAAqBx0C,MAAcA,EAAc1G,IAAA0G,EAAAy0C,QAAkBz0C,EAAe00C,KAAA10C,EAAA20C,aAAuB30C,aAAqBA,EAAmB4qC,SAAA5qC,EAAA40C,KAAe50C,EAAiB60C,YAAA,EAC5lB,MAAMlF,EAAWz1C,GACX46C,EAAc10C,GACd20C,EAAc10C,GACd+qC,EAAS9qC,GACT2qC,EAAa56B,GACnB,MAAM2kC,EACF,WAAAv5C,CAAY4V,EAAQtX,EAAOsiC,EAAMzvB,GAC7BpT,KAAKy7C,YAAc,GACnBz7C,KAAK6X,OAASA,EACd7X,KAAKuP,KAAOhP,EACZP,KAAK07C,MAAQ7Y,EACb7iC,KAAK27C,KAAOvoC,CACf,CACD,QAAIyvB,GASA,OARK7iC,KAAKy7C,YAAYn5C,SACdtC,KAAK27C,gBAAgB7e,MACrB98B,KAAKy7C,YAAYl8C,QAAQS,KAAK07C,SAAU17C,KAAK27C,MAG7C37C,KAAKy7C,YAAYl8C,QAAQS,KAAK07C,MAAO17C,KAAK27C,OAG3C37C,KAAKy7C,WACf,EAEL,MAAMG,EAAe,CAAClF,EAAKvwC,KACvB,IAAI,EAAIo1C,EAAY9F,SAAStvC,GACzB,MAAO,CAAE01C,SAAS,EAAMtsC,KAAMpJ,EAAO5F,OAGrC,IAAKm2C,EAAIC,OAAO3E,OAAO1vC,OACnB,MAAM,IAAI6C,MAAM,6CAEpB,MAAO,CACH02C,SAAS,EACT,SAAI94C,GACA,GAAI/C,KAAKmL,OACL,OAAOnL,KAAKmL,OAChB,MAAMpI,EAAQ,IAAI0uC,EAAWC,SAASgF,EAAIC,OAAO3E,QAEjD,OADAhyC,KAAKmL,OAASpI,EACP/C,KAAKmL,MACf,EAER,EAEL,SAAS2wC,EAAoB30C,GACzB,IAAKA,EACD,MAAO,GACX,MAAM40C,SAAEA,EAAQC,mBAAEA,EAAkBC,eAAEA,EAAcC,YAAEA,GAAgB/0C,EACtE,GAAI40C,IAAaC,GAAsBC,GACnC,MAAM,IAAI92C,MAAM,6FAEpB,GAAI42C,EACA,MAAO,CAAEA,SAAUA,EAAUG,eASjC,MAAO,CAAEH,SARS,CAACI,EAAKzF,IACH,iBAAbyF,EAAIrnC,KACG,CAAEpQ,QAASgyC,EAAIxB,mBACF,IAAbwB,EAAInnC,KACJ,CAAE7K,QAASu3C,QAAuDA,EAAiBvF,EAAIxB,cAE3F,CAAExwC,QAASs3C,QAA+DA,EAAqBtF,EAAIxB,cAEhFgH,cACjC,CACD,MAAMhC,EACF,WAAAj4C,CAAYm6C,GACRp8C,KAAKq8C,IAAMr8C,KAAKs8C,eAChBt8C,KAAKu8C,KAAOH,EACZp8C,KAAKkvC,MAAQlvC,KAAKkvC,MAAMloB,KAAKhnB,MAC7BA,KAAKw8C,UAAYx8C,KAAKw8C,UAAUx1B,KAAKhnB,MACrCA,KAAKy8C,WAAaz8C,KAAKy8C,WAAWz1B,KAAKhnB,MACvCA,KAAKs8C,eAAiBt8C,KAAKs8C,eAAet1B,KAAKhnB,MAC/CA,KAAKq8C,IAAMr8C,KAAKq8C,IAAIr1B,KAAKhnB,MACzBA,KAAK08C,OAAS18C,KAAK08C,OAAO11B,KAAKhnB,MAC/BA,KAAK28C,WAAa38C,KAAK28C,WAAW31B,KAAKhnB,MACvCA,KAAK48C,YAAc58C,KAAK48C,YAAY51B,KAAKhnB,MACzCA,KAAK26C,SAAW36C,KAAK26C,SAAS3zB,KAAKhnB,MACnCA,KAAK86C,SAAW96C,KAAK86C,SAAS9zB,KAAKhnB,MACnCA,KAAK68C,QAAU78C,KAAK68C,QAAQ71B,KAAKhnB,MACjCA,KAAK4wC,MAAQ5wC,KAAK4wC,MAAM5pB,KAAKhnB,MAC7BA,KAAKiL,QAAUjL,KAAKiL,QAAQ+b,KAAKhnB,MACjCA,KAAK88C,GAAK98C,KAAK88C,GAAG91B,KAAKhnB,MACvBA,KAAK+8C,IAAM/8C,KAAK+8C,IAAI/1B,KAAKhnB,MACzBA,KAAKg9C,UAAYh9C,KAAKg9C,UAAUh2B,KAAKhnB,MACrCA,KAAKi9C,MAAQj9C,KAAKi9C,MAAMj2B,KAAKhnB,MAC7BA,KAAKG,QAAUH,KAAKG,QAAQ6mB,KAAKhnB,MACjCA,KAAKgD,MAAQhD,KAAKgD,MAAMgkB,KAAKhnB,MAC7BA,KAAKk9C,SAAWl9C,KAAKk9C,SAASl2B,KAAKhnB,MACnCA,KAAKm9C,KAAOn9C,KAAKm9C,KAAKn2B,KAAKhnB,MAC3BA,KAAKo9C,WAAap9C,KAAKo9C,WAAWp2B,KAAKhnB,MACvCA,KAAKq9C,WAAar9C,KAAKq9C,WAAWr2B,KAAKhnB,KAC1C,CACD,eAAIk8C,GACA,OAAOl8C,KAAKu8C,KAAKL,WACpB,CACD,QAAAoB,CAASC,GACL,OAAO,EAAI3L,EAAOtC,eAAeiO,EAAMhuC,KAC1C,CACD,eAAAiuC,CAAgBD,EAAO7G,GACnB,OAAQA,GAAO,CACXC,OAAQ4G,EAAM1lC,OAAO8+B,OACrBpnC,KAAMguC,EAAMhuC,KACZkuC,YAAY,EAAI7L,EAAOtC,eAAeiO,EAAMhuC,MAC5CsnC,eAAgB72C,KAAKu8C,KAAKR,SAC1BlZ,KAAM0a,EAAM1a,KACZhrB,OAAQ0lC,EAAM1lC,OAErB,CACD,mBAAA6lC,CAAoBH,GAChB,MAAO,CACH5b,OAAQ,IAAI4Z,EAAYxF,YACxBW,IAAK,CACDC,OAAQ4G,EAAM1lC,OAAO8+B,OACrBpnC,KAAMguC,EAAMhuC,KACZkuC,YAAY,EAAI7L,EAAOtC,eAAeiO,EAAMhuC,MAC5CsnC,eAAgB72C,KAAKu8C,KAAKR,SAC1BlZ,KAAM0a,EAAM1a,KACZhrB,OAAQ0lC,EAAM1lC,QAGzB,CACD,UAAA8lC,CAAWJ,GACP,MAAMp3C,EAASnG,KAAK49C,OAAOL,GAC3B,IAAI,EAAIhC,EAAY/F,SAASrvC,GACzB,MAAM,IAAIhB,MAAM,0CAEpB,OAAOgB,CACV,CACD,WAAA03C,CAAYN,GACR,MAAMp3C,EAASnG,KAAK49C,OAAOL,GAC3B,OAAOl0C,QAAQC,QAAQnD,EAC1B,CACD,KAAA+oC,CAAM3/B,EAAMpI,GACR,MAAMhB,EAASnG,KAAKw8C,UAAUjtC,EAAMpI,GACpC,GAAIhB,EAAO01C,QACP,OAAO11C,EAAOoJ,KAClB,MAAMpJ,EAAOpD,KAChB,CACD,SAAAy5C,CAAUjtC,EAAMpI,GACZ,IAAI22C,EACJ,MAAMpH,EAAM,CACRC,OAAQ,CACJ3E,OAAQ,GACR/iC,MAA+E,QAAvE6uC,EAAK32C,aAAuC,EAASA,EAAO8H,aAA0B,IAAP6uC,GAAgBA,EACvGlH,mBAAoBzvC,aAAuC,EAASA,EAAO40C,UAE/ElZ,MAAO17B,aAAuC,EAASA,EAAO07B,OAAS,GACvEgU,eAAgB72C,KAAKu8C,KAAKR,SAC1BlkC,OAAQ,KACRtI,OACAkuC,YAAY,EAAI7L,EAAOtC,eAAe//B,IAEpCpJ,EAASnG,KAAK29C,WAAW,CAAEpuC,OAAMszB,KAAM6T,EAAI7T,KAAMhrB,OAAQ6+B,IAC/D,OAAOkF,EAAalF,EAAKvwC,EAC5B,CACD,gBAAMs2C,CAAWltC,EAAMpI,GACnB,MAAMhB,QAAenG,KAAKs8C,eAAe/sC,EAAMpI,GAC/C,GAAIhB,EAAO01C,QACP,OAAO11C,EAAOoJ,KAClB,MAAMpJ,EAAOpD,KAChB,CACD,oBAAMu5C,CAAe/sC,EAAMpI,GACvB,MAAMuvC,EAAM,CACRC,OAAQ,CACJ3E,OAAQ,GACR4E,mBAAoBzvC,aAAuC,EAASA,EAAO40C,SAC3E9sC,OAAO,GAEX4zB,MAAO17B,aAAuC,EAASA,EAAO07B,OAAS,GACvEgU,eAAgB72C,KAAKu8C,KAAKR,SAC1BlkC,OAAQ,KACRtI,OACAkuC,YAAY,EAAI7L,EAAOtC,eAAe//B,IAEpCwuC,EAAmB/9C,KAAK49C,OAAO,CAAEruC,OAAMszB,KAAM6T,EAAI7T,KAAMhrB,OAAQ6+B,IAC/DvwC,SAAgB,EAAIo1C,EAAY/F,SAASuI,GACzCA,EACA10C,QAAQC,QAAQy0C,IACtB,OAAOnC,EAAalF,EAAKvwC,EAC5B,CACD,MAAAu2C,CAAOsB,EAAOt5C,GACV,MAAMu5C,EAAsBr9B,GACD,iBAAZlc,QAA2C,IAAZA,EAC/B,CAAEA,WAEe,mBAAZA,EACLA,EAAQkc,GAGRlc,EAGf,OAAO1E,KAAKk+C,aAAY,CAACt9B,EAAK81B,KAC1B,MAAMvwC,EAAS63C,EAAMp9B,GACfu9B,EAAW,IAAMzH,EAAIzE,SAAS,CAChCn9B,KAAM28B,EAAWK,aAAa+C,UAC3BoJ,EAAmBr9B,KAE1B,MAAuB,oBAAZvX,SAA2BlD,aAAkBkD,QAC7ClD,EAAOvD,MAAM2M,KACXA,IACD4uC,KACO,OAOdh4C,IACDg4C,KACO,EAIV,GAER,CACD,UAAAxB,CAAWqB,EAAOI,GACd,OAAOp+C,KAAKk+C,aAAY,CAACt9B,EAAK81B,MACrBsH,EAAMp9B,KACP81B,EAAIzE,SAAmC,mBAAnBmM,EACdA,EAAex9B,EAAK81B,GACpB0H,IACC,IAMlB,CACD,WAAAF,CAAYvB,GACR,OAAO,IAAIjE,EAAW,CAClB2F,OAAQr+C,KACRs+C,SAAUvG,GAAsBW,WAChC2C,OAAQ,CAAEx6C,KAAM,aAAc87C,eAErC,CACD,WAAAC,CAAYD,GACR,OAAO38C,KAAKk+C,YAAYvB,EAC3B,CACD,QAAAhC,GACI,OAAO4D,EAAYj5C,OAAOtF,KAAMA,KAAKu8C,KACxC,CACD,QAAAzB,GACI,OAAOtC,EAAYlzC,OAAOtF,KAAMA,KAAKu8C,KACxC,CACD,OAAAM,GACI,OAAO78C,KAAK86C,WAAWH,UAC1B,CACD,KAAA/J,GACI,OAAO2I,EAASj0C,OAAOtF,KAAMA,KAAKu8C,KACrC,CACD,OAAAtxC,GACI,OAAO0tC,EAAWrzC,OAAOtF,KAAMA,KAAKu8C,KACvC,CACD,EAAAO,CAAGtlB,GACC,OAAO6hB,EAAS/zC,OAAO,CAACtF,KAAMw3B,GAASx3B,KAAKu8C,KAC/C,CACD,GAAAQ,CAAIyB,GACA,OAAOpF,EAAgB9zC,OAAOtF,KAAMw+C,EAAUx+C,KAAKu8C,KACtD,CACD,SAAAS,CAAUA,GACN,OAAO,IAAItE,EAAW,IACfoD,EAAoB97C,KAAKu8C,MAC5B8B,OAAQr+C,KACRs+C,SAAUvG,GAAsBW,WAChC2C,OAAQ,CAAEx6C,KAAM,YAAam8C,cAEpC,CACD,QAAQZ,GACJ,MAAMqC,EAAkC,mBAARrC,EAAqBA,EAAM,IAAMA,EACjE,OAAO,IAAI7D,EAAW,IACfuD,EAAoB97C,KAAKu8C,MAC5BmC,UAAW1+C,KACX2+C,aAAcF,EACdH,SAAUvG,GAAsBQ,YAEvC,CACD,KAAA0E,GACI,OAAO,IAAI9E,GAAW,CAClBmG,SAAUvG,GAAsBI,WAChCt3C,KAAMb,QACH87C,EAAoB97C,KAAKu8C,OAEnC,CACD,MAAMH,GACF,MAAMwC,EAAgC,mBAARxC,EAAqBA,EAAM,IAAMA,EAC/D,OAAO,IAAI9D,GAAS,IACbwD,EAAoB97C,KAAKu8C,MAC5BmC,UAAW1+C,KACX6+C,WAAYD,EACZN,SAAUvG,GAAsBO,UAEvC,CACD,QAAA4E,CAAShB,GAEL,OAAO,IAAI4C,EADE9+C,KAAKiC,aACF,IACTjC,KAAKu8C,KACRL,eAEP,CACD,IAAAiB,CAAK72B,GACD,OAAOy4B,GAAYz5C,OAAOtF,KAAMsmB,EACnC,CACD,UAAA+2B,GACI,OAAOr9C,KAAKw8C,eAAU75C,GAAWk5C,OACpC,CACD,UAAAuB,GACI,OAAOp9C,KAAKw8C,UAAU,MAAMX,OAC/B,EAELr1C,EAAA0zC,QAAkBA,EAClB1zC,EAAA0xC,OAAiBgC,EACjB1zC,EAAAyxC,UAAoBiC,EACpB,MAAM8E,EAAY,iBACZC,EAAa,mBACbC,EAAY,yBACZC,EAAY,8GACZC,EAAa,unBACbC,EAAa,sDACbC,EAAY,gHACZC,EAAY,+XAoClB,MAAMtF,UAAkBC,EACpB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKw/C,OAAS,CAACC,EAAOpL,EAAY3vC,IAAY1E,KAAK28C,YAAYptC,GAASkwC,EAAMhgC,KAAKlQ,IAAO,CACtF8kC,aACAv/B,KAAM28B,EAAWK,aAAasC,kBAC3BkH,EAAY3D,UAAUC,SAASlzC,KAEtC1E,KAAK0/C,SAAYh7C,GAAY1E,KAAKid,IAAI,EAAGq+B,EAAY3D,UAAUC,SAASlzC,IACxE1E,KAAKwf,KAAO,IAAM,IAAIy6B,EAAU,IACzBj6C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ,CAAE98C,KAAM,WAE1C7C,KAAK42B,YAAc,IAAM,IAAIqjB,EAAU,IAChCj6C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ,CAAE98C,KAAM,kBAE1C7C,KAAK4/C,YAAc,IAAM,IAAI3F,EAAU,IAChCj6C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ,CAAE98C,KAAM,iBAE7C,CACD,MAAA+6C,CAAOL,GACCv9C,KAAKu8C,KAAKzE,SACVyF,EAAMhuC,KAAOtB,OAAOsvC,EAAMhuC,OAG9B,GADmBvP,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAcyB,OAAQ,CAC5C,MAAM0F,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcyB,OAC/B0C,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,MAAMnU,EAAS,IAAI4Z,EAAYxF,YAC/B,IAAIW,EACJ,IAAK,MAAMsH,KAASh+C,KAAKu8C,KAAKoD,OAC1B,GAAmB,QAAf3B,EAAMn7C,KACF06C,EAAMhuC,KAAKjN,OAAS07C,EAAMz9C,QAC1Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAASsJ,EAAMz9C,MACfM,KAAM,SACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,QAAfkH,EAAMn7C,KACP06C,EAAMhuC,KAAKjN,OAAS07C,EAAMz9C,QAC1Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAASoJ,EAAMz9C,MACfM,KAAM,SACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,WAAfkH,EAAMn7C,KAAmB,CAC9B,MAAMg9C,EAAStC,EAAMhuC,KAAKjN,OAAS07C,EAAMz9C,MACnCu/C,EAAWvC,EAAMhuC,KAAKjN,OAAS07C,EAAMz9C,OACvCs/C,GAAUC,KACVpJ,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,GAC9BmJ,GACA,EAAItE,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAASoJ,EAAMz9C,MACfM,KAAM,SACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAGdo7C,IACL,EAAIvE,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAASsJ,EAAMz9C,MACfM,KAAM,SACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAGvBi9B,EAAOmV,QAEd,MACI,GAAmB,UAAfkH,EAAMn7C,KACNu8C,EAAW3/B,KAAK89B,EAAMhuC,QACvBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,QACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,UAAfkH,EAAMn7C,KACNw8C,EAAW5/B,KAAK89B,EAAMhuC,QACvBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,QACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,SAAfkH,EAAMn7C,KACNs8C,EAAU1/B,KAAK89B,EAAMhuC,QACtBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,OACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,SAAfkH,EAAMn7C,KACNm8C,EAAUv/B,KAAK89B,EAAMhuC,QACtBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,OACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,UAAfkH,EAAMn7C,KACNo8C,EAAWx/B,KAAK89B,EAAMhuC,QACvBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,QACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,SAAfkH,EAAMn7C,KACNq8C,EAAUz/B,KAAK89B,EAAMhuC,QACtBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,OACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,QAAfkH,EAAMn7C,KACX,IACI,IAAImY,IAAIuiC,EAAMhuC,KACjB,CACD,MAAOuuC,GACHpH,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,MACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,OACV,MAEA,GAAmB,UAAfkH,EAAMn7C,KAAkB,CAC7Bm7C,EAAMyB,MAAMM,UAAY,EACL/B,EAAMyB,MAAMhgC,KAAK89B,EAAMhuC,QAEtCmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,QACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,MACI,GAAmB,SAAfkH,EAAMn7C,KACX06C,EAAMhuC,KAAOguC,EAAMhuC,KAAKiQ,YAEvB,GAAmB,aAAfw+B,EAAMn7C,KACN06C,EAAMhuC,KAAKyC,SAASgsC,EAAMz9C,MAAOy9C,EAAM1J,YACxCoC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAasC,eAC9BC,WAAY,CAAEriC,SAAUgsC,EAAMz9C,MAAO+zC,SAAU0J,EAAM1J,UACrD5vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,gBAAfkH,EAAMn7C,KACX06C,EAAMhuC,KAAOguC,EAAMhuC,KAAKqnB,mBAEvB,GAAmB,gBAAfonB,EAAMn7C,KACX06C,EAAMhuC,KAAOguC,EAAMhuC,KAAKqwC,mBAEvB,GAAmB,eAAf5B,EAAMn7C,KACN06C,EAAMhuC,KAAKsM,WAAWmiC,EAAMz9C,SAC7Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAasC,eAC9BC,WAAY,CAAEx4B,WAAYmiC,EAAMz9C,OAChCmE,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,aAAfkH,EAAMn7C,KACN06C,EAAMhuC,KAAKgzB,SAASyb,EAAMz9C,SAC3Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAasC,eAC9BC,WAAY,CAAE9R,SAAUyb,EAAMz9C,OAC9BmE,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,aAAfkH,EAAMn7C,KAAqB,GAzQzB4S,EA0QqBuoC,GAzQ/BgC,UACDvqC,EAAKwqC,OACE,IAAI5/B,OAAO,oDAAoD5K,EAAKuqC,0CAGpE,IAAI3/B,OAAO,oDAAoD5K,EAAKuqC,gBAGvD,IAAnBvqC,EAAKuqC,UACNvqC,EAAKwqC,OACE,IAAI5/B,OAAO,0EAGX,IAAIA,OAAO,gDAIlB5K,EAAKwqC,OACE,IAAI5/B,OAAO,oFAGX,IAAIA,OAAO,2DAqPHZ,KAAK89B,EAAMhuC,QAClBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAasC,eAC9BC,WAAY,WACZ3vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,KACuB,OAAfkH,EAAMn7C,MA3PRq9C,EA4PY3C,EAAMhuC,MA3PhB,QADE4wC,EA4PoBnC,EAAMmC,UA3PnBA,IAAYb,EAAU7/B,KAAKygC,MAGpC,OAAZC,GAAqBA,IAAYZ,EAAU9/B,KAAKygC,MAyPrCxJ,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpCrC,WAAY,KACZv/B,KAAM28B,EAAWK,aAAasC,eAC9B1vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,UAIXlF,EAAOvC,KAAKO,YAAYoO,GAvQxC,IAAmBkC,EAAIC,EA1BA1qC,EAoSf,MAAO,CAAEksB,OAAQA,EAAOphC,MAAOA,MAAOg9C,EAAMhuC,KAC/C,CACD,SAAA6wC,CAAUpC,GACN,OAAO,IAAI/D,EAAU,IACdj6C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ3B,IAErC,CACD,KAAAqC,CAAM37C,GACF,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,WAAYy4C,EAAY3D,UAAUC,SAASlzC,IAC5E,CACD,GAAAuP,CAAIvP,GACA,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,SAAUy4C,EAAY3D,UAAUC,SAASlzC,IAC1E,CACD,KAAA47C,CAAM57C,GACF,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,WAAYy4C,EAAY3D,UAAUC,SAASlzC,IAC5E,CACD,IAAAoH,CAAKpH,GACD,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,UAAWy4C,EAAY3D,UAAUC,SAASlzC,IAC3E,CACD,IAAA67C,CAAK77C,GACD,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,UAAWy4C,EAAY3D,UAAUC,SAASlzC,IAC3E,CACD,KAAA87C,CAAM97C,GACF,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,WAAYy4C,EAAY3D,UAAUC,SAASlzC,IAC5E,CACD,IAAA+7C,CAAK/7C,GACD,OAAO1E,KAAKogD,UAAU,CAAEv9C,KAAM,UAAWy4C,EAAY3D,UAAUC,SAASlzC,IAC3E,CACD,EAAAw7C,CAAG/oB,GACC,OAAOn3B,KAAKogD,UAAU,CAAEv9C,KAAM,QAASy4C,EAAY3D,UAAUC,SAASzgB,IACzE,CACD,QAAAupB,CAASvpB,GACL,IAAI2mB,EACJ,MAAuB,iBAAZ3mB,EACAn3B,KAAKogD,UAAU,CAClBv9C,KAAM,WACNm9C,UAAW,KACXC,QAAQ,EACRv7C,QAASyyB,IAGVn3B,KAAKogD,UAAU,CAClBv9C,KAAM,WACNm9C,eAA4F,KAAzE7oB,aAAyC,EAASA,EAAQ6oB,WAA6B,KAAO7oB,aAAyC,EAASA,EAAQ6oB,UAC3KC,OAAoF,QAA3EnC,EAAK3mB,aAAyC,EAASA,EAAQ8oB,cAA2B,IAAPnC,GAAgBA,KACzGxC,EAAY3D,UAAUC,SAASzgB,aAAyC,EAASA,EAAQzyB,UAEnG,CACD,KAAA+6C,CAAMA,EAAO/6C,GACT,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,QACN48C,MAAOA,KACJnE,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,QAAAsN,CAASzR,EAAO42B,GACZ,OAAOn3B,KAAKogD,UAAU,CAClBv9C,KAAM,WACNtC,MAAOA,EACP+zC,SAAUnd,aAAyC,EAASA,EAAQmd,YACjEgH,EAAY3D,UAAUC,SAASzgB,aAAyC,EAASA,EAAQzyB,UAEnG,CACD,UAAAmX,CAAWtb,EAAOmE,GACd,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,aACNtC,MAAOA,KACJ+6C,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,QAAA69B,CAAShiC,EAAOmE,GACZ,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,WACNtC,MAAOA,KACJ+6C,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,GAAAuY,CAAI0jC,EAAWj8C,GACX,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOogD,KACJrF,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,GAAAsY,CAAI4jC,EAAWl8C,GACX,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOqgD,KACJtF,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,MAAApC,CAAOu+C,EAAKn8C,GACR,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,SACNtC,MAAOsgD,KACJvF,EAAY3D,UAAUC,SAASlzC,IAEzC,CACD,cAAIo8C,GACA,QAAS9gD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,aAAZA,EAAGl+C,MAC7C,CACD,WAAIm+C,GACA,QAAShhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,UAAZA,EAAGl+C,MAC7C,CACD,SAAIo+C,GACA,QAASjhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,QAAZA,EAAGl+C,MAC7C,CACD,WAAIq+C,GACA,QAASlhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,UAAZA,EAAGl+C,MAC7C,CACD,UAAIs+C,GACA,QAASnhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,SAAZA,EAAGl+C,MAC7C,CACD,UAAIu+C,GACA,QAASphD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,SAAZA,EAAGl+C,MAC7C,CACD,WAAIw+C,GACA,QAASrhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,UAAZA,EAAGl+C,MAC7C,CACD,UAAIy+C,GACA,QAASthD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,SAAZA,EAAGl+C,MAC7C,CACD,QAAI0+C,GACA,QAASvhD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,OAAZA,EAAGl+C,MAC7C,CACD,aAAI89C,GACA,IAAI1jC,EAAM,KACV,IAAK,MAAM8jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARoa,GAAgB8jC,EAAGxgD,MAAQ0c,KAC3BA,EAAM8jC,EAAGxgD,OAGrB,OAAO0c,CACV,CACD,aAAI2jC,GACA,IAAI5jC,EAAM,KACV,IAAK,MAAM+jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARma,GAAgB+jC,EAAGxgD,MAAQyc,KAC3BA,EAAM+jC,EAAGxgD,OAGrB,OAAOyc,CACV,EAYL,SAASwkC,EAAmB5gC,EAAK6gC,GAC7B,MAAMC,GAAe9gC,EAAI/T,WAAWmI,MAAM,KAAK,IAAM,IAAI1S,OACnDq/C,GAAgBF,EAAK50C,WAAWmI,MAAM,KAAK,IAAM,IAAI1S,OACrDs/C,EAAWF,EAAcC,EAAeD,EAAcC,EAG5D,OAFe1sC,SAAS2L,EAAIihC,QAAQD,GAAU7P,QAAQ,IAAK,KAC3C98B,SAASwsC,EAAKI,QAAQD,GAAU7P,QAAQ,IAAK,KACjCh1B,KAAK+kC,IAAI,GAAIF,EAC5C,CAjBDp7C,EAAAyzC,UAAoBA,EACpBA,EAAU30C,OAAU6B,IAChB,IAAI22C,EACJ,OAAO,IAAI7D,EAAU,CACjB0F,OAAQ,GACRrB,SAAUvG,GAAsBkC,UAChCnC,OAAiF,QAAxEgG,EAAK32C,aAAuC,EAASA,EAAO2wC,cAA2B,IAAPgG,GAAgBA,KACtGhC,EAAoB30C,IACzB,EAUN,MAAM46C,UAAkB7H,EACpB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKid,IAAMjd,KAAKgiD,IAChBhiD,KAAKgd,IAAMhd,KAAKiiD,IAChBjiD,KAAKyhD,KAAOzhD,KAAKg1C,UACpB,CACD,MAAA4I,CAAOL,GACCv9C,KAAKu8C,KAAKzE,SACVyF,EAAMhuC,KAAOsP,OAAO0+B,EAAMhuC,OAG9B,GADmBvP,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc2B,OAAQ,CAC5C,MAAMwF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc2B,OAC/BwC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,IAAIY,EACJ,MAAM/U,EAAS,IAAI4Z,EAAYxF,YAC/B,IAAK,MAAMiI,KAASh+C,KAAKu8C,KAAKoD,OAC1B,GAAmB,QAAf3B,EAAMn7C,KACD+uC,EAAOvC,KAAKmB,UAAU+M,EAAMhuC,QAC7BmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU,UACVD,SAAU,QACVhvC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,cAGV,GAAmB,QAAfkH,EAAMn7C,KAAgB,EACVm7C,EAAMvJ,UACjB8I,EAAMhuC,KAAOyuC,EAAMz9C,MACnBg9C,EAAMhuC,MAAQyuC,EAAMz9C,SAEtBm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAASsJ,EAAMz9C,MACfM,KAAM,SACN4zC,UAAWuJ,EAAMvJ,UACjBD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,MACI,GAAmB,QAAfkH,EAAMn7C,KAAgB,EACZm7C,EAAMvJ,UACf8I,EAAMhuC,KAAOyuC,EAAMz9C,MACnBg9C,EAAMhuC,MAAQyuC,EAAMz9C,SAEtBm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAASoJ,EAAMz9C,MACfM,KAAM,SACN4zC,UAAWuJ,EAAMvJ,UACjBD,OAAO,EACP9vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,KACuB,eAAfkH,EAAMn7C,KACyC,IAAhD2+C,EAAmBjE,EAAMhuC,KAAMyuC,EAAMz9C,SACrCm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAaiD,gBAC9BC,WAAYgJ,EAAMz9C,MAClBmE,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,SAGS,WAAfkH,EAAMn7C,KACNgc,OAAO4xB,SAAS8M,EAAMhuC,QACvBmnC,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAamD,WAC9BvwC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,SAIXlF,EAAOvC,KAAKO,YAAYoO,GAGhC,MAAO,CAAErc,OAAQA,EAAOphC,MAAOA,MAAOg9C,EAAMhuC,KAC/C,CACD,GAAAyyC,CAAIzhD,EAAOmE,GACP,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAM+6C,EAAY3D,UAAU9qC,SAASnI,GAC3E,CACD,EAAAy9C,CAAG5hD,EAAOmE,GACN,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAO+6C,EAAY3D,UAAU9qC,SAASnI,GAC5E,CACD,GAAAu9C,CAAI1hD,EAAOmE,GACP,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAM+6C,EAAY3D,UAAU9qC,SAASnI,GAC3E,CACD,EAAA09C,CAAG7hD,EAAOmE,GACN,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAO+6C,EAAY3D,UAAU9qC,SAASnI,GAC5E,CACD,QAAAw9C,CAASr/C,EAAMtC,EAAOk0C,EAAW/vC,GAC7B,OAAO,IAAIq9C,EAAU,IACd/hD,KAAKu8C,KACRoD,OAAQ,IACD3/C,KAAKu8C,KAAKoD,OACb,CACI98C,OACAtC,QACAk0C,YACA/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,MAIvD,CACD,SAAA07C,CAAUpC,GACN,OAAO,IAAI+D,EAAU,IACd/hD,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ3B,IAErC,CACD,GAAAqE,CAAI39C,GACA,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACN6B,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,QAAA49C,CAAS59C,GACL,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO,EACPk0C,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,QAAA69C,CAAS79C,GACL,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO,EACPk0C,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,WAAA89C,CAAY99C,GACR,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO,EACPk0C,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,WAAA+9C,CAAY/9C,GACR,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO,EACPk0C,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,UAAAswC,CAAWz0C,EAAOmE,GACd,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,aACNtC,MAAOA,EACPmE,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,MAAAg+C,CAAOh+C,GACH,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,SACN6B,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,IAAAi+C,CAAKj+C,GACD,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACN4xC,WAAW,EACXl0C,MAAOse,OAAO+jC,iBACdl+C,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KACzC07C,UAAU,CACTv9C,KAAM,MACN4xC,WAAW,EACXl0C,MAAOse,OAAOC,iBACdpa,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,YAAIm+C,GACA,IAAI5lC,EAAM,KACV,IAAK,MAAM8jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARoa,GAAgB8jC,EAAGxgD,MAAQ0c,KAC3BA,EAAM8jC,EAAGxgD,OAGrB,OAAO0c,CACV,CACD,YAAI6lC,GACA,IAAI9lC,EAAM,KACV,IAAK,MAAM+jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARma,GAAgB+jC,EAAGxgD,MAAQyc,KAC3BA,EAAM+jC,EAAGxgD,OAGrB,OAAOyc,CACV,CACD,SAAI+lC,GACA,QAAS/iD,KAAKu8C,KAAKoD,OAAOtgC,MAAM0hC,GAAmB,QAAZA,EAAGl+C,MACzB,eAAZk+C,EAAGl+C,MAAyB+uC,EAAOvC,KAAKmB,UAAUuQ,EAAGxgD,QAC7D,CACD,YAAIkwC,GACA,IAAIzzB,EAAM,KAAMC,EAAM,KACtB,IAAK,MAAM8jC,KAAM/gD,KAAKu8C,KAAKoD,OAAQ,CAC/B,GAAgB,WAAZoB,EAAGl+C,MACS,QAAZk+C,EAAGl+C,MACS,eAAZk+C,EAAGl+C,KACH,OAAO,EAEU,QAAZk+C,EAAGl+C,MACI,OAARoa,GAAgB8jC,EAAGxgD,MAAQ0c,KAC3BA,EAAM8jC,EAAGxgD,OAEI,QAAZwgD,EAAGl+C,OACI,OAARma,GAAgB+jC,EAAGxgD,MAAQyc,KAC3BA,EAAM+jC,EAAGxgD,MAEpB,CACD,OAAOse,OAAO4xB,SAASxzB,IAAQ4B,OAAO4xB,SAASzzB,EAClD,EAELxW,EAAAu7C,UAAoBA,EACpBA,EAAUz8C,OAAU6B,GACT,IAAI46C,EAAU,CACjBpC,OAAQ,GACRrB,SAAUvG,GAAsBgK,UAChCjK,QAAS3wC,aAAuC,EAASA,EAAO2wC,UAAW,KACxEgE,EAAoB30C,KAG/B,MAAM6yC,UAAkBE,EACpB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKid,IAAMjd,KAAKgiD,IAChBhiD,KAAKgd,IAAMhd,KAAKiiD,GACnB,CACD,MAAArE,CAAOL,GACCv9C,KAAKu8C,KAAKzE,SACVyF,EAAMhuC,KAAOyzC,OAAOzF,EAAMhuC,OAG9B,GADmBvP,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc8B,OAAQ,CAC5C,MAAMqF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc8B,OAC/BqC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,IAAIY,EACJ,MAAM/U,EAAS,IAAI4Z,EAAYxF,YAC/B,IAAK,MAAMiI,KAASh+C,KAAKu8C,KAAKoD,OAC1B,GAAmB,QAAf3B,EAAMn7C,KAAgB,EACLm7C,EAAMvJ,UACjB8I,EAAMhuC,KAAOyuC,EAAMz9C,MACnBg9C,EAAMhuC,MAAQyuC,EAAMz9C,SAEtBm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9B1zC,KAAM,SACN6zC,QAASsJ,EAAMz9C,MACfk0C,UAAWuJ,EAAMvJ,UACjB/vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,MACI,GAAmB,QAAfkH,EAAMn7C,KAAgB,EACZm7C,EAAMvJ,UACf8I,EAAMhuC,KAAOyuC,EAAMz9C,MACnBg9C,EAAMhuC,MAAQyuC,EAAMz9C,SAEtBm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9B9zC,KAAM,SACN+zC,QAASoJ,EAAMz9C,MACfk0C,UAAWuJ,EAAMvJ,UACjB/vC,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,QAEd,KACuB,eAAfkH,EAAMn7C,KACP06C,EAAMhuC,KAAOyuC,EAAMz9C,QAAUyiD,OAAO,KACpCtM,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAaiD,gBAC9BC,WAAYgJ,EAAMz9C,MAClBmE,QAASs5C,EAAMt5C,UAEnBi9B,EAAOmV,SAIXlF,EAAOvC,KAAKO,YAAYoO,GAGhC,MAAO,CAAErc,OAAQA,EAAOphC,MAAOA,MAAOg9C,EAAMhuC,KAC/C,CACD,GAAAyyC,CAAIzhD,EAAOmE,GACP,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAM+6C,EAAY3D,UAAU9qC,SAASnI,GAC3E,CACD,EAAAy9C,CAAG5hD,EAAOmE,GACN,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAO+6C,EAAY3D,UAAU9qC,SAASnI,GAC5E,CACD,GAAAu9C,CAAI1hD,EAAOmE,GACP,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAM+6C,EAAY3D,UAAU9qC,SAASnI,GAC3E,CACD,EAAA09C,CAAG7hD,EAAOmE,GACN,OAAO1E,KAAKkiD,SAAS,MAAO3hD,GAAO,EAAO+6C,EAAY3D,UAAU9qC,SAASnI,GAC5E,CACD,QAAAw9C,CAASr/C,EAAMtC,EAAOk0C,EAAW/vC,GAC7B,OAAO,IAAIs1C,EAAU,IACdh6C,KAAKu8C,KACRoD,OAAQ,IACD3/C,KAAKu8C,KAAKoD,OACb,CACI98C,OACAtC,QACAk0C,YACA/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,MAIvD,CACD,SAAA07C,CAAUpC,GACN,OAAO,IAAIhE,EAAU,IACdh6C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ3B,IAErC,CACD,QAAAsE,CAAS59C,GACL,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOyiD,OAAO,GACdvO,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,QAAA69C,CAAS79C,GACL,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOyiD,OAAO,GACdvO,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,WAAA89C,CAAY99C,GACR,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOyiD,OAAO,GACdvO,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,WAAA+9C,CAAY/9C,GACR,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAOyiD,OAAO,GACdvO,WAAW,EACX/vC,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,UAAAswC,CAAWz0C,EAAOmE,GACd,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,aACNtC,QACAmE,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,YAAIm+C,GACA,IAAI5lC,EAAM,KACV,IAAK,MAAM8jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARoa,GAAgB8jC,EAAGxgD,MAAQ0c,KAC3BA,EAAM8jC,EAAGxgD,OAGrB,OAAO0c,CACV,CACD,YAAI6lC,GACA,IAAI9lC,EAAM,KACV,IAAK,MAAM+jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARma,GAAgB+jC,EAAGxgD,MAAQyc,KAC3BA,EAAM+jC,EAAGxgD,OAGrB,OAAOyc,CACV,EAELxW,EAAAwzC,UAAoBA,EACpBA,EAAU10C,OAAU6B,IAChB,IAAI22C,EACJ,OAAO,IAAI9D,EAAU,CACjB2F,OAAQ,GACRrB,SAAUvG,GAAsBiC,UAChClC,OAAiF,QAAxEgG,EAAK32C,aAAuC,EAASA,EAAO2wC,cAA2B,IAAPgG,GAAgBA,KACtGhC,EAAoB30C,IACzB,EAEN,MAAM4yC,UAAmBG,EACrB,MAAA0D,CAAOL,GACCv9C,KAAKu8C,KAAKzE,SACVyF,EAAMhuC,KAAO6F,QAAQmoC,EAAMhuC,OAG/B,GADmBvP,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc4B,QAAS,CAC7C,MAAMuF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc4B,QAC/BuC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAuzC,WAAqBA,EACrBA,EAAWz0C,OAAU6B,GACV,IAAI4yC,EAAW,CAClBuE,SAAUvG,GAAsBgC,WAChCjC,QAAS3wC,aAAuC,EAASA,EAAO2wC,UAAW,KACxEgE,EAAoB30C,KAG/B,MAAM2yC,UAAgBI,EAClB,MAAA0D,CAAOL,GACCv9C,KAAKu8C,KAAKzE,SACVyF,EAAMhuC,KAAO,IAAI2I,KAAKqlC,EAAMhuC,OAGhC,GADmBvP,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAciC,KAAM,CAC1C,MAAMkF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAciC,KAC/BkC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,GAAI5gC,MAAMqoC,EAAMhuC,KAAK4I,WAAY,CAC7B,MAAMu+B,EAAM12C,KAAKw9C,gBAAgBD,GAIjC,OAHA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAaqC,eAE3BoH,EAAYzF,OACtB,CACD,MAAMnU,EAAS,IAAI4Z,EAAYxF,YAC/B,IAAIW,EACJ,IAAK,MAAMsH,KAASh+C,KAAKu8C,KAAKoD,OACP,QAAf3B,EAAMn7C,KACF06C,EAAMhuC,KAAK4I,UAAY6lC,EAAMz9C,QAC7Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9B7vC,QAASs5C,EAAMt5C,QACf+vC,WAAW,EACXD,OAAO,EACPE,QAASsJ,EAAMz9C,MACfM,KAAM,SAEV8gC,EAAOmV,SAGS,QAAfkH,EAAMn7C,KACP06C,EAAMhuC,KAAK4I,UAAY6lC,EAAMz9C,QAC7Bm2C,EAAM12C,KAAKw9C,gBAAgBD,EAAO7G,IAClC,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BjwC,QAASs5C,EAAMt5C,QACf+vC,WAAW,EACXD,OAAO,EACPI,QAASoJ,EAAMz9C,MACfM,KAAM,SAEV8gC,EAAOmV,SAIXlF,EAAOvC,KAAKO,YAAYoO,GAGhC,MAAO,CACHrc,OAAQA,EAAOphC,MACfA,MAAO,IAAI2X,KAAKqlC,EAAMhuC,KAAK4I,WAElC,CACD,SAAAioC,CAAUpC,GACN,OAAO,IAAIlE,EAAQ,IACZ95C,KAAKu8C,KACRoD,OAAQ,IAAI3/C,KAAKu8C,KAAKoD,OAAQ3B,IAErC,CACD,GAAA/gC,CAAIgmC,EAASv+C,GACT,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO0iD,EAAQ9qC,UACfzT,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,GAAAsY,CAAIkmC,EAASx+C,GACT,OAAO1E,KAAKogD,UAAU,CAClBv9C,KAAM,MACNtC,MAAO2iD,EAAQ/qC,UACfzT,QAAS42C,EAAY3D,UAAU9qC,SAASnI,IAE/C,CACD,WAAIu+C,GACA,IAAIhmC,EAAM,KACV,IAAK,MAAM8jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARoa,GAAgB8jC,EAAGxgD,MAAQ0c,KAC3BA,EAAM8jC,EAAGxgD,OAGrB,OAAc,MAAP0c,EAAc,IAAI/E,KAAK+E,GAAO,IACxC,CACD,WAAIimC,GACA,IAAIlmC,EAAM,KACV,IAAK,MAAM+jC,KAAM/gD,KAAKu8C,KAAKoD,OACP,QAAZoB,EAAGl+C,OACS,OAARma,GAAgB+jC,EAAGxgD,MAAQyc,KAC3BA,EAAM+jC,EAAGxgD,OAGrB,OAAc,MAAPyc,EAAc,IAAI9E,KAAK8E,GAAO,IACxC,EAELxW,EAAAszC,QAAkBA,EAClBA,EAAQx0C,OAAU6B,GACP,IAAI2yC,EAAQ,CACf6F,OAAQ,GACR7H,QAAS3wC,aAAuC,EAASA,EAAO2wC,UAAW,EAC3EwG,SAAUvG,GAAsB+B,WAC7BgC,EAAoB30C,KAG/B,MAAM0yC,UAAkBK,EACpB,MAAA0D,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc+B,OAAQ,CAC5C,MAAMoF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc+B,OAC/BoC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAqzC,UAAoBA,EACpBA,EAAUv0C,OAAU6B,GACT,IAAI0yC,EAAU,CACjByE,SAAUvG,GAAsB8B,aAC7BiC,EAAoB30C,KAG/B,MAAMyyC,UAAqBM,EACvB,MAAA0D,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc5sC,UAAW,CAC/C,MAAM+zC,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc5sC,UAC/B+wC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAozC,aAAuBA,EACvBA,EAAat0C,OAAU6B,GACZ,IAAIyyC,EAAa,CACpB0E,SAAUvG,GAAsB6B,gBAC7BkC,EAAoB30C,KAG/B,MAAMwyC,UAAgBO,EAClB,MAAA0D,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAcgC,KAAM,CAC1C,MAAMmF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcgC,KAC/BmC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAmzC,QAAkBA,EAClBA,EAAQr0C,OAAU6B,GACP,IAAIwyC,EAAQ,CACf2E,SAAUvG,GAAsB4B,WAC7BmC,EAAoB30C,KAG/B,MAAMg8C,UAAejJ,EACjB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKojD,MAAO,CACf,CACD,MAAAxF,CAAOL,GACH,OAAO,EAAIhC,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAA28C,OAAiBA,EACjBA,EAAO79C,OAAU6B,GACN,IAAIg8C,EAAO,CACd7E,SAAUvG,GAAsBoL,UAC7BrH,EAAoB30C,KAG/B,MAAMuyC,UAAmBQ,EACrB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKqjD,UAAW,CACnB,CACD,MAAAzF,CAAOL,GACH,OAAO,EAAIhC,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAkzC,WAAqBA,EACrBA,EAAWp0C,OAAU6B,GACV,IAAIuyC,EAAW,CAClB4E,SAAUvG,GAAsB2B,cAC7BoC,EAAoB30C,KAG/B,MAAMsyC,UAAiBS,EACnB,MAAA0D,CAAOL,GACH,MAAM7G,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcwL,MAC/BrH,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,EAELtvC,EAAAizC,SAAmBA,EACnBA,EAASn0C,OAAU6B,GACR,IAAIsyC,EAAS,CAChB6E,SAAUvG,GAAsB0B,YAC7BqC,EAAoB30C,KAG/B,MAAMqyC,UAAgBU,EAClB,MAAA0D,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc5sC,UAAW,CAC/C,MAAM+zC,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc6K,KAC/B1G,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,EAEL/I,EAAAgzC,QAAkBA,EAClBA,EAAQl0C,OAAU6B,GACP,IAAIqyC,EAAQ,CACf8E,SAAUvG,GAAsByB,WAC7BsC,EAAoB30C,KAG/B,MAAMoyC,UAAiBW,EACnB,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,EAAG/U,OAAEA,GAAW3hC,KAAK09C,oBAAoBH,GAC3CnB,EAAMp8C,KAAKu8C,KACjB,GAAI7F,EAAI+G,aAAe7L,EAAOrC,cAAcqB,MAMxC,OALA,EAAI2K,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcqB,MAC/B8C,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,GAAwB,OAApBsG,EAAIkH,YAAsB,CAC1B,MAAMzD,EAASnJ,EAAInnC,KAAKjN,OAAS85C,EAAIkH,YAAY/iD,MAC3Cu/C,EAAWpJ,EAAInnC,KAAKjN,OAAS85C,EAAIkH,YAAY/iD,OAC/Cs/C,GAAUC,MACV,EAAIvE,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM+qC,EAASpO,EAAWK,aAAa6C,QAAUlD,EAAWK,aAAayC,UACzEG,QAAUoL,EAAW1D,EAAIkH,YAAY/iD,WAAQoC,EAC7CiyC,QAAUiL,EAASzD,EAAIkH,YAAY/iD,WAAQoC,EAC3C9B,KAAM,QACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAAS03C,EAAIkH,YAAY5+C,UAE7Bi9B,EAAOmV,QAEd,CA2BD,GA1BsB,OAAlBsF,EAAIuE,WACAjK,EAAInnC,KAAKjN,OAAS85C,EAAIuE,UAAUpgD,SAChC,EAAIg7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAAS0H,EAAIuE,UAAUpgD,MACvBM,KAAM,QACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAAS03C,EAAIuE,UAAUj8C,UAE3Bi9B,EAAOmV,SAGO,OAAlBsF,EAAIwE,WACAlK,EAAInnC,KAAKjN,OAAS85C,EAAIwE,UAAUrgD,SAChC,EAAIg7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAASwH,EAAIwE,UAAUrgD,MACvBM,KAAM,QACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAAS03C,EAAIwE,UAAUl8C,UAE3Bi9B,EAAOmV,SAGXJ,EAAIC,OAAO1nC,MACX,OAAO5F,QAAQrK,IAAI,IAAI03C,EAAInnC,MAAMzP,KAAI,CAAC+7B,EAAMx8B,IACjC+8C,EAAIv7C,KAAKg9C,YAAY,IAAIrC,EAAmB9E,EAAK7a,EAAM6a,EAAI7T,KAAMxjC,OACxEuD,MAAMuD,GACCo1C,EAAYxF,YAAYiB,WAAWrV,EAAQx7B,KAG1D,MAAMA,EAAS,IAAIuwC,EAAInnC,MAAMzP,KAAI,CAAC+7B,EAAMx8B,IAC7B+8C,EAAIv7C,KAAK88C,WAAW,IAAInC,EAAmB9E,EAAK7a,EAAM6a,EAAI7T,KAAMxjC,MAE3E,OAAOk8C,EAAYxF,YAAYiB,WAAWrV,EAAQx7B,EACrD,CACD,WAAI+Y,GACA,OAAOlf,KAAKu8C,KAAK17C,IACpB,CACD,GAAAoc,CAAI0jC,EAAWj8C,GACX,OAAO,IAAI60C,EAAS,IACbv5C,KAAKu8C,KACRoE,UAAW,CAAEpgD,MAAOogD,EAAWj8C,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KAE9E,CACD,GAAAsY,CAAI4jC,EAAWl8C,GACX,OAAO,IAAI60C,EAAS,IACbv5C,KAAKu8C,KACRqE,UAAW,CAAErgD,MAAOqgD,EAAWl8C,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KAE9E,CACD,MAAApC,CAAOu+C,EAAKn8C,GACR,OAAO,IAAI60C,EAAS,IACbv5C,KAAKu8C,KACR+G,YAAa,CAAE/iD,MAAOsgD,EAAKn8C,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KAE1E,CACD,QAAAg7C,CAASh7C,GACL,OAAO1E,KAAKid,IAAI,EAAGvY,EACtB,EAaL,SAAS6+C,EAAelF,GACpB,GAAIA,aAAkB/E,EAAW,CAC7B,MAAMkK,EAAW,CAAA,EACjB,IAAK,MAAMpwC,KAAOirC,EAAOoF,MAAO,CAC5B,MAAMC,EAAcrF,EAAOoF,MAAMrwC,GACjCowC,EAASpwC,GAAOmrC,EAAYj5C,OAAOi+C,EAAeG,GACrD,CACD,OAAO,IAAIpK,EAAU,IACd+E,EAAO9B,KACVkH,MAAO,IAAMD,GAEpB,CACI,OAAInF,aAAkB9E,EAChB,IAAIA,EAAS,IACb8E,EAAO9B,KACV17C,KAAM0iD,EAAelF,EAAOn/B,WAG3Bm/B,aAAkBE,EAChBA,EAAYj5C,OAAOi+C,EAAelF,EAAOsF,WAE3CtF,aAAkB7F,EAChBA,EAAYlzC,OAAOi+C,EAAelF,EAAOsF,WAE3CtF,aAAkBlF,EAChBA,EAAS7zC,OAAO+4C,EAAOtO,MAAMjwC,KAAK+7B,GAAS0nB,EAAe1nB,MAG1DwiB,CAEd,CAzCD73C,EAAA+yC,SAAmBA,EACnBA,EAASj0C,OAAS,CAAC+4C,EAAQl3C,IAChB,IAAIoyC,EAAS,CAChB14C,KAAMw9C,EACNsC,UAAW,KACXC,UAAW,KACX0C,YAAa,KACbhF,SAAUvG,GAAsBwB,YAC7BuC,EAAoB30C,KAkC/B,MAAMmyC,UAAkBY,EACpB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAK4jD,QAAU,KACf5jD,KAAK6jD,UAAY7jD,KAAK8jD,YACtB9jD,KAAK+jD,QAAU/jD,KAAKgkD,MACvB,CACD,UAAAC,GACI,GAAqB,OAAjBjkD,KAAK4jD,QACL,OAAO5jD,KAAK4jD,QAChB,MAAMH,EAAQzjD,KAAKu8C,KAAKkH,QAClB1Z,EAAO6H,EAAOvC,KAAKc,WAAWsT,GACpC,OAAQzjD,KAAK4jD,QAAU,CAAEH,QAAO1Z,OACnC,CACD,MAAA6T,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAcp6B,OAAQ,CAC5C,MAAMuhC,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcp6B,OAC/Bu+B,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,MAAMnU,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,IAC3CkG,MAAEA,EAAO1Z,KAAMma,GAAclkD,KAAKikD,aAClCE,EAAY,GAClB,KAAMnkD,KAAKu8C,KAAK6H,oBAAoB3K,GACN,UAA1Bz5C,KAAKu8C,KAAK8H,aACV,IAAK,MAAMjxC,KAAOsjC,EAAInnC,KACb20C,EAAUlyC,SAASoB,IACpB+wC,EAAU5kD,KAAK6T,GAI3B,MAAMgkC,EAAQ,GACd,IAAK,MAAMhkC,KAAO8wC,EAAW,CACzB,MAAMI,EAAeb,EAAMrwC,GACrB7S,EAAQm2C,EAAInnC,KAAK6D,GACvBgkC,EAAM73C,KAAK,CACP6T,IAAK,CAAEuuB,OAAQ,QAASphC,MAAO6S,GAC/B7S,MAAO+jD,EAAa1G,OAAO,IAAIpC,EAAmB9E,EAAKn2C,EAAOm2C,EAAI7T,KAAMzvB,IACxEokC,UAAWpkC,KAAOsjC,EAAInnC,MAE7B,CACD,GAAIvP,KAAKu8C,KAAK6H,oBAAoB3K,EAAU,CACxC,MAAM4K,EAAcrkD,KAAKu8C,KAAK8H,YAC9B,GAAoB,gBAAhBA,EACA,IAAK,MAAMjxC,KAAO+wC,EACd/M,EAAM73C,KAAK,CACP6T,IAAK,CAAEuuB,OAAQ,QAASphC,MAAO6S,GAC/B7S,MAAO,CAAEohC,OAAQ,QAASphC,MAAOm2C,EAAInnC,KAAK6D,WAIjD,GAAoB,WAAhBixC,EACDF,EAAU7hD,OAAS,KACnB,EAAIi5C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa+B,kBAC9B9J,KAAMoa,IAEVxiB,EAAOmV,cAGV,GAAoB,UAAhBuN,EAGL,MAAM,IAAIl/C,MAAM,uDAEvB,KACI,CACD,MAAMi/C,EAAWpkD,KAAKu8C,KAAK6H,SAC3B,IAAK,MAAMhxC,KAAO+wC,EAAW,CACzB,MAAM5jD,EAAQm2C,EAAInnC,KAAK6D,GACvBgkC,EAAM73C,KAAK,CACP6T,IAAK,CAAEuuB,OAAQ,QAASphC,MAAO6S,GAC/B7S,MAAO6jD,EAASxG,OAAO,IAAIpC,EAAmB9E,EAAKn2C,EAAOm2C,EAAI7T,KAAMzvB,IACpEokC,UAAWpkC,KAAOsjC,EAAInnC,MAE7B,CACJ,CACD,OAAImnC,EAAIC,OAAO1nC,MACJ5F,QAAQC,UACV1G,MAAKqM,UACN,MAAMooC,EAAY,GAClB,IAAK,MAAM12B,KAAQy2B,EAAO,CACtB,MAAMhkC,QAAYuN,EAAKvN,IACvBikC,EAAU93C,KAAK,CACX6T,MACA7S,YAAaogB,EAAKpgB,MAClBi3C,UAAW72B,EAAK62B,WAEvB,CACD,OAAOH,CAAS,IAEfz0C,MAAMy0C,GACAkE,EAAYxF,YAAYuB,gBAAgB3V,EAAQ0V,KAIpDkE,EAAYxF,YAAYuB,gBAAgB3V,EAAQyV,EAE9D,CACD,SAAIqM,GACA,OAAOzjD,KAAKu8C,KAAKkH,OACpB,CACD,MAAAc,CAAO7/C,GAEH,OADA42C,EAAY3D,UAAUC,SACf,IAAI0B,EAAU,IACdt5C,KAAKu8C,KACR8H,YAAa,iBACG1hD,IAAZ+B,EACE,CACEq3C,SAAU,CAACnJ,EAAO8D,KACd,IAAIoH,EAAI0G,EAAIC,EAAIC,EAChB,MAAMxP,EAAgI,QAAhHuP,EAA0C,QAApCD,GAAM1G,EAAK99C,KAAKu8C,MAAMR,gBAA6B,IAAPyI,OAAgB,EAASA,EAAGl+C,KAAKw3C,EAAIlL,EAAO8D,GAAKhyC,eAA4B,IAAP+/C,EAAgBA,EAAK/N,EAAIxB,aACvK,MAAmB,sBAAftC,EAAM99B,KACC,CACHpQ,QAAoE,QAA1DggD,EAAKpJ,EAAY3D,UAAUC,SAASlzC,GAASA,eAA4B,IAAPggD,EAAgBA,EAAKxP,GAElG,CACHxwC,QAASwwC,EACZ,GAGP,IAEb,CACD,KAAAyP,GACI,OAAO,IAAIrL,EAAU,IACdt5C,KAAKu8C,KACR8H,YAAa,SAEpB,CACD,WAAAP,GACI,OAAO,IAAIxK,EAAU,IACdt5C,KAAKu8C,KACR8H,YAAa,eAEpB,CACD,MAAAL,CAAOY,GACH,OAAO,IAAItL,EAAU,IACdt5C,KAAKu8C,KACRkH,MAAO,KAAO,IACPzjD,KAAKu8C,KAAKkH,WACVmB,KAGd,CACD,KAAAC,CAAMC,GAUF,OATe,IAAIxL,EAAU,CACzB+K,YAAaS,EAAQvI,KAAK8H,YAC1BD,SAAUU,EAAQvI,KAAK6H,SACvBX,MAAO,KAAO,IACPzjD,KAAKu8C,KAAKkH,WACVqB,EAAQvI,KAAKkH,UAEpBnF,SAAUvG,GAAsBuB,WAGvC,CACD,MAAAyL,CAAO3xC,EAAKirC,GACR,OAAOr+C,KAAK+jD,QAAQ,CAAE3wC,CAACA,GAAMirC,GAChC,CACD,QAAA+F,CAASY,GACL,OAAO,IAAI1L,EAAU,IACdt5C,KAAKu8C,KACR6H,SAAUY,GAEjB,CACD,IAAAC,CAAKC,GACD,MAAMzB,EAAQ,CAAA,EAMd,OALA7R,EAAOvC,KAAKc,WAAW+U,GAAMva,SAASv3B,IAC9B8xC,EAAK9xC,IAAQpT,KAAKyjD,MAAMrwC,KACxBqwC,EAAMrwC,GAAOpT,KAAKyjD,MAAMrwC,GAC3B,IAEE,IAAIkmC,EAAU,IACdt5C,KAAKu8C,KACRkH,MAAO,IAAMA,GAEpB,CACD,IAAA0B,CAAKD,GACD,MAAMzB,EAAQ,CAAA,EAMd,OALA7R,EAAOvC,KAAKc,WAAWnwC,KAAKyjD,OAAO9Y,SAASv3B,IACnC8xC,EAAK9xC,KACNqwC,EAAMrwC,GAAOpT,KAAKyjD,MAAMrwC,GAC3B,IAEE,IAAIkmC,EAAU,IACdt5C,KAAKu8C,KACRkH,MAAO,IAAMA,GAEpB,CACD,WAAA2B,GACI,OAAO7B,EAAevjD,KACzB,CACD,OAAAqlD,CAAQH,GACJ,MAAM1B,EAAW,CAAA,EAUjB,OATA5R,EAAOvC,KAAKc,WAAWnwC,KAAKyjD,OAAO9Y,SAASv3B,IACxC,MAAMswC,EAAc1jD,KAAKyjD,MAAMrwC,GAC3B8xC,IAASA,EAAK9xC,GACdowC,EAASpwC,GAAOswC,EAGhBF,EAASpwC,GAAOswC,EAAY/I,UAC/B,IAEE,IAAIrB,EAAU,IACdt5C,KAAKu8C,KACRkH,MAAO,IAAMD,GAEpB,CACD,QAAA8B,CAASJ,GACL,MAAM1B,EAAW,CAAA,EAcjB,OAbA5R,EAAOvC,KAAKc,WAAWnwC,KAAKyjD,OAAO9Y,SAASv3B,IACxC,GAAI8xC,IAASA,EAAK9xC,GACdowC,EAASpwC,GAAOpT,KAAKyjD,MAAMrwC,OAE1B,CAED,IAAImyC,EADgBvlD,KAAKyjD,MAAMrwC,GAE/B,KAAOmyC,aAAoBhH,GACvBgH,EAAWA,EAAShJ,KAAKmC,UAE7B8E,EAASpwC,GAAOmyC,CACnB,KAEE,IAAIjM,EAAU,IACdt5C,KAAKu8C,KACRkH,MAAO,IAAMD,GAEpB,CACD,KAAAgC,GACI,OAAOC,EAAc7T,EAAOvC,KAAKc,WAAWnwC,KAAKyjD,OACpD,EAELj9C,EAAA8yC,UAAoBA,EACpBA,EAAUh0C,OAAS,CAACm+C,EAAOt8C,IAChB,IAAImyC,EAAU,CACjBmK,MAAO,IAAMA,EACbY,YAAa,QACbD,SAAU3K,EAASn0C,SACnBg5C,SAAUvG,GAAsBuB,aAC7BwC,EAAoB30C,KAG/BmyC,EAAUoM,aAAe,CAACjC,EAAOt8C,IACtB,IAAImyC,EAAU,CACjBmK,MAAO,IAAMA,EACbY,YAAa,SACbD,SAAU3K,EAASn0C,SACnBg5C,SAAUvG,GAAsBuB,aAC7BwC,EAAoB30C,KAG/BmyC,EAAUqM,WAAa,CAAClC,EAAOt8C,IACpB,IAAImyC,EAAU,CACjBmK,QACAY,YAAa,QACbD,SAAU3K,EAASn0C,SACnBg5C,SAAUvG,GAAsBuB,aAC7BwC,EAAoB30C,KAG/B,MAAMkyC,UAAiBa,EACnB,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACnCpmB,EAAUn3B,KAAKu8C,KAAKplB,QAoB1B,GAAIuf,EAAIC,OAAO1nC,MACX,OAAO5F,QAAQrK,IAAIm4B,EAAQr3B,KAAImP,MAAOuoB,IAClC,MAAMouB,EAAW,IACVlP,EACHC,OAAQ,IACDD,EAAIC,OACP3E,OAAQ,IAEZn6B,OAAQ,MAEZ,MAAO,CACH1R,aAAcqxB,EAAOqmB,YAAY,CAC7BtuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ+tC,IAEZlP,IAAKkP,EACR,KACDhjD,MArCR,SAAuBq0C,GACnB,IAAK,MAAM9wC,KAAU8wC,EACjB,GAA6B,UAAzB9wC,EAAOA,OAAOw7B,OACd,OAAOx7B,EAAOA,OAGtB,IAAK,MAAMA,KAAU8wC,EACjB,GAA6B,UAAzB9wC,EAAOA,OAAOw7B,OAEd,OADA+U,EAAIC,OAAO3E,OAAOzyC,QAAQ4G,EAAOuwC,IAAIC,OAAO3E,QACrC7rC,EAAOA,OAGtB,MAAM6sC,EAAciE,EAAQn3C,KAAKqG,GAAW,IAAIsrC,EAAWC,SAASvrC,EAAOuwC,IAAIC,OAAO3E,UAKtF,OAJA,EAAIuJ,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAagC,cAC9Bd,gBAEGuI,EAAYzF,OACtB,IAqBI,CACD,IAAIgB,EACJ,MAAM9E,EAAS,GACf,IAAK,MAAMxa,KAAUL,EAAS,CAC1B,MAAMyuB,EAAW,IACVlP,EACHC,OAAQ,IACDD,EAAIC,OACP3E,OAAQ,IAEZn6B,OAAQ,MAEN1R,EAASqxB,EAAOmmB,WAAW,CAC7BpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ+tC,IAEZ,GAAsB,UAAlBz/C,EAAOw7B,OACP,OAAOx7B,EAEgB,UAAlBA,EAAOw7B,QAAuBmV,IACnCA,EAAQ,CAAE3wC,SAAQuwC,IAAKkP,IAEvBA,EAASjP,OAAO3E,OAAO1vC,QACvB0vC,EAAOzyC,KAAKqmD,EAASjP,OAAO3E,OAEnC,CACD,GAAI8E,EAEA,OADAJ,EAAIC,OAAO3E,OAAOzyC,QAAQu3C,EAAMJ,IAAIC,OAAO3E,QACpC8E,EAAM3wC,OAEjB,MAAM6sC,EAAchB,EAAOlyC,KAAKkyC,GAAW,IAAIP,EAAWC,SAASM,KAKnE,OAJA,EAAIuJ,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAagC,cAC9Bd,gBAEGuI,EAAYzF,OACtB,CACJ,CACD,WAAI3e,GACA,OAAOn3B,KAAKu8C,KAAKplB,OACpB,EAEL3wB,EAAA6yC,SAAmBA,EACnBA,EAAS/zC,OAAS,CAACugD,EAAO1+C,IACf,IAAIkyC,EAAS,CAChBliB,QAAS0uB,EACTvH,SAAUvG,GAAsBsB,YAC7ByC,EAAoB30C,KAG/B,MAAM2+C,EAAoBjlD,GAClBA,aAAgBklD,EACTD,EAAiBjlD,EAAKw9C,QAExBx9C,aAAgB63C,EACdoN,EAAiBjlD,EAAK69C,aAExB79C,aAAgBi4C,EACd,CAACj4C,EAAKN,OAERM,aAAgBg4C,EACdh4C,EAAKs2B,QAEPt2B,aAAgB+3C,EACdx4C,OAAO2pC,KAAKlpC,EAAKu6C,MAEnBv6C,aAAgB03C,EACduN,EAAiBjlD,EAAK07C,KAAKmC,WAE7B79C,aAAgB+4C,EACd,MAACj3C,GAEH9B,aAAgB84C,EACd,CAAC,MAGD,KAGf,MAAMqM,UAA8B9L,EAChC,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACzC,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAcp6B,OAMxC,OALA,EAAIomC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcp6B,OAC/Bu+B,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,MAAMmQ,EAAgBjmD,KAAKimD,cACrBC,EAAqBxP,EAAInnC,KAAK02C,GAC9BzuB,EAASx3B,KAAKmmD,WAAW7mD,IAAI4mD,GACnC,OAAK1uB,EAQDkf,EAAIC,OAAO1nC,MACJuoB,EAAOqmB,YAAY,CACtBtuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAILlf,EAAOmmB,WAAW,CACrBpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,MAlBZ,EAAI6E,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAaiC,4BAC9B5c,QAAS2F,MAAMC,KAAK/8B,KAAKmmD,WAAWpc,QACpClH,KAAM,CAACojB,KAEJ1K,EAAYzF,QAgB1B,CACD,iBAAImQ,GACA,OAAOjmD,KAAKu8C,KAAK0J,aACpB,CACD,WAAI9uB,GACA,OAAOn3B,KAAKu8C,KAAKplB,OACpB,CACD,cAAIgvB,GACA,OAAOnmD,KAAKu8C,KAAK4J,UACpB,CACD,aAAO7gD,CAAO2gD,EAAe9uB,EAAShwB,GAClC,MAAMg/C,EAAa,IAAIlnD,IACvB,IAAK,MAAM4B,KAAQs2B,EAAS,CACxB,MAAMivB,EAAsBN,EAAiBjlD,EAAK4iD,MAAMwC,IACxD,IAAKG,EACD,MAAM,IAAIjhD,MAAM,mCAAmC8gD,sDAEvD,IAAK,MAAM1lD,KAAS6lD,EAAqB,CACrC,GAAID,EAAWh9B,IAAI5oB,GACf,MAAM,IAAI4E,MAAM,0BAA0B8I,OAAOg4C,0BAAsCh4C,OAAO1N,MAElG4lD,EAAW3mD,IAAIe,EAAOM,EACzB,CACJ,CACD,OAAO,IAAImlD,EAAsB,CAC7B1H,SAAUvG,GAAsBiO,sBAChCC,gBACA9uB,UACAgvB,gBACGrK,EAAoB30C,IAE9B,EAGL,SAASk/C,EAAY5zB,EAAGC,GACpB,MAAM4zB,GAAQ,EAAI1U,EAAOtC,eAAe7c,GAClC8zB,GAAQ,EAAI3U,EAAOtC,eAAe5c,GACxC,GAAID,IAAMC,EACN,MAAO,CAAE8zB,OAAO,EAAMj3C,KAAMkjB,GAE3B,GAAI6zB,IAAU1U,EAAOrC,cAAcp6B,QAAUoxC,IAAU3U,EAAOrC,cAAcp6B,OAAQ,CACrF,MAAMsxC,EAAQ7U,EAAOvC,KAAKc,WAAWzd,GAC/Bg0B,EAAa9U,EAAOvC,KACrBc,WAAW1d,GACXyJ,QAAQ9oB,IAAgC,IAAxBqzC,EAAM9mD,QAAQyT,KAC7BuzC,EAAS,IAAKl0B,KAAMC,GAC1B,IAAK,MAAMtf,KAAOszC,EAAY,CAC1B,MAAME,EAAcP,EAAY5zB,EAAErf,GAAMsf,EAAEtf,IAC1C,IAAKwzC,EAAYJ,MACb,MAAO,CAAEA,OAAO,GAEpBG,EAAOvzC,GAAOwzC,EAAYr3C,IAC7B,CACD,MAAO,CAAEi3C,OAAO,EAAMj3C,KAAMo3C,EAC/B,CACI,GAAIL,IAAU1U,EAAOrC,cAAcqB,OAAS2V,IAAU3U,EAAOrC,cAAcqB,MAAO,CACnF,GAAIne,EAAEnwB,SAAWowB,EAAEpwB,OACf,MAAO,CAAEkkD,OAAO,GAEpB,MAAMK,EAAW,GACjB,IAAK,IAAI7B,EAAQ,EAAGA,EAAQvyB,EAAEnwB,OAAQ0iD,IAAS,CAC3C,MAEM4B,EAAcP,EAFN5zB,EAAEuyB,GACFtyB,EAAEsyB,IAEhB,IAAK4B,EAAYJ,MACb,MAAO,CAAEA,OAAO,GAEpBK,EAAStnD,KAAKqnD,EAAYr3C,KAC7B,CACD,MAAO,CAAEi3C,OAAO,EAAMj3C,KAAMs3C,EAC/B,CACI,OAAIP,IAAU1U,EAAOrC,cAAciC,MACpC+U,IAAU3U,EAAOrC,cAAciC,OAC9B/e,IAAOC,EACD,CAAE8zB,OAAO,EAAMj3C,KAAMkjB,GAGrB,CAAE+zB,OAAO,EAEvB,CA9CDhgD,EAAAw/C,sBAAgCA,EA+ChC,MAAM5M,UAAwBc,EAC1B,MAAA0D,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GAC3CuJ,EAAe,CAACC,EAAYC,KAC9B,IAAI,EAAIzL,EAAY5F,WAAWoR,KAAe,EAAIxL,EAAY5F,WAAWqR,GACrE,OAAOzL,EAAYzF,QAEvB,MAAMmR,EAASZ,EAAYU,EAAWxmD,MAAOymD,EAAYzmD,OACzD,OAAK0mD,EAAOT,SAMR,EAAIjL,EAAY7F,SAASqR,KAAe,EAAIxL,EAAY7F,SAASsR,KACjErlB,EAAOmV,QAEJ,CAAEnV,OAAQA,EAAOphC,MAAOA,MAAO0mD,EAAO13C,SARzC,EAAIgsC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAagD,6BAE3ByG,EAAYzF,QAK4B,EAEvD,OAAIY,EAAIC,OAAO1nC,MACJ5F,QAAQrK,IAAI,CACfgB,KAAKu8C,KAAK5+B,KAAKkgC,YAAY,CACvBtuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAEZ12C,KAAKu8C,KAAK1+B,MAAMggC,YAAY,CACxBtuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,MAEb9zC,MAAK,EAAE+a,EAAME,KAAWipC,EAAanpC,EAAME,KAGvCipC,EAAa9mD,KAAKu8C,KAAK5+B,KAAKggC,WAAW,CAC1CpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IACR12C,KAAKu8C,KAAK1+B,MAAM8/B,WAAW,CAC3BpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAGnB,EAELlwC,EAAA4yC,gBAA0BA,EAC1BA,EAAgB9zC,OAAS,CAACqY,EAAME,EAAO1W,IAC5B,IAAIiyC,EAAgB,CACvBz7B,KAAMA,EACNE,MAAOA,EACPygC,SAAUvG,GAAsBqB,mBAC7B0C,EAAoB30C,KAG/B,MAAMgyC,UAAiBe,EACnB,MAAA0D,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACjD,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAcqB,MAMxC,OALA,EAAI2K,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcqB,MAC/B8C,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,GAAIY,EAAInnC,KAAKjN,OAAStC,KAAKu8C,KAAKxM,MAAMztC,OAQlC,OAPA,EAAIi5C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAAS10C,KAAKu8C,KAAKxM,MAAMztC,OACzBmyC,WAAW,EACXD,OAAO,EACP3zC,KAAM,UAEH06C,EAAYzF,SAEV91C,KAAKu8C,KAAK2K,MACVxQ,EAAInnC,KAAKjN,OAAStC,KAAKu8C,KAAKxM,MAAMztC,UAC3C,EAAIi5C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAAS50C,KAAKu8C,KAAKxM,MAAMztC,OACzBmyC,WAAW,EACXD,OAAO,EACP3zC,KAAM,UAEV8gC,EAAOmV,SAEX,MAAM/G,EAAQ,IAAI2G,EAAInnC,MACjBzP,KAAI,CAAC+7B,EAAMsrB,KACZ,MAAM9I,EAASr+C,KAAKu8C,KAAKxM,MAAMoX,IAAcnnD,KAAKu8C,KAAK2K,KACvD,OAAK7I,EAEEA,EAAOT,OAAO,IAAIpC,EAAmB9E,EAAK7a,EAAM6a,EAAI7T,KAAMskB,IADtD,IACiE,IAE3EjrB,QAAQ1f,KAAQA,IACrB,OAAIk6B,EAAIC,OAAO1nC,MACJ5F,QAAQrK,IAAI+wC,GAAOntC,MAAMq0C,GACrBsE,EAAYxF,YAAYiB,WAAWrV,EAAQsV,KAI/CsE,EAAYxF,YAAYiB,WAAWrV,EAAQoO,EAEzD,CACD,SAAIA,GACA,OAAO/vC,KAAKu8C,KAAKxM,KACpB,CACD,IAAAmX,CAAKA,GACD,OAAO,IAAI/N,EAAS,IACbn5C,KAAKu8C,KACR2K,QAEP,EAEL1gD,EAAA2yC,SAAmBA,EACnBA,EAAS7zC,OAAS,CAAC8hD,EAASjgD,KACxB,IAAK21B,MAAM4F,QAAQ0kB,GACf,MAAM,IAAIjiD,MAAM,yDAEpB,OAAO,IAAIg0C,EAAS,CAChBpJ,MAAOqX,EACP9I,SAAUvG,GAAsBoB,SAChC+N,KAAM,QACHpL,EAAoB30C,IACzB,EAEN,MAAM+xC,UAAkBgB,EACpB,aAAImN,GACA,OAAOrnD,KAAKu8C,KAAK+K,OACpB,CACD,eAAIC,GACA,OAAOvnD,KAAKu8C,KAAKiL,SACpB,CACD,MAAA5J,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACjD,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAcp6B,OAMxC,OALA,EAAIomC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAcp6B,OAC/Bu+B,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,MAAMsB,EAAQ,GACRkQ,EAAUtnD,KAAKu8C,KAAK+K,QACpBE,EAAYxnD,KAAKu8C,KAAKiL,UAC5B,IAAK,MAAMp0C,KAAOsjC,EAAInnC,KAClB6nC,EAAM73C,KAAK,CACP6T,IAAKk0C,EAAQ1J,OAAO,IAAIpC,EAAmB9E,EAAKtjC,EAAKsjC,EAAI7T,KAAMzvB,IAC/D7S,MAAOinD,EAAU5J,OAAO,IAAIpC,EAAmB9E,EAAKA,EAAInnC,KAAK6D,GAAMsjC,EAAI7T,KAAMzvB,MAGrF,OAAIsjC,EAAIC,OAAO1nC,MACJssC,EAAYxF,YAAYoB,iBAAiBxV,EAAQyV,GAGjDmE,EAAYxF,YAAYuB,gBAAgB3V,EAAQyV,EAE9D,CACD,WAAIl4B,GACA,OAAOlf,KAAKu8C,KAAKiL,SACpB,CACD,aAAOliD,CAAOsX,EAAOC,EAAQ4qC,GACzB,OACW,IAAIvO,EADXr8B,aAAkBq9B,EACG,CACjBoN,QAAS1qC,EACT4qC,UAAW3qC,EACXyhC,SAAUvG,GAAsBmB,aAC7B4C,EAAoB2L,IAGV,CACjBH,QAASrN,EAAU30C,SACnBkiD,UAAW5qC,EACX0hC,SAAUvG,GAAsBmB,aAC7B4C,EAAoBj/B,IAE9B,EAELrW,EAAA0yC,UAAoBA,EACpB,MAAMD,UAAeiB,EACjB,MAAA0D,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACjD,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAczvC,IAMxC,OALA,EAAIy7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAczvC,IAC/B4zC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,MAAMwR,EAAUtnD,KAAKu8C,KAAK+K,QACpBE,EAAYxnD,KAAKu8C,KAAKiL,UACtBpQ,EAAQ,IAAIV,EAAInnC,KAAK6uB,WAAWt+B,KAAI,EAAEsT,EAAK7S,GAAQykD,KAC9C,CACH5xC,IAAKk0C,EAAQ1J,OAAO,IAAIpC,EAAmB9E,EAAKtjC,EAAKsjC,EAAI7T,KAAM,CAACmiB,EAAO,SACvEzkD,MAAOinD,EAAU5J,OAAO,IAAIpC,EAAmB9E,EAAKn2C,EAAOm2C,EAAI7T,KAAM,CAACmiB,EAAO,eAGrF,GAAItO,EAAIC,OAAO1nC,MAAO,CAClB,MAAMy4C,EAAW,IAAIzoD,IACrB,OAAOoK,QAAQC,UAAU1G,MAAKqM,UAC1B,IAAK,MAAM0R,KAAQy2B,EAAO,CACtB,MAAMhkC,QAAYuN,EAAKvN,IACjB7S,QAAcogB,EAAKpgB,MACzB,GAAmB,YAAf6S,EAAIuuB,QAAyC,YAAjBphC,EAAMohC,OAClC,OAAO4Z,EAAYzF,QAEJ,UAAf1iC,EAAIuuB,QAAuC,UAAjBphC,EAAMohC,QAChCA,EAAOmV,QAEX4Q,EAASloD,IAAI4T,EAAI7S,MAAOA,EAAMA,MACjC,CACD,MAAO,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAOmnD,EAAU,GAEvD,CACI,CACD,MAAMA,EAAW,IAAIzoD,IACrB,IAAK,MAAM0hB,KAAQy2B,EAAO,CACtB,MAAMhkC,EAAMuN,EAAKvN,IACX7S,EAAQogB,EAAKpgB,MACnB,GAAmB,YAAf6S,EAAIuuB,QAAyC,YAAjBphC,EAAMohC,OAClC,OAAO4Z,EAAYzF,QAEJ,UAAf1iC,EAAIuuB,QAAuC,UAAjBphC,EAAMohC,QAChCA,EAAOmV,QAEX4Q,EAASloD,IAAI4T,EAAI7S,MAAOA,EAAMA,MACjC,CACD,MAAO,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAOmnD,EACzC,CACJ,EAELlhD,EAAAyyC,OAAiBA,EACjBA,EAAO3zC,OAAS,CAACgiD,EAASE,EAAWrgD,IAC1B,IAAI8xC,EAAO,CACduO,YACAF,UACAhJ,SAAUvG,GAAsBkB,UAC7B6C,EAAoB30C,KAG/B,MAAM6xC,UAAekB,EACjB,MAAA0D,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACjD,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAc/vC,IAMxC,OALA,EAAI+7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc/vC,IAC/Bk0C,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,MAAMsG,EAAMp8C,KAAKu8C,KACG,OAAhBH,EAAIuL,SACAjR,EAAInnC,KAAKgqB,KAAO6iB,EAAIuL,QAAQpnD,SAC5B,EAAIg7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAayC,UAC9BG,QAAS0H,EAAIuL,QAAQpnD,MACrBM,KAAM,MACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAAS03C,EAAIuL,QAAQjjD,UAEzBi9B,EAAOmV,SAGK,OAAhBsF,EAAIwL,SACAlR,EAAInnC,KAAKgqB,KAAO6iB,EAAIwL,QAAQrnD,SAC5B,EAAIg7C,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa6C,QAC9BC,QAASwH,EAAIwL,QAAQrnD,MACrBM,KAAM,MACN4zC,WAAW,EACXD,OAAO,EACP9vC,QAAS03C,EAAIwL,QAAQljD,UAEzBi9B,EAAOmV,SAGf,MAAM0Q,EAAYxnD,KAAKu8C,KAAKiL,UAC5B,SAASK,EAAYC,GACjB,MAAMC,EAAY,IAAIryC,IACtB,IAAK,MAAMwJ,KAAW4oC,EAAU,CAC5B,GAAuB,YAAnB5oC,EAAQyiB,OACR,OAAO4Z,EAAYzF,QACA,UAAnB52B,EAAQyiB,QACRA,EAAOmV,QACXiR,EAAU7lD,IAAIgd,EAAQ3e,MACzB,CACD,MAAO,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAOwnD,EACzC,CACD,MAAMD,EAAW,IAAIpR,EAAInnC,KAAK8pB,UAAUv5B,KAAI,CAAC+7B,EAAMx8B,IAAMmoD,EAAU5J,OAAO,IAAIpC,EAAmB9E,EAAK7a,EAAM6a,EAAI7T,KAAMxjC,MACtH,OAAIq3C,EAAIC,OAAO1nC,MACJ5F,QAAQrK,IAAI8oD,GAAUllD,MAAMklD,GAAaD,EAAYC,KAGrDD,EAAYC,EAE1B,CACD,GAAA7qC,CAAI0qC,EAASjjD,GACT,OAAO,IAAIs0C,EAAO,IACXh5C,KAAKu8C,KACRoL,QAAS,CAAEpnD,MAAOonD,EAASjjD,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KAE1E,CACD,GAAAsY,CAAI4qC,EAASljD,GACT,OAAO,IAAIs0C,EAAO,IACXh5C,KAAKu8C,KACRqL,QAAS,CAAErnD,MAAOqnD,EAASljD,QAAS42C,EAAY3D,UAAU9qC,SAASnI,KAE1E,CACD,IAAA60B,CAAKA,EAAM70B,GACP,OAAO1E,KAAKid,IAAIsc,EAAM70B,GAASsY,IAAIuc,EAAM70B,EAC5C,CACD,QAAAg7C,CAASh7C,GACL,OAAO1E,KAAKid,IAAI,EAAGvY,EACtB,EAEL8B,EAAAwyC,OAAiBA,EACjBA,EAAO1zC,OAAS,CAACkiD,EAAWrgD,IACjB,IAAI6xC,EAAO,CACdwO,YACAG,QAAS,KACTC,QAAS,KACTtJ,SAAUvG,GAAsBiB,UAC7B8C,EAAoB30C,KAG/B,MAAM4xC,UAAoBmB,EACtB,WAAAj4C,GACI8C,SAASiK,WACThP,KAAKgoD,SAAWhoD,KAAKioD,SACxB,CACD,MAAArK,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACzC,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAc6B,SAMxC,OALA,EAAImK,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc6B,SAC/BsC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,SAASoS,EAAczyC,EAAM1S,GACzB,OAAO,EAAIw4C,EAAYrF,WAAW,CAC9B3mC,KAAMkG,EACNotB,KAAM6T,EAAI7T,KACVuT,UAAW,CACPM,EAAIC,OAAOC,mBACXF,EAAIG,gBACJ,EAAIV,EAAShB,eACbgB,EAASb,iBACXpZ,QAAQ1f,KAAQA,IAClB65B,UAAW,CACPvhC,KAAM28B,EAAWK,aAAamC,kBAC9Bf,eAAgBnwC,IAG3B,CACD,SAASolD,EAAiBC,EAASrlD,GAC/B,OAAO,EAAIw4C,EAAYrF,WAAW,CAC9B3mC,KAAM64C,EACNvlB,KAAM6T,EAAI7T,KACVuT,UAAW,CACPM,EAAIC,OAAOC,mBACXF,EAAIG,gBACJ,EAAIV,EAAShB,eACbgB,EAASb,iBACXpZ,QAAQ1f,KAAQA,IAClB65B,UAAW,CACPvhC,KAAM28B,EAAWK,aAAaoC,oBAC9BjB,gBAAiBlwC,IAG5B,CACD,MAAMoE,EAAS,CAAE40C,SAAUrF,EAAIC,OAAOC,oBAChCyR,EAAK3R,EAAInnC,KACf,OAAIvP,KAAKu8C,KAAK6L,mBAAmBzP,GACtB,EAAI4C,EAAY3F,KAAI3mC,SAAUwG,KACjC,MAAM1S,EAAQ,IAAI0uC,EAAWC,SAAS,IAChC4W,QAAmBtoD,KAAKu8C,KAAK9mC,KAC9BgnC,WAAWhnC,EAAMtO,GACjBnE,OAAO5D,IAER,MADA2D,EAAMkvC,SAASiW,EAAczyC,EAAMrW,IAC7B2D,CAAK,IAEToD,QAAekiD,KAAMC,GAO3B,aAN4BtoD,KAAKu8C,KAAK6L,QAAQ7L,KAAK17C,KAC9C47C,WAAWt2C,EAAQgB,GACnBnE,OAAO5D,IAER,MADA2D,EAAMkvC,SAASkW,EAAiBhiD,EAAQ/G,IAClC2D,CAAK,GAEK,KAIjB,EAAIw4C,EAAY3F,KAAI,IAAIngC,KAC3B,MAAM6yC,EAAatoD,KAAKu8C,KAAK9mC,KAAK+mC,UAAU/mC,EAAMtO,GAClD,IAAKmhD,EAAWzM,QACZ,MAAM,IAAIpK,EAAWC,SAAS,CAACwW,EAAczyC,EAAM6yC,EAAWvlD,SAElE,MAAMoD,EAASkiD,KAAMC,EAAW/4C,MAC1Bg5C,EAAgBvoD,KAAKu8C,KAAK6L,QAAQ5L,UAAUr2C,EAAQgB,GAC1D,IAAKohD,EAAc1M,QACf,MAAM,IAAIpK,EAAWC,SAAS,CAACyW,EAAiBhiD,EAAQoiD,EAAcxlD,SAE1E,OAAOwlD,EAAch5C,IAAI,GAGpC,CACD,UAAAqsB,GACI,OAAO57B,KAAKu8C,KAAK9mC,IACpB,CACD,UAAA+yC,GACI,OAAOxoD,KAAKu8C,KAAK6L,OACpB,CACD,IAAA3yC,IAAQs6B,GACJ,OAAO,IAAIgJ,EAAY,IAChB/4C,KAAKu8C,KACR9mC,KAAM0jC,EAAS7zC,OAAOyqC,GAAOmX,KAAKxN,EAAWp0C,WAEpD,CACD,OAAA8iD,CAAQI,GACJ,OAAO,IAAIzP,EAAY,IAChB/4C,KAAKu8C,KACR6L,QAASI,GAEhB,CACD,SAAAP,CAAUQ,GAEN,OADsBzoD,KAAKkvC,MAAMuZ,EAEpC,CACD,eAAAC,CAAgBD,GAEZ,OADsBzoD,KAAKkvC,MAAMuZ,EAEpC,CACD,aAAOnjD,CAAOmQ,EAAM2yC,EAASjhD,GACzB,OAAO,IAAI4xC,EAAY,CACnBtjC,KAAOA,GAED0jC,EAAS7zC,OAAO,IAAI4hD,KAAKxN,EAAWp0C,UAC1C8iD,QAASA,GAAW1O,EAAWp0C,SAC/Bg5C,SAAUvG,GAAsBgB,eAC7B+C,EAAoB30C,IAE9B,EAELX,EAAAuyC,YAAsBA,EACtB,MAAMgN,UAAgB7L,EAClB,UAAImE,GACA,OAAOr+C,KAAKu8C,KAAKoM,QACpB,CACD,MAAA/K,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GAEzC,OADmBv9C,KAAKu8C,KAAKoM,SACX/K,OAAO,CAAEruC,KAAMmnC,EAAInnC,KAAMszB,KAAM6T,EAAI7T,KAAMhrB,OAAQ6+B,GACtE,EAELlwC,EAAAu/C,QAAkBA,EAClBA,EAAQzgD,OAAS,CAACqjD,EAAQxhD,IACf,IAAI4+C,EAAQ,CACf4C,OAAQA,EACRrK,SAAUvG,GAAsBgO,WAC7BjK,EAAoB30C,KAG/B,MAAM2xC,UAAmBoB,EACrB,MAAA0D,CAAOL,GACH,GAAIA,EAAMhuC,OAASvP,KAAKu8C,KAAKh8C,MAAO,CAChC,MAAMm2C,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpChD,SAAUgD,EAAInnC,KACduF,KAAM28B,EAAWK,aAAa8B,gBAC9BD,SAAU3zC,KAAKu8C,KAAKh8C,QAEjBg7C,EAAYzF,OACtB,CACD,MAAO,CAAEnU,OAAQ,QAASphC,MAAOg9C,EAAMhuC,KAC1C,CACD,SAAIhP,GACA,OAAOP,KAAKu8C,KAAKh8C,KACpB,EAUL,SAASklD,EAAcpsB,EAAQlyB,GAC3B,OAAO,IAAI0xC,EAAQ,CACfxf,OAAQA,EACRilB,SAAUvG,GAAsBc,WAC7BiD,EAAoB30C,IAE9B,CAdDX,EAAAsyC,WAAqBA,EACrBA,EAAWxzC,OAAS,CAAC/E,EAAO4G,IACjB,IAAI2xC,EAAW,CAClBv4C,MAAOA,EACP+9C,SAAUvG,GAAsBe,cAC7BgD,EAAoB30C,KAU/B,MAAM0xC,UAAgBqB,EAClB,MAAA0D,CAAOL,GACH,GAA0B,iBAAfA,EAAMhuC,KAAmB,CAChC,MAAMmnC,EAAM12C,KAAKw9C,gBAAgBD,GAC3BqL,EAAiB5oD,KAAKu8C,KAAKljB,OAMjC,OALA,EAAIkiB,EAAYvF,mBAAmBU,EAAK,CACpC/C,SAAU/B,EAAOvC,KAAKsB,WAAWiY,GACjClV,SAAUgD,EAAI+G,WACd3oC,KAAM28B,EAAWK,aAAa2B,eAE3B8H,EAAYzF,OACtB,CACD,IAA8C,IAA1C91C,KAAKu8C,KAAKljB,OAAO15B,QAAQ49C,EAAMhuC,MAAc,CAC7C,MAAMmnC,EAAM12C,KAAKw9C,gBAAgBD,GAC3BqL,EAAiB5oD,KAAKu8C,KAAKljB,OAMjC,OALA,EAAIkiB,EAAYvF,mBAAmBU,EAAK,CACpChD,SAAUgD,EAAInnC,KACduF,KAAM28B,EAAWK,aAAakC,mBAC9B7c,QAASyxB,IAENrN,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,CACD,WAAI4nB,GACA,OAAOn3B,KAAKu8C,KAAKljB,MACpB,CACD,QAAI+hB,GACA,MAAMyN,EAAa,CAAA,EACnB,IAAK,MAAMjoC,KAAO5gB,KAAKu8C,KAAKljB,OACxBwvB,EAAWjoC,GAAOA,EAEtB,OAAOioC,CACV,CACD,UAAIC,GACA,MAAMD,EAAa,CAAA,EACnB,IAAK,MAAMjoC,KAAO5gB,KAAKu8C,KAAKljB,OACxBwvB,EAAWjoC,GAAOA,EAEtB,OAAOioC,CACV,CACD,QAAIE,GACA,MAAMF,EAAa,CAAA,EACnB,IAAK,MAAMjoC,KAAO5gB,KAAKu8C,KAAKljB,OACxBwvB,EAAWjoC,GAAOA,EAEtB,OAAOioC,CACV,CACD,OAAAG,CAAQ3vB,GACJ,OAAOwf,EAAQvzC,OAAO+zB,EACzB,CACD,OAAA4vB,CAAQ5vB,GACJ,OAAOwf,EAAQvzC,OAAOtF,KAAKm3B,QAAQ+E,QAAQgtB,IAAS7vB,EAAOrnB,SAASk3C,KACvE,EAEL1iD,EAAAqyC,QAAkBA,EAClBA,EAAQvzC,OAASmgD,EACjB,MAAM7M,UAAsBsB,EACxB,MAAA0D,CAAOL,GACH,MAAM4L,EAAmBvX,EAAOvC,KAAKY,mBAAmBjwC,KAAKu8C,KAAKljB,QAC5Dqd,EAAM12C,KAAKw9C,gBAAgBD,GACjC,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAAcyB,QACxC0F,EAAI+G,aAAe7L,EAAOrC,cAAc2B,OAAQ,CAChD,MAAM0X,EAAiBhX,EAAOvC,KAAKgB,aAAa8Y,GAMhD,OALA,EAAI5N,EAAYvF,mBAAmBU,EAAK,CACpC/C,SAAU/B,EAAOvC,KAAKsB,WAAWiY,GACjClV,SAAUgD,EAAI+G,WACd3oC,KAAM28B,EAAWK,aAAa2B,eAE3B8H,EAAYzF,OACtB,CACD,IAA8C,IAA1CqT,EAAiBxpD,QAAQ49C,EAAMhuC,MAAc,CAC7C,MAAMq5C,EAAiBhX,EAAOvC,KAAKgB,aAAa8Y,GAMhD,OALA,EAAI5N,EAAYvF,mBAAmBU,EAAK,CACpChD,SAAUgD,EAAInnC,KACduF,KAAM28B,EAAWK,aAAakC,mBAC9B7c,QAASyxB,IAENrN,EAAYzF,OACtB,CACD,OAAO,EAAIyF,EAAY3F,IAAI2H,EAAMhuC,KACpC,CACD,QAAI6rC,GACA,OAAOp7C,KAAKu8C,KAAKljB,MACpB,EAEL7yB,EAAAoyC,cAAwBA,EACxBA,EAActzC,OAAS,CAAC+zB,EAAQlyB,IACrB,IAAIyxC,EAAc,CACrBvf,OAAQA,EACRilB,SAAUvG,GAAsBa,iBAC7BkD,EAAoB30C,KAG/B,MAAMwxC,UAAmBuB,EACrB,MAAAyJ,GACI,OAAO3jD,KAAKu8C,KAAK17C,IACpB,CACD,MAAA+8C,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACzC,GAAI7G,EAAI+G,aAAe7L,EAAOrC,cAActkC,UACnB,IAArByrC,EAAIC,OAAO1nC,MAMX,OALA,EAAIssC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAActkC,QAC/ByoC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,QAEvB,MAAMsT,EAAc1S,EAAI+G,aAAe7L,EAAOrC,cAActkC,QACtDyrC,EAAInnC,KACJlG,QAAQC,QAAQotC,EAAInnC,MAC1B,OAAO,EAAIgsC,EAAY3F,IAAIwT,EAAYxmD,MAAM2M,GAClCvP,KAAKu8C,KAAK17C,KAAK47C,WAAWltC,EAAM,CACnCszB,KAAM6T,EAAI7T,KACVkZ,SAAUrF,EAAIC,OAAOC,uBAGhC,EAELpwC,EAAAmyC,WAAqBA,EACrBA,EAAWrzC,OAAS,CAAC+4C,EAAQl3C,IAClB,IAAIwxC,EAAW,CAClB93C,KAAMw9C,EACNC,SAAUvG,GAAsBY,cAC7BmD,EAAoB30C,KAG/B,MAAMuxC,UAAmBwB,EACrB,SAAAwE,GACI,OAAO1+C,KAAKu8C,KAAK8B,MACpB,CACD,UAAAgL,GACI,OAAOrpD,KAAKu8C,KAAK8B,OAAO9B,KAAK+B,WAAavG,GAAsBW,WAC1D14C,KAAKu8C,KAAK8B,OAAOgL,aACjBrpD,KAAKu8C,KAAK8B,MACnB,CACD,MAAAT,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GAC3ClC,EAASr7C,KAAKu8C,KAAKlB,QAAU,KACnC,GAAoB,eAAhBA,EAAOx6C,KAAuB,CAC9B,MAAMyoD,EAAYjO,EAAO2B,UAAUtG,EAAInnC,MACvC,OAAImnC,EAAIC,OAAO1nC,MACJ5F,QAAQC,QAAQggD,GAAW1mD,MAAM0mD,GAC7BtpD,KAAKu8C,KAAK8B,OAAOR,YAAY,CAChCtuC,KAAM+5C,EACNzmB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,MAKT12C,KAAKu8C,KAAK8B,OAAOV,WAAW,CAC/BpuC,KAAM+5C,EACNzmB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,GAGnB,CACD,MAAM6S,EAAW,CACbtX,SAAW1xB,KACP,EAAIg7B,EAAYvF,mBAAmBU,EAAKn2B,GACpCA,EAAIipC,MACJ7nB,EAAOoV,QAGPpV,EAAOmV,OACV,EAEL,QAAIjU,GACA,OAAO6T,EAAI7T,IACd,GAGL,GADA0mB,EAAStX,SAAWsX,EAAStX,SAASjrB,KAAKuiC,GACvB,eAAhBlO,EAAOx6C,KAAuB,CAC9B,MAAM4oD,EAAqBC,IACvB,MAAMvjD,EAASk1C,EAAOsB,WAAW+M,EAAKH,GACtC,GAAI7S,EAAIC,OAAO1nC,MACX,OAAO5F,QAAQC,QAAQnD,GAE3B,GAAIA,aAAkBkD,QAClB,MAAM,IAAIlE,MAAM,6FAEpB,OAAOukD,CAAG,EAEd,IAAyB,IAArBhT,EAAIC,OAAO1nC,MAAiB,CAC5B,MAAM06C,EAAQ3pD,KAAKu8C,KAAK8B,OAAOV,WAAW,CACtCpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAEZ,MAAqB,YAAjBiT,EAAMhoB,OACC4Z,EAAYzF,SACF,UAAjB6T,EAAMhoB,QACNA,EAAOmV,QACX2S,EAAkBE,EAAMppD,OACjB,CAAEohC,OAAQA,EAAOphC,MAAOA,MAAOopD,EAAMppD,OAC/C,CAEG,OAAOP,KAAKu8C,KAAK8B,OACZR,YAAY,CAAEtuC,KAAMmnC,EAAInnC,KAAMszB,KAAM6T,EAAI7T,KAAMhrB,OAAQ6+B,IACtD9zC,MAAM+mD,GACc,YAAjBA,EAAMhoB,OACC4Z,EAAYzF,SACF,UAAjB6T,EAAMhoB,QACNA,EAAOmV,QACJ2S,EAAkBE,EAAMppD,OAAOqC,MAAK,KAChC,CAAE++B,OAAQA,EAAOphC,MAAOA,MAAOopD,EAAMppD,YAI3D,CACD,GAAoB,cAAhB86C,EAAOx6C,KAAsB,CAC7B,IAAyB,IAArB61C,EAAIC,OAAO1nC,MAAiB,CAC5B,MAAM26C,EAAO5pD,KAAKu8C,KAAK8B,OAAOV,WAAW,CACrCpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAEZ,KAAK,EAAI6E,EAAY9F,SAASmU,GAC1B,OAAOA,EACX,MAAMzjD,EAASk1C,EAAO2B,UAAU4M,EAAKrpD,MAAOgpD,GAC5C,GAAIpjD,aAAkBkD,QAClB,MAAM,IAAIlE,MAAM,mGAEpB,MAAO,CAAEw8B,OAAQA,EAAOphC,MAAOA,MAAO4F,EACzC,CAEG,OAAOnG,KAAKu8C,KAAK8B,OACZR,YAAY,CAAEtuC,KAAMmnC,EAAInnC,KAAMszB,KAAM6T,EAAI7T,KAAMhrB,OAAQ6+B,IACtD9zC,MAAMgnD,IACF,EAAIrO,EAAY9F,SAASmU,GAEvBvgD,QAAQC,QAAQ+xC,EAAO2B,UAAU4M,EAAKrpD,MAAOgpD,IAAW3mD,MAAMuD,IAAM,CAAQw7B,OAAQA,EAAOphC,MAAOA,MAAO4F,MADrGyjD,GAItB,CACDhY,EAAOvC,KAAKO,YAAYyL,EAC3B,EAEL70C,EAAAkyC,WAAqBA,EACrBlyC,EAAAiyC,eAAyBC,EACzBA,EAAWpzC,OAAS,CAAC+4C,EAAQhD,EAAQl0C,IAC1B,IAAIuxC,EAAW,CAClB2F,SACAC,SAAUvG,GAAsBW,WAChC2C,YACGS,EAAoB30C,KAG/BuxC,EAAWmR,qBAAuB,CAACpP,EAAY4D,EAAQl3C,IAC5C,IAAIuxC,EAAW,CAClB2F,SACAhD,OAAQ,CAAEx6C,KAAM,aAAcm8C,UAAWvC,GACzC6D,SAAUvG,GAAsBW,cAC7BoD,EAAoB30C,KAG/B,MAAMo3C,UAAoBrE,EACtB,MAAA0D,CAAOL,GAEH,OADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc5sC,WAC7B,EAAI44C,EAAY3F,SAAIjzC,GAExB3C,KAAKu8C,KAAKmC,UAAUd,OAAOL,EACrC,CACD,MAAAoG,GACI,OAAO3jD,KAAKu8C,KAAKmC,SACpB,EAELl4C,EAAA+3C,YAAsBA,EACtBA,EAAYj5C,OAAS,CAACzE,EAAMsG,IACjB,IAAIo3C,EAAY,CACnBG,UAAW79C,EACXy9C,SAAUvG,GAAsBwG,eAC7BzC,EAAoB30C,KAG/B,MAAMqxC,UAAoB0B,EACtB,MAAA0D,CAAOL,GAEH,OADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAcgC,MAC7B,EAAIgK,EAAY3F,IAAI,MAExB51C,KAAKu8C,KAAKmC,UAAUd,OAAOL,EACrC,CACD,MAAAoG,GACI,OAAO3jD,KAAKu8C,KAAKmC,SACpB,EAELl4C,EAAAgyC,YAAsBA,EACtBA,EAAYlzC,OAAS,CAACzE,EAAMsG,IACjB,IAAIqxC,EAAY,CACnBkG,UAAW79C,EACXy9C,SAAUvG,GAAsBS,eAC7BsD,EAAoB30C,KAG/B,MAAMoxC,UAAmB2B,EACrB,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACzC,IAAIhuC,EAAOmnC,EAAInnC,KAIf,OAHImnC,EAAI+G,aAAe7L,EAAOrC,cAAc5sC,YACxC4M,EAAOvP,KAAKu8C,KAAKoC,gBAEd3+C,KAAKu8C,KAAKmC,UAAUd,OAAO,CAC9BruC,OACAszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,GAEf,CACD,aAAAoT,GACI,OAAO9pD,KAAKu8C,KAAKmC,SACpB,EAELl4C,EAAA+xC,WAAqBA,EACrBA,EAAWjzC,OAAS,CAACzE,EAAMsG,IAChB,IAAIoxC,EAAW,CAClBmG,UAAW79C,EACXy9C,SAAUvG,GAAsBQ,WAChCoG,aAAwC,mBAAnBx3C,EAAOhH,QACtBgH,EAAOhH,QACP,IAAMgH,EAAOhH,WAChB27C,EAAoB30C,KAG/B,MAAMmxC,WAAiB4B,EACnB,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACnCwM,EAAS,IACRrT,EACHC,OAAQ,IACDD,EAAIC,OACP3E,OAAQ,KAGV7rC,EAASnG,KAAKu8C,KAAKmC,UAAUd,OAAO,CACtCruC,KAAMw6C,EAAOx6C,KACbszB,KAAMknB,EAAOlnB,KACbhrB,OAAQ,IACDkyC,KAGX,OAAI,EAAIxO,EAAY/F,SAASrvC,GAClBA,EAAOvD,MAAMuD,IACT,CACHw7B,OAAQ,QACRphC,MAAyB,UAAlB4F,EAAOw7B,OACRx7B,EAAO5F,MACPP,KAAKu8C,KAAKsC,WAAW,CACnB,SAAI97C,GACA,OAAO,IAAI0uC,EAAWC,SAASqY,EAAOpT,OAAO3E,OAChD,EACDuL,MAAOwM,EAAOx6C,WAMvB,CACHoyB,OAAQ,QACRphC,MAAyB,UAAlB4F,EAAOw7B,OACRx7B,EAAO5F,MACPP,KAAKu8C,KAAKsC,WAAW,CACnB,SAAI97C,GACA,OAAO,IAAI0uC,EAAWC,SAASqY,EAAOpT,OAAO3E,OAChD,EACDuL,MAAOwM,EAAOx6C,OAIjC,CACD,WAAAy6C,GACI,OAAOhqD,KAAKu8C,KAAKmC,SACpB,EAELl4C,EAAA8xC,SAAmBA,GACnBA,GAAShzC,OAAS,CAACzE,EAAMsG,IACd,IAAImxC,GAAS,CAChBoG,UAAW79C,EACXy9C,SAAUvG,GAAsBO,SAChCuG,WAAoC,mBAAjB13C,EAAOnE,MAAuBmE,EAAOnE,MAAQ,IAAMmE,EAAOnE,SAC1E84C,EAAoB30C,KAG/B,MAAMkxC,WAAe6B,EACjB,MAAA0D,CAAOL,GAEH,GADmBv9C,KAAKs9C,SAASC,KACd3L,EAAOrC,cAAc0B,IAAK,CACzC,MAAMyF,EAAM12C,KAAKw9C,gBAAgBD,GAMjC,OALA,EAAIhC,EAAYvF,mBAAmBU,EAAK,CACpC5hC,KAAM28B,EAAWK,aAAa2B,aAC9BE,SAAU/B,EAAOrC,cAAc0B,IAC/ByC,SAAUgD,EAAI+G,aAEXlC,EAAYzF,OACtB,CACD,MAAO,CAAEnU,OAAQ,QAASphC,MAAOg9C,EAAMhuC,KAC1C,EAEL/I,EAAA6xC,OAAiBA,GACjBA,GAAO/yC,OAAU6B,GACN,IAAIkxC,GAAO,CACdiG,SAAUvG,GAAsBM,UAC7ByD,EAAoB30C,KAG/BX,EAAA4xC,MAAgB3sC,OAAO,aACvB,MAAM0sC,WAAmB+B,EACrB,MAAA0D,CAAOL,GACH,MAAM7G,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACnChuC,EAAOmnC,EAAInnC,KACjB,OAAOvP,KAAKu8C,KAAK17C,KAAK+8C,OAAO,CACzBruC,OACAszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,GAEf,CACD,MAAAiN,GACI,OAAO3jD,KAAKu8C,KAAK17C,IACpB,EAEL2F,EAAA2xC,WAAqBA,GACrB,MAAM4G,WAAoB7E,EACtB,MAAA0D,CAAOL,GACH,MAAM5b,OAAEA,EAAM+U,IAAEA,GAAQ12C,KAAK09C,oBAAoBH,GACjD,GAAI7G,EAAIC,OAAO1nC,MAAO,CAqBlB,MApBoBA,WAChB,MAAMg7C,QAAiBjqD,KAAKu8C,KAAK2N,GAAGrM,YAAY,CAC5CtuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAEZ,MAAwB,YAApBuT,EAAStoB,OACF4Z,EAAYzF,QACC,UAApBmU,EAAStoB,QACTA,EAAOmV,SACA,EAAIyE,EAAY1F,OAAOoU,EAAS1pD,QAGhCP,KAAKu8C,KAAK4N,IAAItM,YAAY,CAC7BtuC,KAAM06C,EAAS1pD,MACfsiC,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,GAEf,EAEE0T,EACV,CACI,CACD,MAAMH,EAAWjqD,KAAKu8C,KAAK2N,GAAGvM,WAAW,CACrCpuC,KAAMmnC,EAAInnC,KACVszB,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,IAEZ,MAAwB,YAApBuT,EAAStoB,OACF4Z,EAAYzF,QACC,UAApBmU,EAAStoB,QACTA,EAAOmV,QACA,CACHnV,OAAQ,QACRphC,MAAO0pD,EAAS1pD,QAIbP,KAAKu8C,KAAK4N,IAAIxM,WAAW,CAC5BpuC,KAAM06C,EAAS1pD,MACfsiC,KAAM6T,EAAI7T,KACVhrB,OAAQ6+B,GAGnB,CACJ,CACD,aAAOpxC,CAAOmtB,EAAGC,GACb,OAAO,IAAIqsB,GAAY,CACnBmL,GAAIz3B,EACJ03B,IAAKz3B,EACL4rB,SAAUvG,GAAsBgH,aAEvC,EAELv4C,EAAAu4C,YAAsBA,GAsBtB,IAAIhH,GAJJvxC,EAAAquC,OAjBe,CAACmJ,EAAO72C,EAAS,CAAA,EAAIqiD,IAC5BxL,EACOmF,EAAO79C,SAASs3C,aAAY,CAACrtC,EAAMmnC,KACtC,IAAIoH,EAAI0G,EACR,IAAKxG,EAAMzuC,GAAO,CACd,MAAM9I,EAAsB,mBAAXU,EACXA,EAAOoI,GACW,iBAAXpI,EACH,CAAEzC,QAASyC,GACXA,EACJkjD,EAA0E,QAAhE7F,EAAwB,QAAlB1G,EAAKr3C,EAAE+iD,aAA0B,IAAP1L,EAAgBA,EAAK0L,SAA0B,IAAPhF,GAAgBA,EAClG8F,EAAkB,iBAAN7jD,EAAiB,CAAE/B,QAAS+B,GAAMA,EACpDiwC,EAAIzE,SAAS,CAAEn9B,KAAM,YAAaw1C,EAAId,MAAOa,GAChD,KAEFlH,EAAO79C,SAGlBkB,EAAewxC,KAAA,CACX7iC,OAAQmkC,EAAUqM,YAGtB,SAAW5N,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,aAC1C,CApCD,CAoCGA,GAAwBvxC,EAAQuxC,wBAA0BvxC,EAAgCuxC,sBAAA,CAAE,IAO/FvxC,EAAA+jD,WAHuB,CAACC,EAAKrjD,EAAS,CAClCzC,QAAS,yBAAyB8lD,EAAIpoD,WACpC,EAAIoE,EAAQquC,SAAStlC,GAASA,aAAgBi7C,GAAKrjD,GAEzD,MAAMsjD,GAAaxQ,EAAU30C,OAC7BkB,EAAAwqC,OAAiByZ,GACjB,MAAMC,GAAa3I,EAAUz8C,OAC7BkB,EAAA0qC,OAAiBwZ,GACjB,MAAMC,GAAUtS,GAAO/yC,OACvBkB,EAAAyqC,IAAc0Z,GACd,MAAMC,GAAa5Q,EAAU10C,OAC7BkB,EAAA6qC,OAAiBuZ,GACjB,MAAMC,GAAc9Q,EAAWz0C,OAC/BkB,EAAA2qC,QAAkB0Z,GAClB,MAAMC,GAAWhR,EAAQx0C,OACzBkB,EAAAgrC,KAAesZ,GACf,MAAMC,GAAalR,EAAUv0C,OAC7BkB,EAAA8qC,OAAiByZ,GACjB,MAAMC,GAAgBpR,EAAat0C,OACnCkB,EAAA7D,UAAoBqoD,GACpB,MAAMC,GAAWtR,EAAQr0C,OACzBkB,EAAA+qC,KAAe0Z,GACf,MAAMC,GAAU/H,EAAO79C,OACvBkB,EAAA2kD,IAAcD,GACd,MAAME,GAAc1R,EAAWp0C,OAC/BkB,EAAAq5B,QAAkBurB,GAClB,MAAMC,GAAY5R,EAASn0C,OAC3BkB,EAAAu0C,MAAgBsQ,GAChB,MAAMC,GAAW9R,EAAQl0C,OACzBkB,EAAA4zC,KAAekR,GACf,MAAMC,GAAYhS,EAASj0C,OAC3BkB,EAAAoqC,MAAgB2a,GAChB,MAAMC,GAAalS,EAAUh0C,OAC7BkB,EAAA2O,OAAiBq2C,GACjB,MAAMC,GAAmBnS,EAAUoM,aACnCl/C,EAAA+zC,aAAuBkR,GACvB,MAAMC,GAAYrS,EAAS/zC,OAC3BkB,EAAA6zC,MAAgBqR,GAChB,MAAMC,GAAyB3F,EAAsB1gD,OACrDkB,EAAAqxC,mBAA6B8T,GAC7B,MAAMC,GAAmBxS,EAAgB9zC,OACzCkB,EAAA20C,aAAuByQ,GACvB,MAAMC,GAAY1S,EAAS7zC,OAC3BkB,EAAAslD,MAAgBD,GAChB,MAAME,GAAa7S,EAAU5zC,OAC7BkB,EAAAg0C,OAAiBuR,GACjB,MAAMC,GAAU/S,EAAO3zC,OACvBkB,EAAA1G,IAAcksD,GACd,MAAMC,GAAUjT,EAAO1zC,OACvBkB,EAAAhH,IAAcysD,GACd,MAAMC,GAAenT,EAAYzzC,OACjCkB,EAAA4qC,SAAmB8a,GACnB,MAAMC,GAAWpG,EAAQzgD,OACzBkB,EAAA00C,KAAeiR,GACf,MAAMC,GAActT,EAAWxzC,OAC/BkB,EAAAy0C,QAAkBmR,GAClB,MAAMC,GAAWxT,EAAQvzC,OACzBkB,EAAA40C,KAAeiR,GACf,MAAMC,GAAiB1T,EAActzC,OACrCkB,EAAAw0C,WAAqBsR,GACrB,MAAMC,GAAc5T,EAAWrzC,OAC/BkB,EAAAyE,QAAkBshD,GAClB,MAAMC,GAAc9T,EAAWpzC,OAC/BkB,EAAA60C,OAAiBmR,GACjBhmD,EAAA8zC,YAAsBkS,GACtB,MAAMC,GAAelO,EAAYj5C,OACjCkB,EAAAm0C,SAAmB8R,GACnB,MAAMC,GAAelU,EAAYlzC,OACjCkB,EAAAs0C,SAAmB4R,GACnB,MAAMC,GAAiBjU,EAAWmR,qBAClCrjD,EAAAi0C,WAAqBkS,GACrB,MAAMC,GAAe7N,GAAYz5C,OACjCkB,EAAAk0C,SAAmBkS,GAEnBpmD,EAAAqmD,QADgB,IAAMpC,KAAa9P,WAGnCn0C,EAAAo0C,QADgB,IAAM8P,KAAa/P,WAGnCn0C,EAAAq0C,SADiB,IAAMgQ,KAAclQ,WAErCn0C,EAAiBsxC,OAAA,CACb9G,OAAUzwB,GAAQ05B,EAAU30C,OAAO,IAAKib,EAAKu3B,QAAQ,IACrD5G,OAAU3wB,GAAQwhC,EAAUz8C,OAAO,IAAKib,EAAKu3B,QAAQ,IACrD3G,QAAW5wB,GAAQw5B,EAAWz0C,OAAO,IAC9Bib,EACHu3B,QAAQ,IAEZzG,OAAU9wB,GAAQy5B,EAAU10C,OAAO,IAAKib,EAAKu3B,QAAQ,IACrDtG,KAAQjxB,GAAQu5B,EAAQx0C,OAAO,IAAKib,EAAKu3B,QAAQ,KAErDtxC,EAAgB2zC,MAAAoB,EAAYzF,yBClrG5B,IAAIzwC,EAAmBrF,GAAQA,EAAKqF,kBAAqBjF,OAAOkF,OAAM,SAAaC,EAAGC,EAAGC,EAAGC,QAC7E/C,IAAP+C,IAAkBA,EAAKD,GAC3BrF,OAAOC,eAAekF,EAAGG,EAAI,CAAEK,YAAY,EAAMzG,IAAK,WAAa,OAAOkG,EAAEC,EAAG,GAClF,EAAA,SAAcF,EAAGC,EAAGC,EAAGC,QACT/C,IAAP+C,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,EACb,GACGc,EAAgBvG,GAAQA,EAAKuG,cAAiB,SAASf,EAAGgB,GAC1D,IAAK,IAAIC,KAAKjB,EAAa,YAANiB,GAAoBrG,OAAOgG,UAAUC,eAAeC,KAAKE,EAASC,IAAIpB,EAAgBmB,EAAShB,EAAGiB,EAC3H,EACArG,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDgG,EAAa7F,GAAqB8F,GAClCD,EAAaK,GAAgCJ,GAC7CD,EAAaM,GAAkCL,GAC/CD,EAAaO,GAA2BN,GACxCD,EAAasQ,GAAoBrQ,GACjCD,EAAawQ,GAAuBvQ,oBChBpC,IAAInB,EAAmBrF,GAAQA,EAAKqF,kBAAqBjF,OAAOkF,OAAM,SAAaC,EAAGC,EAAGC,EAAGC,QAC7E/C,IAAP+C,IAAkBA,EAAKD,GAC3BrF,OAAOC,eAAekF,EAAGG,EAAI,CAAEK,YAAY,EAAMzG,IAAK,WAAa,OAAOkG,EAAEC,EAAG,GAClF,EAAA,SAAcF,EAAGC,EAAGC,EAAGC,QACT/C,IAAP+C,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,EACb,GACGO,EAAsBhG,GAAQA,EAAKgG,qBAAwB5F,OAAOkF,OAAM,SAAaC,EAAGU,GACxF7F,OAAOC,eAAekF,EAAG,UAAW,CAAEQ,YAAY,EAAMxF,MAAO0F,GAClE,EAAI,SAASV,EAAGU,GACbV,EAAW,QAAIU,CACnB,GACIC,EAAgBlG,GAAQA,EAAKkG,cAAiB,SAAUjG,GACxD,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIkG,EAAS,CAAA,EACb,GAAW,MAAPlG,EAAa,IAAK,IAAIwF,KAAKxF,EAAe,YAANwF,GAAmBrF,OAAOgG,UAAUC,eAAeC,KAAKrG,EAAKwF,IAAIJ,EAAgBc,EAAQlG,EAAKwF,GAEtI,OADAO,EAAmBG,EAAQlG,GACpBkG,CACX,EACII,EAAgBvG,GAAQA,EAAKuG,cAAiB,SAASf,EAAGgB,GAC1D,IAAK,IAAIC,KAAKjB,EAAa,YAANiB,GAAoBrG,OAAOgG,UAAUC,eAAeC,KAAKE,EAASC,IAAIpB,EAAgBmB,EAAShB,EAAGiB,EAC3H,EACArG,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAAY6sB,OAAA,EACZ,MAAMA,EAAIntB,EAAaxF,IACvB8F,EAAA6sB,EAAYA,EACZ9sB,EAAa7F,GAAuB8F,GACpCA,EAAArG,QAAkBkzB,8BCXlB,IAAItzB,EAAmBC,GAAQA,EAAKD,iBAAoB,SAAUE,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEE,QAAWF,EACxD,EACAG,OAAOC,eAAcmG,EAAU,aAAc,CAAEjG,OAAO,IACtDiG,EAAAsmD,MAAgBtmD,qBAA6BA,EAAcpD,IAAAoD,EAAAumD,eAAyBvmD,EAAiBrD,OAAAqD,EAAAwmD,mBAA6BxmD,sBAA8BA,EAA4BymD,kBAAAzmD,EAAAlD,QAAkBkD,EAA8B0mD,oBAAA1mD,EAAA2mD,mBAA6B3mD,uBAA+BA,EAA0BnD,gBAAAmD,EAAA4mD,4BAAsC5mD,EAAqC6mD,2BAAA7mD,EAAA8mD,6BAAuC9mD,UAAkBA,EAA+B+mD,qBAAA/mD,EAAAgnD,QAAkBhnD,EAA8BinD,oBAAAjnD,EAAAknD,qBAA+BlnD,kBAA0BA,EAAuBmnD,aAAAnnD,EAAAonD,YAAsBpnD,EAA2BqnD,iBAAArnD,EAAAsnD,kBAA4BtnD,sBAA8BA,EAAwBunD,cAAAvnD,EAAAwnD,kBAA4BxnD,EAA2BynD,iBAAAznD,EAAA0nD,kBAA4B1nD,kBAA0BA,EAAgC2nD,sBAAA3nD,EAAA4nD,cAAwB5nD,EAAsB6nD,iBAAA,EAOn6B,MAAMC,EAAQvuD,EAAgBW,IAmF9B,IAAI8sD,EAqHAe,EAuCAlrD,EA0UAC,EAgWAH,EAsoBAC,EA4CA0pD,EA1kDJtmD,EAAsB6nD,YAAAC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAChDgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAE3B8B,IAAIv2C,EAAQgoD,iBACZzR,IAAIv2C,EAAQqnD,oBACjBrnD,EAAwB4nD,cAAAE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAClDgV,OAAO,CACRrQ,GAAI0B,EAAQmnD,eAEX5Q,IAAIv2C,EAAQ0nD,mBACZnR,IAAIv2C,EAAQqnD,oBACjBrnD,EAAgC2nD,sBAAAG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC1DgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5Bn2C,GAAI0B,EAAQmnD,aACZxnD,OAAQK,EAAQynD,mBAEflR,IAAIv2C,EAAQqnD,oBACjBrnD,EAAAgoD,gBAA0BF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACnE7zC,EAAQ6mD,2BACR7mD,EAAQumD,eACRvmD,EAAQ2mD,mBACR3mD,EAAQymD,sBAEZzmD,EAAA0nD,kBAA4BI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACrE7zC,EAAQ+mD,qBACR/mD,EAAQ8mD,6BACR9mD,EAAQioD,mBACRjoD,EAAQkoD,qBACRloD,EAAQmoD,oBACRnoD,EAAQknD,yBAEZlnD,EAAAynD,iBAA2BK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACpE7zC,EAAQ4mD,4BACR5mD,EAAQsnD,kBACRtnD,EAAQ0mD,oBACR1mD,EAAQwmD,mBACRxmD,EAAQinD,wBAEZjnD,EAA4BwnD,kBAAAM,EAAMnuD,QAAQ+6C,MAAK,IAAM10C,EAAQqnD,mBAC7DrnD,EAAAunD,cAAwBO,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQ2nD,sBAAuB3nD,EAAQooD,oBAAqBpoD,EAAQ6nD,gBAC1I7nD,EAA8BooD,oBAAAN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QACxDgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5Bn2C,GAAIwpD,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SAC7DxuC,MAAOyD,EAAQqoD,gBACfnqD,QAAS4pD,EAAMnuD,QAAQ6wC,SACvBrsC,WAAY2pD,EAAMnuD,QAAQ6wC,SAAS2J,aAElCoC,IAAIv2C,EAAQqnD,oBACjBrnD,EAA4BsnD,kBAAAQ,EAAMnuD,QAAQ+6C,MAAK,IAAM10C,EAAQqnD,mBAC7DrnD,EAAAqnD,iBAA2BS,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQq6C,OAAO8T,EAAMnuD,QAAQ6wC,SAAUsd,EAAMnuD,QAAQgrD,SAC/G3kD,EAAAonD,YAAsBU,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ+wC,SAASmR,MAAML,KAAK,kBAAkBC,IAAI,oBACvGz7C,EAAAmnD,aAAuBW,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ+wC,SAASmR,MAAMI,cAAcT,IAAI,GAAGC,IAAI,oBACtGz7C,EAAAqoD,gBAA0BP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAClE,mBACA,qBACA,4BACA,gBACA,kBACA,gBACA,iBACA,oBACA,eACA,kBACA,iBACA,sBACA,2BACA,0BACA,kBACA,gBACA,4BAEJ50C,EAAAknD,qBAA+BY,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACxEmT,EAAQsB,UACRtB,EAAQuB,UACRvB,EAAQwB,aACRxB,EAAQyB,gBACRzB,EAAQ0B,sBAEZ1oD,EAA8BinD,oBAAAa,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAACmT,EAAQ2B,gBAAiB3B,EAAQ4B,uBAE7G,SAAW5B,GACPA,EAAQ6B,0BAA4Bf,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9Em6C,YAAa9B,EAAQ+B,wBAAwB5U,WAC7C6U,WAAYlB,EAAMnuD,QAAQywC,MAAM4c,EAAQ+B,yBAAyB5U,cAExE,CALD,CAKG6S,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ+B,wBAA0BjB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC5DgV,OAAO,CACRs6C,oBAAqBnB,EAAMnuD,QAAQgxC,UAAUwJ,WAC7C+U,YAAapB,EAAMnuD,QAAQ6wC,SAAS2J,WACpCgV,eAAgBrB,EAAMnuD,QAAQ6wC,SAAS2J,WACvCiV,aAActB,EAAMnuD,QAAQ6wC,SAAS2J,WACrCkV,MAAOvB,EAAMnuD,QACRgV,OAAO,CACR26C,UAAWxB,EAAMnuD,QACZi7C,KAAK,CAAC,MAAO,SAAU,aAAc,SAAU,WAC/CT,WACLoV,mBAAoBzB,EAAMnuD,QAAQ6wC,SAAS2J,WAC3CqV,SAAU1B,EAAMnuD,QAAQ6wC,SAAS2J,WACjCsV,UAAW3B,EAAMnuD,QAAQ6wC,SAAS2J,WAClCuV,QAAS5B,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQ6wC,UAAU2J,WACrDwV,SAAU7B,EAAMnuD,QAAQ6wC,SAAS2J,WACjCyV,WAAY9B,EAAMnuD,QAAQ6wC,SAAS2J,WACnC0V,aAAc/B,EAAMnuD,QACf+wC,SACAmR,MACAI,cACAT,IAAI,GACJC,IAAI,KACJtH,aAEJA,aAEJoC,IAAIv2C,EAAQqnD,mBACpB,CA7BD,CA6BGL,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ8C,0BAA4BhC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9EixB,OAAQkoB,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQ6wC,UAC1ChsB,SAAUspC,EAAMnuD,QAAQywC,MAAMvtC,EAAgBktD,uBAAuB5V,cAE5E,CALD,CAKG6S,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQwB,aAAeV,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,kBAC9B9zC,OAAQX,EAAQwnD,qBAEvB,CALD,CAKGR,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ4B,mBAAqBd,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvE+wB,MAAOooB,EAAMnuD,QAAQgxC,UACrBzsC,QAAS4pD,EAAMnuD,QAAQ6wC,YAE9B,CALD,CAKGwc,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQuB,UAAYT,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9DtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,eAC9B9zC,OAAQqmD,EAAQgD,uBAEvB,CALD,CAKGhD,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQgD,oBAAsBlC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEs7C,aAAcjD,EAAQ6B,6BAE7B,CAJD,CAIG7B,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ2B,gBAAkBb,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpE5K,UAAW+jD,EAAMnuD,QAAQ6wC,SACzByf,aAAcnC,EAAMnuD,QACfgV,OAAO,CACRs6C,oBAAqBnB,EAAMnuD,QAAQgxC,UACnCue,YAAapB,EAAMnuD,QAAQ6wC,SAC3B2e,eAAgBrB,EAAMnuD,QAAQ6wC,SAC9B4e,aAActB,EAAMnuD,QAAQ6wC,SAC5B6e,MAAOvB,EAAMnuD,QAAQgV,OAAO,CACxB26C,UAAWxB,EAAMnuD,QACZi7C,KAAK,CAAC,MAAO,SAAU,aAAc,SAAU,WAC/CT,WACLoV,mBAAoBzB,EAAMnuD,QAAQ6wC,SAAS2J,WAC3CqV,SAAU1B,EAAMnuD,QAAQ6wC,SAAS2J,WACjCsV,UAAW3B,EAAMnuD,QAAQ6wC,SAAS2J,WAClCuV,QAAS5B,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQ6wC,UAAU2J,WACrDwV,SAAU7B,EAAMnuD,QAAQ6wC,SAAS2J,WACjCyV,WAAY9B,EAAMnuD,QAAQ6wC,SAAS2J,WACnC0V,aAAc/B,EAAMnuD,QACf+wC,SACAmR,MACAI,cACAT,IAAI,GACJC,IAAI,KACJtH,aAET+V,cAAepC,EAAMnuD,QAAQgxC,YAE5B4L,IAAIv2C,EAAQqnD,qBAExB,CA/BD,CA+BGL,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQsB,UAAYR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9DtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,eAC9B9zC,OAAQX,EAAQwnD,qBAEvB,CALD,CAKGR,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQyB,gBAAkBX,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qBAC9B9zC,OAAQqmD,EAAQ8C,6BAEvB,CALD,CAKG9C,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ0B,kBAAoBZ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,uBAC9B9zC,OAAQqmD,EAAQ8C,6BAEvB,CALD,CAKG9C,IAAYhnD,EAAAgnD,QAAkBA,EAAU,CAAA,IAC3ChnD,EAA+B+mD,qBAAAe,EAAMnuD,QAAQ+6C,MAAK,IAAMqT,EAAQoC,cAEhE,SAAWpC,GACPA,EAAQoC,YAAcrC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,iBAC9B9zC,OAAQX,EAAQwnD,qBAEvB,CALD,CAKGO,IAAY/nD,EAAA+nD,QAAkBA,EAAU,CAAA,IAC3C/nD,EAAA8mD,6BAAuCgB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAChFh3C,EAAgButD,eAChBvtD,EAAgBwtD,wBAChBxtD,EAAgBstD,YAChBttD,EAAgBytD,aAChBztD,EAAgB0tD,cAChB1tD,EAAgB2tD,uBAChB3tD,EAAgB4tD,eAChB5tD,EAAgB6tD,YAChB7tD,EAAgB8tD,aAChB9tD,EAAgB+tD,sBAEpB5qD,EAAA6mD,2BAAqCiB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC9Eh3C,EAAgBguD,qBAChBhuD,EAAgBiuD,uBAChBjuD,EAAgBkuD,wBAChBluD,EAAgBmuD,wBAChBnuD,EAAgBouD,uBAChBpuD,EAAgBquD,WAChBruD,EAAgBsuD,wBAChBtuD,EAAgBuuD,wBAChBvuD,EAAgBwuD,uBAChBxuD,EAAgByuD,uBAChBzuD,EAAgB0uD,2BAEpBvrD,EAAA4mD,4BAAsCkB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC/Eh3C,EAAgB2uD,8BAChB3uD,EAAgB4uD,mBAChB5uD,EAAgB6uD,oBAChB7uD,EAAgB8uD,qBAChB9uD,EAAgB+uD,sBAGpB,SAAW/uD,GACPA,EAAgBktD,sBAAwBjC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAClF,CAFD,CAEG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBgvD,eAAiB/D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQywC,MAAMvtC,EAAgBivD,aACjG,CAFD,CAEGjvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBivD,WAAahE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvE7K,QAASjH,EAAgBktD,sBACzBt8C,IAAKq6C,EAAMnuD,QAAQ6wC,SACnBl/B,SAAUw8C,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBgvD,eAAgB/D,EAAMnuD,QAAQoxC,SAC7E15B,OAAQy2C,EAAMnuD,QACTk6C,MAAM,CAACh3C,EAAgBktD,sBAAuBjC,EAAMnuD,QAAQoxC,SAC5DoJ,cAEZ,CATD,CASGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBkvD,iBAAmBjE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAC7E,CAFD,CAEG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBmvD,qBAAuBlE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjF7K,QAASjH,EAAgBktD,sBACzBz2C,WAAYw0C,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBkvD,iBAAkBjE,EAAMnuD,QAAQoxC,SACjF33B,UAAWpT,EAAQmnD,aACnB15C,IAAKq6C,EAAMnuD,QAAQ6wC,YAE1B,CAPD,CAOG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBovD,qBAAuBnE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,OAAQ,cAAe,cAC9G,CAFD,CAEG/3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgButD,eAAiBtC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,4BAC9B9zC,OAAQ9D,EAAgBqvD,4BAE/B,CALD,CAKGrvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBqvD,yBAA2BpE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrF7K,QAASjH,EAAgBktD,yBAEhC,CAJD,CAIGltD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBsvD,kCAAoCrE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9F7K,QAASjH,EAAgBktD,sBACzBl0C,KAAMhZ,EAAgBuvD,oBAAoBjY,cAEjD,CALD,CAKGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBwtD,wBAA0BvC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qCAC9B9zC,OAAQ9D,EAAgBsvD,qCAE/B,CALD,CAKGtvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBuvD,oBAAsBtE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC/Eh3C,EAAgBwvD,uBAChBxvD,EAAgByvD,8BAEvB,CALD,CAKGzvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgByvD,2BAA6BxE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B/7B,QAAS/b,EAAO4vD,sBAChB9zC,eAAgBqvC,EAAMnuD,QAAQgxC,UAAUwJ,cAE/C,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBwvD,uBAAyBvE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,YAC5Bz+B,EAAG8xC,EAAMnuD,QAAQ+wC,SACjBz0B,EAAG6xC,EAAMnuD,QAAQ+wC,SACjB31B,MAAO+yC,EAAMnuD,QAAQ+wC,SACrB11B,OAAQ8yC,EAAMnuD,QAAQ+wC,YAE7B,CARD,CAQG7tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB2uD,8BAAgC1D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1F5F,KAAM++C,EAAMnuD,QAAQ6wC,YAE3B,CAJD,CAIG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBstD,YAAcrC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,yBAC9B9zC,OAAQ9D,EAAgB2vD,yBAE/B,CALD,CAKG3vD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB2vD,sBAAwB1E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAClF7K,QAASjH,EAAgBktD,yBAEhC,CAJD,CAIGltD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBytD,aAAexC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,0BAC9B9zC,OAAQ9D,EAAgB4vD,0BAE/B,CALD,CAKG5vD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB6vD,iBAAmB5E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,MAAO,YAC1F,CAFD,CAEG/3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB4vD,uBAAyB3E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtU,KAAMwC,EAAgB6vD,iBACtB7tC,iBAAkBhiB,EAAgBktD,sBAAsB5V,WACxDr9B,WAAYgxC,EAAMnuD,QAAQgxC,UAAUhxC,SAAQ,GAAOw6C,cAE1D,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB4uD,mBAAqB3D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC/E7K,QAASjH,EAAgBktD,yBAEhC,CAJD,CAIGltD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB0tD,cAAgBzC,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQ9D,EAAgB8vD,2BAE/B,CALD,CAKG9vD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB8vD,wBAA0B7E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpF/F,SAAU5I,EAAQmnD,aAAahT,WAC/B11B,KAAM5hB,EAAgBktD,sBAAsB5V,cAEnD,CALD,CAKGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB6uD,oBAAsB5D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChF6P,SAAU3hB,EAAgBgvD,kBAEjC,CAJD,CAIGhvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB2tD,uBAAyB1C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgB+vD,oCAE/B,CALD,CAKG/vD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB+vD,iCAAmC9E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7F7K,QAASjH,EAAgBktD,sBACzBx0C,OAAQuyC,EAAMnuD,QAAQgxC,UAAUwJ,WAChCjgC,SAAU4zC,EAAMnuD,QAAQ6wC,SAAS2J,cAExC,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB4tD,eAAiB3C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,4BAC9B9zC,OAAQ9D,EAAgBgwD,4BAE/B,CALD,CAKGhwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBgwD,yBAA2B/E,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrF7K,QAASjH,EAAgBktD,sBACzBt8C,IAAKq6C,EAAMnuD,QAAQ6wC,SACnBj2B,KAAM1X,EAAgBovD,qBAAqB9X,cAElD,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB8uD,qBAAuB7D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjF2E,WAAYw0C,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBkvD,iBAAkBjE,EAAMnuD,QAAQoxC,SACjFt9B,IAAKq6C,EAAMnuD,QAAQ6wC,YAE1B,CALD,CAKG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB6tD,YAAc5C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,yBAC9B9zC,OAAQ9D,EAAgBiwD,yBAE/B,CALD,CAKGjwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBiwD,sBAAwBhF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAClF7K,QAASjH,EAAgBktD,sBACzBjzC,WAAYgxC,EAAMnuD,QAAQgxC,UAAUhxC,SAAQ,GAAOw6C,WACnDn9B,OAAQna,EAAgBkwD,4BAA4B5Y,WACpD38B,YAAaswC,EAAMnuD,QACdi7C,KAAK,CAAC,WAAY,cAClBj7C,QAAQ,YACRw6C,WACLz8B,KAAM7a,EAAgBmwD,0BAA0B7Y,WAChDt8B,WAAYiwC,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQ6wC,YAAY2J,WACrGx9B,MAAOmxC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,IAAKC,IAAI,GAAG9hD,QAAQ,GAAGw6C,WACzD57B,YAAauvC,EAAMnuD,QAAQgxC,UAAUhxC,SAAQ,GAAMw6C,cAE1D,CAdD,CAcGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBkwD,4BAA8BjF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxFsI,OAAQ6wC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,GAAGw6C,WACjDh9B,KAAM2wC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,GAAGw6C,WAC/C98B,MAAOywC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,GAAGw6C,WAChD/hC,IAAK01C,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,GAAGw6C,cAErD,CAPD,CAOGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBmwD,0BAA4BlF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtFqG,OAAQ8yC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,OAAOw6C,WACrDp/B,MAAO+yC,EAAMnuD,QAAQ+wC,SAAS8Q,IAAI,GAAG7hD,QAAQ,OAAOw6C,cAE3D,CALD,CAKGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB+uD,kBAAoB9D,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9E5F,KAAM++C,EAAMnuD,QAAQ6wC,YAE3B,CAJD,CAIG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB8tD,aAAe7C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,0BAC9B9zC,OAAQ9D,EAAgBowD,0BAE/B,CALD,CAKGpwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBowD,uBAAyBnF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnF7K,QAASjH,EAAgBktD,sBACzBn1C,YAAakzC,EAAMnuD,QAAQgxC,UAAUwJ,WACrC5/B,KAAM1X,EAAgBovD,qBAAqB9X,cAElD,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB+tD,kBAAoB9C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,+BAC9B9zC,OAAQ9D,EAAgBqwD,+BAE/B,CALD,CAKGrwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBqwD,4BAA8BpF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxF7K,QAASjH,EAAgBktD,sBACzBj1C,SAAUgzC,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBswD,eAAgBrF,EAAMnuD,QAAQoxC,YAEpF,CALD,CAKGluC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBswD,eAAiBrF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EoG,MAAO/U,EAAQmnD,aACfnyC,OAAQhV,EAAQmnD,gBAEvB,CALD,CAKGtqD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBguD,qBAAuB/C,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,kCAC9B9zC,OAAQ9D,EAAgBivD,cAE/B,CALD,CAKGjvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBiuD,uBAAyBhD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgBivD,cAE/B,CALD,CAKGjvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBkuD,wBAA0BjD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBmuD,wBAA0BlD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBouD,uBAAyBnD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBquD,WAAapD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,wBAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBsuD,wBAA0BrD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBuuD,wBAA0BtD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,qCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBwuD,uBAAyBvD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgBmvD,wBAE/B,CALD,CAKGnvD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgByuD,uBAAyBxD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgBuwD,oCAE/B,CALD,CAKGvwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBuwD,iCAAmCtF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7F7K,QAASjH,EAAgBktD,sBACzB91C,SAAU6zC,EAAMnuD,QAAQgxC,UACxBz2B,SAAU4zC,EAAMnuD,QAAQ6wC,SAAS2J,cAExC,CAND,CAMGt3C,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgB0uD,uBAAyBzD,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oCAC9B9zC,OAAQ9D,EAAgBwwD,oCAE/B,CALD,CAKGxwD,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnE,SAAWA,GACPA,EAAgBwwD,iCAAmCvF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7F7K,QAASjH,EAAgBktD,sBACzB1vD,KAAMytD,EAAMnuD,QAAQi7C,KAAK,CAAC,QAAS,UAAW,SAAU,iBACxD12C,QAAS4pD,EAAMnuD,QAAQ6wC,YAE9B,CAND,CAMG3tC,IAAoBmD,EAAAnD,gBAA0BA,EAAkB,CAAA,IACnEmD,EAAAkoD,qBAA+BJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACxE/2C,EAAQwwD,mBACRxwD,EAAQywD,sBACRzwD,EAAQ0wD,uBACR1wD,EAAQ2wD,uBACR3wD,EAAQ4wD,kBACR5wD,EAAQ6wD,sBACR7wD,EAAQ8wD,0BAEZ5tD,EAAA2mD,mBAA6BmB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACtE/2C,EAAQ+wD,mBACR/wD,EAAQgxD,wBACRhxD,EAAQixD,iBACRjxD,EAAQkxD,wBACRlxD,EAAQmxD,0BAEZjuD,EAA8B0mD,oBAAAoB,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQoxD,2BAE/D,SAAWpxD,GACPA,EAAQqxD,oBAAsBrG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEy/C,OAAQtG,EAAMnuD,QAAQ6wC,SACtBzjC,MAAO+gD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQuxD,sBAAwBvG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,YAC5B6Z,SAAUxG,EAAMnuD,QAAQ6wC,SACxB+jB,SAAUzG,EAAMnuD,QAAQ6wC,YAE/B,CAND,CAMG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ0xD,qBAAuB1G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzE7K,QAASgkD,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBktD,sBAAuBjC,EAAMnuD,QAAQoxC,SACnFlS,UAAWivB,EAAMnuD,QAAQgxC,UACzBr3B,WAAYw0C,EAAMnuD,QAAQk6C,MAAM,CAACh3C,EAAgBkvD,iBAAkBjE,EAAMnuD,QAAQoxC,SACjF9S,cAAej4B,EAAQmnD,aACvBpuB,QAASj8B,EAAQ2xD,kBACjBr7C,UAAWpT,EAAQmnD,aACnBuH,WAAY5G,EAAMnuD,QAAQywC,MAAMttC,EAAQ6xD,iBAAiBxa,cAEhE,CAVD,CAUGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ8xD,iBAAmB9G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAAC/2C,EAAQ+xD,kBAAmB/xD,EAAQgyD,qBAC/G,CAFD,CAEGhyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ+xD,kBAAoB/G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQgyD,kBAAoBhH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQiyD,aAAejH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjE/S,KAAMksD,EAAMnuD,QAAQ6wC,SACpBzwC,MAAO+C,EAAQ8xD,iBACfxyB,OAAQ0rB,EAAMnuD,QAAQ6wC,SACtBnO,KAAMyrB,EAAMnuD,QAAQ6wC,SACpBzX,KAAM/yB,EAAQmnD,aACd5qB,SAAUurB,EAAMnuD,QAAQgxC,UACxBnO,OAAQsrB,EAAMnuD,QAAQgxC,UACtBlO,SAAUqrB,EAAMnuD,QAAQi7C,KAAK,CAAC,SAAU,MAAO,SAC/CtY,QAASt8B,EAAQmnD,aAAahT,cAErC,CAZD,CAYGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQkyD,mBAAqBlH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvE/S,KAAMksD,EAAMnuD,QAAQ6wC,SACpBzwC,MAAO+C,EAAQ8xD,oBAEtB,CALD,CAKG9xD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQmyD,sBAAwBnH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EgrB,WAAYmuB,EAAMnuD,QAAQ+wC,SAC1B9Q,YAAakuB,EAAMnuD,QAAQ+wC,SAC3B7Q,cAAeiuB,EAAMnuD,QAAQ+wC,SAC7B5Q,YAAaguB,EAAMnuD,QAAQ+wC,SAC3B3Q,WAAY+tB,EAAMnuD,QAAQ+wC,SAC1B1Q,SAAU8tB,EAAMnuD,QAAQ+wC,SACxBzQ,OAAQ6tB,EAAMnuD,QAAQ+wC,SACtBxQ,aAAc4tB,EAAMnuD,QAAQ+wC,SAC5BvQ,WAAY2tB,EAAMnuD,QAAQ+wC,SAC1BtQ,SAAU0tB,EAAMnuD,QAAQ+wC,SACxBrQ,aAAcytB,EAAMnuD,QAAQ+wC,SAC5BpQ,cAAewtB,EAAMnuD,QAAQ+wC,SAC7BnQ,YAAautB,EAAMnuD,QAAQ+wC,YAElC,CAhBD,CAgBG5tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQoyD,aAAepH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjE/S,KAAMksD,EAAMnuD,QAAQ6wC,SACpBzwC,MAAO+C,EAAQ8xD,oBAEtB,CALD,CAKG9xD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQqyD,gBAAkBrH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpEtU,KAAMytD,EAAMnuD,QAAQi7C,KAAK,CAAC,SAAU,SAAU,YAAa,UAC3DhnC,aAAc5N,EAAQmnD,aAAahT,WACnCxmC,WAAY3N,EAAQmnD,aAAahT,WACjC5mC,WAAY5Q,EAAOyyD,iBAAiBjb,WACpCpb,QAASj8B,EAAQuyD,cAAclb,cAEtC,CARD,CAQGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ6xD,gBAAkB7G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UACpE,CAFD,CAEG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQuyD,cAAgBvH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAClE,CAFD,CAEG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ2xD,kBAAoB3G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEoqB,QAASj8B,EAAQuyD,cACjB5hD,IAAKq6C,EAAMnuD,QAAQ6wC,SACnBnmC,OAAQyjD,EAAMnuD,QAAQ6wC,SACtBlR,QAASwuB,EAAMnuD,QAAQywC,MAAMttC,EAAQoyD,cACrCh2B,QAAS4uB,EAAMnuD,QAAQywC,MAAMttC,EAAQiyD,cACrCv1B,YAAax5B,EAAQmnD,aACrB1tB,SAAUquB,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SACnErR,QAAS58B,EAAQmyD,yBAExB,CAXD,CAWGnyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQwyD,sBAAwBxH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EokB,KAAM/yB,EAAQmnD,gBAErB,CAJD,CAIGrqD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQyyD,mBAAqBzH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvElB,IAAKq6C,EAAMnuD,QAAQ6wC,SACnBtP,SAAU4sB,EAAMnuD,QAAQ6wC,SACxBrP,OAAQn7B,EAAQmnD,aAChB9rB,WAAYysB,EAAMnuD,QAAQ6wC,SAC1BlP,UAAWwsB,EAAMnuD,QAAQgxC,UACzBrR,QAASwuB,EAAMnuD,QAAQywC,MAAMttC,EAAQoyD,cACrC1zB,SAAUssB,EAAMnuD,QAAQ6wC,SACxB/O,cAAez7B,EAAQmnD,aACvB3tB,YAAasuB,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SACtEtR,SAAUquB,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SACnEnP,QAAS9+B,EAAQwyD,sBACjBE,cAAe1yD,EAAQqxD,oBAAoBha,cAElD,CAfD,CAeGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ2yD,sBAAwB3H,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1E/S,KAAMksD,EAAMnuD,QAAQ6wC,SACpBzwC,MAAO+C,EAAQ8xD,iBACfxyB,OAAQ0rB,EAAMnuD,QAAQ6wC,SAAS2J,WAC/B5X,SAAUurB,EAAMnuD,QAAQgxC,UAAUwJ,WAClC7X,QAASwrB,EAAMnuD,QAAQ6wC,SAAS2J,WAChCub,OAAQ1vD,EAAQonD,YAAYjT,WAC5B9X,KAAMyrB,EAAMnuD,QAAQ6wC,SAAS2J,WAC7B1X,SAAUqrB,EAAMnuD,QAAQi7C,KAAK,CAAC,SAAU,MAAO,SAAST,WACxD3X,OAAQsrB,EAAMnuD,QAAQgxC,UAAUwJ,cAEvC,CAZD,CAYGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ6yD,iBAAmB7H,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAAC/2C,EAAQ8yD,wBAAyB9yD,EAAQ+yD,0BACrH,CAFD,CAEG/yD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ8yD,wBAA0B9H,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5BvZ,SAAU4sB,EAAMnuD,QAAQ6wC,SAAS2J,WACjChW,SAAU2pB,EAAMnuD,QAAQ6wC,SAAS2J,WACjC/V,KAAM0pB,EAAMnuD,QAAQ6wC,SAAS2J,WAC7B9V,SAAUypB,EAAMnuD,QAAQ6wC,SAAS2J,WACjC7V,OAAQwpB,EAAMnuD,QAAQ6wC,SAAS2J,cAEtC,CATD,CASGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ+yD,uBAAyB/H,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B1lC,QAAS+4C,EAAMnuD,QAAQ6wC,YAE9B,CALD,CAKG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQgzD,6BAA+BhI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjFkvB,OAAQiqB,EAAMnuD,QAAQywC,MAAMttC,EAAQizD,sBACpCtyB,YAAaqqB,EAAMnuD,QAAQywC,MAAMttC,EAAQ6yD,kBAAkBxb,cAElE,CALD,CAKGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQwwD,mBAAqBxF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,wBAC9B9zC,OAAQ7D,EAAQgzD,gCAEvB,CALD,CAKGhzD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQizD,qBAAuBjI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,oBAAqB,kBAAmB,kBACvH,CAFD,CAEG93C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQoxD,yBAA2BpG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7E0uB,UAAWvgC,EAAQ6xD,mBAE1B,CAJD,CAIG7xD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQywD,sBAAwBzF,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQ7D,EAAQkzD,mCAEvB,CALD,CAKGlzD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQkzD,gCAAkClI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFoqB,QAASj8B,EAAQuyD,cACjBY,KAAMnzD,EAAQ8xD,iBAAiBza,WAC/Bjb,QAAS4uB,EAAMnuD,QAAQywC,MAAMttC,EAAQkyD,oBAAoB7a,WACzD7a,QAASwuB,EAAMnuD,QAAQywC,MAAMttC,EAAQoyD,cAAc/a,WACnD9vC,OAAQyjD,EAAMnuD,QAAQ6wC,SAAS2J,WAC/B1mC,IAAKq6C,EAAMnuD,QAAQ6wC,SAAS2J,cAEnC,CATD,CASGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ0wD,uBAAyB1F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,4BAC9B9zC,OAAQ7D,EAAQozD,oCAEvB,CALD,CAKGpzD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQozD,iCAAmCpI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrFoqB,QAASj8B,EAAQuyD,cACjBn2B,QAAS4uB,EAAMnuD,QAAQywC,MAAMttC,EAAQ2yD,uBAAuBtb,WAC5Dgc,YAAarzD,EAAQuxD,sBAAsBla,WAC3C7a,QAASwuB,EAAMnuD,QAAQywC,MAAMttC,EAAQoyD,cAAc/a,WACnDic,aAActI,EAAMnuD,QAAQ6wC,SAAS2J,WACrC/Y,WAAYp7B,EAAQmnD,aAAahT,cAExC,CATD,CASGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ2wD,uBAAyB3F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,4BAC9B9zC,OAAQ7D,EAAQuzD,oCAEvB,CALD,CAKGvzD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQuzD,iCAAmCvI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QACrEgV,OAAO,CACRoqB,QAASj8B,EAAQuyD,gBAEhB9Y,IAAIuR,EAAMnuD,QAAQk6C,MAAM,CACzB/2C,EAAQwzD,kCACRxzD,EAAQyzD,wCAEf,CATD,CASGzzD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQwzD,kCAAoCxI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtF+R,OAAQonC,EAAMnuD,QAAQ86C,QAAQ,sBAC9B0b,YAAarzD,EAAQuxD,yBAE5B,CALD,CAKGvxD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQyzD,oCAAsCzI,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxF+R,OAAQonC,EAAMnuD,QAAQi7C,KAAK,CAAC,UAAW,cAE9C,CAJD,CAIG93C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ4wD,kBAAoB5F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,uBAC9B9zC,OAAQ7D,EAAQ0zD,+BAEvB,CALD,CAKG1zD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ0zD,4BAA8B1I,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChFoqB,QAASj8B,EAAQuyD,iBAExB,CAJD,CAIGvyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ6wD,sBAAwB7F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQ7D,EAAQ2zD,mCAEvB,CALD,CAKG3zD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ2zD,gCAAkC3I,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFoqB,QAASj8B,EAAQuyD,cACjBY,KAAMnzD,EAAQ8xD,iBAAiBza,WAC/Bjb,QAAS4uB,EAAMnuD,QAAQywC,MAAMttC,EAAQ2yD,uBAAuBtb,WAC5D7a,QAASwuB,EAAMnuD,QAAQywC,MAAMttC,EAAQoyD,cAAc/a,WACnDic,aAActI,EAAMnuD,QAAQ6wC,SAAS2J,WACrC/Y,WAAYp7B,EAAQmnD,aAAahT,cAExC,CATD,CASGr3C,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ8wD,sBAAwB9F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQ7D,EAAQ4zD,mCAEvB,CALD,CAKG5zD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQ4zD,gCAAkC5I,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpF0uB,UAAWvgC,EAAQ6xD,mBAE1B,CAJD,CAIG7xD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3CkD,EAAAymD,kBAA4BqB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACrEl3C,EAAO4qD,cACP5qD,EAAOg0D,mBACPh0D,EAAOi0D,yBAEX,SAAW9zD,GACPA,EAAQ+zD,6BAA+B/I,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQ0xD,qBAAqBjY,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAClHqsB,SAAUl+B,EAAQyyD,uBAEzB,CAJD,CAIGzyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQg0D,kCAAoChJ,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQ0xD,qBAAqBjY,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACvHisB,UAAW99B,EAAQqyD,oBAE1B,CAJD,CAIGryD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQi0D,2BAA6BjJ,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQ0xD,qBAAqBjY,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAChH+F,UAAWozC,EAAMnuD,QAAQ6wC,aAEhC,CAJD,CAIG1tC,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQk0D,kCAAoClJ,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQ0xD,qBAAqBjY,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACvHqsB,SAAUl+B,EAAQyyD,uBAEzB,CAJD,CAIGzyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQm0D,gCAAkCnJ,EAAMnuD,QAAQ+6C,MAAK,IAAM53C,EAAQ0xD,qBAAqBjY,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACrHqsB,SAAUl+B,EAAQyyD,uBAEzB,CAJD,CAIGzyD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3CkD,EAAAmoD,oBAA8BL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACvEl3C,EAAOu0D,8BACPv0D,EAAOw0D,mBACPx0D,EAAOy0D,aACPz0D,EAAO00D,eACP10D,EAAO20D,gBACP30D,EAAO40D,qCAEXvxD,EAAAwmD,mBAA6BsB,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACtEl3C,EAAO60D,6BACP70D,EAAO80D,qBACP90D,EAAO+0D,0BAEX,SAAW50D,GACPA,EAAQ+wD,mBAAqB/F,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,wBAC9B9zC,OAAQ7D,EAAQ+zD,gCAEvB,CALD,CAKG/zD,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQgxD,wBAA0BhG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,6BAC9B9zC,OAAQ7D,EAAQg0D,qCAEvB,CALD,CAKGh0D,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQixD,iBAAmBjG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,sBAC9B9zC,OAAQ7D,EAAQi0D,8BAEvB,CALD,CAKGj0D,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQkxD,wBAA0BlG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,6BAC9B9zC,OAAQ7D,EAAQk0D,qCAEvB,CALD,CAKGl0D,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAC3C,SAAWA,GACPA,EAAQmxD,sBAAwBnG,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQ7D,EAAQm0D,mCAEvB,CALD,CAKGn0D,IAAYkD,EAAAlD,QAAkBA,EAAU,CAAA,IAE3C,SAAWH,GACPA,EAAOg1D,cAAgB7J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UACjE,CAFD,CAEG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi1D,4BAA8B9J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC/EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B90C,OAAQhD,EAAOk1D,kBACf9qD,MAAOpK,EAAOm1D,eAErB,CAND,CAMGn1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOo1D,uBAAyBjK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1Ef,aAAc5N,EAAQmnD,aACtBt5C,UAAWlR,EAAOk1D,kBAClBlkD,WAAY3N,EAAQmnD,aACpB55C,WAAY5Q,EAAOyyD,iBACnBthD,KAAMg6C,EAAMnuD,QAAQ6wC,YAE3B,CARD,CAQG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOq1D,mBAAqBlK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B16C,MAAO4C,EAAOs1D,2BAErB,CALD,CAKGt1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOs1D,wBAA0BnK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3ElM,QAAS9F,EAAOg1D,cAChBxpD,qBAAsBxL,EAAOu1D,2BAA2B/d,WACxDlrC,UAAWtM,EAAOw1D,sBAAsBhe,cAE/C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO80D,qBAAuB3J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACvEl3C,EAAOi1D,4BACPj1D,EAAOy1D,iCAEd,CALD,CAKGz1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOy1D,8BAAgCtK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,aAC5BpsC,iBAAkB1L,EAAOo1D,uBACzBhrD,MAAOpK,EAAOm1D,eAErB,CAND,CAMGn1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO01D,aAAevK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAChE,CAFD,CAEG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO21D,qBAAuBxK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQywC,MAAMztC,EAAO41D,mBACrF,CAFD,CAEG51D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO41D,iBAAmBzK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACnEl3C,EAAO61D,sBACP71D,EAAO81D,6BACP91D,EAAOq1D,mBACPr1D,EAAO+1D,sBACP/1D,EAAOg2D,qBACPh2D,EAAOi2D,oBACPj2D,EAAOk2D,uBACPl2D,EAAOm2D,uBACPn2D,EAAOo2D,uBAEd,CAZD,CAYGp2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+1D,sBAAwB5K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B16C,MAAO4C,EAAO21D,wBAErB,CALD,CAKG31D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg2D,qBAAuB7K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,QAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOq2D,wBAA0BlL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQ2rD,MAAM,CAC9FwC,EAAMnuD,QAAQk6C,MAAM,CAACl3C,EAAO41D,iBAAkBzK,EAAMnuD,QAAQ6wC,WAC5D7tC,EAAO41D,qBAEd,CALD,CAKG51D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi2D,oBAAsB9K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,OAC5B16C,MAAO4C,EAAOq2D,2BAErB,CALD,CAKGr2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk2D,uBAAyB/K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO4C,EAAOq2D,2BAErB,CALD,CAKGr2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOs2D,kBAAoBnL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrEI,QAAS+4C,EAAMnuD,QAAQ6wC,SACvBx7B,MAAO84C,EAAMnuD,QAAQ6wC,SAAS2J,cAErC,CALD,CAKGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm2D,uBAAyBhL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO4C,EAAOs2D,qBAErB,CALD,CAKGt2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOo2D,oBAAsBjL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,OAC5B16C,MAAO4C,EAAO21D,wBAErB,CALD,CAKG31D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu2D,oBAAsBpL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UACvE,CAFD,CAEG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm1D,YAAchK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAC/D,CAFD,CAEG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO81D,6BAA+B3K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC/El3C,EAAOw2D,qBACPx2D,EAAOy2D,gBACPz2D,EAAOkyD,kBACPlyD,EAAO02D,kBACP12D,EAAO22D,mBACP32D,EAAO42D,qBAEd,CATD,CASG52D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw2D,qBAAuBrL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,gBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOy2D,gBAAkBtL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOkyD,kBAAoB/G,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO62D,oBAAsB1L,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,MAAO,KAAM,WAAY,eACtG,CAFD,CAEGj4C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO02D,kBAAoBvL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO+tD,EAAMnuD,QAAQk6C,MAAM,CAACiU,EAAMnuD,QAAQ+wC,SAAU/tC,EAAO62D,yBAElE,CALD,CAKG72D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO22D,mBAAqBxL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B16C,MAAO+tD,EAAMnuD,QAAQgxC,aAE5B,CALD,CAKGhuC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO42D,kBAAoBzL,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO82D,gBAAkB3L,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAClEl3C,EAAO+2D,sBACP/2D,EAAOg3D,+BACPh3D,EAAOi3D,4BACPj3D,EAAOk3D,6BACPl3D,EAAOm3D,sBACPn3D,EAAOo3D,4BACPp3D,EAAOq3D,4BACPr3D,EAAOs3D,0BAEd,CAXD,CAWGt3D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu3D,oBAAsBpM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvE5H,MAAOpK,EAAOm1D,YACd5nD,OAAQ49C,EAAMnuD,QAAQ6wC,YAE7B,CALD,CAKG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+2D,sBAAwB5L,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACxGtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B3wC,QAASjH,EAAgBktD,sBACzB5/C,QAAS29C,EAAMnuD,QAAQ6wC,SAAS2J,eAEvC,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg3D,+BAAiC7L,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACjHtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,wBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi3D,4BAA8B9L,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAC9GtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,qBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk3D,6BAA+B/L,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAC/GtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,sBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm3D,sBAAwBhM,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACxGtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,cAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOo3D,4BAA8BjM,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAC9GtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,qBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOq3D,4BAA8BlM,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CAC9GtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,qBAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOs3D,uBAAyBnM,EAAMnuD,QAAQ+6C,MAAK,IAAM/3C,EAAOu3D,oBAAoB3d,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACzGtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,eAEnC,CAJD,CAIG93C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw3D,gBAAkBrM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CACjE,SACA,mBACA,gBACA,iBACA,SACA,gBACA,gBACA,aAEP,CAXD,CAWGj4C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk1D,kBAAoB/J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACpEl3C,EAAO81D,6BACP91D,EAAOy3D,wBACPz3D,EAAO03D,uBACP13D,EAAO23D,wBACP33D,EAAO43D,0BACP53D,EAAO63D,wBACP73D,EAAO83D,sBACP93D,EAAO+3D,qBACP/3D,EAAOg4D,qBACPh4D,EAAOi4D,yBACPj4D,EAAOk4D,yBACPl4D,EAAOm4D,0BACPn4D,EAAOo4D,2BACPp4D,EAAOq4D,uBACPr4D,EAAOs4D,uBACPt4D,EAAOu4D,yBACPv4D,EAAOw4D,4BACPx4D,EAAOy4D,6BACPz4D,EAAO04D,0BACP14D,EAAO24D,gCACP34D,EAAO44D,sBACP54D,EAAO64D,gCAEd,CAzBD,CAyBG74D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO61D,sBAAwB1K,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAACl3C,EAAO4vD,sBAAuB5vD,EAAO84D,+BACrH,CAFD,CAEG94D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO4vD,sBAAwBzE,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QACzDgV,OAAO,CACRxD,SAAUxO,EAAO+4D,eACjB9qD,OAAQjO,EAAO01D,aAAale,aAE3BoC,IAAIv2C,EAAQqnD,mBACpB,CAPD,CAOG1qD,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO84D,4BAA8B3N,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC/DgV,OAAO,CACR/D,OAAQjO,EAAO01D,aACflnD,SAAUxO,EAAO+4D,eAAevhB,aAE/BoC,IAAIv2C,EAAQqnD,mBACpB,CAPD,CAOG1qD,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg5D,iBAAmB7N,EAAMnuD,QAAQ+6C,MAAK,IAAM10C,EAAQmnD,cAC9D,CAFD,CAEGxqD,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi5D,sBAAwB9N,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQywC,MAAMztC,EAAOk1D,oBACtF,CAFD,CAEGl1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk5D,yBAA2B/N,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQywC,MAAM0d,EAAMnuD,QAAQ2rD,MAAM,CAC/FwC,EAAMnuD,QAAQk6C,MAAM,CAACl3C,EAAOk1D,kBAAmB/J,EAAMnuD,QAAQ6wC,WAC7D7tC,EAAOk1D,sBAEd,CALD,CAKGl1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOy3D,wBAA0BtM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO03D,uBAAyBvM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOi5D,sBAAsBzhB,cAE3C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO23D,wBAA0BxM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOk5D,yBAAyB1hB,cAE9C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO43D,0BAA4BzM,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,YAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO63D,wBAA0B1M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC3DgV,OAAO,CACR/D,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,aAEnCoC,IAAI55C,EAAOm2D,yBACnB,CAPD,CAOGn2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO83D,sBAAwB3M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QACzDgV,OAAO,CACR/D,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,aAEnCoC,IAAI55C,EAAOg2D,uBACnB,CAPD,CAOGh2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+3D,qBAAuB5M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,OAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOk5D,yBAAyB1hB,cAE9C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg4D,qBAAuB7M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,OAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOi5D,sBAAsBzhB,cAE3C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi4D,yBAA2B9M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk4D,yBAA2B/M,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm4D,0BAA4BhN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,YAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOo4D,2BAA6BjN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,aAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOq4D,uBAAyBlN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOs4D,uBAAyBnN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu4D,yBAA2BpN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw4D,4BAA8BrN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC/EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,cAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOy4D,6BAA+BtN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,eAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO04D,0BAA4BvN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,YAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOi5D,sBAAsBzhB,cAE3C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO24D,gCAAkCxN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,kBAC5B7pC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOi5D,sBAAsBzhB,cAE3C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO44D,sBAAwBzN,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,QAC5BtpC,SAAUxO,EAAO+4D,eAAevhB,WAChCvpC,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,WACpCp6C,MAAO4C,EAAOm5D,qBAAqB3hB,cAE1C,CARD,CAQGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm5D,qBAAuBhO,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEonD,SAAU/1D,EAAQmnD,aAClB6O,eAAgBh2D,EAAQmnD,aACxB8O,WAAYnO,EAAMnuD,QAAQq6C,OAAO8T,EAAMnuD,QAAQ6wC,SAAUsd,EAAMnuD,QAAQ6wC,UAAU2J,WACjF7oC,SAAUw8C,EAAMnuD,QAAQywC,MAAMztC,EAAO44D,uBAAuBphB,WAC5D+hB,UAAWpO,EAAMnuD,QAAQ6wC,SAAS2J,WAClCgiB,KAAMrO,EAAMnuD,QAAQi7C,KAAK,CAAC,OAAQ,WAAWT,WAC7CiiB,aAActO,EAAMnuD,QAAQ6wC,SAAS2J,WACrCkiB,UAAWvO,EAAMnuD,QAAQ6wC,SAAS2J,WAClC5oC,WAAYu8C,EAAMnuD,QAAQk6C,MAAM,CAACl3C,EAAO44D,sBAAuBzN,EAAMnuD,QAAQoxC,SAASoJ,cAE7F,CAZD,CAYGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO64D,6BAA+B1N,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChFtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5B16C,MAAO4C,EAAO25D,4BACd1rD,OAAQjO,EAAO01D,aAAale,WAC5BlpC,WAAYtO,EAAOg5D,iBAAiBxhB,cAE3C,CAPD,CAOGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO25D,4BAA8BxO,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC/E7K,QAASjH,EAAgBktD,yBAEhC,CAJD,CAIGptD,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw1D,sBAAwBrK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,OAAQ,UACvF,CAFD,CAEGj4C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu1D,2BAA6BpK,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC9EW,YAAaw4C,EAAMnuD,QAAQk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SAASpxC,QAAQ,GAAGw6C,WAC1FxrC,eAAgBm/C,EAAMnuD,QACjBk6C,MAAM,CAAC7zC,EAAQmnD,aAAcW,EAAMnuD,QAAQoxC,SAC3CpxC,QAAQ,MACRw6C,WACL5kC,kBAAmBu4C,EAAMnuD,QACpBi7C,KAAK,CAAC,OAAQ,OAAQ,QACtBj7C,QAAQ,QACRw6C,cAEZ,CAZD,CAYGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+4D,eAAiB5N,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQ6wC,UAClE,CAFD,CAEG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO45D,iBAAmBzO,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpEf,aAAc5N,EAAQmnD,aACtBz5C,aAAco6C,EAAMnuD,QAAQ6wC,SAC5B78B,WAAY3N,EAAQmnD,aACpB15C,IAAKq6C,EAAMnuD,QAAQ6wC,YAE1B,CAPD,CAOG7tC,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOyyD,iBAAmBtH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpErB,WAAYw6C,EAAMnuD,QAAQywC,MAAMztC,EAAO45D,qBAE9C,CAJD,CAIG55D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO65D,aAAe1O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChE5H,MAAOpK,EAAOm1D,YACdhuD,QAASjH,EAAgBktD,sBAAsB5V,cAEtD,CALD,CAKGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO85D,kBAAoB3O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACrE5H,MAAOpK,EAAOm1D,eAErB,CAJD,CAIGn1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+5D,oBAAsB5O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvE7K,QAASjH,EAAgBktD,sBACzB5/C,QAAS29C,EAAMnuD,QAAQ6wC,SAAS2J,cAEvC,CALD,CAKGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg6D,aAAe7O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAACl3C,EAAO85D,kBAAmB95D,EAAO+5D,uBACxG,CAFD,CAEG/5D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu0D,8BAAgCpJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,2BAC9B9zC,OAAQhE,EAAOi6D,oCAEtB,CALD,CAKGj6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi6D,iCAAmC9O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFpG,oBAAqBu/C,EAAMnuD,QAAQ6wC,SACnChiC,UAAWs/C,EAAMnuD,QAAQywC,MAAMztC,EAAOq1D,oBAAoB7d,WAC1DhqC,QAAS29C,EAAMnuD,QAAQ6wC,SAAS2J,cAEvC,CAND,CAMGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO60D,6BAA+B1J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChFkP,OAAQlhB,EAAOu2D,uBAEtB,CAJD,CAIGv2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOy0D,aAAetJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,iBAC9B9zC,OAAQhE,EAAOk6D,0BAEtB,CALD,CAKGl6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOk6D,uBAAyB/O,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1E2oB,QAASwwB,EAAMnuD,QAAQywC,MAAMztC,EAAO01D,cACpCvyC,OAAQnjB,EAAOg6D,gBAEtB,CALD,CAKGh6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOm6D,6BAA+BhP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAChFpG,oBAAqBu/C,EAAMnuD,QAAQ6wC,SACnC9hC,aAAco/C,EAAMnuD,QAAQgxC,UAC5B7qB,OAAQnjB,EAAOg6D,aACfnuD,UAAWs/C,EAAMnuD,QAAQywC,MAAMztC,EAAO41D,kBAAkBpe,WACxD3pC,gBAAiB7N,EAAOw1D,sBAAsBhe,WAC9ChsC,qBAAsBxL,EAAOu1D,2BAA2B/d,WACxD36C,KAAMmD,EAAO41D,iBAAiBpe,WAC9BxoC,eAAgBm8C,EAAMnuD,QAAQgxC,UAAUhxC,SAAQ,GAAOw6C,cAE9D,CAXD,CAWGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw0D,mBAAqBrJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,uBAC9B9zC,OAAQhE,EAAOm6D,gCAEtB,CALD,CAKGn6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO00D,eAAiBvJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAClEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,mBAC9B9zC,OAAQhE,EAAOo6D,4BAEtB,CALD,CAKGp6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOo6D,yBAA2BjP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC5E3G,WAAY8/C,EAAMnuD,QAAQ6wC,SAC1B1qB,OAAQnjB,EAAOg6D,aACfjuD,aAAco/C,EAAMnuD,QAAQgxC,UAC5BngC,gBAAiB7N,EAAOw1D,sBAAsBhe,WAC9ChsC,qBAAsBxL,EAAOu1D,2BAA2B/d,WACxDxoC,eAAgBm8C,EAAMnuD,QAAQgxC,UAAUhxC,SAAQ,GAAOw6C,cAE9D,CATD,CASGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO20D,gBAAkBxJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,oBAC9B9zC,OAAQhE,EAAOq6D,6BAEtB,CALD,CAKGr6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOq6D,0BAA4BlP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7E7K,QAASjH,EAAgBktD,sBAAsB5V,WAC/C95C,KAAMsC,EAAOw3D,gBAAgBhgB,cAEpC,CALD,CAKGx3C,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO+0D,sBAAwB5J,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzE6oB,OAAQswB,EAAMnuD,QAAQywC,MAAMztC,EAAO82D,oBAE1C,CAJD,CAIG92D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO40D,iCAAmCzJ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpFtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,8BAC9B9zC,OAAQhE,EAAOs6D,uCAEtB,CALD,CAKGt6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOs6D,oCAAsCnP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvFkP,OAAQlhB,EAAOu2D,uBAEtB,CAJD,CAIGv2D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOu6D,wBAA0BpP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3ElM,QAAS9F,EAAOg1D,cAChB5oD,KAAMpM,EAAOk1D,kBACb3oD,OAAQvM,EAAO65D,gBAEtB,CAND,CAMG75D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOg0D,mBAAqB7I,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,uBAC9B9zC,OAAQhE,EAAO82D,mBAEtB,CALD,CAKG92D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAO4qD,cAAgBO,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,kBAC9B9zC,OAAQhE,EAAOu6D,2BAEtB,CALD,CAKGv6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOi0D,qBAAuB9I,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,yBAC9B9zC,OAAQhE,EAAOw6D,kCAEtB,CALD,CAKGx6D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxC,SAAWA,GACPA,EAAOw6D,+BAAiCrP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAClF5H,MAAOpK,EAAOm1D,eAErB,CAJD,CAIGn1D,IAAWqD,EAAArD,OAAiBA,EAAS,CAAA,IACxCqD,EAAyBumD,eAAAuB,EAAMnuD,QAAQ+6C,MAAK,IAAM93C,EAAIw6D,mBAEtD,SAAWx6D,GACPA,EAAIy6D,YAAcvP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,QAAS,OAAQ,OAAQ,WAC3F,CAFD,CAEGh4C,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAI06D,YAAcxP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC3Dj3C,EAAI26D,sBACJ36D,EAAI46D,sBACJ56D,EAAI66D,4BAEX,CAND,CAMG76D,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAI86D,mBAAqB5P,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACnEwM,MAAOve,EAAIy6D,YACXnuD,OAAQvM,EAAO65D,aACf1oD,KAAMg6C,EAAMnuD,QAAQk6C,MAAM,CAACiU,EAAMnuD,QAAQ6wC,SAAUsd,EAAMnuD,QAAQoxC,SACjE33B,UAAWpT,EAAQmnD,aACnB55C,WAAY5Q,EAAOyyD,iBAAiBjb,cAE3C,CARD,CAQGv3C,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAI26D,sBAAwBzP,EAAMnuD,QAAQ+6C,MAAK,IAAM93C,EAAI86D,mBAAmBnhB,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACjGtU,KAAMytD,EAAMnuD,QAAQ6wC,aAE3B,CAJD,CAIG5tC,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAI46D,sBAAwB1P,EAAMnuD,QAAQ+6C,MAAK,IAAM93C,EAAI86D,mBAAmBnhB,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACjGtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5BpwC,OAAQyjD,EAAMnuD,QAAQ6wC,SACtBv7B,KAAM64C,EAAMnuD,QAAQywC,MAAMztC,EAAOk1D,uBAExC,CAND,CAMGj1D,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAI66D,yBAA2B3P,EAAMnuD,QAAQ+6C,MAAK,IAAM93C,EAAI86D,mBAAmBnhB,IAAIuR,EAAMnuD,QAAQgV,OAAO,CACpGtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,kBAEnC,CAJD,CAIG73C,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/B,SAAWA,GACPA,EAAIw6D,iBAAmBtP,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,kBAC9B9zC,OAAQ/D,EAAI06D,eAEnB,CALD,CAKG16D,IAAQoD,EAAApD,IAAcA,EAAM,CAAA,IAC/BoD,EAA6BioD,mBAAAH,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAACyS,EAAMqR,qBAAsBrR,EAAMsR,yBAE7G,SAAWtR,GACPA,EAAMuR,oBAAsB/P,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B/7B,QAAS/b,EAAO4vD,yBAEvB,CALD,CAKGjG,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMwR,+BAAiChQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjF7K,QAASjH,EAAgBktD,sBACzB50B,QAAS2yB,EAAMnuD,QAAQywC,MAAMkc,EAAMyR,wBAE1C,CALD,CAKGzR,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM0R,wBAA0BlQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,QAC5Bn2C,GAAIwpD,EAAMnuD,QAAQ6wC,SAClBrV,QAAS2yB,EAAMnuD,QAAQywC,MAAMkc,EAAM2R,2BAE1C,CAND,CAMG3R,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM4R,uBAAyBpQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACzEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,OAC5Bn2C,GAAIwpD,EAAMnuD,QAAQ6wC,SAClBrV,QAAS2yB,EAAMnuD,QAAQywC,MAAMkc,EAAM6R,0BAE1C,CAND,CAMG7R,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM8R,2BAA6BtQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC7EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5Bn2C,GAAIwpD,EAAMnuD,QAAQ6wC,SAClBpV,WAAYkxB,EAAM+R,wBAAwBlkB,WAC1Chf,QAAS2yB,EAAMnuD,QAAQywC,MAAMkc,EAAMgS,8BAE1C,CAPD,CAOGhS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMqR,qBAAuB7P,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,wBAC9B9zC,OAAQ2lD,EAAMwR,kCAErB,CALD,CAKGxR,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMyR,oBAAsBjQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACrEyS,EAAM0R,wBACN1R,EAAM4R,uBACN5R,EAAM8R,2BACN9R,EAAMiS,4BAEb,CAPD,CAOGjS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM2R,uBAAyBnQ,EAAMnuD,QAAQ+6C,MAAK,IAAM4R,EAAMkS,mBACjE,CAFD,CAEGlS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM6R,sBAAwBrQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CACvEyS,EAAMkS,kBACNlS,EAAMmS,oBACNnS,EAAMoS,qBAEb,CAND,CAMGpS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMqS,kBAAoB7Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQi7C,KAAK,CAAC,QAAS,MAAO,WAC1F,CAFD,CAEG0R,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM+R,wBAA0BvQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1E8iB,YAAa60B,EAAMqS,kBAAkBh/D,QAAQ,SAASw6C,cAE7D,CAJD,CAIGmS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMiS,yBAA2BzQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC3EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5Bn2C,GAAIwpD,EAAMnuD,QAAQ6wC,SAClBrV,QAAS2yB,EAAMnuD,QAAQywC,MAAMkc,EAAMsS,4BAE1C,CAND,CAMGtS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMgS,0BAA4BxQ,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC3EyS,EAAMkS,kBACNlS,EAAMuS,wBACNvS,EAAMwS,sBACNxS,EAAMyS,2BAEb,CAPD,CAOGzS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMsS,wBAA0B9Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAACyS,EAAMkS,kBAAmBlS,EAAM0S,2BAChH,CAFD,CAEG1S,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMkS,kBAAoB1Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B1jB,SAAU/wB,EAAQmnD,aAAahT,cAEtC,CALD,CAKGmS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMmS,oBAAsB3Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACtEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,WAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG8b,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMoS,kBAAoB5Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACpEtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,SAC5B16C,MAAO+tD,EAAMnuD,QAAQ6wC,YAE5B,CALD,CAKG8b,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMwS,sBAAwBhR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QACxDgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,aAC5BhzB,OAAQzhB,EAAQmnD,eAEf5Q,IAAI+P,EAAM2S,gCAClB,CAPD,CAOG3S,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMuS,wBAA0B/Q,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC1DgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,eAC5BhzB,OAAQzhB,EAAQmnD,eAEf5Q,IAAI+P,EAAM2S,gCAClB,CAPD,CAOG3S,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMyS,wBAA0BjR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAC1DgV,OAAO,CACRtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,eAC5Bz+B,EAAGhW,EAAQonD,YACXnxC,EAAGjW,EAAQonD,YACXr2B,SAAU/wB,EAAQmnD,aAAahT,WAC/BjqC,OAAQo8C,EAAM4S,aAAa/kB,aAE1BoC,IAAI+P,EAAM2S,gCAClB,CAVD,CAUG3S,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM0S,wBAA0BlR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CAC1EtU,KAAMytD,EAAMnuD,QAAQ86C,QAAQ,UAC5Bz+B,EAAGhW,EAAQonD,YACXnxC,EAAGjW,EAAQonD,YACXh0B,OAAQpzB,EAAQonD,YAChB9zB,OAAQtzB,EAAQonD,YAChBr2B,SAAU/wB,EAAQmnD,aAAahT,WAC/BjqC,OAAQo8C,EAAM4S,aAAav/D,QAAQ,YAAYw6C,cAEtD,CAVD,CAUGmS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM2S,8BAAgCnR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAChEgV,OAAO,CACRoG,MAAO/U,EAAQmnD,aAAaxtD,QAAQ,GAAGw6C,WACvCn/B,OAAQhV,EAAQmnD,aAAaxtD,QAAQ,GAAGw6C,WACxCziB,SAAUo2B,EAAMnuD,QAAQ+wC,SAAS/wC,QAAQ,GAAGw6C,WAC5CviB,mBAAoBk2B,EAAMnuD,QAAQ+wC,SAAS/wC,QAAQ,GAAGw6C,WACtDxiB,MAAOm2B,EAAMnuD,QACR+wC,SACAmR,MACAI,cACAT,IAAI,GACJC,IAAI,KACJ9hD,QAAQ,GACRw6C,aAEJoC,IAAIuR,EAAMnuD,QAAQk6C,MAAM,CAACyS,EAAM6S,qBAAsB7S,EAAM8S,0BACnE,CAjBD,CAiBG9S,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM8S,sBAAwBtR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACxE0qD,cAAevR,EAAMnuD,QAAQ+wC,SAAS/wC,QAAQ,GAAGw6C,WACjDmlB,aAAcxR,EAAMnuD,QAAQ+wC,SAAS/wC,QAAQ,GAAGw6C,cAEvD,CALD,CAKGmS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM6S,qBAAuBrR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEkjB,MAAOi2B,EAAMnuD,QAAQ+wC,SAASmR,MAAML,KAAK,IAAIC,IAAI,IAAI9hD,QAAQ,GAAGw6C,WAChEriB,MAAOg2B,EAAMnuD,QAAQ+wC,SAASmR,MAAML,KAAK,IAAIC,IAAI,IAAI9hD,QAAQ,GAAGw6C,cAEvE,CALD,CAKGmS,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAM4S,aAAepR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQk6C,MAAM,CAC9DiU,EAAMnuD,QAAQ86C,QAAQ,YACtBqT,EAAMnuD,QAAQ86C,QAAQ,WACtB6R,EAAMuR,uBAEb,CAND,CAMGvR,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMsR,qBAAuB9P,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACvEtK,OAAQyjD,EAAMnuD,QAAQ86C,QAAQ,wBAC9B9zC,OAAQ2lD,EAAMiT,kCAErB,CALD,CAKGjT,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,IACrC,SAAWA,GACPA,EAAMiT,+BAAiCzR,EAAMnuD,QAAQ+6C,MAAK,IAAMoT,EAAMnuD,QAAQgV,OAAO,CACjF7K,QAASjH,EAAgBktD,yBAEhC,CAJD,CAIGzD,IAAUtmD,EAAAsmD,MAAgBA,EAAQ,CAAA,SClxDrC,IAAIznD,GAAmBrF,GAAQA,EAAKqF,kBAAqBjF,OAAOkF,OAAM,SAAaC,EAAGC,EAAGC,EAAGC,QAC7E/C,IAAP+C,IAAkBA,EAAKD,GAC3B,IAAIE,EAAOvF,OAAOwF,yBAAyBJ,EAAGC,GACzCE,KAAS,QAASA,GAAQH,EAAEtF,WAAayF,EAAKE,UAAYF,EAAKG,gBAClEH,EAAO,CAAEI,YAAY,EAAMzG,IAAK,WAAa,OAAOkG,EAAEC,EAAG,IAE3DrF,OAAOC,eAAekF,EAAGG,EAAIC,EAChC,EAAA,SAAcJ,EAAGC,EAAGC,EAAGC,QACT/C,IAAP+C,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,EACb,GACGO,GAAsBhG,GAAQA,EAAKgG,qBAAwB5F,OAAOkF,OAAM,SAAaC,EAAGU,GACxF7F,OAAOC,eAAekF,EAAG,UAAW,CAAEQ,YAAY,EAAMxF,MAAO0F,GAClE,EAAI,SAASV,EAAGU,GACbV,EAAW,QAAIU,CACnB,GACIC,GAAgBlG,GAAQA,EAAKkG,cAAiB,SAAUjG,GACxD,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIkG,EAAS,CAAA,EACb,GAAW,MAAPlG,EAAa,IAAK,IAAIwF,KAAKxF,EAAe,YAANwF,GAAmBrF,OAAOgG,UAAUC,eAAeC,KAAKrG,EAAKwF,IAAIJ,GAAgBc,EAAQlG,EAAKwF,GAEtI,OADAO,GAAmBG,EAAQlG,GACpBkG,CACX,EACA/F,OAAOC,eAAe2/D,GAAS,aAAc,CAAEz/D,OAAO,IACtDy/D,GAAAr5D,IAAcq5D,GAAAlT,MAAgBkT,GAAAxS,QAAyCwS,GAAA38D,gBAAiB28D,GAAA78D,kBAAqB68D,GAAAC,iBAAsB,EAKnI,MAAM3R,GAAQ5tD,GACRyM,GAAgBvG,EAChBs5D,GAAgBh6D,GAAaW,IACnC,SAASo5D,GAAYjwB,EAAKqO,GACtB,MAAM8hB,EAAc9hB,EAAO7B,UAAUxM,GACrC,GAAImwB,EAAYtkB,QACZ,OAAOskB,EAAY5wD,KAEvB,MAAMinC,EAAe2pB,EAAYp9D,MAAMyvC,OAClC1yC,KAAKV,GAAM,GAAGA,EAAEsF,cACdtF,EAAEyjC,KAAK/iC,KAAK2G,GAAM4O,KAAKC,UAAU7O,KAAIuG,KAAK,UAC5CA,KAAK,KACV,MAAM,IAAIG,GAAc3I,yBAAyBgyC,EACrD,CAGA,IAAIlzC,GAgCAH,GA4BAE,GA4CAmqD,GAOAV,GAWAnmD,GA5Heq5D,GAAAC,YAAGA,GAGtB,SAAW38D,GAIPA,EAAQ88D,4BAHR,SAAqCj5D,GACjC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQgzD,6BACpD,EAKDhzD,EAAQ+8D,+BAHR,SAAwCl5D,GACpC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQkzD,gCACpD,EAKDlzD,EAAQg9D,gCAHR,SAAyCn5D,GACrC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQozD,iCACpD,EAKDpzD,EAAQi9D,gCAHR,SAAyCp5D,GACrC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQuzD,iCACpD,EAKDvzD,EAAQk9D,2BAHR,SAAoCr5D,GAChC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQ0zD,4BACpD,EAKD1zD,EAAQm9D,+BAHR,SAAwCt5D,GACpC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQ2zD,gCACpD,EAKD3zD,EAAQo9D,+BAHR,SAAwCv5D,GACpC,OAAO84D,GAAY94D,EAAQ+4D,GAAc58D,QAAQ4zD,gCACpD,CAEJ,CA7BD,CA6BG5zD,KAA2B08D,GAAA18D,QAAGA,GAAU,CAAA,IAG3C,SAAWH,GAIPA,EAAOgF,qBAHP,SAA8BhB,GAC1B,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOq6D,0BACnD,EAKDr6D,EAAO+E,oBAHP,SAA6Bf,GACzB,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOo6D,yBACnD,EAKDp6D,EAAO8E,kBAHP,SAA2Bd,GACvB,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOk6D,uBACnD,EAKDl6D,EAAO4E,4BAHP,SAAqCZ,GACjC,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOi6D,iCACnD,EAKDj6D,EAAOiF,+BAHP,SAAwCjB,GACpC,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOs6D,oCACnD,EAKDt6D,EAAO6E,wBAHP,SAAiCb,GAC7B,OAAO84D,GAAY94D,EAAQ+4D,GAAc/8D,OAAOm6D,6BACnD,CAEJ,CAzBD,CAyBGn6D,KAAyB68D,GAAA78D,OAAGA,GAAS,CAAA,IAGxC,SAAWE,GAIPA,EAAgB6D,oBAHhB,SAA6BC,GACzB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBqvD,yBAC5D,EAKDrvD,EAAgBkE,mBAHhB,SAA4BJ,GACxB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgB8vD,wBAC5D,EAKD9vD,EAAgBoE,oBAHhB,SAA6BN,GACzB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBgwD,yBAC5D,EAKDhwD,EAAgBsE,kBAHhB,SAA2BR,GACvB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBowD,uBAC5D,EAKDpwD,EAAgBiE,kBAHhB,SAA2BH,GACvB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgB4vD,uBAC5D,EAKD5vD,EAAgBgE,iBAHhB,SAA0BF,GACtB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgB2vD,sBAC5D,EAKD3vD,EAAgB+D,6BAHhB,SAAsCD,GAClC,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBsvD,kCAC5D,EAKDtvD,EAAgBqE,iBAHhB,SAA0BP,GACtB,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBiwD,sBAC5D,EAKDjwD,EAAgBuE,uBAHhB,SAAgCT,GAC5B,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgBqwD,4BAC5D,EAKDrwD,EAAgBs9D,gCAHhB,SAAyCx5D,GACrC,OAAO84D,GAAY94D,EAAQ+4D,GAAc78D,gBAAgB+vD,iCAC5D,CAEJ,CAzCD,CAyCG/vD,KAA2C28D,GAAA38D,gBAAGA,GAAkB,CAAA,IAGnE,SAAWmqD,GAIPA,EAAQ1kD,qBAHR,SAA8B3B,GAC1B,OAAO84D,GAAY94D,EAAQ+4D,GAAc1S,QAAQ8C,0BACpD,CAEJ,CALD,CAKG9C,KAA2BwS,GAAAxS,QAAGA,GAAU,CAAA,IAE3C,SAAWV,GAIPA,EAAMzkD,0BAHN,SAAmClB,GAC/B,OAAO84D,GAAY94D,EAAQ+4D,GAAcpT,MAAMwR,+BAClD,EAKDxR,EAAMxkD,0BAHN,SAAmCnB,GAC/B,OAAO84D,GAAY94D,EAAQ+4D,GAAcpT,MAAMiT,+BAClD,CAEJ,CATD,CASGjT,KAAuBkT,GAAAlT,MAAGA,GAAQ,CAAA,IAErC,SAAWnmD,GACP,MAAMi6D,EAA2BtS,GAAMj7B,EAAEle,OAAO,CAE5CtK,OAAQyjD,GAAMj7B,EAAE2d,SAGhB7pC,OAAQmnD,GAAMj7B,EAAEle,OAAO,CAAA,GAAI2uC,cAAcnJ,WACzChwC,QAAS2jD,GAAMj7B,EAAE2d,SAAS2J,aAExBkmB,EAA0BvS,GAAMj7B,EAAEle,OAAO,CAC3C7K,QAAS41D,GAAc78D,gBAAgBktD,wBAK3C5pD,EAAIm6D,wBAHJ,SAAiC35D,GAC7B,OAAO84D,GAAY94D,EAAQy5D,EAC9B,EAKDj6D,EAAIo6D,uBAHJ,SAAgC55D,GAC5B,OAAO84D,GAAY94D,EAAQ05D,EAC9B,CAEJ,CApBD,CAoBGl6D,KAAmBq5D,GAAAr5D,IAAGA,GAAM,CAAE,IC5MjC,IAAItB,GAAmBrF,GAAQA,EAAKqF,kBAAqBjF,OAAOkF,OAAM,SAAaC,EAAGC,EAAGC,EAAGC,QAC7E/C,IAAP+C,IAAkBA,EAAKD,GAC3B,IAAIE,EAAOvF,OAAOwF,yBAAyBJ,EAAGC,GACzCE,KAAS,QAASA,GAAQH,EAAEtF,WAAayF,EAAKE,UAAYF,EAAKG,gBAClEH,EAAO,CAAEI,YAAY,EAAMzG,IAAK,WAAa,OAAOkG,EAAEC,EAAG,IAE3DrF,OAAOC,eAAekF,EAAGG,EAAIC,EAChC,EAAA,SAAcJ,EAAGC,EAAGC,EAAGC,QACT/C,IAAP+C,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,EACb,GACGO,GAAsBhG,GAAQA,EAAKgG,qBAAwB5F,OAAOkF,OAAM,SAAaC,EAAGU,GACxF7F,OAAOC,eAAekF,EAAG,UAAW,CAAEQ,YAAY,EAAMxF,MAAO0F,GAClE,EAAI,SAASV,EAAGU,GACbV,EAAW,QAAIU,CACnB,GACIC,GAAgBlG,GAAQA,EAAKkG,cAAiB,SAAUjG,GACxD,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIkG,EAAS,CAAA,EACb,GAAW,MAAPlG,EAAa,IAAK,IAAIwF,KAAKxF,EAAe,YAANwF,GAAmBrF,OAAOgG,UAAUC,eAAeC,KAAKrG,EAAKwF,IAAIJ,GAAgBc,EAAQlG,EAAKwF,GAEtI,OADAO,GAAmBG,EAAQlG,GACpBkG,CACX,EACA/F,OAAOC,eAAe2gE,GAAS,aAAc,CAAEzgE,OAAO,IAChCygE,GAAAC,oBAAG,EACzB,MAAMC,GAASh7D,GAAaxF,IAwGNygE,GAAAF,eAvGtB,MAGI,mBAAA/5D,CAAoBC,GAChB,OAAO+5D,GAAO79D,gBAAgB6D,oBAAoBC,EACrD,CACD,4BAAAC,CAA6BD,GACzB,OAAO+5D,GAAO79D,gBAAgB+D,6BAA6BD,EAC9D,CACD,gBAAAE,CAAiBF,GACb,OAAO+5D,GAAO79D,gBAAgBgE,iBAAiBF,EAClD,CACD,iBAAAG,CAAkBH,GACd,OAAO+5D,GAAO79D,gBAAgBiE,kBAAkBH,EACnD,CACD,kBAAAI,CAAmBJ,GACf,OAAO+5D,GAAO79D,gBAAgBkE,mBAAmBJ,EACpD,CACD,2BAAAK,CAA4BL,GACxB,OAAO+5D,GAAO79D,gBAAgBs9D,gCAAgCx5D,EACjE,CACD,mBAAAM,CAAoBN,GAChB,OAAO+5D,GAAO79D,gBAAgBoE,oBAAoBN,EACrD,CACD,gBAAAO,CAAiBP,GACb,OAAO+5D,GAAO79D,gBAAgBqE,iBAAiBP,EAClD,CACD,iBAAAQ,CAAkBR,GACd,OAAO+5D,GAAO79D,gBAAgBsE,kBAAkBR,EACnD,CACD,sBAAAS,CAAuBT,GACnB,OAAO+5D,GAAO79D,gBAAgBuE,uBAAuBT,EACxD,CAID,qBAAAU,CAAsBV,GAClB,OAAO+5D,GAAOv6D,IAAIo6D,uBAAuB55D,EAC5C,CACD,sBAAAW,CAAuBX,GACnB,OAAO+5D,GAAOv6D,IAAIm6D,wBAAwB35D,EAC7C,CAID,yBAAAkB,CAA0BlB,GACtB,OAAO+5D,GAAOpU,MAAMzkD,0BAA0BlB,EACjD,CACD,yBAAAmB,CAA0BnB,GACtB,OAAO+5D,GAAOpU,MAAMxkD,0BAA0BnB,EACjD,CAID,uBAAAoB,CAAwBpB,GACpB,OAAO+5D,GAAO59D,QAAQ88D,4BAA4Bj5D,EACrD,CACD,0BAAAqB,CAA2BrB,GACvB,OAAO+5D,GAAO59D,QAAQ+8D,+BAA+Bl5D,EACxD,CACD,2BAAAsB,CAA4BtB,GACxB,OAAO+5D,GAAO59D,QAAQg9D,gCAAgCn5D,EACzD,CACD,2BAAAuB,CAA4BvB,GACxB,OAAO+5D,GAAO59D,QAAQi9D,gCAAgCp5D,EACzD,CACD,sBAAAwB,CAAuBxB,GACnB,OAAO+5D,GAAO59D,QAAQk9D,2BAA2Br5D,EACpD,CACD,0BAAAyB,CAA2BzB,GACvB,OAAO+5D,GAAO59D,QAAQm9D,+BAA+Bt5D,EACxD,CACD,0BAAA0B,CAA2B1B,GACvB,OAAO+5D,GAAO59D,QAAQo9D,+BAA+Bv5D,EACxD,CAID,2BAAAY,CAA4BZ,GACxB,OAAO+5D,GAAO/9D,OAAO4E,4BAA4BZ,EACpD,CACD,uBAAAa,CAAwBb,GACpB,OAAO+5D,GAAO/9D,OAAO6E,wBAAwBb,EAChD,CACD,iBAAAc,CAAkBd,GACd,OAAO+5D,GAAO/9D,OAAO8E,kBAAkBd,EAC1C,CACD,mBAAAe,CAAoBf,GAChB,OAAO+5D,GAAO/9D,OAAO+E,oBAAoBf,EAC5C,CACD,oBAAAgB,CAAqBhB,GACjB,OAAO+5D,GAAO/9D,OAAOgF,qBAAqBhB,EAC7C,CACD,8BAAAiB,CAA+BjB,GAC3B,OAAO+5D,GAAO/9D,OAAOiF,+BAA+BjB,EACvD,CAID,oBAAA2B,CAAqB3B,GACjB,OAAO+5D,GAAO1T,QAAQ1kD,qBAAqB3B,EAC9C,aC/HL/G,OAAOC,eAAe+gE,GAAS,aAAc,CAAE7gE,OAAO,IACtD6gE,GAAA7/D,IAAc6/D,GAAAC,kBAAuB,EAiBrC,MAAM3/D,GAAWhB,EAWjB,SAAS4gE,GAA6BC,GAClC,MAAMC,EAAc,GAAGD,QACjBE,EAAoBC,SAASC,eAAeH,GAClD,GAAIC,EACA,OAAOA,EAEX,MAAMG,EAAeF,SAASC,eAAe,WACvCE,EAAUH,SAASI,cAAc,OACvCD,EAAQE,UAAY,UACpBH,EAAaI,YAAYH,GACzB,MAAMI,EAAWP,SAASI,cAAc,OAIxC,OAHAG,EAASF,UAAY,OACrBE,EAASC,UAAY,OAAOX,kBAAwBC,wBACpDI,EAAaI,YAAYC,GAClBP,SAASC,eAAeH,EACnC,CAYoBJ,GAAAC,aAXpB,WAESr1D,WAAW01D,SAASS,kBAGzBn2D,WAAW01D,SAASS,gBAAgBD,UA9Bf,y8BAgCrBZ,GAA6B5/D,GAASJ,QAAQM,OAC9C0/D,GAA6B5/D,GAASJ,QAAQ8mC,MAC9Ck5B,GAA6B5/D,GAASJ,QAAQ2B,KAClD,EAiBWm+D,GAAA7/D,IAfX,SAAaggE,KAAYa,GAErB,IAAKp2D,WAAW01D,SAASS,gBACrB,OAGJE,EAAOtyD,QAAQuyD,mBAAmBjtD,KAAKC,UAAU,CAAEisD,UAASa,cAC5D,MAAMG,EAAmBjB,GAA6BC,GAGhDiB,EAAcd,SAASI,cAAc,OAC3CU,EAAYT,UAAY,MACxBS,EAAYC,YAAcL,EAASp1D,KAAK,KACxCu1D,EAAiBP,YAAYQ,EACjC;;;;;;;;;;;;;;;;;;;ACrDApiE,OAAOC,eAAeqiE,EAAS,aAAc,CAAEniE,OAAO,IACtD,MAAMoiE,GAAkBjiE,EAClBkiE,GAAqBh8D,GACrBlF,GAAWmF,EACXm6D,GAAmBl6D,GACnB+7D,GAAqBhsD,GAErBisD,GAyJN7zD,iBACI,OAAO,IAAI5F,SAASC,IAChByG,OAAOgzD,gBAAmB1/C,KACtB,EAAIw/C,GAAmBthE,KAAKG,GAASJ,QAAQM,MAAO,qBAAsByhB,GAC1E/Z,EAAQ+Z,EAAS,CACpB,GAET,CAhKgC2/C,SAC3B,YACD,EAAIH,GAAmBxB,gBAEvB,MAAMv8C,QAAqBg+C,GACrBt3B,QA+BV,SAA0B1mB,GACtB,MAAMm+C,EACF70D,IAAa,KACb,WAAAnM,GACI8N,OAAOmzD,cAAiBC,IAEpB,IAAIC,GADJ,EAAIP,GAAmBthE,KAAK,GAAGG,GAASJ,QAAQ8mC,mBAAe+6B,GAE/D,IACIC,EAAgBH,GAAoBI,GAAkBF,EACzD,CACD,MAAO/jE,GAGH,YADAY,MAAKsjE,GAAkBH,EAAY,mBAAoD/jE,EAAEsF,QAAS,KAErG,CACD1E,MAAKoO,IAAY9H,KAAK,KAAM88D,EAAc,CAEjD,CACD,YAAAn1B,CAAa7/B,GACTpO,MAAKoO,GAAaA,CACrB,CACD,WAAAC,CAAY3J,GACR,MAAMy+D,EAAa9tD,KAAKC,UAAU5Q,GAClCqL,OAAOwzD,iBAAiBJ,IACxB,EAAIN,GAAmBthE,KAAK,GAAGG,GAASJ,QAAQ8mC,mBAAe+6B,EAClE,CACD,KAAAv5D,GACI5J,MAAKoO,GAAa,KAClB2B,OAAOmzD,cAAgB,IAC1B,CACD,GAAAI,CAAkBE,EAAkBC,EAAWjtB,EAAcvtC,GACzD,MAAMy6D,EAAgBT,GAAoBU,GAAkBH,EAAkBC,EAAWjtB,GACrFvtC,EAEAjJ,KAAKqO,YAAY,IACVq1D,EACHz6D,YAIJjJ,KAAKqO,YAAYq1D,EAExB,CACD,SAAOE,CAAarjE,GAChB,OAAc,OAAVA,EACO,OAEPu8B,MAAM4F,QAAQniC,GACP,eAEGA,CACjB,CACD,SAAOojE,CAAkBR,EAAYM,EAAWjtB,GAG5C,IAAIqtB,EACJ,IACI,MAAMC,EAAazuD,KAAK65B,MAAMi0B,GACuB,WAAjDF,GAAoBW,GAAaE,IACjC,OAAQA,IACRD,EAAYC,EAAWh/D,GAE9B,CACD,MAAS,CACT,MAAO,CACHjE,KAAM,QACNiE,GAAI++D,EACJ9gE,MAAO0gE,EACP/+D,QAAS8xC,EAGhB,CACD,SAAO6sB,CAAkBF,GACrB,IAAIC,EACJ,IACIA,EAAgB/tD,KAAK65B,MAAMi0B,EAC9B,CACD,MACI,MAAM,IAAIh+D,MAAM,4BACnB,CACD,MAAMs4C,EAAawlB,GAAoBW,GAAaR,GACpD,GAAmB,WAAf3lB,EACA,MAAM,IAAIt4C,MAAM,gCAAgCs4C,KAGpD,MAAM34C,GAAEA,EAAE+F,OAAEA,EAAM1D,OAAEA,GAAWi8D,EACzBW,EAASd,GAAoBW,GAAa9+D,GAChD,GAAe,WAAXi/D,IAAwBllD,OAAO2xB,UAAU1rC,IAAOA,EAAK,EAGrD,MAAM,IAAIK,MAAM,qCAAqC4+D,KAEzD,MAAMC,EAAaf,GAAoBW,GAAa/4D,GACpD,GAAmB,WAAfm5D,EACA,MAAM,IAAI7+D,MAAM,kCAAkC6+D,KAEtD,MAAMC,EAAahB,GAAoBW,GAAaz8D,GACpD,GAAmB,WAAf88D,EACA,MAAM,IAAI9+D,MAAM,kCAAkC8+D,KAEtD,IAAIh7D,EAAUm6D,EAAcn6D,QAC5B,QAAgBtG,IAAZsG,EAAuB,CACvB,MAAMi7D,EAAcjB,GAAoBW,GAAa36D,GACrD,GAAoB,WAAhBi7D,EACA,MAAM,IAAI/+D,MAAM,mCAAmC++D,KAGvC,KAAZj7D,IACAA,OAAUtG,EAEjB,CACD,MAAO,CAAEmC,KAAI+F,SAAQ1D,SAAQ8B,UAChC,EAEL,OAAO05D,GAAgBv1B,WAAWc,eAAe,IAAI+0B,EA3IzD,WAKI,MAAMkB,EACF/1D,IAAa,KACb,WAAAnM,GACI8N,OAAO9M,IAAImhE,UAAa1/D,IACpB1E,MAAKoO,IAAY9H,KAAK,KAAM5B,EAAQ,CAE3C,CACD,YAAAupC,CAAa7/B,GACTpO,MAAKoO,GAAaA,CACrB,CACD,WAAAC,CAAY3J,GACRqL,OAAO9M,IAAIohE,KAAK3/D,EACnB,CACD,KAAAkF,GACI5J,MAAKoO,GAAa,KAClB2B,OAAO9M,IAAImhE,UAAY,IAC1B,EAEL,OAAO,IAAIxB,GAAmBl0B,cAAc,IAAIy1B,EAAsBtB,GAAmBthE,IAC7F,CAmHgF+iE,GAAuBx/C,EAAc,IAAIk8C,GAAiBC,eAAkB4B,GAAmBthE,IAC/K,CAlJ6BgjE,CAAiBz/C,IAC1C,EAAI+9C,GAAmBthE,KAAKG,GAASJ,QAAQM,MAAO,YACpD4pC,EAAWO,oBAAoB42B,GAAgB35D,gBAAgBI,eAAe,CAC1Eo7D,UAAU,IACV,WACP,EATI","x_google_ignoreList":[0,52,53,54,55,56,57,58,59,60,61]}
|