@rqmii_immersive/agent-react-sdk 2.0.0 → 4.0.1
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/README.md +103 -357
- package/dist/{RqmiiCloudAvatarPlayer-BnsY8xIR.js → RqmiiCloudAvatarPlayer-CESlcAGy.js} +6095 -6108
- package/dist/RqmiiCloudAvatarPlayer-CESlcAGy.js.map +1 -0
- package/dist/RqmiiCloudAvatarPlayer-D5npgPcs.cjs +2939 -0
- package/dist/RqmiiCloudAvatarPlayer-D5npgPcs.cjs.map +1 -0
- package/dist/agent-react-sdk.css +1 -1
- package/dist/components/RqmiiAgentRoom.d.ts +3 -0
- package/dist/components/RqmiiAgentRoom.d.ts.map +1 -0
- package/dist/components/RqmiiCloudAvatarPlayer.d.ts +3 -0
- package/dist/components/RqmiiCloudAvatarPlayer.d.ts.map +1 -0
- package/dist/components/RqmiiErrorBoundary.d.ts +19 -0
- package/dist/components/RqmiiErrorBoundary.d.ts.map +1 -0
- package/dist/components/pxs/EpicPixelStreamingPlayer.d.ts +5 -0
- package/dist/components/pxs/EpicPixelStreamingPlayer.d.ts.map +1 -0
- package/dist/core/constants.d.ts +81 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/events/emitter.d.ts +10 -0
- package/dist/core/events/emitter.d.ts.map +1 -0
- package/dist/core/managers/audio.d.ts +24 -0
- package/dist/core/managers/audio.d.ts.map +1 -0
- package/dist/core/managers/heartbeat.d.ts +13 -0
- package/dist/core/managers/heartbeat.d.ts.map +1 -0
- package/dist/core/managers/reconnect.d.ts +29 -0
- package/dist/core/managers/reconnect.d.ts.map +1 -0
- package/dist/core/managers/session.d.ts +20 -0
- package/dist/core/managers/session.d.ts.map +1 -0
- package/dist/core/managers/socket.d.ts +15 -0
- package/dist/core/managers/socket.d.ts.map +1 -0
- package/dist/core/state/reducer.d.ts +4 -0
- package/dist/core/state/reducer.d.ts.map +1 -0
- package/dist/core/state/selectors.d.ts +24 -0
- package/dist/core/state/selectors.d.ts.map +1 -0
- package/dist/core/state/types.d.ts +60 -0
- package/dist/core/state/types.d.ts.map +1 -0
- package/dist/core/utils/accumulator.d.ts +11 -0
- package/dist/core/utils/accumulator.d.ts.map +1 -0
- package/dist/core/utils/agent-type.d.ts +2 -0
- package/dist/core/utils/agent-type.d.ts.map +1 -0
- package/dist/core/utils/bytes.d.ts +2 -0
- package/dist/core/utils/bytes.d.ts.map +1 -0
- package/dist/core/utils/sleep.d.ts +2 -0
- package/dist/core/utils/sleep.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-agent.d.ts +2 -0
- package/dist/hooks/use-rqmii-agent.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-audio-element.d.ts +2 -0
- package/dist/hooks/use-rqmii-audio-element.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-avatar.d.ts +13 -0
- package/dist/hooks/use-rqmii-avatar.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-connection.d.ts +27 -0
- package/dist/hooks/use-rqmii-connection.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-events.d.ts +3 -0
- package/dist/hooks/use-rqmii-events.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-messages.d.ts +6 -0
- package/dist/hooks/use-rqmii-messages.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-press-to-talk.d.ts +3 -0
- package/dist/hooks/use-rqmii-press-to-talk.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-sdk.d.ts +81 -0
- package/dist/hooks/use-rqmii-sdk.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-session.d.ts +9 -0
- package/dist/hooks/use-rqmii-session.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-vad.d.ts +3 -0
- package/dist/hooks/use-rqmii-vad.d.ts.map +1 -0
- package/dist/hooks/use-rqmii-voice.d.ts +12 -0
- package/dist/hooks/use-rqmii-voice.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -340
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +270 -20
- package/dist/index.js.map +1 -1
- package/dist/provider/RqmiiAgentProvider.d.ts +4 -0
- package/dist/provider/RqmiiAgentProvider.d.ts.map +1 -0
- package/dist/provider/socket-handlers.d.ts +77 -0
- package/dist/provider/socket-handlers.d.ts.map +1 -0
- package/dist/provider/use-manager-lifecycle.d.ts +76 -0
- package/dist/provider/use-manager-lifecycle.d.ts.map +1 -0
- package/dist/types/index.d.ts +385 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/ui/Orb.d.ts +19 -0
- package/dist/ui/Orb.d.ts.map +1 -0
- package/dist/ui/RqmiiAgentChat.d.ts +4 -0
- package/dist/ui/RqmiiAgentChat.d.ts.map +1 -0
- package/dist/ui/agent-data.d.ts +17 -0
- package/dist/ui/agent-data.d.ts.map +1 -0
- package/dist/ui/chat/ChatBox.d.ts +22 -0
- package/dist/ui/chat/ChatBox.d.ts.map +1 -0
- package/dist/ui/chat/CreditsExhaustedPanel.d.ts +6 -0
- package/dist/ui/chat/CreditsExhaustedPanel.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-avatar.d.ts +3 -0
- package/dist/ui/chat/chat-box-avatar.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-content.d.ts +26 -0
- package/dist/ui/chat/chat-box-content.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-shared.d.ts +24 -0
- package/dist/ui/chat/chat-box-shared.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-text-and-voice.d.ts +3 -0
- package/dist/ui/chat/chat-box-text-and-voice.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-text.d.ts +3 -0
- package/dist/ui/chat/chat-box-text.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-types.d.ts +83 -0
- package/dist/ui/chat/chat-box-types.d.ts.map +1 -0
- package/dist/ui/chat/chat-box-voice.d.ts +3 -0
- package/dist/ui/chat/chat-box-voice.d.ts.map +1 -0
- package/dist/ui/chat/components.d.ts +4 -0
- package/dist/ui/chat/components.d.ts.map +1 -0
- package/dist/ui/chat/panels.d.ts +78 -0
- package/dist/ui/chat/panels.d.ts.map +1 -0
- package/dist/ui/chat/primitives.d.ts +47 -0
- package/dist/ui/chat/primitives.d.ts.map +1 -0
- package/dist/ui/chat/utils.d.ts +7 -0
- package/dist/ui/chat/utils.d.ts.map +1 -0
- package/dist/ui/faces.d.ts +3 -0
- package/dist/ui/faces.d.ts.map +1 -0
- package/dist/ui/languages.d.ts +10 -0
- package/dist/ui/languages.d.ts.map +1 -0
- package/dist/ui.cjs +122 -1
- package/dist/ui.cjs.map +1 -1
- package/dist/ui.d.ts +11 -10
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +1771 -4
- package/dist/ui.js.map +1 -1
- package/package.json +33 -5
- package/dist/RqmiiCloudAvatarPlayer-BnsY8xIR.js.map +0 -1
- package/dist/RqmiiCloudAvatarPlayer-lqCz2xlU.cjs +0 -2938
- package/dist/RqmiiCloudAvatarPlayer-lqCz2xlU.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RqmiiCloudAvatarPlayer-D5npgPcs.cjs","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/core/constants.ts","../src/core/state/types.ts","../src/core/state/reducer.ts","../src/core/state/selectors.ts","../src/core/utils/accumulator.ts","../src/core/managers/session.ts","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/engine.io-client/build/esm/globals.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/url.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../src/core/managers/socket.ts","../node_modules/pcm-stream-player/lib/bundle.js","../src/core/managers/audio.ts","../src/core/managers/reconnect.ts","../src/core/managers/heartbeat.ts","../src/provider/use-manager-lifecycle.ts","../src/core/utils/agent-type.ts","../src/core/utils/bytes.ts","../src/provider/socket-handlers.ts","../src/core/events/emitter.ts","../src/provider/RqmiiAgentProvider.tsx","../src/hooks/use-rqmii-connection.ts","../src/hooks/use-rqmii-messages.ts","../src/hooks/use-rqmii-voice.ts","../src/hooks/use-rqmii-avatar.ts","../node_modules/@ricky0123/vad-web/dist/asset-path.js","../node_modules/@ricky0123/vad-web/dist/default-model-fetcher.js","../node_modules/@ricky0123/vad-web/dist/logging.js","../node_modules/@ricky0123/vad-web/dist/messages.js","../node_modules/@ricky0123/vad-web/dist/frame-processor.js","../node_modules/onnxruntime-web/dist/ort.min.js","../node_modules/@ricky0123/vad-web/dist/models/common.js","../node_modules/@ricky0123/vad-web/dist/models/legacy.js","../node_modules/@ricky0123/vad-web/dist/models/v5.js","../node_modules/@ricky0123/vad-web/dist/models/index.js","../node_modules/@ricky0123/vad-web/dist/resampler.js","../node_modules/@ricky0123/vad-web/dist/non-real-time-vad.js","../node_modules/@ricky0123/vad-web/dist/utils.js","../node_modules/onnxruntime-web/dist/ort.wasm.min.js","../node_modules/@ricky0123/vad-web/dist/real-time-vad.js","../node_modules/@ricky0123/vad-web/dist/index.js","../node_modules/@ricky0123/vad-react/dist/index.js","../src/hooks/use-rqmii-vad.ts","../src/components/RqmiiAgentRoom.tsx","../node_modules/sdp/sdp.js","../node_modules/@epicgames-ps/lib-pixelstreamingfrontend-ue5.4/dist/lib-pixelstreamingfrontend.esm.js","../src/components/pxs/EpicPixelStreamingPlayer.tsx","../src/components/RqmiiCloudAvatarPlayer.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export const AGENT_TYPES = {\n TEXT: 'text',\n VOICE: 'voice',\n TEXT_AND_VOICE: 'text_and_voice',\n CLOUD_AVATAR: 'cloud_avatar',\n DESKTOP_AVATAR: 'desktop_avatar',\n} as const;\n\nexport const SOCKET_EVENTS = {\n CONNECT: 'connect',\n DISCONNECT: 'disconnect',\n CONNECT_ERROR: 'connect_error',\n\n SESSION_READY: 'session_ready',\n SESSION_JOINED: 'session_joined',\n SESSION_TERMINATED: 'session_terminated',\n\n USER_MESSAGE: 'user_message',\n AUDIO_CHUNK: 'audio_chunk',\n AUDIO_END: 'audio_end',\n INTERRUPT: 'interrupt',\n CHANGE_SESSION_LANGUAGE: 'change_session_language',\n CLIENT_READY: 'client_ready',\n\n HEARTBEAT: 'heartbeat',\n HEARTBEAT_ACK: 'heartbeat_ack',\n\n CLEAR_SESSION_HISTORY: 'clear_session_history',\n\n TRANSCRIPT: 'transcript',\n PARTIAL_TRANSCRIPT: 'partial_transcript',\n AGENT_RESPONSE_CHUNK: 'agent_response_chunk',\n AGENT_RESPONSE: 'agent_response',\n AGENT_AUDIO_CHUNK: 'agent_audio_chunk',\n AGENT_AUDIO_COMPLETE: 'agent_audio_complete',\n\n AVATAR_SPEAKING: 'avatar_speaking',\n AVATAR_SPEAKING_DONE: 'avatar_speaking_done',\n\n INTERRUPTED: 'interrupted',\n ERROR: 'error',\n AUTH_ERROR: 'auth_error',\n\n RECONNECT_CREDENTIAL: 'reconnect_credential',\n RECONNECT_SUCCESS: 'reconnect_success',\n RECONNECT_FAILED: 'reconnect_failed',\n\n SESSION_EXPIRED: 'session_expired',\n\n CREDITS_EXHAUSTED: 'credits_exhausted',\n\n SESSION_STATE_CHANGED: 'session:state_changed',\n AUDIO_PLAYBACK_COMPLETE: 'audio:playback_complete',\n} as const;\n\nexport const CONNECTION_STATE = {\n IDLE: 'idle',\n INITIALIZING: 'initializing',\n CONNECTING: 'connecting',\n CONNECTED: 'connected',\n RECONNECTING: 'reconnecting',\n FAILED: 'failed',\n ENDED: 'ended',\n} as const;\n\nexport const CLOUD_STREAM_STATE = {\n IDLE: 'idle',\n CONNECTING: 'connecting',\n LOADING: 'loading',\n CONNECTED: 'connected',\n DISCONNECTED: 'disconnected',\n ERROR: 'error',\n} as const;\n\nexport const SESSION_STATE = {\n IDLE: 'idle',\n USER_SPEAKING: 'user_speaking',\n AGENT_THINKING: 'agent_thinking',\n AGENT_SPEAKING: 'agent_speaking',\n TOOL_EXECUTING: 'tool_executing',\n TERMINATING: 'terminating',\n TERMINATED: 'terminated',\n} as const;\n\nexport const DEFAULT_RECONNECT_OPTIONS = {\n enabled: true,\n maxAttempts: 8,\n initialDelayMs: 500,\n maxDelayMs: 5000,\n timeoutMs: 8000,\n} as const;\n\nexport const DEFAULT_PCM_OPTIONS = {\n encoding: '16bitInt',\n channels: 1,\n sampleRate: 16000,\n} as const;\n","import type {\n ConnectionState,\n SessionState,\n CloudStreamState,\n RqmiiSessionInfo,\n RqmiiMessage,\n TranscriptPayload,\n PartialTranscriptPayload,\n RqmiiState,\n} from '../../types';\nimport { CONNECTION_STATE, SESSION_STATE, CLOUD_STREAM_STATE } from '../constants';\n\nexport const DEFAULT_STATE: RqmiiState = {\n connectionState: CONNECTION_STATE.IDLE,\n isConnected: false,\n isSessionReady: false,\n error: null,\n reconnectAttempt: 0,\n isAudioPlaying: false,\n isAvatarSpeaking: false,\n lastHeartbeatAck: null,\n sessionState: SESSION_STATE.IDLE,\n cloudStream: {\n state: CLOUD_STREAM_STATE.IDLE,\n error: null,\n },\n transcript: null,\n partialTranscript: null,\n session: {\n sessionId: null,\n role: null,\n agentType: null,\n streamingUrl: null,\n uniqueId: null,\n },\n messages: [],\n creditExhausted: false,\n creditError: null,\n};\n\nexport type StateAction =\n | { type: 'SET_CONNECTION_STATE'; payload: ConnectionState }\n | { type: 'SET_ERROR'; payload: string | null }\n | { type: 'SET_CLOUD_STREAM_STATE'; payload: { state: CloudStreamState; error: string | null } }\n | { type: 'SET_SESSION_STATE'; payload: SessionState }\n | { type: 'UPDATE_SESSION'; payload: Partial<RqmiiSessionInfo> }\n | { type: 'ADD_MESSAGE'; payload: RqmiiMessage }\n | { type: 'SET_AUDIO_PLAYING'; payload: boolean }\n | { type: 'SET_AVATAR_SPEAKING'; payload: boolean }\n | { type: 'SET_CREDIT_EXHAUSTED'; payload: { exhausted: boolean; error: string | null } }\n | { type: 'SET_TRANSCRIPT'; payload: TranscriptPayload | null }\n | { type: 'SET_PARTIAL_TRANSCRIPT'; payload: PartialTranscriptPayload | null }\n | { type: 'SET_MESSAGES'; payload: RqmiiMessage[] }\n | { type: 'SET_RECONNECT_ATTEMPT'; payload: number }\n | { type: 'SET_HEARTBEAT_ACK'; payload: string | null }\n | { type: 'SET_SESSION_READY'; payload: boolean }\n | { type: 'HARD_RESET' }\n | { type: 'REPLACE_STATE'; payload: RqmiiState };\n","import type { RqmiiState } from '../../types';\nimport { CONNECTION_STATE } from '../constants';\nimport { DEFAULT_STATE, type StateAction } from './types';\n\nexport function rqmiiReducer(state: RqmiiState, action: StateAction): RqmiiState {\n switch (action.type) {\n case 'SET_CONNECTION_STATE':\n return {\n ...state,\n connectionState: action.payload,\n isConnected: action.payload === CONNECTION_STATE.CONNECTED,\n };\n\n case 'SET_ERROR':\n return { ...state, error: action.payload };\n\n case 'SET_CLOUD_STREAM_STATE':\n return { ...state, cloudStream: action.payload };\n\n case 'SET_SESSION_STATE':\n return { ...state, sessionState: action.payload };\n\n case 'UPDATE_SESSION':\n return {\n ...state,\n session: { ...state.session, ...action.payload },\n };\n\n case 'ADD_MESSAGE':\n return { ...state, messages: [...state.messages, action.payload] };\n\n case 'SET_AUDIO_PLAYING':\n return { ...state, isAudioPlaying: action.payload };\n\n case 'SET_AVATAR_SPEAKING':\n return { ...state, isAvatarSpeaking: action.payload };\n\n case 'SET_CREDIT_EXHAUSTED':\n return {\n ...state,\n creditExhausted: action.payload.exhausted,\n creditError: action.payload.error,\n };\n\n case 'SET_TRANSCRIPT':\n return { ...state, transcript: action.payload };\n\n case 'SET_PARTIAL_TRANSCRIPT':\n return { ...state, partialTranscript: action.payload };\n\n case 'SET_MESSAGES':\n return { ...state, messages: action.payload };\n\n case 'SET_RECONNECT_ATTEMPT':\n return { ...state, reconnectAttempt: action.payload };\n\n case 'SET_HEARTBEAT_ACK':\n return { ...state, lastHeartbeatAck: action.payload };\n\n case 'SET_SESSION_READY':\n return { ...state, isSessionReady: action.payload };\n\n case 'HARD_RESET':\n return DEFAULT_STATE;\n\n case 'REPLACE_STATE':\n return action.payload;\n\n default:\n return state;\n }\n}\n","import type { RqmiiState, SessionState } from '../../types';\nimport { SESSION_STATE } from '../constants';\n\nexport function deriveSessionBooleans(sessionState: SessionState) {\n return {\n isSessionTerminated: sessionState === SESSION_STATE.TERMINATED,\n isSessionTerminating: sessionState === SESSION_STATE.TERMINATING,\n isAgentThinking: sessionState === SESSION_STATE.AGENT_THINKING,\n isAgentSpeaking: sessionState === SESSION_STATE.AGENT_SPEAKING,\n isToolExecuting: sessionState === SESSION_STATE.TOOL_EXECUTING,\n };\n}\n\nexport function selectSessionBooleans(state: RqmiiState) {\n return deriveSessionBooleans(state.sessionState);\n}\n\nexport function selectIsConnected(state: RqmiiState): boolean {\n return state.isConnected;\n}\n\nexport function selectIsSessionReady(state: RqmiiState): boolean {\n return state.isSessionReady;\n}\n\nexport function selectMessages(state: RqmiiState) {\n return state.messages;\n}\n\nexport function selectSession(state: RqmiiState) {\n return state.session;\n}\n\nexport function selectCloudStream(state: RqmiiState) {\n return state.cloudStream;\n}\n","interface ChunkEntry {\n id: string;\n text: string;\n}\n\nexport function createResponseChunkAccumulator() {\n const chunks = new Map<string, string>();\n\n return {\n addChunk(requestId: string | undefined, chunk: string | undefined): ChunkEntry {\n const id = requestId || `request-${Date.now()}`;\n const previous = chunks.get(id) || '';\n const next = `${previous}${chunk || ''}`;\n chunks.set(id, next);\n return { id, text: next };\n },\n\n consume(requestId: string | undefined, fallbackText = ''): ChunkEntry {\n const id = requestId || `request-${Date.now()}`;\n const text = chunks.get(id) || fallbackText || '';\n chunks.delete(id);\n return { id, text };\n },\n\n clear(): void {\n chunks.clear();\n },\n };\n}\n","interface SessionManagerOptions {\n restUrl: string;\n log: (...args: unknown[]) => void;\n withCredentials: boolean;\n}\n\nexport function detectClientTimezone(): string | undefined {\n try {\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return typeof timezone === 'string' && timezone.trim() ? timezone.trim() : undefined;\n } catch {\n return undefined;\n }\n}\n\nasync function normalizeServerError(response: Response): Promise<unknown> {\n if (!response?.ok) {\n let detail = `HTTP ${response.status}`;\n try {\n const data = await response.json();\n const d = data as Record<string, string>;\n detail = d?.detail || d?.message || detail;\n } catch {\n // keep fallback\n }\n const error = new Error(detail);\n (error as Error & { status?: number }).status = response.status;\n throw error;\n }\n return response.json();\n}\n\nexport function createSessionManager({ restUrl, log, withCredentials }: SessionManagerOptions) {\n function assertRestUrl(): void {\n if (!restUrl) {\n throw new Error('Missing restUrl in RqmiiAgentProvider');\n }\n }\n\n async function initializeSession({\n apiKey,\n publicChatId,\n agentId,\n userId,\n language = 'en',\n }: {\n apiKey?: string;\n publicChatId?: string;\n agentId?: string;\n userId?: string;\n language?: string;\n } = {}): Promise<Record<string, unknown>> {\n assertRestUrl();\n\n const payload: Record<string, unknown> = {\n ...(apiKey ? { api_key: apiKey } : {}),\n ...(publicChatId ? { public_chat_id: publicChatId } : {}),\n ...(agentId ? { agent_id: agentId } : {}),\n ...(userId ? { user_id: userId } : {}),\n language,\n };\n\n log('initializeSession — POST /sessions/init', payload);\n\n const response = await fetch(`${restUrl}/sessions/init`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n ...(withCredentials ? { credentials: 'include' } : {}),\n });\n\n const data = await normalizeServerError(response) as Record<string, unknown>;\n\n if (!data?.session_id || !data?.session_token) {\n throw new Error('Invalid initialize session response');\n }\n\n return data;\n }\n\n async function joinDesktopSession({\n uniqueId,\n }: { uniqueId: string }): Promise<Record<string, unknown>> {\n assertRestUrl();\n\n log('joinDesktopSession — POST /sessions/join', { uniqueId });\n\n const response = await fetch(`${restUrl}/sessions/join`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ unique_id: uniqueId }),\n ...(withCredentials ? { credentials: 'include' } : {}),\n });\n\n const data = await normalizeServerError(response) as Record<string, unknown>;\n\n if (!data?.session_id || !data?.session_token) {\n throw new Error('Invalid join session response');\n }\n\n return data;\n }\n\n return { initializeSession, joinDesktopSession };\n}\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\nexport const defaultBinaryType = \"arraybuffer\";\nexport function createCookieJar() { }\n","import { globalThisShim as globalThis } from \"./globals.node.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nexport function randomString() {\n return (Date.now().toString(36).substring(3) +\n Math.random().toString(36).substring(2, 5));\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port) !== 443) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { randomString } from \"../util.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nexport class Polling extends Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","import { Polling } from \"./polling.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globals.node.js\";\nimport { hasCORS } from \"../contrib/has-cors.js\";\nfunction empty() { }\nexport class BaseXHR extends Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n installTimerFunctions(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = undefined !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a;\n const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = (this._xhr = this.createRequest(opts));\n try {\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n // @ts-ignore\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\"));\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this._data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request.requestsCount++;\n Request.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err) {\n this.emitReserved(\"error\", err, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = (function () {\n const xhr = newRequest({\n xdomain: false,\n });\n return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nexport class XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request(newRequest, this.uri(), opts);\n }\n}\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { pick, randomString } from \"../util.js\";\nimport { encodePacket } from \"engine.io-parser\";\nimport { globalThisShim as globalThis, nextTick } from \"../globals.node.js\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class BaseWS extends Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n this.doWrite(packet, data);\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => { };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nconst WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nexport class WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative\n ? protocols\n ? new WebSocketCtor(uri, protocols)\n : new WebSocketCtor(uri)\n : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"../globals.node.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n // @ts-ignore\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this._transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { XHR } from \"./polling-xhr.node.js\";\nimport { WS } from \"./websocket.node.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: XHR,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 8000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports as DEFAULT_TRANSPORTS } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { createCookieJar, defaultBinaryType, nextTick, } from \"./globals.node.js\";\nconst withEventListeners = typeof addEventListener === \"function\" &&\n typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n // script, so we create one single event listener here which will forward the event to the socket instances\n addEventListener(\"offline\", () => {\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nexport class SocketWithoutUpgrade extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n /**\n * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n */\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = parse(uri);\n opts.hostname = parsedUri.host;\n opts.secure =\n parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = createCookieJar();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade &&\n SocketWithoutUpgrade.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1\n ? \"websocket\"\n : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this._onDrain.bind(this))\n .on(\"packet\", this._onPacket.bind(this))\n .on(\"error\", this._onError.bind(this))\n .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this._onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */ _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n this._pingTimeoutTime = 0;\n nextTick(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err) {\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports &&\n this.transports.length > 1 &&\n this.readyState === \"opening\") {\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err);\n this._onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this._pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nSocketWithoutUpgrade.protocol = protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nexport class SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nexport class Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports ||\n (o.transports && typeof o.transports[0] === \"string\")) {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n .map((transportName) => DEFAULT_TRANSPORTS[transportName])\n .filter((t) => !!t);\n }\n super(uri, o);\n }\n}\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\", // used on the client side\n \"connect_error\", // used on the client side\n \"disconnect\", // used on both sides\n \"disconnecting\", // used on the server side\n \"newListener\", // used by the Node.js EventEmitter\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n */\n constructor(opts) {\n super();\n this.opts = Object.assign({\n reviver: undefined,\n maxAttachments: 10,\n }, typeof opts === \"function\" ? { reviver: opts } : opts);\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n const n = Number(buf);\n if (!isInteger(n) || n < 0) {\n throw new Error(\"Illegal attachments\");\n }\n else if (n > this.opts.maxAttachments) {\n throw new Error(\"too many attachments\");\n }\n p.attachments = n;\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.opts.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\nfunction isNamespaceValid(nsp) {\n return typeof nsp === \"string\";\n}\n// see https://caniuse.com/mdn-javascript_builtins_number_isinteger\nconst isInteger = Number.isInteger ||\n function (value) {\n return (typeof value === \"number\" &&\n isFinite(value) &&\n Math.floor(value) === value);\n };\nfunction isAckIdValid(id) {\n return id === undefined || isInteger(id);\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\nfunction isDataValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return payload === undefined || isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n return Array.isArray(payload);\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n default:\n return false;\n }\n}\nexport function isPacketValid(packet) {\n return (isNamespaceValid(packet.nsp) &&\n isAckIdValid(packet.id) &&\n isDataValid(packet.type, packet.data));\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a, _b, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) {\n }\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this._drainQueue(true);\n this.emitReserved(\"connect\");\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\nexport { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from \"engine.io-client\";\n","import { io, Socket } from 'socket.io-client';\n\ninterface SocketManagerOptions {\n wsUrl: string;\n log: (...args: unknown[]) => void;\n}\n\nexport function createSocketManager({ wsUrl, log }: SocketManagerOptions) {\n let socketRef: Socket | null = null;\n\n function connectSocketRaw({ authPayload, queryToken }: { authPayload: Record<string, unknown>; queryToken?: string | null }): Socket {\n const socket = io(wsUrl, {\n transports: ['websocket', 'polling'],\n timeout: 20000,\n reconnection: false,\n auth: authPayload,\n query: queryToken ? { token: queryToken } : undefined,\n });\n\n socketRef = socket;\n return socket;\n }\n\n function cleanupSocket(): void {\n if (!socketRef) return;\n try {\n socketRef.removeAllListeners();\n if (socketRef.connected) {\n socketRef.disconnect();\n } else {\n socketRef.close();\n }\n } catch {\n // best-effort\n }\n socketRef = null;\n }\n\n function getSocket(): Socket | null {\n return socketRef;\n }\n\n return { connectSocketRaw, cleanupSocket, getSocket };\n}\n","const unlockAudioContext = (audioCtx) => {\n window.audioCtx = audioCtx;\n if (audioCtx.state !== \"suspended\") return\n const b = document.body;\n const events = [\"touchstart\", \"touchend\", \"mousedown\", \"keydown\"];\n events.forEach((e) => b.addEventListener(e, unlock, false));\n function unlock() {\n audioCtx.resume().then(clean);\n }\n function clean() {\n // audioCtx.suspend().then(() => {})\n events.forEach((e) => b.removeEventListener(e, unlock));\n }\n};\n\nfunction FUPCMPlayer(option) {\n this.init(option);\n}\n\nFUPCMPlayer.prototype.init = function(option) {\n var defaults = {\n encoding: '16bitInt',\n channels: 1,\n sampleRate: 16000,\n };\n this.option = Object.assign({}, defaults, option);\n this.flush = this.flush.bind(this);\n this.maxValue = this.getMaxValue();\n this.typedArray = this.getTypedArray();\n this.playingBufferNode = null;\n this.scheduledBufferNode = null;\n this.createContext();\n this.resetState();\n};\n\nFUPCMPlayer.prototype.getMaxValue = function () {\n var encodings = {\n '8bitInt': 128,\n '16bitInt': 32768,\n '32bitInt': 2147483648,\n '32bitFloat': 1\n };\n\n return encodings[this.option.encoding] ? encodings[this.option.encoding] : encodings['16bitInt'];\n};\n\nFUPCMPlayer.prototype.getTypedArray = function () {\n var typedArrays = {\n '8bitInt': Int8Array,\n '16bitInt': Int16Array,\n '32bitInt': Int32Array,\n '32bitFloat': Float32Array\n };\n\n return typedArrays[this.option.encoding] ? typedArrays[this.option.encoding] : typedArrays['16bitInt'];\n};\n\nFUPCMPlayer.prototype.createContext = function() {\n this.audioCtx = new (window.AudioContext || window.webkitAudioContext)();\n\n // context needs to be resumed on iOS and Safari (or it will stay in \"suspended\" state)\n this.audioCtx.resume();\n this.audioCtx.onstatechange = () => console.log('audioCtx.state', this.audioCtx.state); // if you want to see \"Running\" state in console and be happy about it\n unlockAudioContext(this.audioCtx);\n\n this.gainNode = this.audioCtx.createGain();\n this.gainNode.gain.value = 1;\n this.gainNode.connect(this.audioCtx.destination);\n this.startTime = this.audioCtx.currentTime;\n};\n\nFUPCMPlayer.prototype.resetState = function() {\n this.playingStartTime = -1;\n this.lastGotTimestamp = 0;\n this.samples = new Float32Array();\n this.timeout = undefined;\n this.flag_request_stop = false;\n this.startTime = 0;\n};\n\nFUPCMPlayer.prototype.isTypedArray = function(data) {\n return (data.byteLength && data.buffer && data.buffer.constructor == ArrayBuffer);\n};\n\nFUPCMPlayer.prototype.feed = function(data) {\n if (!this.isTypedArray(data)) return;\n data = this.getFormatedValue(data);\n var tmp = new Float32Array(this.samples.length + data.length);\n tmp.set(this.samples, 0);\n tmp.set(data, this.samples.length);\n this.samples = tmp;\n if(!this.timeout) {\n this.flush();\n }\n};\n\nFUPCMPlayer.prototype.getFormatedValue = function(data) {\n var data = new this.typedArray(data.buffer),\n float32 = new Float32Array(data.length),\n i;\n\n for (i = 0; i < data.length; i++) {\n float32[i] = data[i] / this.maxValue;\n }\n return float32;\n};\n\nFUPCMPlayer.prototype.volume = function(volume) {\n this.gainNode.gain.value = volume;\n};\n\nFUPCMPlayer.prototype.destroy = function() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n this.samples = null;\n this.audioCtx.close();\n this.audioCtx = null;\n};\n\nFUPCMPlayer.prototype.getTimestamp = function(elapsedMs) {\n if(this.playingStartTime >= 0) {\n if(!elapsedMs) {\n return this.audioCtx.currentTime - this.playingStartTime;\n }\n const ret = this.lastGotTimestamp;\n this.lastGotTimestamp += elapsedMs / 1000;\n return ret;\n }\n return 0;\n};\n\nFUPCMPlayer.prototype.setRequestStop = function() {\n this.flag_request_stop = true;\n};\n\nFUPCMPlayer.prototype.setOnEnd = function(cb) {\n this.onEnd = cb;\n};\n\nFUPCMPlayer.prototype.interrupt = function(cb) {\n this.scheduledBufferNode && this.scheduledBufferNode.stop(0);\n this.playingBufferNode && this.playingBufferNode.stop(0);\n this.ensuredClearTimeout();\n this.resetState();\n this.flag_request_stop = false;\n};\n\n// (即时超过超时时间也)确保会触发\nFUPCMPlayer.prototype.ensuredSetTimeout = (function() {\n let startTimestamp;\n return function(fn, timeout) {\n startTimestamp = performance.now();\n const checker = (timestamp) => {\n if(timestamp - startTimestamp >= timeout) {\n this.timeout = undefined;\n fn();\n } else {\n this.timeout = requestAnimationFrame(checker);\n }\n };\n this.timeout = requestAnimationFrame(checker);\n }\n})();\n\nFUPCMPlayer.prototype.ensuredClearTimeout = function() {\n if(this.timeout) {\n cancelAnimationFrame(this.timeout);\n this.timeout = undefined;\n }\n};\n\nFUPCMPlayer.prototype.flush = function() {\n if (!this.samples.length) return;\n \n var bufferSource = this.audioCtx.createBufferSource(),\n length = this.samples.length / this.option.channels,\n audioBuffer = this.audioCtx.createBuffer(this.option.channels, length, this.option.sampleRate),\n audioData,\n channel,\n offset,\n i,\n decrement;\n\n for (channel = 0; channel < this.option.channels; channel++) {\n audioData = audioBuffer.getChannelData(channel);\n offset = channel;\n decrement = 50;\n for (i = 0; i < length; i++) {\n audioData[i] = this.samples[offset];\n /* fadein */\n if (i < 50) {\n audioData[i] = (audioData[i] * i) / 50;\n }\n /* fadeout*/\n if (i >= (length - 51)) {\n audioData[i] = (audioData[i] * decrement--) / 50;\n }\n offset += this.option.channels;\n }\n }\n if (this.startTime < this.audioCtx.currentTime) {\n this.startTime = this.audioCtx.currentTime;\n }\n this.samples = new Float32Array();\n \n bufferSource.buffer = audioBuffer;\n bufferSource.connect(this.gainNode);\n\n bufferSource.start(this.startTime);\n this.playingBufferNode = this.scheduledBufferNode;\n this.scheduledBufferNode = bufferSource;\n if(this.playingStartTime < 0) {\n this.playingStartTime = this.startTime;\n }\n this.startTime += audioBuffer.duration;\n \n if(!this.flag_request_stop) {\n const nextTimeGap = (this.startTime - this.audioCtx.currentTime)*1000;\n this.ensuredSetTimeout(this.flush, nextTimeGap - 50);\n } else {\n this.flag_request_stop = false;\n bufferSource.onended = () => {\n this.resetState();\n this.onEnd && this.onEnd();\n };\n }\n};\n\nexport { FUPCMPlayer };\n","import { FUPCMPlayer } from 'pcm-stream-player';\nimport { DEFAULT_PCM_OPTIONS } from '../constants';\nimport type { RqmiiPCMOptions } from '../../types';\n\ninterface AudioManagerOptions {\n enableAudio: boolean;\n pcmOptions?: RqmiiPCMOptions;\n log: (...args: unknown[]) => void;\n onPlaybackComplete: () => void;\n}\n\nfunction createPcmPlayerInstance(\n pcmOptions: RqmiiPCMOptions,\n onEnd: () => void,\n): FUPCMPlayer & { _isDestroyed: () => boolean } {\n const player = new FUPCMPlayer(pcmOptions as Record<string, unknown>) as FUPCMPlayer & { _isDestroyed: () => boolean };\n const originalDestroy = player.destroy.bind(player);\n let isDestroyed = false;\n\n player.destroy = () => {\n if (isDestroyed) return;\n isDestroyed = true;\n try {\n originalDestroy();\n } catch {\n // ignore library destroy race conditions\n }\n };\n\n player.setOnEnd(() => {\n if (!isDestroyed) {\n onEnd();\n }\n });\n\n player._isDestroyed = () => isDestroyed;\n return player;\n}\n\nexport function createAudioManager({ enableAudio, pcmOptions, log, onPlaybackComplete }: AudioManagerOptions) {\n let playerRef: (FUPCMPlayer & { _isDestroyed: () => boolean }) | null = null;\n let audioElementRef: HTMLAudioElement | null = null;\n\n function ensurePcmPlayer(): typeof playerRef {\n if (!enableAudio || playerRef) return playerRef;\n\n const options = { ...DEFAULT_PCM_OPTIONS, ...(pcmOptions || {}) };\n playerRef = createPcmPlayerInstance(options, () => {\n onPlaybackComplete();\n });\n return playerRef;\n }\n\n function destroyPcmPlayer(): void {\n if (!playerRef) return;\n try {\n playerRef.interrupt?.();\n playerRef.destroy?.();\n } catch {\n // ignore cleanup errors\n }\n playerRef = null;\n }\n\n function feedAudio(audioData: Uint8Array): void {\n const player = ensurePcmPlayer();\n if (!player) return;\n try {\n player.feed(audioData);\n } catch (error) {\n log('feedAudio: player.feed() failed', error);\n onPlaybackComplete();\n }\n }\n\n function requestStop(): void {\n if (!playerRef) {\n onPlaybackComplete();\n return;\n }\n try {\n playerRef.setRequestStop();\n const hasActivePlayback =\n (playerRef as unknown as { playingBufferNode?: unknown; scheduledBufferNode?: unknown }).playingBufferNode ||\n (playerRef as unknown as { playingBufferNode?: unknown; scheduledBufferNode?: unknown }).scheduledBufferNode;\n if (!hasActivePlayback) {\n onPlaybackComplete();\n }\n } catch (error) {\n log('requestStop: setRequestStop() failed', error);\n onPlaybackComplete();\n }\n }\n\n function interruptPlayback(): void {\n destroyPcmPlayer();\n }\n\n function pauseAudioPlayback(): void {\n if (!playerRef) return;\n try {\n const ctx = (playerRef as unknown as { audioCtx?: { state: string; suspend: () => void } }).audioCtx;\n if (ctx?.state === 'running') {\n ctx.suspend();\n }\n } catch (error) {\n log('pauseAudioPlayback: audioCtx.suspend() failed', error);\n }\n }\n\n async function resumeAudioPlayback(): Promise<void> {\n const player = ensurePcmPlayer();\n if (!player) return;\n try {\n const ctx = (player as unknown as { audioCtx?: { state: string; resume: () => Promise<void> } }).audioCtx;\n if (ctx?.state === 'suspended') {\n await ctx.resume();\n }\n } catch (error) {\n log('resumeAudioPlayback: audioCtx.resume() failed', error);\n }\n }\n\n function attachAudioElement(element: HTMLAudioElement | null): void {\n audioElementRef = element || null;\n }\n\n function getAudioElement(): HTMLAudioElement | null {\n return audioElementRef;\n }\n\n function isDestroyed(): boolean {\n if (!playerRef) return true;\n return playerRef._isDestroyed?.() ?? true;\n }\n\n return {\n ensurePcmPlayer,\n destroyPcmPlayer,\n feedAudio,\n requestStop,\n interruptPlayback,\n pauseAudioPlayback,\n resumeAudioPlayback,\n attachAudioElement,\n getAudioElement,\n isDestroyed,\n };\n}\n","import { DEFAULT_RECONNECT_OPTIONS } from '../constants';\nimport type { RqmiiReconnectOptions } from '../../types';\n\nexport interface ReconnectCredential {\n sessionId: string;\n reconnectToken: string;\n role: string;\n}\n\ninterface ReconnectManagerOptions {\n log: (...args: unknown[]) => void;\n reconnectOptions?: RqmiiReconnectOptions;\n}\n\nexport function createReconnectionManager({ log, reconnectOptions }: ReconnectManagerOptions) {\n let credential: ReconnectCredential | null = null;\n let reconnecting = false;\n let aborted = false;\n\n const options = {\n ...DEFAULT_RECONNECT_OPTIONS,\n ...(reconnectOptions || {}),\n };\n\n function storeCredential(payload: unknown): void {\n const p = payload as Record<string, string> | null;\n if (!p?.sessionId || !p?.reconnectToken || !p?.role) return;\n credential = {\n sessionId: p.sessionId,\n reconnectToken: p.reconnectToken,\n role: p.role,\n };\n }\n\n function getCredential(): ReconnectCredential | null {\n return credential;\n }\n\n function clearCredential(): void {\n credential = null;\n }\n\n async function tryReconnect({\n connectSocket,\n onAttempt,\n onSuccess,\n onFailure,\n isAborted,\n }: {\n connectSocket: (args: { authPayload: Record<string, unknown>; expectReconnectSuccess: boolean }) => Promise<unknown>;\n onAttempt?: (attempt: number) => void;\n onSuccess?: () => void;\n onFailure?: (msg: string) => void;\n isAborted?: () => boolean;\n }): Promise<void> {\n if (reconnecting) return;\n\n if (!credential) {\n onFailure?.('Reconnect token unavailable. Please initialize a new session.');\n return;\n }\n\n reconnecting = true;\n aborted = false;\n\n for (let attempt = 1; attempt <= options.maxAttempts; attempt += 1) {\n if (isAborted?.() || aborted) {\n reconnecting = false;\n return;\n }\n\n onAttempt?.(attempt);\n\n try {\n await connectSocket({\n authPayload: {\n reconnectToken: credential.reconnectToken,\n sessionId: credential.sessionId,\n role: credential.role,\n },\n expectReconnectSuccess: true,\n });\n\n reconnecting = false;\n onSuccess?.();\n return;\n } catch (error) {\n log(`reconnect attempt ${attempt} failed`, error);\n const delay = Math.min(\n options.maxDelayMs,\n options.initialDelayMs * 2 ** (attempt - 1),\n );\n await new Promise((r) => setTimeout(r, delay));\n }\n }\n\n reconnecting = false;\n onFailure?.('Reconnect window expired. Please initialize a new session.');\n }\n\n function abortReconnect(): void {\n aborted = true;\n }\n\n function isReconnecting(): boolean {\n return reconnecting;\n }\n\n return {\n storeCredential,\n getCredential,\n clearCredential,\n tryReconnect,\n abortReconnect,\n isReconnecting,\n };\n}\n","import { SOCKET_EVENTS } from '../constants';\n\ninterface HeartbeatManagerOptions {\n intervalMs: number;\n log: (...args: unknown[]) => void;\n}\n\nexport function createHeartbeatManager({ intervalMs, log }: HeartbeatManagerOptions) {\n let timerId: ReturnType<typeof setInterval> | null = null;\n\n function start(socket: { emit: (event: string, payload: unknown) => void }): void {\n if (timerId !== null) {\n clearInterval(timerId);\n timerId = null;\n }\n\n log('[HeartbeatManager] starting heartbeat, intervalMs:', intervalMs);\n\n timerId = setInterval(() => {\n if (socket) {\n socket.emit(SOCKET_EVENTS.HEARTBEAT, {});\n }\n }, intervalMs);\n }\n\n function stop(): void {\n if (timerId !== null) {\n log('[HeartbeatManager] stopping heartbeat');\n clearInterval(timerId);\n timerId = null;\n }\n }\n\n function isRunning(): boolean {\n return timerId !== null;\n }\n\n return { start, stop, isRunning };\n}\n","import { useRef, useEffect, useCallback } from 'react';\nimport type { Socket } from 'socket.io-client';\nimport { createSocketManager } from '../core/managers/socket';\nimport { createAudioManager } from '../core/managers/audio';\nimport { createReconnectionManager } from '../core/managers/reconnect';\nimport { createSessionManager } from '../core/managers/session';\nimport { createHeartbeatManager } from '../core/managers/heartbeat';\nimport type { RqmiiReconnectOptions, RqmiiPCMOptions } from '../types';\n\ninterface ManagerLifecycleOptions {\n wsUrl: string;\n restUrl: string;\n reconnectOptions?: RqmiiReconnectOptions;\n enableAudio: boolean;\n pcmOptions?: RqmiiPCMOptions;\n debug: boolean;\n withCredentials: boolean;\n heartbeatIntervalSeconds: number;\n onPlaybackComplete: () => void;\n}\n\nexport function useManagerLifecycle(options: ManagerLifecycleOptions) {\n const { wsUrl, restUrl, reconnectOptions, enableAudio, pcmOptions, debug, withCredentials, heartbeatIntervalSeconds, onPlaybackComplete } = options;\n\n const log = useCallback((...args: unknown[]) => {\n if (debug) console.log('[RqmiiSDK]', ...args);\n }, [debug]);\n\n const socketMgrRef = useRef<ReturnType<typeof createSocketManager> | null>(null);\n const audioMgrRef = useRef<ReturnType<typeof createAudioManager> | null>(null);\n const reconnectMgrRef = useRef<ReturnType<typeof createReconnectionManager> | null>(null);\n const sessionMgrRef = useRef<ReturnType<typeof createSessionManager> | null>(null);\n const heartbeatMgrRef = useRef<ReturnType<typeof createHeartbeatManager> | null>(null);\n\n if (!socketMgrRef.current) {\n socketMgrRef.current = createSocketManager({ wsUrl, log });\n }\n if (!audioMgrRef.current) {\n audioMgrRef.current = createAudioManager({ enableAudio, pcmOptions, log, onPlaybackComplete });\n }\n if (!reconnectMgrRef.current) {\n reconnectMgrRef.current = createReconnectionManager({ log, reconnectOptions });\n }\n if (!sessionMgrRef.current) {\n sessionMgrRef.current = createSessionManager({ restUrl, log, withCredentials });\n }\n if (!heartbeatMgrRef.current) {\n heartbeatMgrRef.current = createHeartbeatManager({ intervalMs: heartbeatIntervalSeconds * 1000, log });\n }\n\n useEffect(() => {\n return () => {\n heartbeatMgrRef.current?.stop();\n socketMgrRef.current?.cleanupSocket();\n audioMgrRef.current?.destroyPcmPlayer();\n };\n }, []);\n\n return {\n socketMgrRef,\n audioMgrRef,\n reconnectMgrRef,\n sessionMgrRef,\n heartbeatMgrRef,\n log,\n };\n}\n","export function sanitizeAgentType(value: unknown): string {\n return String(value || '').toLowerCase().replaceAll('-', '_');\n}\n","export function toUint8Array(audio: unknown): Uint8Array | null {\n if (!audio) return null;\n if (audio instanceof Uint8Array) return audio;\n if (audio instanceof ArrayBuffer) return new Uint8Array(audio);\n if (typeof audio === 'object' && audio !== null) {\n const obj = audio as Record<string, unknown>;\n if (obj.buffer instanceof ArrayBuffer) {\n const buf = audio as ArrayBufferView;\n const byteOffset = Number.isInteger(buf.byteOffset) ? buf.byteOffset : 0;\n const byteLength = Number.isInteger(buf.byteLength) ? buf.byteLength : buf.buffer.byteLength - byteOffset;\n return new Uint8Array(buf.buffer, byteOffset, byteLength);\n }\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return new Uint8Array(obj.data as number[]);\n }\n }\n try {\n return new Uint8Array(audio as ArrayLike<number>);\n } catch {\n return null;\n }\n}\n","import type { Socket } from 'socket.io-client';\nimport type { Dispatch } from 'react';\nimport { SOCKET_EVENTS, CONNECTION_STATE, AGENT_TYPES } from '../core/constants';\nimport { sanitizeAgentType } from '../core/utils/agent-type';\nimport { toUint8Array } from '../core/utils/bytes';\nimport type { createResponseChunkAccumulator } from '../core/utils/accumulator';\nimport type { RqmiiState, TranscriptPayload, PartialTranscriptPayload, RqmiiReconnectOptions, AgentType } from '../types';\nimport type { StateAction } from '../core/state/types';\n\ninterface SocketHandlerDeps {\n socket: Socket;\n dispatch: Dispatch<StateAction>;\n stateRef: { current: RqmiiState };\n sessionIdRef: { current: string | null };\n sessionAgentTypeRef: { current: AgentType | null };\n interruptedRef: { current: boolean };\n manualDisconnectRef: { current: boolean };\n chunkAccumulatorRef: { current: ReturnType<typeof createResponseChunkAccumulator> };\n reconnectMgrRef: { current: { storeCredential: (p: unknown) => void } };\n heartbeatMgrRef: { current: { start: (s: Socket) => void; stop: () => void } };\n audioMgrRef: { current: { feedAudio: (d: Uint8Array) => void; requestStop: () => void; interruptPlayback: () => void; isDestroyed: () => boolean } };\n enableAudio: boolean;\n reconnectOptions?: RqmiiReconnectOptions;\n cbRefs: { current: {\n onSessionExpired?: (payload?: { sessionId?: string; message?: string; timestamp?: string }) => void;\n onSessionTerminated?: () => void;\n onError?: (payload?: { code?: string; message?: string; detail?: string }) => void;\n onDisconnect?: (reason?: string) => void;\n onReconnectSuccess?: (payload?: { sessionId?: string; reconnectToken?: string; role?: string }) => void;\n onReconnectFailed?: (payload?: { code?: string; reason?: string }) => void;\n }};\n log: (...args: unknown[]) => void;\n}\n\nexport function registerSocketHandlers(deps: SocketHandlerDeps): void {\n const { socket, dispatch, stateRef, sessionIdRef, sessionAgentTypeRef, interruptedRef, manualDisconnectRef, chunkAccumulatorRef, reconnectMgrRef, heartbeatMgrRef, audioMgrRef, enableAudio, reconnectOptions, cbRefs, log } = deps;\n const S = SOCKET_EVENTS;\n const hb = heartbeatMgrRef.current;\n const audio = audioMgrRef.current;\n\n socket.onAny((event: string, ...args: unknown[]) => {\n log(`[event] ${event}`, args.length > 0 ? args[0] : '');\n });\n socket.onAnyOutgoing((event: string, ...args: unknown[]) => {\n log(`[emit] ${event}`, args.length > 0 ? args[0] : '');\n });\n\n socket.on(S.DISCONNECT, (reason: string) => {\n log('socket disconnected', reason);\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.IDLE });\n dispatch({ type: 'SET_SESSION_READY', payload: false });\n hb.stop();\n cbRefs.current.onDisconnect?.(reason);\n if (manualDisconnectRef.current) return;\n if (reconnectOptions?.enabled !== false) {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.RECONNECTING });\n } else {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: 'Connection lost' });\n }\n });\n\n socket.on(S.SESSION_READY, (payload: { agentType?: string } | undefined) => {\n dispatch({ type: 'SET_SESSION_READY', payload: true });\n dispatch({ type: 'SET_ERROR', payload: null });\n if (payload?.agentType) {\n dispatch({ type: 'UPDATE_SESSION', payload: { agentType: sanitizeAgentType(payload.agentType) as AgentType } });\n }\n hb.start(socket);\n });\n\n socket.on(S.SESSION_JOINED, () => {\n dispatch({ type: 'SET_SESSION_READY', payload: true });\n dispatch({ type: 'SET_ERROR', payload: null });\n hb.start(socket);\n });\n\n socket.on(S.SESSION_TERMINATED, () => {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.ENDED });\n dispatch({ type: 'SET_SESSION_READY', payload: false });\n hb.stop();\n cbRefs.current.onSessionTerminated?.();\n });\n\n socket.on(S.TRANSCRIPT, (payload: TranscriptPayload | undefined) => {\n const p = payload || null;\n dispatch({ type: 'SET_TRANSCRIPT', payload: p });\n if (p?.is_final && p?.text?.trim()) {\n dispatch({\n type: 'ADD_MESSAGE',\n payload: { id: `transcript-${Date.now()}`, role: 'user', text: p.text.trim(), timestamp: new Date().toISOString() },\n });\n dispatch({ type: 'SET_PARTIAL_TRANSCRIPT', payload: null });\n }\n });\n\n socket.on(S.PARTIAL_TRANSCRIPT, (payload: PartialTranscriptPayload | string | undefined) => {\n const text = typeof payload === 'string' ? payload : payload?.text;\n if (typeof text === 'string' && text.length === 0) return;\n dispatch({ type: 'SET_PARTIAL_TRANSCRIPT', payload: (payload as PartialTranscriptPayload) || null });\n });\n\n socket.on(S.AGENT_RESPONSE_CHUNK, (payload: { requestId?: string; text?: string } | undefined) => {\n const { id, text } = chunkAccumulatorRef.current.addChunk(payload?.requestId, payload?.text);\n dispatch({\n type: 'SET_MESSAGES',\n payload: [\n ...stateRef.current.messages.filter((m) => m.id !== id),\n { id, role: 'assistant', text, streaming: true, timestamp: new Date().toISOString() },\n ],\n });\n });\n\n socket.on(S.AGENT_RESPONSE, (payload: { requestId?: string; text?: string } | undefined) => {\n const { id, text } = chunkAccumulatorRef.current.consume(payload?.requestId, payload?.text);\n dispatch({\n type: 'SET_MESSAGES',\n payload: [\n ...stateRef.current.messages.filter((m) => m.id !== id),\n { id, role: 'assistant', text, streaming: false, timestamp: new Date().toISOString() },\n ],\n });\n });\n\n socket.on(S.AVATAR_SPEAKING, () => {\n dispatch({ type: 'SET_AVATAR_SPEAKING', payload: true });\n });\n\n socket.on(S.AVATAR_SPEAKING_DONE, () => {\n dispatch({ type: 'SET_AVATAR_SPEAKING', payload: false });\n });\n\n socket.on(S.AGENT_AUDIO_CHUNK, (payload: { audio?: unknown } | undefined) => {\n if (!enableAudio || interruptedRef.current) return;\n const at = sanitizeAgentType(sessionAgentTypeRef.current);\n if (at === 'cloud_avatar' || at === 'desktop_avatar') return;\n const audioData = toUint8Array(payload?.audio);\n if (!audioData) return;\n audio.feedAudio(audioData);\n dispatch({ type: 'SET_AUDIO_PLAYING', payload: true });\n });\n\n socket.on(S.AGENT_AUDIO_COMPLETE, () => {\n if (!enableAudio) return;\n const at = sanitizeAgentType(sessionAgentTypeRef.current);\n if (at === 'cloud_avatar' || at === 'desktop_avatar') return;\n audio.requestStop();\n });\n\n socket.on(S.INTERRUPTED, () => {\n const wasPlaying = !audio.isDestroyed();\n interruptedRef.current = false;\n audio.interruptPlayback();\n dispatch({ type: 'SET_AUDIO_PLAYING', payload: false });\n if (wasPlaying && socket.connected) {\n socket.emit(S.AUDIO_PLAYBACK_COMPLETE, { session_id: sessionIdRef.current });\n }\n });\n\n socket.on(S.HEARTBEAT_ACK, (payload: { timestamp?: string } | undefined) => {\n log('heartbeat ack', payload?.timestamp);\n dispatch({ type: 'SET_HEARTBEAT_ACK', payload: payload?.timestamp ?? null });\n });\n\n const storeAndUpdateSession = (payload: unknown) => {\n reconnectMgrRef.current.storeCredential(payload);\n const p = payload as Record<string, string> | null;\n if (p?.sessionId && p?.role) {\n dispatch({ type: 'UPDATE_SESSION', payload: { sessionId: p.sessionId, role: p.role } });\n }\n };\n\n socket.on(S.RECONNECT_CREDENTIAL, (payload: unknown) => {\n log('received reconnect credential');\n storeAndUpdateSession(payload);\n });\n\n socket.on(S.RECONNECT_SUCCESS, (payload: unknown) => {\n storeAndUpdateSession(payload);\n dispatch({ type: 'SET_RECONNECT_ATTEMPT', payload: 0 });\n dispatch({ type: 'SET_SESSION_READY', payload: true });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.CONNECTED });\n cbRefs.current.onReconnectSuccess?.(payload as { sessionId?: string; reconnectToken?: string; role?: string });\n });\n\n socket.on(S.RECONNECT_FAILED, (payload: { reason?: string } | undefined) => {\n log('reconnect failed', payload);\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: payload?.reason || 'Reconnect failed' });\n cbRefs.current.onReconnectFailed?.(payload);\n });\n\n socket.on(S.AUTH_ERROR, (payload: { message?: string } | undefined) => {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: payload?.message || 'Authentication error' });\n });\n\n socket.on(S.ERROR, (payload: { code?: string; message?: string; detail?: string } | undefined) => {\n const code = payload?.code;\n if (code === 'TTS_ERROR') {\n log('non-fatal TTS error', payload);\n return;\n }\n if (code === 'INSUFFICIENT_CREDITS') {\n dispatch({ type: 'SET_CREDIT_EXHAUSTED', payload: { exhausted: true, error: payload?.message || 'Insufficient credits to process this request.' } });\n cbRefs.current.onError?.(payload);\n return;\n }\n dispatch({ type: 'SET_ERROR', payload: payload?.message || payload?.detail || 'Server error' });\n cbRefs.current.onError?.(payload);\n });\n\n socket.on(S.SESSION_EXPIRED, (payload: unknown) => {\n log('session expired', payload);\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.ENDED });\n dispatch({ type: 'SET_SESSION_READY', payload: false });\n hb.stop();\n cbRefs.current.onSessionExpired?.(payload as { sessionId?: string; message?: string; timestamp?: string });\n });\n\n socket.on(S.CREDITS_EXHAUSTED, () => {\n log('credits exhausted — disconnecting');\n dispatch({ type: 'SET_CREDIT_EXHAUSTED', payload: { exhausted: true, error: 'This project has run out of credits.' } });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.ENDED });\n dispatch({ type: 'SET_SESSION_READY', payload: false });\n hb.stop();\n manualDisconnectRef.current = true;\n try { socket.disconnect(); } catch { /* best-effort */ }\n });\n\n socket.on(S.SESSION_STATE_CHANGED, (payload: { state?: string } | undefined) => {\n if (!payload?.state) return;\n log('session state changed', payload.state);\n dispatch({ type: 'SET_SESSION_STATE', payload: payload.state as never });\n });\n}\n","import type { EventType, EventHandlerMap } from '../../types';\n\ntype Handler = (...args: unknown[]) => void;\n\nexport class EventEmitter {\n private listeners = new Map<string, Set<Handler>>();\n\n on<T extends EventType>(event: T, handler: EventHandlerMap[T]): () => void {\n if (!this.listeners.has(event)) {\n this.listeners.set(event, new Set());\n }\n this.listeners.get(event)!.add(handler as Handler);\n return () => this.off(event, handler);\n }\n\n once<T extends EventType>(event: T, handler: EventHandlerMap[T]): () => void {\n const onceHandler = ((...args: unknown[]) => {\n this.off(event, onceHandler as EventHandlerMap[T]);\n (handler as Handler)(...args);\n }) as Handler;\n return this.on(event, onceHandler as EventHandlerMap[T]);\n }\n\n off<T extends EventType>(event: T, handler: EventHandlerMap[T]): void {\n this.listeners.get(event)?.delete(handler as Handler);\n }\n\n emit<T extends EventType>(event: T, payload?: Parameters<EventHandlerMap[T]>[0]): void {\n const handlers = this.listeners.get(event);\n if (!handlers) return;\n for (const handler of handlers) {\n try {\n handler(payload);\n } catch {\n // swallow handler errors\n }\n }\n }\n\n removeAllListeners(): void {\n this.listeners.clear();\n }\n}\n","import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useReducer } from 'react';\nimport type { Socket } from 'socket.io-client';\nimport { DEFAULT_STATE, type StateAction } from '../core/state/types';\nimport { rqmiiReducer } from '../core/state/reducer';\nimport { deriveSessionBooleans } from '../core/state/selectors';\nimport { CONNECTION_STATE, CLOUD_STREAM_STATE, SOCKET_EVENTS, AGENT_TYPES } from '../core/constants';\nimport { createResponseChunkAccumulator } from '../core/utils/accumulator';\nimport { sanitizeAgentType } from '../core/utils/agent-type';\nimport { detectClientTimezone } from '../core/managers/session';\nimport { useManagerLifecycle } from './use-manager-lifecycle';\nimport { registerSocketHandlers } from './socket-handlers';\nimport { EventEmitter } from '../core/events/emitter';\nimport type {\n RqmiiAgentProviderProps,\n RqmiiAgentContextValue,\n SessionData,\n InitializeSessionArgs,\n JoinDesktopSessionArgs,\n CloudStreamState,\n AgentType,\n} from '../types';\n\nconst RqmiiAgentContext = createContext<RqmiiAgentContextValue | null>(null);\n\nexport function RqmiiAgentProvider({\n children,\n wsUrl,\n restUrl,\n reconnectOptions,\n enableAudio = true,\n pcmOptions,\n debug = false,\n heartbeatIntervalSeconds = 15,\n withCredentials = false,\n onSessionExpired,\n onSessionTerminated,\n onError,\n onDisconnect,\n onReconnectSuccess,\n onReconnectFailed,\n}: RqmiiAgentProviderProps) {\n const [state, rawDispatch] = useReducer(rqmiiReducer, DEFAULT_STATE);\n const stateRef = useRef(state);\n\n const dispatch = useCallback((action: StateAction) => {\n stateRef.current = rqmiiReducer(stateRef.current, action);\n rawDispatch(action);\n }, []);\n const manualDisconnectRef = useRef(false);\n const chunkAccumulatorRef = useRef(createResponseChunkAccumulator());\n const sessionIdRef = useRef<string | null>(null);\n const sessionAgentTypeRef = useRef<AgentType | null>(DEFAULT_STATE.session.agentType);\n const interruptedRef = useRef(false);\n const eventsRef = useRef(new EventEmitter());\n\n const cbRefs = useRef({ onSessionExpired, onSessionTerminated, onError, onDisconnect, onReconnectSuccess, onReconnectFailed });\n useEffect(() => {\n cbRefs.current = { onSessionExpired, onSessionTerminated, onError, onDisconnect, onReconnectSuccess, onReconnectFailed };\n }, [onSessionExpired, onSessionTerminated, onError, onDisconnect, onReconnectSuccess, onReconnectFailed]);\n\n useEffect(() => { sessionAgentTypeRef.current = state.session.agentType; }, [state.session.agentType]);\n useEffect(() => { sessionIdRef.current = state.session.sessionId; }, [state.session.sessionId]);\n\n const handlePlaybackComplete = useCallback(() => {\n dispatch({ type: 'SET_AUDIO_PLAYING', payload: false });\n const s = socketMgrRef.current?.getSocket();\n if (s?.connected) s.emit(SOCKET_EVENTS.AUDIO_PLAYBACK_COMPLETE, { session_id: sessionIdRef.current });\n }, []);\n\n const { socketMgrRef, audioMgrRef, reconnectMgrRef, sessionMgrRef, heartbeatMgrRef, log } = useManagerLifecycle({\n wsUrl, restUrl, reconnectOptions, enableAudio, pcmOptions, debug, withCredentials, heartbeatIntervalSeconds,\n onPlaybackComplete: handlePlaybackComplete,\n });\n\n const registerHandlers = useCallback((socket: Socket) => {\n registerSocketHandlers({\n socket,\n dispatch,\n stateRef,\n sessionIdRef,\n sessionAgentTypeRef,\n interruptedRef,\n manualDisconnectRef,\n chunkAccumulatorRef,\n reconnectMgrRef: { current: reconnectMgrRef.current! },\n heartbeatMgrRef: { current: heartbeatMgrRef.current! },\n audioMgrRef: { current: audioMgrRef.current! },\n enableAudio,\n reconnectOptions,\n cbRefs,\n log,\n });\n }, [enableAudio, reconnectOptions, log]);\n\n const connectSocket = useCallback(\n ({ authPayload, queryToken, expectReconnectSuccess = false }: { authPayload: Record<string, unknown>; queryToken?: string | null; expectReconnectSuccess?: boolean }): Promise<Socket> =>\n new Promise((resolve, reject) => {\n socketMgrRef.current?.cleanupSocket();\n\n const socket = socketMgrRef.current!.connectSocketRaw({ authPayload, queryToken });\n registerHandlers(socket);\n\n if (!expectReconnectSuccess) {\n socket.once('connect', () => {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.CONNECTED });\n dispatch({ type: 'SET_ERROR', payload: null });\n resolve(socket);\n });\n socket.once('connect_error', (error: Error) => {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: error?.message || 'Connection error' });\n reject(error);\n });\n } else {\n const timeoutMs = reconnectOptions?.timeoutMs ?? 8000;\n const onSuccess = () => {\n socket.off(SOCKET_EVENTS.RECONNECT_FAILED, onFail);\n resolve(socket);\n };\n const onFail = (p: { reason?: string }) => {\n socket.off(SOCKET_EVENTS.RECONNECT_SUCCESS, onSuccess);\n reject(new Error(p?.reason || 'Reconnect failed'));\n };\n socket.once(SOCKET_EVENTS.RECONNECT_SUCCESS, onSuccess);\n socket.once(SOCKET_EVENTS.RECONNECT_FAILED, onFail);\n setTimeout(() => {\n socket.off(SOCKET_EVENTS.RECONNECT_SUCCESS, onSuccess);\n socket.off(SOCKET_EVENTS.RECONNECT_FAILED, onFail);\n reject(new Error('Reconnect timed out'));\n }, timeoutMs);\n }\n }),\n [registerHandlers, reconnectOptions],\n );\n\n useEffect(() => {\n if (state.connectionState !== CONNECTION_STATE.RECONNECTING) return;\n if (reconnectOptions?.enabled === false) return;\n reconnectMgrRef.current!.tryReconnect({\n connectSocket,\n onAttempt: (attempt) => dispatch({ type: 'SET_RECONNECT_ATTEMPT', payload: attempt }),\n onSuccess: () => {},\n onFailure: (msg) => {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: msg });\n cbRefs.current.onReconnectFailed?.({ reason: msg });\n },\n isAborted: () => manualDisconnectRef.current,\n });\n }, [state.connectionState, connectSocket]);\n\n const hardResetForNewSession = useCallback(({ keepManualDisconnect = false }: { keepManualDisconnect?: boolean } = {}) => {\n manualDisconnectRef.current = true;\n reconnectMgrRef.current!.clearCredential();\n interruptedRef.current = false;\n chunkAccumulatorRef.current.clear();\n heartbeatMgrRef.current!.stop();\n audioMgrRef.current!.destroyPcmPlayer();\n socketMgrRef.current!.cleanupSocket();\n if (!keepManualDisconnect) manualDisconnectRef.current = false;\n dispatch({ type: 'HARD_RESET' });\n }, []);\n\n const initializeSession = useCallback(async ({ apiKey, publicChatId, agentId, userId, language = 'en' }: InitializeSessionArgs = {}): Promise<SessionData> => {\n if (!wsUrl) throw new Error('Missing wsUrl in RqmiiAgentProvider');\n if (!apiKey && !publicChatId && !agentId) throw new Error('Provide one of apiKey, publicChatId, or agentId');\n hardResetForNewSession();\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.INITIALIZING });\n dispatch({ type: 'SET_ERROR', payload: null });\n let data: Record<string, unknown>;\n try {\n data = await sessionMgrRef.current!.initializeSession({ apiKey, publicChatId, agentId, userId, language });\n } catch (e) {\n const err = e as Error & { status?: number };\n if (err.status === 401 || err.status === 403) {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: err.message || 'Authentication failed' });\n }\n if (err.status === 402) {\n dispatch({ type: 'SET_CREDIT_EXHAUSTED', payload: { exhausted: true, error: err.message || 'Insufficient credits' } });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n }\n if (err.status === 429) {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: err.message || 'Too many requests. Please try again later.' });\n }\n throw e;\n }\n const d = data as { session_id: string; session_token: string; streaming_url?: string; unique_id?: string };\n dispatch({\n type: 'UPDATE_SESSION',\n payload: {\n sessionId: d.session_id,\n agentType: d.streaming_url ? AGENT_TYPES.CLOUD_AVATAR : state.session.agentType,\n streamingUrl: d.streaming_url || null,\n uniqueId: d.unique_id || null,\n },\n });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.CONNECTING });\n dispatch({ type: 'SET_CLOUD_STREAM_STATE', payload: { state: d.streaming_url ? CLOUD_STREAM_STATE.CONNECTING : CLOUD_STREAM_STATE.IDLE, error: null } });\n const tz = detectClientTimezone();\n manualDisconnectRef.current = true;\n try {\n await connectSocket({ authPayload: tz ? { token: d.session_token, timezone: tz } : { token: d.session_token }, queryToken: d.session_token as string });\n manualDisconnectRef.current = false;\n } catch (err) {\n manualDisconnectRef.current = false;\n throw err;\n }\n return data as unknown as SessionData;\n }, [connectSocket, hardResetForNewSession, wsUrl, state.session.agentType]);\n\n const joinDesktopSession = useCallback(async ({ uniqueId }: JoinDesktopSessionArgs): Promise<SessionData> => {\n if (!wsUrl) throw new Error('Missing wsUrl in RqmiiAgentProvider');\n if (!uniqueId) throw new Error('uniqueId is required');\n hardResetForNewSession();\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.INITIALIZING });\n dispatch({ type: 'SET_ERROR', payload: null });\n let data: Record<string, unknown>;\n try {\n data = await sessionMgrRef.current!.joinDesktopSession({ uniqueId });\n } catch (e) {\n const err = e as Error & { status?: number };\n if (err.status === 401 || err.status === 403) {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: err.message || 'Authentication failed' });\n }\n if (err.status === 402) {\n dispatch({ type: 'SET_CREDIT_EXHAUSTED', payload: { exhausted: true, error: err.message || 'Insufficient credits' } });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n }\n if (err.status === 429) {\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.FAILED });\n dispatch({ type: 'SET_ERROR', payload: err.message || 'Too many requests. Please try again later.' });\n }\n throw e;\n }\n const d = data as { session_id: string; session_token: string };\n dispatch({\n type: 'UPDATE_SESSION',\n payload: { sessionId: d.session_id, uniqueId, role: 'user', agentType: AGENT_TYPES.DESKTOP_AVATAR },\n });\n dispatch({ type: 'SET_CONNECTION_STATE', payload: CONNECTION_STATE.CONNECTING });\n dispatch({ type: 'SET_CLOUD_STREAM_STATE', payload: { state: CLOUD_STREAM_STATE.IDLE, error: null } });\n manualDisconnectRef.current = true;\n try {\n await connectSocket({ authPayload: { token: d.session_token }, queryToken: d.session_token });\n manualDisconnectRef.current = false;\n } catch (err) {\n manualDisconnectRef.current = false;\n throw err;\n }\n return data as unknown as SessionData;\n }, [connectSocket, hardResetForNewSession, wsUrl]);\n\n const disconnect = useCallback(() => hardResetForNewSession({ keepManualDisconnect: true }), [hardResetForNewSession]);\n const terminateSession = useCallback(async () => { disconnect(); return { success: true }; }, [disconnect]);\n\n const emit = useCallback((event: string, payload: unknown = {}) => {\n const socket = socketMgrRef.current?.getSocket();\n if (!socket || !state.isConnected) return false;\n socket.emit(event, payload);\n return true;\n }, [state.isConnected]);\n\n const sendTextMessage = useCallback((text: string) => {\n if (!text || !String(text).trim()) return false;\n dispatch({ type: 'ADD_MESSAGE', payload: { id: `user-${Date.now()}`, role: 'user', text: String(text), timestamp: new Date().toISOString() } });\n return emit(SOCKET_EVENTS.USER_MESSAGE, { message: String(text) });\n }, [emit]);\n\n const sendAudioChunk = useCallback((audio: unknown) => emit(SOCKET_EVENTS.AUDIO_CHUNK, { audio }), [emit]);\n const endAudioStream = useCallback(() => emit(SOCKET_EVENTS.AUDIO_END, {}), [emit]);\n const interrupt = useCallback(() => {\n interruptedRef.current = true;\n audioMgrRef.current!.interruptPlayback();\n dispatch({ type: 'SET_AUDIO_PLAYING', payload: false });\n return emit(SOCKET_EVENTS.INTERRUPT, {});\n }, [emit]);\n const clearSessionHistory = useCallback(() => emit(SOCKET_EVENTS.CLEAR_SESSION_HISTORY, {}), [emit]);\n const changeSessionLanguage = useCallback((language: string) => {\n if (!language) return false;\n return emit(SOCKET_EVENTS.CHANGE_SESSION_LANGUAGE, { language });\n }, [emit]);\n const signalClientReady = useCallback((payload: Record<string, unknown> = {}) => emit(SOCKET_EVENTS.CLIENT_READY, payload), [emit]);\n const clearMessages = useCallback(() => {\n chunkAccumulatorRef.current.clear();\n dispatch({ type: 'SET_MESSAGES', payload: [] });\n }, []);\n const resumeAudioPlayback = useCallback(() => audioMgrRef.current!.resumeAudioPlayback(), []);\n const pauseAudioPlayback = useCallback(() => audioMgrRef.current!.pauseAudioPlayback(), []);\n const attachAudioElement = useCallback((element: HTMLAudioElement | null) => audioMgrRef.current!.attachAudioElement(element), []);\n const setCloudStreamStateCallback = useCallback((nextState: CloudStreamState, error: unknown = null) => {\n dispatch({ type: 'SET_CLOUD_STREAM_STATE', payload: { state: nextState, error: error ? String(error) : null } });\n }, []);\n\n const sessionBooleans = useMemo(() => deriveSessionBooleans(state.sessionState), [state.sessionState]);\n\n const contextValue = useMemo<RqmiiAgentContextValue>(() => ({\n ...state,\n ...sessionBooleans,\n initializeSession,\n joinDesktopSession,\n disconnect,\n terminateSession,\n emit,\n sendTextMessage,\n sendAudioChunk,\n endAudioStream,\n interrupt,\n clearSessionHistory,\n changeSessionLanguage,\n signalClientReady,\n clearMessages,\n resumeAudioPlayback,\n pauseAudioPlayback,\n attachAudioElement,\n setCloudStreamState: setCloudStreamStateCallback,\n events: eventsRef.current,\n audioElement: audioMgrRef.current?.getAudioElement() ?? null,\n socket: socketMgrRef.current?.getSocket() ?? null,\n }), [\n state, sessionBooleans, initializeSession, joinDesktopSession, disconnect, terminateSession,\n emit, sendTextMessage, sendAudioChunk, endAudioStream, interrupt,\n clearSessionHistory, changeSessionLanguage, signalClientReady, clearMessages,\n resumeAudioPlayback, pauseAudioPlayback, attachAudioElement, setCloudStreamStateCallback,\n ]);\n\n return <RqmiiAgentContext.Provider value={contextValue}>{children}</RqmiiAgentContext.Provider>;\n}\n\nexport function useRqmiiAgentContext(): RqmiiAgentContextValue {\n const context = useContext(RqmiiAgentContext);\n if (!context) throw new Error('useRqmiiAgentContext must be used inside <RqmiiAgentProvider>');\n return context;\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiConnection() {\n const ctx = useRqmiiAgentContext();\n return {\n connectionState: ctx.connectionState,\n isConnected: ctx.isConnected,\n isSessionReady: ctx.isSessionReady,\n error: ctx.error,\n reconnectAttempt: ctx.reconnectAttempt,\n session: ctx.session,\n creditExhausted: ctx.creditExhausted,\n creditError: ctx.creditError,\n sessionState: ctx.sessionState,\n isSessionTerminated: ctx.isSessionTerminated,\n isSessionTerminating: ctx.isSessionTerminating,\n isAgentThinking: ctx.isAgentThinking,\n isAgentSpeaking: ctx.isAgentSpeaking,\n isToolExecuting: ctx.isToolExecuting,\n initializeSession: ctx.initializeSession,\n joinDesktopSession: ctx.joinDesktopSession,\n disconnect: ctx.disconnect,\n terminateSession: ctx.terminateSession,\n interrupt: ctx.interrupt,\n clearSessionHistory: ctx.clearSessionHistory,\n changeSessionLanguage: ctx.changeSessionLanguage,\n signalClientReady: ctx.signalClientReady,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiMessages() {\n const ctx = useRqmiiAgentContext();\n return {\n messages: ctx.messages,\n sendTextMessage: ctx.sendTextMessage,\n clearMessages: ctx.clearMessages,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\n\nexport function useRqmiiVoice() {\n const ctx = useRqmiiAgentContext();\n return {\n sendAudioChunk: ctx.sendAudioChunk,\n endAudioStream: ctx.endAudioStream,\n isAudioPlaying: ctx.isAudioPlaying,\n transcript: ctx.transcript,\n partialTranscript: ctx.partialTranscript,\n interrupt: ctx.interrupt,\n resumeAudioPlayback: ctx.resumeAudioPlayback,\n pauseAudioPlayback: ctx.pauseAudioPlayback,\n attachAudioElement: ctx.attachAudioElement,\n };\n}\n","import { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport { CLOUD_STREAM_STATE, AGENT_TYPES } from '../core/constants';\n\nexport function useRqmiiAvatar() {\n const ctx = useRqmiiAgentContext();\n const streamState = ctx.cloudStream?.state || CLOUD_STREAM_STATE.IDLE;\n\n return {\n streamingUrl: ctx.session.streamingUrl,\n isAvatarSpeaking: ctx.isAvatarSpeaking,\n speakingSource: 'avatar_events' as const,\n isCloudAvatar: ctx.session.agentType === AGENT_TYPES.CLOUD_AVATAR,\n isDesktopAvatar: ctx.session.agentType === AGENT_TYPES.DESKTOP_AVATAR,\n cloudStreamState: streamState,\n cloudStreamError: ctx.cloudStream?.error || null,\n isCloudStreamConnected: streamState === CLOUD_STREAM_STATE.CONNECTED,\n isCloudStreamLoading: streamState === CLOUD_STREAM_STATE.CONNECTING || streamState === CLOUD_STREAM_STATE.LOADING,\n setCloudStreamState: ctx.setCloudStreamState,\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.baseAssetPath = void 0;\n// nextjs@14 bundler may attempt to execute this during SSR and crash\nconst isWeb = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nconst currentScript = isWeb\n ? window.document.currentScript\n : null;\nlet basePath = \"/\";\nif (currentScript) {\n basePath = currentScript.src\n .replace(/#.*$/, \"\")\n .replace(/\\?.*$/, \"\")\n .replace(/\\/[^/]+$/, \"/\");\n}\nexports.baseAssetPath = basePath;\n//# sourceMappingURL=asset-path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultModelFetcher = void 0;\nconst defaultModelFetcher = (path) => {\n return fetch(path).then((model) => model.arrayBuffer());\n};\nexports.defaultModelFetcher = defaultModelFetcher;\n//# sourceMappingURL=default-model-fetcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.log = void 0;\nconst mkLogger = (level) => (message) => {\n console.log(`VAD | ${level} >`, message);\n};\nexports.log = {\n error: mkLogger(\"error\"),\n debug: mkLogger(\"debug\"),\n warn: mkLogger(\"warn\"),\n};\n//# sourceMappingURL=logging.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Message = void 0;\nvar Message;\n(function (Message) {\n Message[\"AudioFrame\"] = \"AUDIO_FRAME\";\n Message[\"SpeechStart\"] = \"SPEECH_START\";\n Message[\"VADMisfire\"] = \"VAD_MISFIRE\";\n Message[\"SpeechEnd\"] = \"SPEECH_END\";\n Message[\"SpeechStop\"] = \"SPEECH_STOP\";\n Message[\"SpeechRealStart\"] = \"SPEECH_REAL_START\";\n Message[\"FrameProcessed\"] = \"FRAME_PROCESSED\";\n})(Message || (exports.Message = Message = {}));\n//# sourceMappingURL=messages.js.map","\"use strict\";\n/*\nSome of this code, together with the default options found in index.ts,\nwere taken (or took inspiration) from https://github.com/snakers4/silero-vad\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameProcessor = exports.validateOptions = exports.defaultFrameProcessorOptions = void 0;\nconst logging_1 = require(\"./logging\");\nconst messages_1 = require(\"./messages\");\nexports.defaultFrameProcessorOptions = {\n positiveSpeechThreshold: 0.3,\n negativeSpeechThreshold: 0.25,\n preSpeechPadMs: 800,\n redemptionMs: 1400,\n minSpeechMs: 400,\n submitUserSpeechOnPause: false,\n};\nfunction validateOptions(options) {\n if (options.positiveSpeechThreshold < 0 ||\n options.positiveSpeechThreshold > 1) {\n logging_1.log.error(\"positiveSpeechThreshold should be a number between 0 and 1\");\n }\n if (options.negativeSpeechThreshold < 0 ||\n options.negativeSpeechThreshold > options.positiveSpeechThreshold) {\n logging_1.log.error(\"negativeSpeechThreshold should be between 0 and positiveSpeechThreshold\");\n }\n if (options.preSpeechPadMs < 0) {\n logging_1.log.error(\"preSpeechPadMs should be positive\");\n }\n if (options.redemptionMs < 0) {\n logging_1.log.error(\"redemptionMs should be positive\");\n }\n if (options.minSpeechMs < 0) {\n logging_1.log.error(\"minSpeechMs should be positive\");\n }\n}\nexports.validateOptions = validateOptions;\nconst concatArrays = (arrays) => {\n const sizes = arrays.reduce((out, next) => {\n out.push(out.at(-1) + next.length);\n return out;\n }, [0]);\n const outArray = new Float32Array(sizes.at(-1));\n arrays.forEach((arr, index) => {\n const place = sizes[index];\n outArray.set(arr, place);\n });\n return outArray;\n};\nfunction calculateFrameParams(options, msPerFrame) {\n const redemptionFrames = Math.floor(options.redemptionMs / msPerFrame);\n const preSpeechPadFrames = Math.floor(options.preSpeechPadMs / msPerFrame);\n const minSpeechFrames = Math.floor(options.minSpeechMs / msPerFrame);\n return { redemptionFrames, preSpeechPadFrames, minSpeechFrames };\n}\nclass FrameProcessor {\n constructor(modelProcessFunc, modelResetFunc, options, msPerFrame) {\n this.modelProcessFunc = modelProcessFunc;\n this.modelResetFunc = modelResetFunc;\n this.options = options;\n this.msPerFrame = msPerFrame;\n this.speaking = false;\n this.redemptionCounter = 0;\n this.speechFrameCount = 0;\n this.active = false;\n this.speechRealStartFired = false;\n this.setOptions = (update) => {\n this.options = { ...this.options, ...update };\n const { redemptionFrames, preSpeechPadFrames, minSpeechFrames } = calculateFrameParams(this.options, this.msPerFrame);\n this.redemptionFrames = redemptionFrames;\n this.preSpeechPadFrames = preSpeechPadFrames;\n this.minSpeechFrames = minSpeechFrames;\n };\n this.reset = () => {\n this.speaking = false;\n this.speechRealStartFired = false;\n this.audioBuffer = [];\n this.modelResetFunc();\n this.redemptionCounter = 0;\n this.speechFrameCount = 0;\n };\n this.pause = (handleEvent) => {\n this.active = false;\n if (this.options.submitUserSpeechOnPause) {\n this.endSegment(handleEvent);\n }\n else {\n this.reset();\n }\n };\n this.resume = () => {\n this.active = true;\n };\n this.endSegment = (handleEvent) => {\n const audioBuffer = this.audioBuffer;\n this.audioBuffer = [];\n const speaking = this.speaking;\n this.reset();\n if (speaking) {\n const speechFrameCount = audioBuffer.reduce((acc, item) => {\n return item.isSpeech ? acc + 1 : acc;\n }, 0);\n if (speechFrameCount >= this.minSpeechFrames) {\n const audio = concatArrays(audioBuffer.map((item) => item.frame));\n handleEvent({ msg: messages_1.Message.SpeechEnd, audio });\n }\n else {\n handleEvent({ msg: messages_1.Message.VADMisfire });\n }\n }\n return {};\n };\n this.process = async (frame, handleEvent) => {\n if (!this.active) {\n return;\n }\n const probs = await this.modelProcessFunc(frame);\n const isSpeech = probs.isSpeech >= this.options.positiveSpeechThreshold;\n handleEvent({ probs, msg: messages_1.Message.FrameProcessed, frame });\n this.audioBuffer.push({\n frame,\n isSpeech,\n });\n if (isSpeech) {\n this.speechFrameCount++;\n this.redemptionCounter = 0;\n }\n if (isSpeech && !this.speaking) {\n this.speaking = true;\n handleEvent({ msg: messages_1.Message.SpeechStart });\n }\n if (this.speaking &&\n this.speechFrameCount === this.minSpeechFrames &&\n !this.speechRealStartFired) {\n this.speechRealStartFired = true;\n handleEvent({ msg: messages_1.Message.SpeechRealStart });\n }\n if (probs.isSpeech < this.options.negativeSpeechThreshold &&\n this.speaking &&\n ++this.redemptionCounter >= this.redemptionFrames) {\n this.redemptionCounter = 0;\n this.speechFrameCount = 0;\n this.speaking = false;\n this.speechRealStartFired = false;\n const audioBuffer = this.audioBuffer;\n this.audioBuffer = [];\n const speechFrameCount = audioBuffer.reduce((acc, item) => {\n return item.isSpeech ? acc + 1 : acc;\n }, 0);\n if (speechFrameCount >= this.minSpeechFrames) {\n const audio = concatArrays(audioBuffer.map((item) => item.frame));\n handleEvent({ msg: messages_1.Message.SpeechEnd, audio });\n }\n else {\n handleEvent({ msg: messages_1.Message.VADMisfire });\n }\n }\n if (!this.speaking) {\n while (this.audioBuffer.length > this.preSpeechPadFrames) {\n this.audioBuffer.shift();\n }\n this.speechFrameCount = 0;\n }\n };\n this.audioBuffer = [];\n const { redemptionFrames, preSpeechPadFrames, minSpeechFrames } = calculateFrameParams(this.options, this.msPerFrame);\n this.redemptionFrames = redemptionFrames;\n this.preSpeechPadFrames = preSpeechPadFrames;\n this.minSpeechFrames = minSpeechFrames;\n this.reset();\n }\n}\nexports.FrameProcessor = FrameProcessor;\n//# sourceMappingURL=frame-processor.js.map","/*!\n * ONNX Runtime Web v1.26.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\"use strict\";var ort=(()=>{var $n=Object.defineProperty;var Nu=Object.getOwnPropertyDescriptor;var Lu=Object.getOwnPropertyNames;var Wu=Object.prototype.hasOwnProperty;var vn=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var k=(e,t)=>()=>(e&&(t=e(e=0)),t);var rt=(e,t)=>{for(var n in t)$n(e,n,{get:t[n],enumerable:!0})},Gu=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Lu(t))!Wu.call(e,o)&&o!==n&&$n(e,o,{get:()=>t[o],enumerable:!(r=Nu(t,o))||r.enumerable});return e};var ct=e=>Gu($n({},\"__esModule\",{value:!0}),e);var Tt,Ze,Ge,Hu,br,xn=k(()=>{\"use strict\";Tt=new Map,Ze=[],Ge=(e,t,n)=>{if(t&&typeof t.init==\"function\"&&typeof t.createInferenceSessionHandler==\"function\"){let r=Tt.get(e);if(r===void 0)Tt.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw new Error(`cannot register backend \"${e}\" using priority ${n}`)}if(n>=0){let o=Ze.indexOf(e);o!==-1&&Ze.splice(o,1);for(let i=0;i<Ze.length;i++)if(Tt.get(Ze[i]).priority<=n){Ze.splice(i,0,e);return}Ze.push(e)}return}throw new TypeError(\"not a valid backend\")},Hu=async e=>{let t=Tt.get(e);if(!t)return\"backend not found.\";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(r){return n||(t.error=`${r}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},br=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u==\"string\"?u:u.name),r=n.length===0?Ze:n,o,i=[],s=new Set;for(let u of r){let d=await Hu(u);typeof d==\"string\"?i.push({name:u,err:d}):(o||(o=d),o===d&&s.add(u))}if(!o)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(\", \")}`);for(let{name:u,err:d}of i)n.includes(u)&&console.warn(`removing requested execution provider \"${u}\" from session options because it is not available: ${d}`);let a=t.filter(u=>s.has(typeof u==\"string\"?u:u.name));return[o,new Proxy(e,{get:(u,d)=>d===\"executionProviders\"?a:Reflect.get(u,d)})]}});var _r=k(()=>{\"use strict\";xn()});var wr,$r=k(()=>{\"use strict\";wr=\"1.26.0\"});var vr,ce,Sn=k(()=>{\"use strict\";$r();vr=\"warning\",ce={wasm:{},webgl:{},webgpu:{},versions:{common:wr},set logLevel(e){if(e!==void 0){if(typeof e!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);vr=e}},get logLevel(){return vr}};Object.defineProperty(ce,\"logLevel\",{enumerable:!0})});var te,xr=k(()=>{\"use strict\";Sn();te=ce});var Sr,Tr,Ir=k(()=>{\"use strict\";Sr=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(\"2d\");if(r!=null){let o,i;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],i=e.dims[3]):(o=e.dims[3],i=e.dims[2]);let s=t?.format!==void 0?t.format:\"RGB\",a=t?.norm,u,d;a===void 0||a.mean===void 0?u=[255,255,255,255]:typeof a.mean==\"number\"?u=[a.mean,a.mean,a.mean,a.mean]:(u=[a.mean[0],a.mean[1],a.mean[2],0],a.mean[3]!==void 0&&(u[3]=a.mean[3])),a===void 0||a.bias===void 0?d=[0,0,0,0]:typeof a.bias==\"number\"?d=[a.bias,a.bias,a.bias,a.bias]:(d=[a.bias[0],a.bias[1],a.bias[2],0],a.bias[3]!==void 0&&(d[3]=a.bias[3]));let l=i*o,c=0,p=l,f=l*2,m=-1;s===\"RGBA\"?(c=0,p=l,f=l*2,m=l*3):s===\"RGB\"?(c=0,p=l,f=l*2):s===\"RBG\"&&(c=0,f=l,p=l*2);for(let h=0;h<i;h++)for(let _=0;_<o;_++){let y=(e.data[c++]-d[0])*u[0],g=(e.data[p++]-d[1])*u[1],b=(e.data[f++]-d[2])*u[2],w=m===-1?255:(e.data[m++]-d[3])*u[3];r.fillStyle=\"rgba(\"+y+\",\"+g+\",\"+b+\",\"+w+\")\",r.fillRect(_,h,1,1)}if(\"toDataURL\"in n)return n.toDataURL();throw new Error(\"toDataURL is not supported\")}else throw new Error(\"Can not access image data\")},Tr=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\").getContext(\"2d\"):new OffscreenCanvas(1,1).getContext(\"2d\"),r;if(n!=null){let o,i,s;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],i=e.dims[1],s=e.dims[3]):(o=e.dims[3],i=e.dims[2],s=e.dims[1]);let a=t!==void 0&&t.format!==void 0?t.format:\"RGB\",u=t?.norm,d,l;u===void 0||u.mean===void 0?d=[255,255,255,255]:typeof u.mean==\"number\"?d=[u.mean,u.mean,u.mean,u.mean]:(d=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(d[3]=u.mean[3])),u===void 0||u.bias===void 0?l=[0,0,0,0]:typeof u.bias==\"number\"?l=[u.bias,u.bias,u.bias,u.bias]:(l=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(l[3]=u.bias[3]));let c=i*o;if(t!==void 0&&(t.format!==void 0&&s===4&&t.format!==\"RGBA\"||s===3&&t.format!==\"RGB\"&&t.format!==\"BGR\"))throw new Error(\"Tensor format doesn't match input tensor dims\");let p=4,f=0,m=1,h=2,_=3,y=0,g=c,b=c*2,w=-1;a===\"RGBA\"?(y=0,g=c,b=c*2,w=c*3):a===\"RGB\"?(y=0,g=c,b=c*2):a===\"RBG\"&&(y=0,b=c,g=c*2),r=n.createImageData(o,i);for(let v=0;v<i*o;f+=p,m+=p,h+=p,_+=p,v++)r.data[f]=(e.data[y++]-l[0])*d[0],r.data[m]=(e.data[g++]-l[1])*d[1],r.data[h]=(e.data[b++]-l[2])*d[2],r.data[_]=w===-1?255:(e.data[w++]-l[3])*d[3]}else throw new Error(\"Can not access image data\");return r}});var Tn,Cr,Ar,Er,kr,Pr,zr=k(()=>{\"use strict\";It();Tn=(e,t)=>{if(e===void 0)throw new Error(\"Image buffer must be defined\");if(t.height===void 0||t.width===void 0)throw new Error(\"Image height and width must be defined\");if(t.tensorLayout===\"NHWC\")throw new Error(\"NHWC Tensor layout is not supported yet\");let{height:n,width:r}=t,o=t.norm??{mean:255,bias:0},i,s;typeof o.mean==\"number\"?i=[o.mean,o.mean,o.mean,o.mean]:i=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias==\"number\"?s=[o.bias,o.bias,o.bias,o.bias]:s=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let a=t.format!==void 0?t.format:\"RGBA\",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:\"RGB\",d=n*r,l=u===\"RGBA\"?new Float32Array(d*4):new Float32Array(d*3),c=4,p=0,f=1,m=2,h=3,_=0,y=d,g=d*2,b=-1;a===\"RGB\"&&(c=3,p=0,f=1,m=2,h=-1),u===\"RGBA\"?b=d*3:u===\"RBG\"?(_=0,g=d,y=d*2):u===\"BGR\"&&(g=0,y=d,_=d*2);for(let v=0;v<d;v++,p+=c,m+=c,f+=c,h+=c)l[_++]=(e[p]+s[0])/i[0],l[y++]=(e[f]+s[1])/i[1],l[g++]=(e[m]+s[2])/i[2],b!==-1&&h!==-1&&(l[b++]=(e[h]+s[3])/i[3]);return u===\"RGBA\"?new fe(\"float32\",l,[1,4,n,r]):new fe(\"float32\",l,[1,3,n,r])},Cr=async(e,t)=>{let n=typeof HTMLImageElement<\"u\"&&e instanceof HTMLImageElement,r=typeof ImageData<\"u\"&&e instanceof ImageData,o=typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap,i=typeof e==\"string\",s,a=t??{},u=()=>{if(typeof document<\"u\")return document.createElement(\"canvas\");if(typeof OffscreenCanvas<\"u\")return new OffscreenCanvas(1,1);throw new Error(\"Canvas is not supported\")},d=l=>typeof HTMLCanvasElement<\"u\"&&l instanceof HTMLCanvasElement||l instanceof OffscreenCanvas?l.getContext(\"2d\"):null;if(n){let l=u();l.width=e.width,l.height=e.height;let c=d(l);if(c!=null){let p=e.height,f=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(p=t.resizedHeight,f=t.resizedWidth),t!==void 0){if(a=t,t.tensorFormat!==void 0)throw new Error(\"Image input config format must be RGBA for HTMLImageElement\");a.tensorFormat=\"RGBA\",a.height=p,a.width=f}else a.tensorFormat=\"RGBA\",a.height=p,a.width=f;c.drawImage(e,0,0),s=c.getImageData(0,0,f,p).data}else throw new Error(\"Can not access image data\")}else if(r){let l,c;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(l=t.resizedHeight,c=t.resizedWidth):(l=e.height,c=e.width),t!==void 0&&(a=t),a.format=\"RGBA\",a.height=l,a.width=c,t!==void 0){let p=u();p.width=c,p.height=l;let f=d(p);if(f!=null)f.putImageData(e,0,0),s=f.getImageData(0,0,c,l).data;else throw new Error(\"Can not access image data\")}else s=e.data}else if(o){if(t===void 0)throw new Error(\"Please provide image config with format for Imagebitmap\");let l=u();l.width=e.width,l.height=e.height;let c=d(l);if(c!=null){let p=e.height,f=e.width;return c.drawImage(e,0,0,f,p),s=c.getImageData(0,0,f,p).data,a.height=p,a.width=f,Tn(s,a)}else throw new Error(\"Can not access image data\")}else{if(i)return new Promise((l,c)=>{let p=u(),f=d(p);if(!e||!f)return c();let m=new Image;m.crossOrigin=\"Anonymous\",m.src=e,m.onload=()=>{p.width=m.width,p.height=m.height,f.drawImage(m,0,0,p.width,p.height);let h=f.getImageData(0,0,p.width,p.height);a.height=p.height,a.width=p.width,l(Tn(h.data,a))}});throw new Error(\"Input data provided is not supported - aborted tensor creation\")}if(s!==void 0)return Tn(s,a);throw new Error(\"Input data provided is not supported - aborted tensor creation\")},Ar=(e,t)=>{let{width:n,height:r,download:o,dispose:i}=t,s=[1,r,n,4];return new fe({location:\"texture\",type:\"float32\",texture:e,dims:s,download:o,dispose:i})},Er=(e,t)=>{let{dataType:n,dims:r,download:o,dispose:i}=t;return new fe({location:\"gpu-buffer\",type:n??\"float32\",gpuBuffer:e,dims:r,download:o,dispose:i})},kr=(e,t)=>{let{dataType:n,dims:r,download:o,dispose:i}=t;return new fe({location:\"ml-tensor\",type:n??\"float32\",mlTensor:e,dims:r,download:o,dispose:i})},Pr=(e,t,n)=>new fe({location:\"cpu-pinned\",type:e,data:t,dims:n??[t.length]})});var Qe,pt,Br,Dr,Or=k(()=>{\"use strict\";Qe=new Map([[\"float32\",Float32Array],[\"uint8\",Uint8Array],[\"int8\",Int8Array],[\"uint16\",Uint16Array],[\"int16\",Int16Array],[\"int32\",Int32Array],[\"bool\",Uint8Array],[\"float64\",Float64Array],[\"uint32\",Uint32Array],[\"int4\",Uint8Array],[\"uint4\",Uint8Array]]),pt=new Map([[Float32Array,\"float32\"],[Uint8Array,\"uint8\"],[Int8Array,\"int8\"],[Uint16Array,\"uint16\"],[Int16Array,\"int16\"],[Int32Array,\"int32\"],[Float64Array,\"float64\"],[Uint32Array,\"uint32\"]]),Br=!1,Dr=()=>{if(!Br){Br=!0;let e=typeof BigInt64Array<\"u\"&&BigInt64Array.from,t=typeof BigUint64Array<\"u\"&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<\"u\"&&n.from;e&&(Qe.set(\"int64\",BigInt64Array),pt.set(BigInt64Array,\"int64\")),t&&(Qe.set(\"uint64\",BigUint64Array),pt.set(BigUint64Array,\"uint64\")),r?(Qe.set(\"float16\",n),pt.set(n,\"float16\")):Qe.set(\"float16\",Uint16Array)}}});var Mr,Ur,Rr=k(()=>{\"use strict\";It();Mr=e=>{let t=1;for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=\"number\"||!Number.isSafeInteger(r))throw new TypeError(`dims[${n}] must be an integer, got: ${r}`);if(r<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${r}`);t*=r}return t},Ur=(e,t)=>{switch(e.location){case\"cpu\":return new fe(e.type,e.data,t);case\"cpu-pinned\":return new fe({location:\"cpu-pinned\",data:e.data,type:e.type,dims:t});case\"texture\":return new fe({location:\"texture\",texture:e.texture,type:e.type,dims:t});case\"gpu-buffer\":return new fe({location:\"gpu-buffer\",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case\"ml-tensor\":return new fe({location:\"ml-tensor\",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var fe,It=k(()=>{\"use strict\";Ir();zr();Or();Rr();fe=class{constructor(t,n,r){Dr();let o,i;if(typeof t==\"object\"&&\"location\"in t)switch(this.dataLocation=t.location,o=t.type,i=t.dims,t.location){case\"cpu-pinned\":{let a=Qe.get(o);if(!a)throw new TypeError(`unsupported type \"${o}\" to create tensor from pinned buffer`);if(!(t.data instanceof a))throw new TypeError(`buffer should be of type ${a.name}`);this.cpuData=t.data;break}case\"texture\":{if(o!==\"float32\")throw new TypeError(`unsupported type \"${o}\" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case\"gpu-buffer\":{if(o!==\"float32\"&&o!==\"float16\"&&o!==\"int32\"&&o!==\"int64\"&&o!==\"uint32\"&&o!==\"uint8\"&&o!==\"bool\"&&o!==\"uint4\"&&o!==\"int4\")throw new TypeError(`unsupported type \"${o}\" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case\"ml-tensor\":{if(o!==\"float32\"&&o!==\"float16\"&&o!==\"int32\"&&o!==\"int64\"&&o!==\"uint32\"&&o!==\"uint64\"&&o!==\"int8\"&&o!==\"uint8\"&&o!==\"bool\"&&o!==\"uint4\"&&o!==\"int4\")throw new TypeError(`unsupported type \"${o}\" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,u;if(typeof t==\"string\")if(o=t,u=r,t===\"string\"){if(!Array.isArray(n))throw new TypeError(\"A string tensor's data must be a string array.\");a=n}else{let d=Qe.get(t);if(d===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t===\"float16\"&&d===Uint16Array||t===\"uint4\"||t===\"int4\")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${d.name} as data.`);t===\"uint64\"||t===\"int64\"?a=d.from(n,BigInt):a=d.from(n)}else if(n instanceof d)a=n;else if(n instanceof Uint8ClampedArray)if(t===\"uint8\")a=Uint8Array.from(n);else throw new TypeError(\"A Uint8ClampedArray tensor's data must be type of uint8\");else if(t===\"float16\"&&n instanceof Uint16Array&&d!==Uint16Array)a=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${o} tensor's data must be type of ${d}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError(\"Tensor type cannot be inferred from an empty array.\");let d=typeof t[0];if(d===\"string\")o=\"string\",a=t;else if(d===\"boolean\")o=\"bool\",a=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${d}.`)}else if(t instanceof Uint8ClampedArray)o=\"uint8\",a=Uint8Array.from(t);else{let d=pt.get(t.constructor);if(d===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=d,a=t}if(u===void 0)u=[a.length];else if(!Array.isArray(u))throw new TypeError(\"A tensor's dims must be a number array\");i=u,this.cpuData=a,this.dataLocation=\"cpu\"}let s=Mr(i);if(this.cpuData&&s!==this.cpuData.length&&!((o===\"uint4\"||o===\"int4\")&&Math.ceil(s/2)===this.cpuData.length))throw new Error(`Tensor's size(${s}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=i,this.size=s}static async fromImage(t,n){return Cr(t,n)}static fromTexture(t,n){return Ar(t,n)}static fromGpuBuffer(t,n){return Er(t,n)}static fromMLTensor(t,n){return kr(t,n)}static fromPinnedBuffer(t,n,r){return Pr(t,n,r)}toDataURL(t){return Sr(this,t)}toImageData(t){return Tr(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error(\"The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.\");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error(\"The data is not stored as a WebGL texture.\");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error(\"The data is not stored as a WebGPU buffer.\");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error(\"The data is not stored as a WebNN MLTensor.\");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case\"cpu\":case\"cpu-pinned\":return this.data;case\"texture\":case\"gpu-buffer\":case\"ml-tensor\":{if(!this.downloader)throw new Error(\"The current tensor is not created with a specified data downloader.\");if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation=\"cpu\",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=\"none\"}ensureValid(){if(this.dataLocation===\"none\")throw new Error(\"The tensor is disposed.\")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error(\"Cannot reshape a tensor that owns GPU resource.\");return Ur(this,t)}}});var xe,In=k(()=>{\"use strict\";It();xe=fe});var mt,Vr,be,ye,Re,Ve,Cn=k(()=>{\"use strict\";Sn();mt=(e,t)=>{(typeof ce.trace>\"u\"?!ce.wasm.trace:!ce.trace)||console.timeStamp(`${e}::ORT::${t}`)},Vr=(e,t)=>{let n=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],r=!1;for(let o=0;o<n.length;o++){if(r&&!n[o].includes(\"TRACE_FUNC\")){let i=`FUNC_${e}::${n[o].trim().split(\" \")[1]}`;t&&(i+=`::${t}`),mt(\"CPU\",i);return}n[o].includes(\"TRACE_FUNC\")&&(r=!0)}},be=e=>{(typeof ce.trace>\"u\"?!ce.wasm.trace:!ce.trace)||Vr(\"BEGIN\",e)},ye=e=>{(typeof ce.trace>\"u\"?!ce.wasm.trace:!ce.trace)||Vr(\"END\",e)},Re=e=>{(typeof ce.trace>\"u\"?!ce.wasm.trace:!ce.trace)||console.time(`ORT::${e}`)},Ve=e=>{(typeof ce.trace>\"u\"?!ce.wasm.trace:!ce.trace)||console.timeEnd(`ORT::${e}`)}});var Ct,Nr=k(()=>{\"use strict\";xn();In();Cn();Ct=class e{constructor(t){this.handler=t}async run(t,n,r){be(),Re(\"InferenceSession.run\");let o={},i={};if(typeof t!=\"object\"||t===null||t instanceof xe||Array.isArray(t))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let s=!0;if(typeof n==\"object\"){if(n===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(n instanceof xe)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(n)){if(n.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");s=!1;for(let d of n){if(typeof d!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(this.outputNames.indexOf(d)===-1)throw new RangeError(`'fetches' contains invalid output name: ${d}.`);o[d]=null}if(typeof r==\"object\"&&r!==null)i=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let d=!1,l=Object.getOwnPropertyNames(n);for(let c of this.outputNames)if(l.indexOf(c)!==-1){let p=n[c];(p===null||p instanceof xe)&&(d=!0,s=!1,o[c]=p)}if(d){if(typeof r==\"object\"&&r!==null)i=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else i=n}}else if(typeof n<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let d of this.inputNames)if(typeof t[d]>\"u\")throw new Error(`input '${d}' is missing in 'feeds'.`);if(s)for(let d of this.outputNames)o[d]=null;let a=await this.handler.run(t,o,i),u={};for(let d in a)if(Object.hasOwnProperty.call(a,d)){let l=a[d];l instanceof xe?u[d]=l:u[d]=new xe(l.type,l.data,l.dims)}return Ve(\"InferenceSession.run\"),ye(),u}async release(){return this.handler.dispose()}static async create(t,n,r,o){be(),Re(\"InferenceSession.create\");let i,s={};if(typeof t==\"string\"){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof Uint8Array){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&t instanceof SharedArrayBuffer){let l=t,c=0,p=t.byteLength;if(typeof n==\"object\"&&n!==null)s=n;else if(typeof n==\"number\"){if(c=n,!Number.isSafeInteger(c))throw new RangeError(\"'byteOffset' must be an integer.\");if(c<0||c>=l.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${l.byteLength}).`);if(p=t.byteLength-c,typeof r==\"number\"){if(p=r,!Number.isSafeInteger(p))throw new RangeError(\"'byteLength' must be an integer.\");if(p<=0||c+p>l.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${l.byteLength-c}].`);if(typeof o==\"object\"&&o!==null)s=o;else if(typeof o<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(typeof r<\"u\")throw new TypeError(\"'byteLength' must be a number.\")}else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\");i=new Uint8Array(l,c,p)}else throw new TypeError(\"Unexpected argument[0]: must be 'path' or 'buffer'.\");let[a,u]=await br(s),d=await a.createInferenceSessionHandler(i,u);return Ve(\"InferenceSession.create\"),ye(),new e(d)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Lr,Wr=k(()=>{\"use strict\";Nr();Lr=Ct});var Gr=k(()=>{\"use strict\"});var Hr=k(()=>{\"use strict\"});var Fr=k(()=>{\"use strict\"});var qr=k(()=>{\"use strict\"});var An={};rt(An,{InferenceSession:()=>Lr,TRACE:()=>mt,TRACE_EVENT_BEGIN:()=>Re,TRACE_EVENT_END:()=>Ve,TRACE_FUNC_BEGIN:()=>be,TRACE_FUNC_END:()=>ye,Tensor:()=>xe,env:()=>te,registerBackend:()=>Ge});var we=k(()=>{\"use strict\";_r();xr();Wr();In();Gr();Hr();Cn();Fr();qr()});var At=k(()=>{\"use strict\"});var Qr={};rt(Qr,{default:()=>Fu});var jr,Zr,Fu,Xr=k(()=>{\"use strict\";En();He();Et();jr=\"ort-wasm-proxy-worker\",Zr=globalThis.self?.name===jr;Zr&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case\"init-wasm\":kt(n.wasm).then(()=>{Pt(n).then(()=>{postMessage({type:t})},r=>{postMessage({type:t,err:r})})},r=>{postMessage({type:t,err:r})});break;case\"init-ep\":{let{epName:r,env:o}=n;zt(o,r).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case\"copy-from\":{let{buffer:r}=n,o=ft(r);postMessage({type:t,out:o});break}case\"create\":{let{model:r,options:o}=n;Bt(r,o).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case\"release\":Dt(n),postMessage({type:t});break;case\"run\":{let{sessionId:r,inputIndices:o,inputs:i,outputIndices:s,options:a}=n;Ot(r,o,i,s,new Array(s.length).fill(null),a).then(u=>{u.some(d=>d[3]!==\"cpu\")?postMessage({type:t,err:\"Proxy does not support non-cpu tensor location.\"}):postMessage({type:t,out:u},Ut([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case\"end-profiling\":Mt(n),postMessage({type:t});break;default:}}catch(r){postMessage({type:t,err:r})}});Fu=Zr?null:e=>new Worker(e??$e,{type:\"classic\",name:jr})});var qu,Ku,$e,Rt,kn,ju,Zu,eo,Qu,Yr,to,Jr,no,Et=k(()=>{\"use strict\";At();qu=typeof location>\"u\"?void 0:location.origin,Ku=()=>{if(!!1)return typeof document<\"u\"?document.currentScript?.src:typeof self<\"u\"?self.location?.href:void 0},$e=Ku(),Rt=()=>{if($e&&!$e.startsWith(\"blob:\"))return $e.substring(0,$e.lastIndexOf(\"/\")+1)},kn=(e,t)=>{try{let n=t??$e;return(n?new URL(e,n):new URL(e)).origin===qu}catch{return!1}},ju=(e,t)=>{let n=t??$e;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Zu=(e,t)=>`${t??\"./\"}${e}`,eo=async e=>{let n=await(await fetch(e,{credentials:\"same-origin\"})).blob();return URL.createObjectURL(n)},Qu=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Yr=(Xr(),ct(Qr)).default,to=async()=>{if(!$e)throw new Error(\"Failed to load proxy worker: cannot determine the script source URL.\");if(kn($e))return[void 0,Yr()];let e=await eo($e);return[e,Yr(e)]},Jr=void 0,no=async(e,t,n,r)=>{let o=Jr&&!(e||t);if(o)if($e)o=kn($e)||r&&!n;else if(r&&!n)o=!0;else throw new Error(\"cannot determine the script source URL.\");if(o)return[void 0,Jr];{let i=\"ort-wasm-simd-threaded.jsep.mjs\",s=e??ju(i,t),a=!!1&&n&&s&&!kn(s,t),u=a?await eo(s):s??Zu(i,t);return[a?u:void 0,await Qu(u)]}}});var Pn,zn,Vt,ro,Xu,Yu,Ju,kt,ne,He=k(()=>{\"use strict\";Et();zn=!1,Vt=!1,ro=!1,Xu=()=>{if(typeof SharedArrayBuffer>\"u\")return!1;try{return typeof MessageChannel<\"u\"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Yu=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ju=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},kt=async e=>{if(zn)return Promise.resolve();if(Vt)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(ro)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");Vt=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===\"relaxed\"){if(!Ju())throw new Error(\"Relaxed WebAssembly SIMD is not supported in the current environment.\")}else if(!Yu())throw new Error(\"WebAssembly SIMD is not supported in the current environment.\")}let r=Xu();n>1&&!r&&(typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+n+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),console.warn(\"WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading.\"),e.numThreads=n=1);let o=e.wasmPaths,i=typeof o==\"string\"?o:void 0,s=o?.mjs,a=s?.href??s,u=o?.wasm,d=u?.href??u,l=e.wasmBinary,[c,p]=await no(a,i,n>1,!!l||!!d),f=!1,m=[];if(t>0&&m.push(new Promise(h=>{setTimeout(()=>{f=!0,h()},t)})),m.push(new Promise((h,_)=>{let y={numThreads:n};if(l)y.wasmBinary=l,y.locateFile=g=>g;else if(d||i)y.locateFile=g=>d??i+g;else if(a&&a.indexOf(\"blob:\")!==0)y.locateFile=g=>new URL(g,a).href;else if(c){let g=Rt();g&&(y.locateFile=b=>g+b)}p(y).then(g=>{Vt=!1,zn=!0,Pn=g,h(),c&&URL.revokeObjectURL(c)},g=>{Vt=!1,ro=!0,_(g)})})),await Promise.race(m),f)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},ne=()=>{if(zn&&Pn)return Pn;throw new Error(\"WebAssembly is not initialized yet.\")}});var ve,ht,Y,Nt=k(()=>{\"use strict\";He();ve=(e,t)=>{let n=ne(),r=n.lengthBytesUTF8(e)+1,o=n._malloc(r);return n.stringToUTF8(e,o,r),t.push(o),o},ht=(e,t,n,r)=>{if(typeof e==\"object\"&&e!==null){if(n.has(e))throw new Error(\"Circular reference in options\");n.add(e)}Object.entries(e).forEach(([o,i])=>{let s=t?t+o:o;if(typeof i==\"object\")ht(i,s+\".\",n,r);else if(typeof i==\"string\"||typeof i==\"number\")r(s,i.toString());else if(typeof i==\"boolean\")r(s,i?\"1\":\"0\");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},Y=e=>{let t=ne(),n=t.stackSave();try{let r=t.PTR_SIZE,o=t.stackAlloc(2*r);t._OrtGetLastError(o,o+r);let i=Number(t.getValue(o,r===4?\"i32\":\"i64\")),s=t.getValue(o+r,\"*\"),a=s?t.UTF8ToString(s):\"\";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{t.stackRestore(n)}}});var oo,io=k(()=>{\"use strict\";He();Nt();oo=e=>{let t=ne(),n=0,r=[],o=e||{};try{if(e?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=\"number\"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=\"number\"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(o.terminate=!1);let i=0;return e?.tag!==void 0&&(i=ve(e.tag,r)),n=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,i),n===0&&Y(\"Can't create run options.\"),e?.extra!==void 0&&ht(e.extra,\"\",new WeakSet,(s,a)=>{let u=ve(s,r),d=ve(a,r);t._OrtAddRunConfigEntry(n,u,d)!==0&&Y(`Can't set a run config entry: ${s} - ${a}.`)}),[n,r]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),r.forEach(s=>t._free(s)),i}}});var ed,td,nd,ot,rd,so,ao=k(()=>{\"use strict\";He();Nt();ed=e=>{switch(e){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"layout\":return 3;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},td=e=>{switch(e){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},nd=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly=\"1\"),e.executionProviders&&e.executionProviders.some(n=>(typeof n==\"string\"?n:n.name)===\"webgpu\")&&(e.enableMemPattern=!1)},ot=(e,t,n,r)=>{let o=ve(t,r),i=ve(n,r);ne()._OrtAddSessionConfigEntry(e,o,i)!==0&&Y(`Can't set a session config entry: ${t} - ${n}.`)},rd=async(e,t,n)=>{let r=t.executionProviders;for(let o of r){let i=typeof o==\"string\"?o:o.name,s=[];switch(i){case\"webnn\":if(i=\"WEBNN\",ot(e,\"session.disable_quant_qdq\",\"1\",n),ot(e,\"session.disable_qdq_constant_folding\",\"1\",n),typeof o!=\"string\"){let p=o?.deviceType;p&&ot(e,\"deviceType\",p,n)}break;case\"webgpu\":if(i=\"JS\",typeof o!=\"string\"){let c=o;if(c?.preferredLayout){if(c.preferredLayout!==\"NCHW\"&&c.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);ot(e,\"preferredLayout\",c.preferredLayout,n)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${i}`)}let a=ve(i,n),u=s.length,d=0,l=0;if(u>0){d=ne()._malloc(u*ne().PTR_SIZE),n.push(d),l=ne()._malloc(u*ne().PTR_SIZE),n.push(l);for(let c=0;c<u;c++)ne().setValue(d+c*ne().PTR_SIZE,s[c][0],\"*\"),ne().setValue(l+c*ne().PTR_SIZE,s[c][1],\"*\")}await ne()._OrtAppendExecutionProvider(e,a,d,l,u)!==0&&Y(`Can't append execution provider: ${i}.`)}},so=async e=>{let t=ne(),n=0,r=[],o=e||{};nd(o);try{let i=ed(o.graphOptimizationLevel??\"all\"),s=td(o.executionMode??\"sequential\"),a=typeof o.logId==\"string\"?ve(o.logId,r):0,u=o.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let d=o.logVerbosityLevel??0;if(!Number.isInteger(d)||d<0||d>4)throw new Error(`log verbosity level is not valid: ${d}`);let l=typeof o.optimizedModelFilePath==\"string\"?ve(o.optimizedModelFilePath,r):0;if(n=t._OrtCreateSessionOptions(i,!!o.enableCpuMemArena,!!o.enableMemPattern,s,!!o.enableProfiling,0,a,u,d,l),n===0&&Y(\"Can't create session options.\"),o.executionProviders&&await rd(n,o,r),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);ot(n,\"enableGraphCapture\",o.enableGraphCapture.toString(),r)}if(o.freeDimensionOverrides)for(let[c,p]of Object.entries(o.freeDimensionOverrides)){if(typeof c!=\"string\")throw new Error(`free dimension override name must be a string: ${c}`);if(typeof p!=\"number\"||!Number.isInteger(p)||p<0)throw new Error(`free dimension override value must be a non-negative integer: ${p}`);let f=ve(c,r);t._OrtAddFreeDimensionOverride(n,f,p)!==0&&Y(`Can't set a free dimension override: ${c} - ${p}.`)}return o.extra!==void 0&&ht(o.extra,\"\",new WeakSet,(c,p)=>{ot(n,c,p,r)}),[n,r]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&Y(\"Can't release session options.\"),r.forEach(s=>t._free(s)),i}}});var Fe,ke,qe,it,gt,Lt,Wt,Bn,N=k(()=>{\"use strict\";Fe=e=>{switch(e){case\"int8\":return 3;case\"uint8\":return 2;case\"bool\":return 9;case\"int16\":return 5;case\"uint16\":return 4;case\"int32\":return 6;case\"uint32\":return 12;case\"float16\":return 10;case\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;case\"int4\":return 22;case\"uint4\":return 21;default:throw new Error(`unsupported data type: ${e}`)}},ke=e=>{switch(e){case 3:return\"int8\";case 2:return\"uint8\";case 9:return\"bool\";case 5:return\"int16\";case 4:return\"uint16\";case 6:return\"int32\";case 12:return\"uint32\";case 10:return\"float16\";case 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";case 22:return\"int4\";case 21:return\"uint4\";default:throw new Error(`unsupported data type: ${e}`)}},qe=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],r=typeof t==\"number\"?t:t.reduce((o,i)=>o*i,1);return n>0?Math.ceil(r*n):void 0},it=e=>{switch(e){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?Float16Array:Uint16Array;case\"float32\":return Float32Array;case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"bool\":return Uint8Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},gt=e=>{switch(e){case\"verbose\":return 0;case\"info\":return 1;case\"warning\":return 2;case\"error\":return 3;case\"fatal\":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Lt=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",Wt=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint64\"||e===\"int8\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",Bn=e=>{switch(e){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;case\"ml-tensor\":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var yt,Dn=k(()=>{\"use strict\";At();yt=async e=>{if(typeof e==\"string\")if(!1)try{let{readFile:t}=vn(\"node:fs/promises\");return new Uint8Array(await t(e))}catch(t){if(t.code===\"ERR_FS_FILE_TOO_LARGE\"){let{createReadStream:n}=vn(\"node:fs\"),r=n(e),o=[];for await(let i of r)o.push(i);return new Uint8Array(Buffer.concat(o))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get(\"Content-Length\"),r=n?parseInt(n,10):0;if(r<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let o=t.body.getReader(),i;try{i=new ArrayBuffer(r)}catch(a){if(a instanceof RangeError){let u=Math.ceil(r/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw a}let s=0;for(;;){let{done:a,value:u}=await o.read();if(a)break;let d=u.byteLength;new Uint8Array(i,s,d).set(u),s+=d}return new Uint8Array(i,0,r)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var od,id,uo,lo,Gt,sd,Z,Pe=k(()=>{\"use strict\";N();od=[\"V\",\"I\",\"W\",\"E\",\"F\"],id=(e,t)=>{console.log(`[${od[e]},${new Date().toISOString()}]${t}`)},Gt=(e,t)=>{uo=e,lo=t},sd=(e,t)=>{let n=gt(e),r=gt(uo);n>=r&&id(n,typeof t==\"function\"?t():t)},Z=(...e)=>{lo&&sd(...e)}});var On,ze,x,Ye,Ht,co,po,H=k(()=>{\"use strict\";On=class{static calcMatMulShape(t,n){return t[1]!==n[0]?void 0:[t[0],n[1]]}},ze=class{static calcShape(t,n,r=!1){let o=t.length,i=n.length;if(o===0)return n;if(i===0)return t;let s=Math.max(t.length,n.length),a=new Array(s);if(r){if(o<2||i<2)return;let u=On.calcMatMulShape([t[o-2],t[o-1]],[n[i-2],n[i-1]]);if(u===void 0)return;[a[s-2],a[s-1]]=u}for(let u=r?3:1;u<=s;u++){let d=o-u<0?1:t[o-u],l=i-u<0?1:n[i-u];if(d!==l&&d>1&&l>1)return;let c=Math.max(d,l);if(d&&l)a[s-u]=Math.max(d,l);else{if(c>1)return;a[s-u]=0}}return a}static isValidBroadcast(t,n){let r=t.length,o=n.length;if(r>o)return!1;for(let i=1;i<=r;i++)if(t[r-i]!==1&&t[r-i]!==n[o-i])return!1;return!0}},x=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static convertShape(t,n=4){let r=t.length;if(r===0)return[];let o=new Array(r),i=r-1;for(;i>=0;){if(t[i]%n===0){o[i]=t[i]/n;break}if(n%t[i]!==0)throw new Error(\"cannot convert shape\");o[i]=1,n/=t[i],i--}for(i--;i>=0;i--)o[i]=t[i];return o}static sizeFromDimension(t,n){if(n<0||n>t.length)throw new Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,n,t.length)}static sizeToDimension(t,n){if(n<0||n>t.length)throw new Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,n)}static getSizeFromDimensionRange(t,n,r){let o=1;for(let i=n;i<r;i++){if(t[i]<0)throw new Error(\"cannot get valid size from specified dimension range. Most likely the range contains negative values in them.\");o*=Number(t[i])}return o}static computeStrides(t){let n=t.length;if(n===0)return[];if(n===1)return[1];let r=new Array(n);r[n-1]=1,r[n-2]=t[n-1];for(let o=n-3;o>=0;--o)r[o]=r[o+1]*t[o+1];return r}static normalizeAxis(t,n){if(t<-n&&t>=n)throw new Error(\"unsupported axis for this operation.\");return t<0?t+n:t}static normalizeAxes(t,n){return t.map(r=>this.normalizeAxis(r,n??t.length))}static sortBasedOnPerm(t,n){return n?n.map(r=>t[r]):t.slice().reverse()}static padShape(t,n){let r=t.length;return t.map((o,i)=>o+n[i]+n[i+r])}static areEqual(t,n){return t.length!==n.length?!1:t.every((r,o)=>r===n[o])}},Ye=class e{static adjustPoolAttributes(t,n,r,o,i,s){if(!t&&r.length!==n.length-2)throw new Error(\"length of specified kernel shapes should be 2 less than length of input dimensions\");if(t)for(let a=0;a<n.length-2;a++)a>=r.length?r.push(n[a+2]):r[a]=n[a+2];for(let a=0;a<r.length;a++)if(a<o.length){if(o[a]<0)throw new Error(\"strides should be greater than or equal to 1\")}else o.push(1);for(let a=0;a<r.length;a++)if(a<i.length){if(i[a]<0)throw new Error(\"dilations should be greater than or equal to 1\")}else i.push(1);for(let a=0;a<r.length*2;a++)if(a<s.length){if(s[a]<0)throw new Error(\"pad should be greater than or equal to 1\")}else s.push(0);for(let a=0;a<r.length;a++){if(r[a]<=0)throw new Error(\"kernel shapes need to be greater than 0\");if(s[a]>=r[a]||s[a+r.length]>=r[a])throw new Error(\"pads should be smaller than kernel\")}}static adjustPadsBasedOnAutoPad(t,n,r,o,i,s,a){if(a){if(i.length!==2*(t.length-2))throw new Error(\"length of pads should be twice the length of data dimensions\");if(n.length!==t.length-2)throw new Error(\"length of strides should be the length of data dimensions\");if(o.length!==t.length-2)throw new Error(\"length of kernel shapes should be the length of data dimensions\");for(let u=0;u<t.length-2;u++)e.adjustPadAndReturnShape(t[u+(s?1:2)],n[u],r[u],o[u],i,u,u+t.length-2,a)}}static computePoolOutputShape(t,n,r,o,i,s,a){if(n.length<=0)throw new Error(\"input shape must be of size greater than 0\");let u=[n[0],n[1]];return e.computeShapeHelper(t,n,u,r,o,i,s,a),u}static computeConvOutputShape(t,n,r,o,i,s,a){if(t.length<=0||n.length<=0)throw new Error(\"invalid input tensor dims or invalid filter tensor dims\");let u=[t[0],n[0]];return e.computeShapeHelper(!1,t,u,r,o,i,s,a),u}static computeShapeHelper(t,n,r,o,i,s,a,u){if(t)for(let d=0;d<n.length-2;d++)r.push(1);else for(let d=0;d<n.length-2;d++)r.push(e.adjustPadAndReturnShape(n[d+2],o[d],i[d],s[d],a,d,d+n.length-2,u))}static adjustPadAndReturnShape(t,n,r,o,i,s,a,u){let d=r*(o-1)+1;if(u&&u!==\"NOTSET\")switch(u){case\"VALID\":return i[s]=0,i[a]=0,Math.floor((t-d)/n+1);case\"SAME_LOWER\":case\"SAME_UPPER\":if(r!==1)throw new Error(\"Dilation not supported for SAME_UPPER or SAME_LOWER\");{let c=((t+n-1)/n-1)*n+o-t;return i[s]=Math.floor(u===\"SAME_LOWER\"?(c+1)/2:c/2),i[a]=c-i[s],Math.floor((t+c-o)/n+1)}default:throw new Error(\"Unsupported AutoPad type\")}else return Math.floor((t+i[s]+i[a]-d)/n+1)}},Ht=class{static getShapeOfGemmResult(t,n,r,o,i){if(t.length!==2||r.length!==2)throw new Error(\"shape need to be of size 2\");let s,a,u;n?(s=t[1],a=t[0]):(s=t[0],a=t[1]);let d=-1;if(o?(u=r[0],d=1):(u=r[1],d=0),r[d]!==a)throw new Error(\"dimension mismatch\");if(s<=0||u<=0||a<=0)throw new Error(\"invalid shape specified\");if(i&&!ze.isValidBroadcast(i,[s,u]))throw new Error(\"gemm: invalid bias shape for broadcast\");return[s,u,a]}},co=-34028234663852886e22,po=34028234663852886e22});var Ft,Mn=k(()=>{\"use strict\";N();Ft=(e,t)=>new(it(t))(e)});var fo,Rn,ho,ad,mo,ud,go,qt,Kt,Un,yo,bo=k(()=>{\"use strict\";N();Pe();fo=new Map([[\"float32\",32],[\"float16\",16],[\"int32\",32],[\"uint32\",32],[\"int64\",64],[\"uint64\",64],[\"int8\",8],[\"uint8\",8],[\"int4\",4],[\"uint4\",4]]),Rn=(e,t)=>{if(t===\"int32\")return e;let n=fo.get(t);if(!n)throw new Error(`WebNN backend does not support data type: ${t}`);let r=n/8;if(e.byteLength%r!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${r}.`);let o=e.byteLength/r,i=new(it(t))(e.buffer,e.byteOffset,o);switch(t){case\"int64\":case\"uint64\":{let s=new Int32Array(o);for(let a=0;a<o;a++){let u=i[a];if(u>2147483647n||u<-2147483648n)throw new Error(\"Can not convert int64 data to int32 - value out of range.\");s[a]=Number(u)}return new Uint8Array(s.buffer)}case\"int8\":case\"uint8\":case\"uint32\":{if(t===\"uint32\"&&i.some(a=>a>2147483647))throw new Error(\"Can not convert uint32 data to int32 - value out of range.\");let s=Int32Array.from(i,Number);return new Uint8Array(s.buffer)}default:throw new Error(`Unsupported data conversion from ${t} to 'int32'`)}},ho=(e,t)=>{if(t===\"int32\")return e;if(e.byteLength%4!==0)throw new Error(\"Invalid Uint8Array length - must be a multiple of 4 (int32).\");let n=e.byteLength/4,r=new Int32Array(e.buffer,e.byteOffset,n);switch(t){case\"int64\":{let o=BigInt64Array.from(r,BigInt);return new Uint8Array(o.buffer)}case\"uint64\":{if(r.some(i=>i<0))throw new Error(\"Can not convert int32 data to uin64 - negative value found.\");let o=BigUint64Array.from(r,BigInt);return new Uint8Array(o.buffer)}case\"int8\":{if(r.some(i=>i<-128||i>127))throw new Error(\"Can not convert int32 data to int8 - value out of range.\");let o=Int8Array.from(r,Number);return new Uint8Array(o.buffer)}case\"uint8\":{if(r.some(o=>o<0||o>255))throw new Error(\"Can not convert int32 data to uint8 - value out of range.\");return Uint8Array.from(r,Number)}case\"uint32\":{if(r.some(i=>i<0))throw new Error(\"Can not convert int32 data to uint32 - negative value found.\");let o=Uint32Array.from(r,Number);return new Uint8Array(o.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${t}`)}},ad=1,mo=()=>ad++,ud=new Map([[\"int8\",\"int32\"],[\"uint8\",\"int32\"],[\"uint32\",\"int32\"],[\"int64\",\"int32\"]]),go=(e,t)=>{let n=fo.get(e);if(!n)throw new Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((r,o)=>r*o)*n/8):0},qt=class{constructor(t){this.isDataConverted=!1;let{sessionId:n,context:r,tensor:o,dataType:i,shape:s,fallbackDataType:a}=t;this.sessionId=n,this.mlContext=r,this.mlTensor=o,this.dataType=i,this.tensorShape=s,this.fallbackDataType=a}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return go(this.dataType,this.tensorShape)}destroy(){Z(\"verbose\",()=>\"[WebNN] TensorWrapper.destroy\"),this.mlTensor.destroy()}write(t){this.mlContext.writeTensor(this.mlTensor,t)}async read(t){if(this.fallbackDataType){let n=await this.mlContext.readTensor(this.mlTensor),r=ho(new Uint8Array(n),this.dataType);if(t){(t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)).set(r);return}else return r.buffer}else return t?this.mlContext.readTensor(this.mlTensor,t):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(t,n,r){return this.mlContext===t&&this.dataType===n&&this.tensorShape.length===r.length&&this.tensorShape.every((o,i)=>o===r[i])}setIsDataConverted(t){this.isDataConverted=t}},Kt=class{constructor(t,n){this.tensorManager=t;this.wrapper=n}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(t,n,r,o){let i=this.tensorManager.getMLContext(t),s=this.tensorManager.getMLOpSupportLimits(t),a;if(!s?.input.dataTypes.includes(n)){if(a=ud.get(n),!a||s?.input.dataTypes.includes(a))throw new Error(`WebNN backend does not support data type: ${n}`);Z(\"verbose\",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${n} to ${a}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(i,n,r))return this.wrapper.tensor;if(o){if(this.wrapper.byteLength!==go(n,r))throw new Error(\"Unable to copy data to tensor with different size.\");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>\"u\"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(t,n,r,u,!0,!0,a),o&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(t){let n=t;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType===\"int32\")n=Rn(t,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(t.byteLength===this.wrapper.byteLength){this.wrapper.write(n);return}else Z(\"verbose\",()=>\"Data size does not match tensor size. Releasing tensor.\"),this.releaseTensor()}this.activeUpload?this.activeUpload.set(n):this.activeUpload=new Uint8Array(n)}async download(t){if(this.activeUpload){let n=this.wrapper?.isDataConverted?ho(this.activeUpload,this.wrapper?.type):this.activeUpload;if(t){t instanceof ArrayBuffer?new Uint8Array(t).set(n):new Uint8Array(t.buffer,t.byteOffset,t.byteLength).set(n);return}else return n.buffer}if(!this.wrapper)throw new Error(\"Tensor has not been created.\");return t?this.wrapper.read(t):this.wrapper.read()}},Un=class{constructor(t){this.backend=t;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(t){let n=this.backend.getMLContext(t);if(!n)throw new Error(\"MLContext not found for session.\");return n}getMLOpSupportLimits(t){return this.backend.getMLOpSupportLimits(t)}reserveTensorId(){let t=mo();return this.tensorTrackersById.set(t,new Kt(this)),t}releaseTensorId(t){let n=this.tensorTrackersById.get(t);n&&(this.tensorTrackersById.delete(t),n.tensorWrapper&&this.releaseTensor(n.tensorWrapper))}async ensureTensor(t,n,r,o,i){Z(\"verbose\",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${n}, dataType: ${r}, shape: ${o}, copyOld: ${i}}`);let s=this.tensorTrackersById.get(n);if(!s)throw new Error(\"Tensor not found.\");return s.ensureTensor(t,r,o,i)}upload(t,n){let r=this.tensorTrackersById.get(t);if(!r)throw new Error(\"Tensor not found.\");r.upload(n)}async download(t,n){Z(\"verbose\",()=>`[WebNN] TensorManager.download {tensorId: ${t}, dstBuffer: ${n?.byteLength}}`);let r=this.tensorTrackersById.get(t);if(!r)throw new Error(\"Tensor not found.\");return r.download(n)}releaseTensorsForSession(t){for(let n of this.freeTensors)n.sessionId===t&&n.destroy();this.freeTensors=this.freeTensors.filter(n=>n.sessionId!==t)}registerTensor(t,n,r,o){let i=this.getMLContext(t),s=mo(),a=new qt({sessionId:t,context:i,tensor:n,dataType:r,shape:o});return this.tensorTrackersById.set(s,new Kt(this,a)),this.externalTensors.add(a),s}async getCachedTensor(t,n,r,o,i,s,a){let u=this.getMLContext(t);for(let[l,c]of this.freeTensors.entries())if(c.canReuseTensor(u,n,r)){Z(\"verbose\",()=>`[WebNN] Reusing tensor {dataType: ${n}, ${a?`fallbackDataType: ${a},`:\"\"} shape: ${r}`);let p=this.freeTensors.splice(l,1)[0];return p.sessionId=t,p}Z(\"verbose\",()=>`[WebNN] MLContext.createTensor {dataType: ${n}, ${a?`fallbackDataType: ${a},`:\"\"} shape: ${r}}`);let d=await u.createTensor({dataType:a??n,shape:r,dimensions:r,usage:o,writable:i,readable:s});return new qt({sessionId:t,context:u,tensor:d,dataType:n,shape:r,fallbackDataType:a})}releaseTensor(t){this.externalTensors.has(t)&&this.externalTensors.delete(t),this.freeTensors.push(t)}},yo=(...e)=>new Un(...e)});var jt,dd,Zt,_o=k(()=>{\"use strict\";N();He();Mn();bo();Pe();jt=new Map([[1,\"float32\"],[10,\"float16\"],[6,\"int32\"],[12,\"uint32\"],[7,\"int64\"],[13,\"uint64\"],[22,\"int4\"],[21,\"uint4\"],[3,\"int8\"],[2,\"uint8\"],[9,\"uint8\"]]),dd=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=Object.keys(e).sort(),r=Object.keys(t).sort();return n.length===r.length&&n.every((o,i)=>o===r[i]&&e[o]===t[o])},Zt=class{constructor(t){this.tensorManager=yo(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Gt(t.logLevel,!!t.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error(\"No active session\");return this.activeSessionId}onRunStart(t){Z(\"verbose\",()=>`[WebNN] onRunStart {sessionId: ${t}}`),this.activeSessionId=t}onRunEnd(t){Z(\"verbose\",()=>`[WebNN] onRunEnd {sessionId: ${t}}`);let n=this.temporarySessionTensorIds.get(t);if(n){for(let r of n)Z(\"verbose\",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(t),this.activeSessionId=void 0}}async createMLContext(t){if(t instanceof GPUDevice){let r=this.mlContextCache.findIndex(o=>o.gpuDevice===t);if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(t);return this.mlContextCache.push({gpuDevice:t,mlContext:o}),o}}else if(t===void 0){let r=this.mlContextCache.findIndex(o=>o.options===void 0&&o.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:o}),o}}let n=this.mlContextCache.findIndex(r=>dd(r.options,t));if(n!==-1)return this.mlContextCache[n].mlContext;{let r=await navigator.ml.createContext(t);return this.mlContextCache.push({options:t,mlContext:r}),r}}registerMLContext(t,n){this.mlContextBySessionId.set(t,n);let r=this.sessionIdsByMLContext.get(n);r||(r=new Set,this.sessionIdsByMLContext.set(n,r)),r.add(t),this.mlOpSupportLimitsBySessionId.has(t)||this.mlOpSupportLimitsBySessionId.set(t,n.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(t,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(t,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(t){this.sessionGraphInputs.delete(t),this.sessionGraphOutputs.delete(t);let n=this.mlContextBySessionId.get(t);if(!n)return;this.tensorManager.releaseTensorsForSession(t),this.mlContextBySessionId.delete(t),this.mlOpSupportLimitsBySessionId.delete(t);let r=this.sessionIdsByMLContext.get(n);if(r.delete(t),r.size===0){this.sessionIdsByMLContext.delete(n);let o=this.mlContextCache.findIndex(i=>i.mlContext===n);o!==-1&&this.mlContextCache.splice(o,1)}}getMLContext(t){return this.mlContextBySessionId.get(t)}getMLOpSupportLimits(t){return this.mlOpSupportLimitsBySessionId.get(t)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(t){Z(\"verbose\",()=>`[WebNN] releaseTensorId {tensorId: ${t}}`),this.tensorManager.releaseTensorId(t)}async ensureTensor(t,n,r,o,i){let s=jt.get(r);if(!s)throw new Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(t??this.currentSessionId,n,s,o,i)}async createTemporaryTensor(t,n,r){Z(\"verbose\",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${n}, shape: ${r}}`);let o=jt.get(n);if(!o)throw new Error(`Unsupported ONNX data type: ${n}`);let i=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(t,i,o,r,!1);let s=this.temporarySessionTensorIds.get(t);return s?s.push(i):this.temporarySessionTensorIds.set(t,[i]),i}uploadTensor(t,n){if(!ne().shouldTransferToMLTensor)throw new Error(\"Trying to upload to a MLTensor while shouldTransferToMLTensor is false\");Z(\"verbose\",()=>`[WebNN] uploadTensor {tensorId: ${t}, data: ${n.byteLength}}`),this.tensorManager.upload(t,n)}async downloadTensor(t,n){return this.tensorManager.download(t,n)}createMLTensorDownloader(t,n){return async()=>{let r=await this.tensorManager.download(t);return Ft(r,n)}}registerMLTensor(t,n,r,o){let i=jt.get(r);if(!i)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.registerTensor(t,n,i,o);return Z(\"verbose\",()=>`[WebNN] registerMLTensor {tensor: ${n}, dataType: ${i}, dimensions: ${o}} -> {tensorId: ${s}}`),s}registerMLConstant(t,n,r,o,i,s,a=!1){if(!s)throw new Error(\"External mounted files are not available.\");let u=t;t.startsWith(\"./\")&&(u=t.substring(2));let d=s.get(u);if(!d)throw new Error(`File with name ${u} not found in preloaded files.`);if(n+r>d.byteLength)throw new Error(\"Out of bounds: data offset and length exceed the external file data size.\");let l=d.slice(n,n+r).buffer,c;switch(i.dataType){case\"float32\":c=new Float32Array(l);break;case\"float16\":c=typeof Float16Array<\"u\"&&Float16Array.from?new Float16Array(l):new Uint16Array(l);break;case\"int32\":c=new Int32Array(l);break;case\"uint32\":c=new Uint32Array(l);break;case\"int64\":if(a){let p=Rn(new Uint8Array(l),\"int64\");c=new Int32Array(p.buffer),i.dataType=\"int32\"}else c=new BigInt64Array(l);break;case\"uint64\":c=new BigUint64Array(l);break;case\"int8\":c=new Int8Array(l);break;case\"int4\":case\"uint4\":case\"uint8\":c=new Uint8Array(l);break;default:throw new Error(`Unsupported data type: ${i.dataType} in creating WebNN Constant from external data.`)}return Z(\"verbose\",()=>`[WebNN] registerMLConstant {dataType: ${i.dataType}, shape: ${i.shape}}} ${a?\"(Note: it was int64 data type and registered to int32 as workaround)\":\"\"}`),o.constant(i,c)}registerGraphInput(t){this.temporaryGraphInputs.push(t)}registerGraphOutput(t){this.temporaryGraphOutputs.push(t)}isGraphInput(t,n){let r=this.sessionGraphInputs.get(t);return r?r.includes(n):!1}isGraphOutput(t,n){let r=this.sessionGraphOutputs.get(t);return r?r.includes(n):!1}isGraphInputOutputTypeSupported(t,n,r=!0){let o=jt.get(Fe(n)),i=this.mlOpSupportLimitsBySessionId.get(t);return typeof o>\"u\"?!1:r?!!i?.input.dataTypes.includes(o):!!i?.output.dataTypes.includes(o)}flush(){}}});var Qt=k(()=>{\"use strict\"});var wo,Vn,Nn,ld,cd,$o,Wn,Ln,xo,So=k(()=>{\"use strict\";Pe();Qt();wo=new Map([[64,250],[128,200],[256,200],[512,200],[2048,230],[4096,200],[8192,50],[16384,50],[32768,50],[65536,50],[131072,50],[262144,50],[524288,50],[1048576,50],[2097152,30],[4194304,20],[8388608,10],[12582912,10],[16777216,10],[26214400,15],[33554432,22],[44236800,2],[58982400,6],[67108864,6],[134217728,6],[167772160,6]]),Vn=[],Nn=e=>Math.ceil(Number(e)/16)*16,ld=e=>{for(let t=0;t<Vn.length;t++){let n=Vn[t];if(e<=n)return n}return Math.ceil(e/16)*16},cd=1,$o=()=>cd++,Wn=async(e,t,n,r)=>{let o=Nn(n),i=e.device.createBuffer({size:o,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let s=e.getCommandEncoder();e.endComputePass(),s.copyBufferToBuffer(t,0,i,0,o),e.flush(),await i.mapAsync(GPUMapMode.READ);let a=i.getMappedRange();if(r){let u=r();return u.set(new Uint8Array(a,0,n)),u}else return new Uint8Array(a.slice(0,n))}finally{i.destroy()}},Ln=class{constructor(t){this.backend=t;this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[n]of wo)Vn.push(n),this.freeBuffers.set(n,[]),this.freeUniformBuffers.set(n,[]);this.sessionCount=0}upload(t,n){let r=n.buffer,o=n.byteOffset,i=n.byteLength,s=Nn(i),a=this.storageCache.get(t);if(!a)throw new Error(\"gpu data for uploading does not exist\");if(Number(a.originalSize)!==i)throw new Error(`inconsistent data size. gpu data size=${a.originalSize}, data size=${i}`);let u=this.backend.device.createBuffer({mappedAtCreation:!0,size:s,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),d=u.getMappedRange();new Uint8Array(d).set(new Uint8Array(r,o,i)),u.unmap();let l=this.backend.device.createCommandEncoder();l.copyBufferToBuffer(u,0,a.gpuData.buffer,0,s),this.backend.device.queue.submit([l.finish()]),u.destroy(),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.upload(id=${t})`)}memcpy(t,n){let r=this.storageCache.get(t);if(!r)throw new Error(\"source gpu data for memcpy does not exist\");let o=this.storageCache.get(n);if(!o)throw new Error(\"destination gpu data for memcpy does not exist\");if(r.originalSize!==o.originalSize)throw new Error(\"inconsistent source and destination gpu data size\");let i=Nn(r.originalSize),s=this.backend.getCommandEncoder();this.backend.endComputePass(),s.copyBufferToBuffer(r.gpuData.buffer,0,o.gpuData.buffer,0,i)}registerExternalBuffer(t,n,r){let o;if(r){if(o=r[0],t===r[1])return Z(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${n}) => id=${o}, buffer is the same, skip.`),o;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.\n Please use the previous external buffer!`)}else o=$o();return this.storageCache.set(o,{gpuData:{id:o,type:0,buffer:t},originalSize:n}),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${n}) => id=${o}, registered.`),o}unregisterExternalBuffer(t){t!==void 0&&(this.storageCache.delete(t),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${t}`))}create(t,n=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let r=ld(t),o,i=(n&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,s=(n&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(i||s){let d=(i?this.freeBuffers:this.freeUniformBuffers).get(r);d?d.length>0?o=d.pop():o=this.backend.device.createBuffer({size:r,usage:n}):o=this.backend.device.createBuffer({size:r,usage:n})}else o=this.backend.device.createBuffer({size:r,usage:n});let a={id:$o(),type:0,buffer:o};return this.storageCache.set(a.id,{gpuData:a,originalSize:Number(t)}),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.create(size=${t}) => id=${a.id}`),a}get(t){return this.storageCache.get(t)?.gpuData}release(t){let n=typeof t==\"bigint\"?Number(t):t,r=this.storageCache.get(n);if(!r){if(this.storageCache.size===0)return 0;throw new Error(\"releasing data does not exist\")}return Z(\"verbose\",()=>`[WebGPU] GpuDataManager.release(id=${n}), gpuDataId=${r.gpuData.id}`),this.storageCache.delete(n),this.buffersPending.push(r.gpuData.buffer),r.originalSize}async download(t,n){let r=this.storageCache.get(Number(t));if(!r)throw new Error(\"data does not exist\");await Wn(this.backend,r.gpuData.buffer,r.originalSize,n)}refreshPendingBuffers(){if(this.buffersPending.length!==0)if(this.backend.sessionStatus===\"default\"){for(let t of this.buffersPending){let n=wo.get(t.size);if((t.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE){let r=this.freeBuffers.get(t.size)||[];n===void 0||r.length>=n?t.destroy():r.push(t)}else if((t.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM){let r=this.freeUniformBuffers.get(t.size)||[];n===void 0||r.length>=n?t.destroy():r.push(t)}else t.destroy()}this.buffersPending=[]}else{let t=this.capturedPendingBuffers.get(this.backend.currentSessionId);t||(t=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,t));for(let n of this.buffersPending)t.push(n);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.freeUniformBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.storageCache.forEach(t=>{t.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onCreateSession(){this.sessionCount+=1}onReleaseSession(t){let n=this.capturedPendingBuffers.get(t);n&&(n.forEach(r=>{r.destroy()}),this.capturedPendingBuffers.delete(t)),this.sessionCount-=1,this.sessionCount===0&&(Z(\"warning\",()=>\"[WebGPU] Clearing webgpu buffer cache\"),this.storageCache.forEach(r=>{r.gpuData.buffer.destroy()}),this.storageCache=new Map)}},xo=(...e)=>new Ln(...e)});var Gn,L,ue=k(()=>{\"use strict\";Gn=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(\";\")),this.key}},L=e=>new Gn(e)});var Je,Fn,re,pe,P,J,qn,et,Ie,D,Xt,S,C,To,Yt,Hn,Io,q=k(()=>{\"use strict\";N();H();Je=64,Fn=(e,t)=>{if(t===3)throw new Error(\"vec3 has same alignment as vec4, use vec4 instead\");switch(Number(e)){case 10:return t>1?`vec${t}<f16>`:\"f16\";case 1:return t>1?`vec${t}<f32>`:\"f32\";case 6:return t>1?`vec${t}<i32>`:\"i32\";case 12:return t>1?`vec${t}<u32>`:\"u32\";case 7:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2<u32>\",\"i32\"];case 13:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2<u32>\",\"u32\"];case 9:if(t!==4)throw new Error(\"bool must be vec4\");return[\"u32\",\"vec4<bool>\"];case 22:return\"i32\";case 21:return\"u32\";default:throw new Error(`Unknown data type: ${e}`)}},re=(e,t=1)=>{let n=Fn(e,t);return typeof n==\"string\"?n:n[0]},pe=(e,t=1)=>{let n=Fn(e,t);return typeof n==\"string\"?n:n[1]},P=(...e)=>{let t=[];return e.forEach(n=>{n.length!==0&&t.push({type:12,data:n},{type:12,data:x.computeStrides(n)})}),t},J=e=>e%4===0?4:e%2===0?2:1,qn=(e=\"f32\",t,n=\"0\")=>!t||t===1?`${e}(${n})`:`vec${t}<${e}>(${n})`,et=(e,t,n)=>e===\"f32\"?n:t===1?`f32(${n})`:`vec${t}<f32>(${n})`,Ie=(e,t)=>t===4?`(${e}.x + ${e}.y + ${e}.z + ${e}.w)`:t===2?`(${e}.x + ${e}.y)`:t===3?`(${e}.x + ${e}.y + ${e}.z)`:e,D=(e,t,n,r)=>e.startsWith(\"uniforms.\")&&n>4?typeof t==\"string\"?r===\"f16\"?`${e}[(${t}) / 8][(${t}) % 8 / 4][(${t}) % 8 % 4]`:`${e}[(${t}) / 4][(${t}) % 4]`:r===\"f16\"?`${e}[${Math.floor(t/8)}][${Math.floor(t%8/4)}][${t%8%4}]`:`${e}[${Math.floor(t/4)}][${t%4}]`:n>1?`${e}[${t}]`:e,Xt=(e,t,n,r,o)=>{let i=typeof n==\"number\",s=i?n:n.length,a=[...new Array(s).keys()],u=s<2?\"u32\":s<=4?`vec${s}<u32>`:`array<u32, ${s}>`,d=Fn(t,o),l=typeof d==\"string\"?d:d[1],c=typeof d==\"string\"?d:d[0],p={indices:u,value:l,storage:c,tensor:t},f=A=>typeof A==\"string\"?A:`${A}u`,m={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},h=i?\"uniforms.\":\"\",_=`${h}${e}_shape`,y=`${h}${e}_strides`,g=\"\";for(let A=0;A<s-1;A++)g+=`\n let dim${A} = current / ${D(y,A,s)};\n let rest${A} = current % ${D(y,A,s)};\n indices[${A}] = dim${A};\n current = rest${A};\n `;g+=`indices[${s-1}] = current;`;let b=s<2?\"\":`\n fn o2i_${e}(offset: u32) -> ${p.indices} {\n var indices: ${p.indices};\n var current = offset;\n ${g}\n return indices;\n }`,w=A=>(m.offsetToIndices=!0,s<2?A:`o2i_${e}(${A})`),v=[];if(s>=2)for(let A=s-1;A>=0;A--)v.push(`${D(y,A,s)} * (indices[${A}])`);let $=s<2?\"\":`\n fn i2o_${e}(indices: ${p.indices}) -> u32 {\n return ${v.join(\"+\")};\n }`,T=A=>(m.indicesToOffset=!0,s<2?A:`i2o_${e}(${A})`),I=(...A)=>s===0?\"0u\":`${p.indices}(${A.map(f).join(\",\")})`,E=(A,B)=>s<2?`${A}`:`${D(A,B,s)}`,z=(A,B,oe)=>s<2?`${A}=${oe};`:`${D(A,B,s)}=${oe};`,M={},O=(A,B)=>{m.broadcastedIndicesToOffset=!0;let oe=`${B.name}broadcastedIndicesTo${e}Offset`;if(oe in M)return`${oe}(${A})`;let he=[];for(let ae=s-1;ae>=0;ae--){let ge=B.indicesGet(\"outputIndices\",ae+B.rank-s);he.push(`${E(y,ae)} * (${ge} % ${E(_,ae)})`)}return M[oe]=`fn ${oe}(outputIndices: ${B.type.indices}) -> u32 {\n return ${he.length>0?he.join(\"+\"):\"0u\"};\n }`,`${oe}(${A})`},W=(A,B)=>(()=>{if(p.storage===p.value)return`${e}[${A}]=${B};`;if(p.storage===\"vec2<u32>\"&&p.value===\"i32\")return`${e}[${A}]=vec2<u32>(u32(${B}), select(0u, 0xFFFFFFFFu, ${B} < 0));`;if(p.storage===\"vec2<u32>\"&&p.value===\"u32\")return`${e}[${A}]=vec2<u32>(u32(${B}), 0u);`;if(p.storage===\"u32\"&&p.value===\"vec4<bool>\")return`${e}[${A}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${B}));`;throw new Error(`not supported combination of storage type ${p.storage} and value type ${p.value} yet`)})(),K=A=>(()=>{if(p.storage===p.value)return`${e}[${A}]`;if(p.storage===\"vec2<u32>\"&&p.value===\"i32\")return`i32(${e}[${A}].x)`;if(p.storage===\"vec2<u32>\"&&p.value===\"u32\")return`u32(${e}[${A}].x)`;if(p.storage===\"u32\"&&p.value===\"vec4<bool>\")return`vec4<bool>(bool(${e}[${A}] & 0xFFu), bool(${e}[${A}] & 0xFF00u), bool(${e}[${A}] & 0xFF0000u), bool(${e}[${A}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${p.storage} and value type ${p.value} yet`)})(),U=s<2?\"\":`\n fn get_${e}ByIndices(indices: ${p.indices}) -> ${l} {\n return ${K(`i2o_${e}(indices)`)};\n }`,R=s<2?\"\":(()=>{let A=a.map(oe=>`d${oe}: u32`).join(\", \"),B=a.map(oe=>`d${oe}`).join(\", \");return`\n fn get_${e}(${A}) -> ${l} {\n return get_${e}ByIndices(${I(B)});\n }`})(),G=(...A)=>{if(A.length!==s)throw new Error(`indices length must be ${s}`);let B=A.map(f).join(\",\");return s===0?K(\"0u\"):s===1?K(B[0]):(m.get=!0,m.getByIndices=!0,m.indicesToOffset=!0,`get_${e}(${B})`)},V=A=>s<2?K(A):(m.getByIndices=!0,m.indicesToOffset=!0,`get_${e}ByIndices(${A})`),j=s<2?\"\":`\n fn set_${e}ByIndices(indices: ${p.indices}, value: ${l}) {\n ${W(`i2o_${e}(indices)`,\"value\")}\n }`,Q=s<2?\"\":(()=>{let A=a.map(oe=>`d${oe}: u32`).join(\", \"),B=a.map(oe=>`d${oe}`).join(\", \");return`\n fn set_${e}(${A}, value: ${l}) {\n set_${e}ByIndices(${I(B)}, value);\n }`})();return{impl:()=>{let A=[],B=!1;return m.offsetToIndices&&(A.push(b),B=!0),m.indicesToOffset&&(A.push($),B=!0),m.broadcastedIndicesToOffset&&(Object.values(M).forEach(oe=>A.push(oe)),B=!0),m.set&&(A.push(Q),B=!0),m.setByIndices&&(A.push(j),B=!0),m.get&&(A.push(R),B=!0),m.getByIndices&&(A.push(U),B=!0),!i&&B&&A.unshift(`const ${_} = ${p.indices}(${n.join(\",\")});`,`const ${y} = ${p.indices}(${x.computeStrides(n).join(\",\")});`),A.join(`\n`)},type:p,offsetToIndices:w,indicesToOffset:T,broadcastedIndicesToOffset:O,indices:I,indicesGet:E,indicesSet:z,set:(...A)=>{if(A.length!==s+1)throw new Error(`indices length must be ${s}`);let B=A[s];if(typeof B!=\"string\")throw new Error(\"value must be string\");let oe=A.slice(0,s).map(f).join(\",\");return s===0?W(\"0u\",B):s===1?W(oe[0],B):(m.set=!0,m.setByIndices=!0,m.indicesToOffset=!0,`set_${e}(${oe}, ${B})`)},setByOffset:W,setByIndices:(A,B)=>s<2?W(A,B):(m.setByIndices=!0,m.indicesToOffset=!0,`set_${e}ByIndices(${A}, ${B});`),get:G,getByOffset:K,getByIndices:V,usage:r,name:e,strides:y,shape:_,rank:s}},S=(e,t,n,r=1)=>Xt(e,t,n,\"input\",r),C=(e,t,n,r=1)=>Xt(e,t,n,\"output\",r),To=(e,t,n)=>Xt(e,t,n,\"atomicOutput\",1),Yt=(e,t,n,r=1)=>Xt(e,t,n,\"internal\",r),Hn=class{constructor(t,n){this.normalizedDispatchGroup=t;this.limits=n;this.internalVariables=[];this.variables=[];this.uniforms=[];this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(t){return`if (global_idx >= ${typeof t==\"number\"?`${t}u`:t}) { return; }`}mainStart(t=Je){let n=typeof t==\"number\"?t:t[0],r=typeof t==\"number\"?1:t[1],o=typeof t==\"number\"?1:t[2];if(n>this.limits.maxComputeWorkgroupSizeX||r>this.limits.maxComputeWorkgroupSizeY||o>this.limits.maxComputeWorkgroupSizeZ)throw new Error(`workgroup size [${n}, ${r}, ${o}] exceeds the maximum workgroup size [${this.limits.maxComputeWorkgroupSizeX}, ${this.limits.maxComputeWorkgroupSizeY}, ${this.limits.maxComputeWorkgroupSizeZ}].`);if(n*r*o>this.limits.maxComputeInvocationsPerWorkgroup)throw new Error(`workgroup size [${n}, ${r}, ${o}] exceeds the maximum workgroup invocations ${this.limits.maxComputeInvocationsPerWorkgroup}.`);let i=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1,s=i?`@builtin(global_invocation_id) global_id : vec3<u32>,\n @builtin(workgroup_id) workgroup_id : vec3<u32>,\n @builtin(local_invocation_index) local_idx : u32,\n @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(global_invocation_id) global_id : vec3<u32>,\n @builtin(local_invocation_id) local_id : vec3<u32>,\n @builtin(local_invocation_index) local_idx : u32,\n @builtin(workgroup_id) workgroup_id : vec3<u32>,\n @builtin(num_workgroups) num_workgroups : vec3<u32>`,a=i?`let global_idx = global_id.x;\n let workgroup_index = workgroup_id.x;`:`let workgroup_index = workgroup_id.z * num_workgroups[0] * num_workgroups[1] +\n workgroup_id.y * num_workgroups[0] + workgroup_id.x;\n let global_idx = workgroup_index * ${n*r*o}u + local_idx;`;return`@compute @workgroup_size(${n}, ${r}, ${o})\n fn main(${s}) {\n ${a}\n `}appendVariableUniforms(t){t.rank!==0&&(t.shape.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.shape.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}),t.strides.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.strides.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}))}declareVariable(t,n){if(t.usage===\"internal\")throw new Error(\"cannot use internal variable with declareVariable(). use registerInternalVariables() instead.\");this.variables.push(t),this.appendVariableUniforms(t);let r=t.usage===\"input\"?\"read\":\"read_write\",o=t.usage===\"atomicOutput\"?\"atomic<i32>\":t.type.storage;return`@group(0) @binding(${n}) var<storage, ${r}> ${t.name}: array<${o}>;`}declareVariables(...t){return t.map(n=>this.declareVariable(n,this.variableIndex++)).join(`\n`)}registerInternalVariable(t){if(t.usage!==\"internal\")throw new Error(\"cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.\");this.internalVariables.push(t),this.appendVariableUniforms(t)}registerInternalVariables(...t){return t.forEach(n=>this.registerInternalVariable(n)),this}registerUniform(t,n,r=1){return this.uniforms.push({name:t,type:n,length:r}),this}registerUniforms(t){return this.uniforms=this.uniforms.concat(t),this}uniformDeclaration(){if(this.uniforms.length===0)return\"\";let t=[];for(let{name:n,type:r,length:o}of this.uniforms)if(o&&o>4)r===\"f16\"?t.push(`@align(16) ${n}:array<mat2x4<${r}>, ${Math.ceil(o/8)}>`):t.push(`${n}:array<vec4<${r}>, ${Math.ceil(o/4)}>`);else{let i=o==null||o===1?r:`vec${o}<${r}>`;t.push(`${n}:${i}`)}return`\n struct Uniforms { ${t.join(\", \")} };\n @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(t=>t.impl()).join(`\n`)+this.internalVariables.map(t=>t.impl()).join(`\n`)}get variablesInfo(){if(this.uniforms.length===0)return;let t=n=>[12,10,1,6][[\"u32\",\"f16\",\"f32\",\"i32\"].indexOf(n)];return this.uniforms.map(n=>[t(n.type),n.length??1])}},Io=(e,t)=>new Hn(e,t)});var pd,Co,md,fd,hd,gd,me,Ao,Eo,Ne=k(()=>{\"use strict\";N();H();ue();q();pd=(e,t)=>{if(!e||e.length!==1)throw new Error(\"Transpose requires 1 input.\");if(t.length!==0&&t.length!==e[0].dims.length)throw new Error(`perm size ${t.length} does not match input rank ${e[0].dims.length}`)},Co=(e,t)=>t.length!==0?t:[...new Array(e).keys()].reverse(),md=(e,t)=>x.sortBasedOnPerm(e,Co(e.length,t)),fd=(e,t,n,r)=>{let o=`fn perm(i: ${r.type.indices}) -> ${n.type.indices} {\n var a: ${n.type.indices};`;for(let i=0;i<t;++i)o+=`a[${e[i]}]=i[${i}];`;return o+=\"return a;}\"},hd=(e,t)=>{let n=[],r=[];for(let o=0;o<e.length;++o)e[o]!==1&&n.push(e[o]),e[t[o]]!==1&&r.push(t[o]);return{newShape:n,newPerm:r}},gd=(e,t)=>{let n=0;for(let r=0;r<e.length;++r)if(t[e[r]]!==1){if(e[r]<n)return!1;n=e[r]}return!0},me=(e,t)=>{let n=e.dataType,r=e.dims.length,o=Co(r,t),i=md(e.dims,o),s=e.dims,a=i,u=r<2||gd(o,e.dims),d;if(u)return d=h=>{let _=S(\"input\",n,s,4),y=C(\"output\",n,a,4);return`\n ${h.registerUniform(\"output_size\",\"u32\").declareVariables(_,y)}\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n output[global_idx] = input[global_idx];\n }`},{name:\"TransposeCopy\",shaderCache:{inputDependencies:[\"type\"]},getRunData:()=>{let h=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(h/64/4)},programUniforms:[{type:12,data:Math.ceil(h/4)}]}},getShaderSource:d};let{newShape:l,newPerm:c}=hd(e.dims,o),p=x.areEqual(c,[2,3,1]),f=x.areEqual(c,[3,1,2]);if(l.length===2||p||f){s=p?[l[0],l[1]*l[2]]:f?[l[0]*l[1],l[2]]:l,a=[s[1],s[0]];let h=16;return d=_=>{let y=S(\"a\",n,s.length),g=C(\"output\",n,a.length);return`\n ${_.registerUniform(\"output_size\",\"u32\").declareVariables(y,g)}\n var<workgroup> tile : array<array<${g.type.value}, ${h+1}>, ${h}>;\n ${_.mainStart([h,h,1])}\n let stride = (uniforms.output_shape[1] - 1) / ${h} + 1;\n let workgroup_id_x = workgroup_index % stride;\n let workgroup_id_y = workgroup_index / stride;\n let input_col = workgroup_id_y * ${h}u + local_id.x;\n let input_row = workgroup_id_x * ${h}u + local_id.y;\n if (input_row < uniforms.a_shape[0] && input_col < uniforms.a_shape[1]) {\n tile[local_id.y][local_id.x] = ${y.getByIndices(`${y.type.indices}(input_row, input_col)`)};\n }\n workgroupBarrier();\n\n let output_col = workgroup_id_x * ${h}u + local_id.x;\n let output_row = workgroup_id_y * ${h}u + local_id.y;\n if (output_row < uniforms.output_shape[0] && output_col < uniforms.output_shape[1]) {\n ${g.setByIndices(`${g.type.indices}(output_row, output_col)`,\"tile[local_id.x][local_id.y]\")}\n }\n }`},{name:\"TransposeShared\",shaderCache:{inputDependencies:[\"type\"]},getRunData:()=>{let _=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(a[1]/h),y:Math.ceil(a[0]/h)},programUniforms:[{type:12,data:_},...P(s,a)]}},getShaderSource:d}}return d=h=>{let _=S(\"a\",n,s.length),y=C(\"output\",n,a.length);return`\n ${h.registerUniform(\"output_size\",\"u32\").declareVariables(_,y)}\n\n ${fd(o,r,_,y)}\n\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${y.offsetToIndices(\"global_idx\")};\n let aIndices = perm(indices);\n\n ${y.setByOffset(\"global_idx\",_.getByIndices(\"aIndices\"))}\n }`},{name:\"Transpose\",shaderCache:{hint:`${t}`,inputDependencies:[\"rank\"]},getRunData:()=>{let h=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(h/64)},programUniforms:[{type:12,data:h},...P(s,a)]}},getShaderSource:d}},Ao=(e,t)=>{pd(e.inputs,t.perm),e.compute(me(e.inputs[0],t.perm))},Eo=e=>L({perm:e.perm})});var yd,bd,_d,wd,$d,vd,xd,Sd,Td,Id,Be,ko,Po,zo,Bo,Do,Oo,Mo,Uo,Ro,Vo,No=k(()=>{\"use strict\";N();H();q();Jt();Ne();yd={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate * candidate\",logSumExp:\"bestValue + exp(candidate)\",l1:\"bestValue + abs(candidate)\",l2:\"bestValue + candidate * candidate\",logSum:\"bestValue + candidate\"},bd={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate\",logSumExp:\"bestValue + candidate\",l1:\"bestValue + candidate\",l2:\"bestValue + candidate\",logSum:\"bestValue + candidate\"},_d={max:\"_A[offset]\",min:\"_A[offset]\",mean:\"0\",sum:\"0\",prod:\"1\",sumSquare:\"0\",logSumExp:\"0\",l1:\"0\",l2:\"0\",logSum:\"0\"},wd={max:\"bestValue\",min:\"bestValue\",sum:\"bestValue\",prod:\"bestValue\",sumSquare:\"bestValue\",logSumExp:\"log(bestValue)\",l1:\"bestValue\",l2:\"sqrt(bestValue)\",logSum:\"log(bestValue)\"},$d=(e,t)=>{let n=[];for(let r=t-e;r<t;++r)n.push(r);return n},vd=(e,t)=>{let n=[],r=e.length;for(let i=0;i<r;i++)t.indexOf(i)===-1&&n.push(e[i]);let o=t.map(i=>e[i]);return[n,o]},xd=(e,t)=>{let n=e.length+t.length,r=[],o=0;for(let i=0;i<n;i++)t.indexOf(i)===-1?r.push(e[o++]):r.push(1);return r},Sd=(e,t)=>{for(let n=0;n<e.length;++n)if(e[e.length-n-1]!==t-1-n)return!1;return!0},Td=(e,t)=>{let n=[];if(!Sd(e,t)){for(let r=0;r<t;++r)e.indexOf(r)===-1&&n.push(r);e.forEach(r=>n.push(r))}return n},Id=(e,t,n,r,o,i,s)=>{let a=n[0].dims,u=x.size(i),d=x.size(s),l=S(\"_A\",n[0].dataType,a),c=C(\"output\",o,i),p=64;u===1&&(p=256);let f=`\n var<workgroup> aBestValues : array<f32, ${p}>;\n `,m=h=>`\n ${h.registerUniform(\"reduceSize\",\"u32\").declareVariables(l,c)}\n ${f}\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\n return ((a - 1u) / b + 1u);\n }\n ${h.mainStart(p)}\n\n let outputIndex = global_idx / ${p};\n let offset = outputIndex * uniforms.reduceSize;\n\n var bestValue = f32(${_d[r]});\n let Length = uniforms.reduceSize;\n for (var k = local_idx; k < Length; k = k + ${p}) {\n let candidate = f32(${l.getByOffset(\"offset + k\")});\n bestValue = ${yd[r]};\n }\n aBestValues[local_idx] = bestValue;\n workgroupBarrier();\n\n var reduceSize = min(Length, ${p}u);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (local_idx < currentSize) {\n let candidate = aBestValues[local_idx + interval];\n bestValue = ${bd[r]};\n aBestValues[local_idx] = bestValue;\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (local_idx == 0u) {\n ${c.setByOffset(\"outputIndex\",`${r===\"mean\"?`${c.type.storage}(bestValue / f32(uniforms.reduceSize))`:`${c.type.storage}(${wd[r]})`}`)};\n }\n }`;return{name:e,shaderCache:{hint:`${t};${p}`,inputDependencies:[\"type\"]},getShaderSource:m,getRunData:()=>({outputs:[{dims:i,dataType:o}],dispatchGroup:{x:u},programUniforms:[{type:12,data:d}]})}},Be=(e,t,n,r)=>{let o=e.inputs.length===1?n:Kn(e.inputs,n),i=o.axes;i.length===0&&!o.noopWithEmptyAxes&&(i=e.inputs[0].dims.map((f,m)=>m));let s=x.normalizeAxes(i,e.inputs[0].dims.length),a=s,u=e.inputs[0],d=Td(a,e.inputs[0].dims.length);d.length>0&&(u=e.compute(me(e.inputs[0],d),{inputs:[0],outputs:[-1]})[0],a=$d(a.length,u.dims.length));let[l,c]=vd(u.dims,a),p=l;o.keepDims&&(p=xd(l,s)),e.compute(Id(t,o.cacheKey,[u],r,e.inputs[0].dataType,p,c),{inputs:[u]})},ko=(e,t)=>{Be(e,\"ReduceMeanShared\",t,\"mean\")},Po=(e,t)=>{Be(e,\"ReduceL1Shared\",t,\"l1\")},zo=(e,t)=>{Be(e,\"ReduceL2Shared\",t,\"l2\")},Bo=(e,t)=>{Be(e,\"ReduceLogSumExpShared\",t,\"logSumExp\")},Do=(e,t)=>{Be(e,\"ReduceMaxShared\",t,\"max\")},Oo=(e,t)=>{Be(e,\"ReduceMinShared\",t,\"min\")},Mo=(e,t)=>{Be(e,\"ReduceProdShared\",t,\"prod\")},Uo=(e,t)=>{Be(e,\"ReduceSumShared\",t,\"sum\")},Ro=(e,t)=>{Be(e,\"ReduceSumSquareShared\",t,\"sumSquare\")},Vo=(e,t)=>{Be(e,\"ReduceLogSumShared\",t,\"logSum\")}});var De,Cd,en,Kn,Oe,Ad,Ed,kd,Pd,zd,Bd,Dd,Od,Md,Ud,Me,Lo,Wo,Go,Ho,Fo,qo,Ko,jo,Zo,Qo,Jt=k(()=>{\"use strict\";N();H();ue();q();No();De=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"Reduce op requires 1 or 2 inputs.\");if(e.length===2&&e[1].dims.length!==1)throw new Error(\"Invalid axes input dims.\")},Cd=e=>[\"\",\"\",`var value = ${e.getByIndices(\"input_indices\")};`,\"\"],en=(e,t,n,r,o,i,s=!1,a=!1)=>{let u=[],d=n[0].dims,l=d.length,c=x.normalizeAxes(o,l),p=!a&&c.length===0;d.forEach((_,y)=>{p||c.indexOf(y)>=0?s&&u.push(1):u.push(_)});let f=u.length,m=x.size(u);return{name:e,shaderCache:t,getShaderSource:_=>{let y=[],g=S(\"_A\",n[0].dataType,l),b=C(\"output\",i,f),w=r(g,b,c),v=w[2];for(let $=0,T=0;$<l;$++)p||c.indexOf($)>=0?(s&&T++,v=`for(var j${$}: u32 = 0; j${$} < ${d[$]}; j${$}++) {\n ${w[2].includes(\"last_index\")?`let last_index = j${$};`:\"\"}\n ${g.indicesSet(\"input_indices\",$,`j${$}`)}\n ${v}\n }`):(y.push(`${g.indicesSet(\"input_indices\",$,b.indicesGet(\"output_indices\",T))};`),T++);return`\n\n ${_.registerUniform(\"output_size\",\"u32\").declareVariables(g,b)}\n\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var input_indices: ${g.type.indices};\n let output_indices = ${b.offsetToIndices(\"global_idx\")};\n\n ${y.join(`\n`)}\n ${w[0]} // init ops for reduce max/min\n ${w[1]}\n ${v}\n ${w[3]}\n ${w.length===4?b.setByOffset(\"global_idx\",\"value\"):w.slice(4).join(`\n`)}\n }`},getRunData:()=>({outputs:[{dims:u,dataType:i}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:[{type:12,data:m},...P(d,u)]})}},Kn=(e,t)=>{let n=[];return e[1].dims[0]>0&&e[1].getBigInt64Array().forEach(r=>n.push(Number(r))),L({axes:n,keepDims:t.keepDims,noopWithEmptyAxes:t.noopWithEmptyAxes})},Oe=(e,t,n,r)=>{let o=e.inputs,i=o.length===1?n:Kn(o,n);e.compute(en(t,{hint:i.cacheKey,inputDependencies:[\"rank\"]},[o[0]],i.noopWithEmptyAxes&&i.axes.length===0?Cd:r,i.axes,o[0].dataType,i.keepDims,i.noopWithEmptyAxes),{inputs:[0]})},Ad=(e,t)=>{De(e.inputs),Oe(e,\"ReduceLogSum\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${r.getByIndices(\"input_indices\")};`,\"value = log(value);\"])},Ed=(e,t)=>{De(e.inputs),Oe(e,\"ReduceL1\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += abs(${r.getByIndices(\"input_indices\")});`,\"\"])},kd=(e,t)=>{De(e.inputs),Oe(e,\"ReduceL2\",t,(r,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${r.getByIndices(\"input_indices\")}; value += (t * t);`,\"value = sqrt(value);\"])},Pd=(e,t)=>{De(e.inputs),Oe(e,\"ReduceLogSumExp\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += exp(${r.getByIndices(\"input_indices\")});`,\"value = log(value);\"])},zd=(e,t)=>{De(e.inputs),Oe(e,\"ReduceMax\",t,(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(r.indicesSet(\"input_indices\",a,0));return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};`,`value = max(value, ${r.getByIndices(\"input_indices\")});`,\"\"]})},Bd=(e,t)=>{De(e.inputs),Oe(e,\"ReduceMean\",t,(r,o,i)=>{let s=1;for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&(s*=e.inputs[0].dims[a]);return[\"var sum = f32(0);\",\"\",`sum += f32(${r.getByIndices(\"input_indices\")});`,`let value = ${o.type.value}(sum / ${s});`]})},Dd=(e,t)=>{De(e.inputs),Oe(e,\"ReduceMin\",t,(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};`,`value = min(value, ${r.getByIndices(\"input_indices\")});`,\"\"]})},Od=(e,t)=>{De(e.inputs),Oe(e,\"ReduceProd\",t,(r,o)=>[`var value = ${o.type.storage}(1);`,\"\",`value *= ${r.getByIndices(\"input_indices\")};`,\"\"])},Md=(e,t)=>{De(e.inputs),Oe(e,\"ReduceSum\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${r.getByIndices(\"input_indices\")};`,\"\"])},Ud=(e,t)=>{De(e.inputs),Oe(e,\"ReduceSumSquare\",t,(r,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${r.getByIndices(\"input_indices\")}; value += t * t;`,\"\"])},Me=(e,t,n)=>{if(t.length===0)return n;let r=1,o=1;for(let i=0;i<t.length;i++)t.indexOf(i)===-1?r*=e[i]:o*=e[i];return o<32&&r>1024},Lo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Bd(e,t):ko(e,t)},Wo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Ed(e,t):Po(e,t)},Go=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?kd(e,t):zo(e,t)},Ho=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Pd(e,t):Bo(e,t)},Fo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?zd(e,t):Do(e,t)},qo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Dd(e,t):Oo(e,t)},Ko=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Od(e,t):Mo(e,t)},jo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Md(e,t):Uo(e,t)},Zo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Ud(e,t):Ro(e,t)},Qo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Ad(e,t):Vo(e,t)}});var Xo,Yo,Jo,jn,ei=k(()=>{\"use strict\";N();ue();Jt();Xo=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"ArgMinMaxOp op requires 1 or 2 inputs.\");if(e[0].dataType!==1)throw new Error(\"Invalid input type.\")},Yo=(e,t)=>{Xo(e.inputs);let n=(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${r.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\"<=\":\"<\"} value) {\n value = ${r.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(en(\"ArgMin\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],n,[t.axis],7,t.keepDims),{inputs:[0]})},Jo=(e,t)=>{Xo(e.inputs);let n=(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${r.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\">=\":\">\"} value) {\n value = ${r.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(en(\"argMax\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],n,[t.axis],7,t.keepDims),{inputs:[0]})},jn=e=>L(e)});var Rd,Zn,Vd,Nd,Ld,st,Wd,ti,tn=k(()=>{\"use strict\";N();H();Qt();q();Rd=(e,t)=>{let n=e[0],r=e[1],o=e[2],i=e[3],s=e[4],a=e[5];if(s&&a)throw new Error(\"Attention cannot have both past and attention_bias\");if(n.dims.length!==3)throw new Error('Input \"input\" must have 3 dimensions');let u=n.dims[0],d=n.dims[1],l=n.dims[2];if(o.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimensions');if(r.dims.length!==2)throw new Error('Input \"weights\" is expected to have 2 dimensions');if(r.dims[0]!==l)throw new Error(\"Input 1 dimension 0 should have same length as dimension 2 of input 0\");if(o.dims[0]!==r.dims[1])throw new Error('Input \"bias\" dimension 0 should have same length as dimension 1 of input \"weights\"');let c=o.dims[0]/3,p=c,f=p;if(t.qkvHiddenSizes.length>0){if(t.qkvHiddenSizes.length!==3)throw new Error(\"qkv_hidden_sizes attribute should have 3 elements\");for(let b of t.qkvHiddenSizes)if(b%t.numHeads!==0)throw new Error(\"qkv_hidden_sizes should be divisible by num_heads\");c=t.qkvHiddenSizes[0],p=t.qkvHiddenSizes[1],f=t.qkvHiddenSizes[2]}let m=d;if(c!==p)throw new Error(\"qkv_hidden_sizes first element should be same as the second\");if(o.dims[0]!==c+p+f)throw new Error('Input \"bias\" dimension 0 should have same length as sum of Q/K/V hidden sizes');let h=0;if(s){if(p!==f)throw new Error('Input \"past\" expect k_hidden_size == v_hidden_size');if(s.dims.length!==5)throw new Error('Input \"past\" must have 5 dimensions');if(s.dims[0]!==2)throw new Error('Input \"past\" first dimension must be 2');if(s.dims[1]!==u)throw new Error('Input \"past\" second dimension must be batch_size');if(s.dims[2]!==t.numHeads)throw new Error('Input \"past\" third dimension must be num_heads');if(s.dims[4]!==p/t.numHeads)throw new Error('Input \"past\" fifth dimension must be k_hidden_size / num_heads');t.pastPresentShareBuffer||(h=s.dims[3])}let _=m+h,y=-1,g=0;if(i)throw new Error(\"Mask not supported\");if(s)throw new Error(\"past is not supported\");if(a){if(a.dims.length!==4)throw new Error('Input \"attention_bias\" must have 4 dimensions');if(a.dims[0]!==u||a.dims[1]!==t.numHeads||a.dims[2]!==d||a.dims[3]!==_)throw new Error('Expect \"attention_bias\" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:u,sequenceLength:d,pastSequenceLength:h,kvSequenceLength:m,totalSequenceLength:_,maxSequenceLength:y,inputHiddenSize:l,hiddenSize:c,vHiddenSize:f,headSize:Math.floor(c/t.numHeads),vHeadSize:Math.floor(f/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:g,scale:t.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},Zn=(e,t,n)=>t&&e?`\n let total_sequence_length_input = u32(${t.getByOffset(\"0\")});\n let present_sequence_length = max(total_sequence_length_input, uniforms.past_sequence_length);\n let is_subsequent_prompt: bool = sequence_length > 1 && sequence_length != total_sequence_length_input;\n let is_first_prompt: bool = is_subsequent_prompt == false && sequence_length == total_sequence_length_input;\n total_sequence_length = u32(${e?.getByOffset(\"batchIdx\")}) + 1;\n var past_sequence_length: u32 = 0;\n if (is_first_prompt == false) {\n past_sequence_length = total_sequence_length - sequence_length;\n }\n `:`\n ${n?\"let past_sequence_length = uniforms.past_sequence_length\":\"\"};\n let present_sequence_length = total_sequence_length;\n `,Vd=(e,t,n,r,o,i,s,a)=>{let u=J(s?1:i),d=64,l=i/u;l<d&&(d=32);let c=Math.ceil(i/u/d),p=[{type:12,data:t},{type:12,data:n},{type:12,data:r},{type:12,data:o},{type:12,data:l},{type:12,data:c}],f=re(e.dataType,u),m=pe(1,u),h=[\"type\"];s&&h.push(\"type\"),a&&h.push(\"type\");let _=y=>{let g=C(\"x\",e.dataType,e.dims,u),b=[g],w=s?S(\"seq_lens\",s.dataType,s.dims):void 0;w&&b.push(w);let v=a?S(\"total_sequence_length_input\",a.dataType,a.dims):void 0;v&&b.push(v);let $=pe(e.dataType),T=[{name:\"batch_size\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"sequence_length\",type:\"u32\"},{name:\"total_sequence_length\",type:\"u32\"},{name:\"elements_per_thread\",type:\"u32\"}];return`\n var<workgroup> thread_max: array<f32, ${d}>;\n var<workgroup> thread_sum: array<f32, ${d}>;\n ${y.registerUniforms(T).declareVariables(...b)}\n ${y.mainStart([d,1,1])}\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let sequence_length = uniforms.sequence_length;\n var total_sequence_length = uniforms.total_sequence_length;\n ${Zn(w,v,!1)}\n let local_offset = local_idx * uniforms.elements_per_thread;\n let offset = (global_idx / ${d}) * uniforms.total_sequence_length + local_offset;\n let seq_causal_length = ${s?\"u32(past_sequence_length + workgroup_id.y + 1)\":\"total_sequence_length\"};\n var thread_max_vector = ${m}(-3.4028234663852886e+38f);\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n thread_max_vector = max(${m}(x[offset + i]), thread_max_vector);\n }\n thread_max[local_idx] = ${(()=>{switch(u){case 1:return\"thread_max_vector\";case 2:return\"max(thread_max_vector.x, thread_max_vector.y)\";case 4:return\"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))\";default:throw new Error(`Unsupported components: ${u}`)}})()};\n workgroupBarrier();\n\n var max_value = f32(-3.4028234663852886e+38f);\n for (var i = 0u; i < ${d}; i++) {\n max_value = max(thread_max[i], max_value);\n }\n\n var sum_vector = ${m}(0);\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n sum_vector += exp(${m}(x[offset + i]) - max_value);\n }\n thread_sum[local_idx] = ${(()=>{switch(u){case 1:return\"sum_vector\";case 2:return\"sum_vector.x + sum_vector.y\";case 4:return\"sum_vector.x + sum_vector.y + sum_vector.z + sum_vector.w\";default:throw new Error(`Unsupported components: ${u}`)}})()};\n workgroupBarrier();\n\n var sum: f32 = 0;\n for (var i = 0u; i < ${d}; i++) {\n sum += thread_sum[i];\n }\n\n if (sum == 0) {\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n x[offset + i] = ${g.type.value}(${$}(1.0) / ${$}(seq_causal_length));\n }\n } else {\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n var f32input = ${m}(x[offset + i]);\n x[offset + i] = ${g.type.value}(exp(f32input - max_value) / sum);\n }\n }\n ${s?`\n for (var total_seq_id: u32 = seq_causal_length; total_seq_id + local_offset < uniforms.total_sequence_length; total_seq_id++) {\n x[offset + total_seq_id] = ${g.type.value}(${$}(0));\n }`:\"\"};\n }`};return{name:\"AttentionProbsSoftmax\",shaderCache:{hint:`${d};${f};${u}`,inputDependencies:h},getShaderSource:_,getRunData:()=>({outputs:[],dispatchGroup:{x:1,y:o,z:t*n},programUniforms:p})}},Nd=(e,t,n,r,o,i,s,a,u)=>{let d=s+i.kvSequenceLength,l=[i.batchSize,i.numHeads,i.sequenceLength,d],c=e>1&&r,p=i.kvNumHeads?i.kvNumHeads:i.numHeads,f=c?[i.batchSize,p,d,i.headSize]:void 0,m=i.nReps?i.nReps:1,h=i.scale===0?1/Math.sqrt(i.headSize):i.scale,_=J(i.headSize),y=i.headSize/_,g=12,b={x:Math.ceil(d/g),y:Math.ceil(i.sequenceLength/g),z:i.batchSize*i.numHeads},w=[{type:12,data:i.sequenceLength},{type:12,data:y},{type:12,data:d},{type:12,data:i.numHeads},{type:12,data:i.headSize},{type:1,data:h},{type:12,data:s},{type:12,data:i.kvSequenceLength},{type:12,data:m}],v=c&&r&&x.size(r.dims)>0,$=[\"type\",\"type\"];v&&$.push(\"type\"),o&&$.push(\"type\"),a&&$.push(\"type\"),u&&$.push(\"type\");let T=[{dims:l,dataType:t.dataType,gpuDataType:0}];c&&T.push({dims:f,dataType:t.dataType,gpuDataType:0});let I=E=>{let z=S(\"q\",t.dataType,t.dims,_),M=S(\"key\",n.dataType,n.dims,_),O=[z,M];if(v){let j=S(\"past_key\",r.dataType,r.dims,_);O.push(j)}o&&O.push(S(\"attention_bias\",o.dataType,o.dims));let W=a?S(\"seq_lens\",a.dataType,a.dims):void 0;W&&O.push(W);let K=u?S(\"total_sequence_length_input\",u.dataType,u.dims):void 0;K&&O.push(K);let U=C(\"output\",t.dataType,l),R=[U];c&&R.push(C(\"present_key\",t.dataType,f,_));let G=pe(1,_),V=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"n_reps\",type:\"u32\"}];return`\n const TILE_SIZE = ${g}u;\n\n var<workgroup> tileQ: array<${z.type.storage}, ${g*g}>;\n var<workgroup> tileK: array<${z.type.storage}, ${g*g}>;\n ${E.registerUniforms(V).declareVariables(...O,...R)}\n ${E.mainStart([g,g,1])}\n // x holds the N and y holds the M\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let kvHeadIdx = ${m===1?\"headIdx\":\"headIdx / uniforms.n_reps\"};\n let kv_num_heads = ${m===1?\"uniforms.num_heads\":\"uniforms.num_heads / uniforms.n_reps\"};\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let m = workgroup_id.y * TILE_SIZE;\n let n = workgroup_id.x * TILE_SIZE;\n let sequence_length = uniforms.M;\n var total_sequence_length = uniforms.N;\n ${Zn(W,K,!0)}\n let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx;\n let qOffset = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;\n ${v&&c?\"let pastKeyOffset = absKvHeadIdx * uniforms.past_sequence_length * uniforms.K;\":\"\"};\n let kOffset = absKvHeadIdx * uniforms.kv_sequence_length * uniforms.K;\n ${c?\"let presentKeyOffset = absKvHeadIdx * uniforms.N * uniforms.K;\":\"\"}\n var value = ${G}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (global_id.y < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];\n }\n if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {\n var idx = TILE_SIZE * local_id.y + local_id.x;\n ${v&&c?`\n if (n + local_id.y < past_sequence_length) {\n tileK[idx] = past_key[pastKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x];\n } else if (n + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {\n tileK[idx] = key[kOffset + (n + local_id.y - past_sequence_length) * uniforms.K + w + local_id.x];\n }`:`\n if (n + local_id.y < uniforms.kv_sequence_length) {\n tileK[idx] = key[kOffset + (n + local_id.y) * uniforms.K + w + local_id.x];\n }`}\n ${c?`if (n + local_id.y < present_sequence_length) {\n present_key[presentKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x] = tileK[idx];\n }`:\"\"}\n }\n workgroupBarrier();\n\n for (var k: u32 = 0u; k < TILE_SIZE && w+k < uniforms.K; k++) {\n value += ${G}(tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k]);\n }\n\n workgroupBarrier();\n }\n\n if (global_id.y < uniforms.M && global_id.x < total_sequence_length) {\n let headOffset = workgroup_id.z * uniforms.M * uniforms.N;\n let outputIdx = headOffset + global_id.y * uniforms.N + global_id.x;\n var sum: f32 = ${(()=>{switch(_){case 1:return\"value\";case 2:return\"value.x + value.y\";case 4:return\"value.x + value.y + value.z + value.w\";default:throw new Error(`Unsupported components: ${_}`)}})()};\n output[outputIdx] = ${U.type.value} (sum * uniforms.alpha) + ${o?\"attention_bias[outputIdx]\":\"0.0\"};\n }\n }`};return{name:\"AttentionProbs\",shaderCache:{hint:`${_};${o!==void 0};${r!==void 0};${e}`,inputDependencies:$},getRunData:()=>({outputs:T,dispatchGroup:b,programUniforms:w}),getShaderSource:I}},Ld=(e,t,n,r,o,i,s=void 0,a=void 0)=>{let u=i+o.kvSequenceLength,d=o.nReps?o.nReps:1,l=o.vHiddenSize*d,c=e>1&&r,p=o.kvNumHeads?o.kvNumHeads:o.numHeads,f=c?[o.batchSize,p,u,o.headSize]:void 0,m=[o.batchSize,o.sequenceLength,l],h=12,_={x:Math.ceil(o.vHeadSize/h),y:Math.ceil(o.sequenceLength/h),z:o.batchSize*o.numHeads},y=[{type:12,data:o.sequenceLength},{type:12,data:u},{type:12,data:o.vHeadSize},{type:12,data:o.numHeads},{type:12,data:o.headSize},{type:12,data:l},{type:12,data:i},{type:12,data:o.kvSequenceLength},{type:12,data:d}],g=c&&r&&x.size(r.dims)>0,b=[\"type\",\"type\"];g&&b.push(\"type\"),s&&b.push(\"type\"),a&&b.push(\"type\");let w=[{dims:m,dataType:t.dataType,gpuDataType:0}];c&&w.push({dims:f,dataType:t.dataType,gpuDataType:0});let v=$=>{let T=S(\"probs\",t.dataType,t.dims),I=S(\"v\",n.dataType,n.dims),E=[T,I];g&&E.push(S(\"past_value\",r.dataType,r.dims));let z=s?S(\"seq_lens\",s.dataType,s.dims):void 0;s&&E.push(z);let M=a?S(\"total_sequence_length_input\",a.dataType,a.dims):void 0;a&&E.push(M);let W=[C(\"output\",t.dataType,m)];c&&W.push(C(\"present_value\",t.dataType,f));let K=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"v_hidden_size\",type:\"u32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"n_reps\",type:\"u32\"}];return`\n const TILE_SIZE = ${h}u;\n var<workgroup> tileQ: array<${T.type.value}, ${h*h}>;\n var<workgroup> tileV: array<${T.type.value}, ${h*h}>;\n ${$.registerUniforms(K).declareVariables(...E,...W)}\n ${$.mainStart([h,h,1])}\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let kvHeadIdx = ${d===1?\"headIdx\":\"headIdx / uniforms.n_reps\"};\n let kv_num_heads = ${d===1?\"uniforms.num_heads\":\"uniforms.num_heads / uniforms.n_reps\"};\n let m = global_id.y;\n let n = global_id.x;\n let sequence_length = uniforms.M;\n var total_sequence_length = uniforms.K;\n ${Zn(z,M,!0)}\n let offsetA = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;\n let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx; // kvHeadIdx is relative to the batch\n ${g&&c?\"let pastValueOffset = absKvHeadIdx * uniforms.N * uniforms.past_sequence_length + n;\":\"\"};\n let vOffset = absKvHeadIdx * uniforms.N * uniforms.kv_sequence_length + n;\n ${c?\"let presentValueOffset = absKvHeadIdx * uniforms.N * uniforms.K + n;\":\"\"}\n var value = ${T.type.storage}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n var idx = TILE_SIZE * local_id.y + local_id.x;\n ${g&&c?`\n if (w + local_id.y < past_sequence_length) {\n tileV[idx] = past_value[pastValueOffset + (w + local_id.y) * uniforms.N];\n } else if (w + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {\n tileV[idx] = v[vOffset + (w + local_id.y - past_sequence_length) * uniforms.N];\n }\n `:`\n if (w + local_id.y < uniforms.kv_sequence_length) {\n tileV[idx] = v[vOffset + (w + local_id.y) * uniforms.N];\n }`}\n ${c?`\n if (w + local_id.y < present_sequence_length) {\n present_value[presentValueOffset + (w + local_id.y) * uniforms.N] = tileV[idx];\n }`:\"\"}\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k < TILE_SIZE && w+k < total_sequence_length; k++) {\n value += tileQ[TILE_SIZE * local_id.y + k] * tileV[TILE_SIZE * k + local_id.x];\n }\n workgroupBarrier();\n }\n\n // we need to transpose output from BNSH_v to BSND_v\n if (m < uniforms.M && n < uniforms.N) {\n let outputIdx = batchIdx * uniforms.M * uniforms.v_hidden_size + m * uniforms.v_hidden_size\n + headIdx * uniforms.N + n;\n output[outputIdx] = value;\n }\n }`};return{name:\"AttentionScore\",shaderCache:{hint:`${r!==void 0};${e}`,inputDependencies:b},getRunData:()=>({outputs:w,dispatchGroup:_,programUniforms:y}),getShaderSource:v}},st=(e,t,n,r,o,i,s,a,u,d,l=void 0,c=void 0)=>{let p=Math.min(e.outputCount,1+(s?1:0)+(a?1:0)),f=p>1?s:void 0,m=p>1?a:void 0,h=p>1?d.pastSequenceLength:0,_=h+d.kvSequenceLength,y=u&&x.size(u.dims)>0?u:void 0,g=[t,n];f&&x.size(f.dims)>0&&g.push(f),y&&g.push(y),l&&g.push(l),c&&g.push(c);let b=e.compute(Nd(p,t,n,f,y,d,h,l,c),{inputs:g,outputs:p>1?[-1,1]:[-1]})[0];e.compute(Vd(b,d.batchSize,d.numHeads,h,d.sequenceLength,_,l,c),{inputs:l&&c?[b,l,c]:[b],outputs:[]});let w=[b,r];m&&x.size(m.dims)>0&&w.push(m),l&&w.push(l),c&&w.push(c),e.compute(Ld(p,b,r,m,d,h,l,c),{inputs:w,outputs:p>1?[0,2]:[0]})},Wd=(e,t)=>{let n=[t.batchSize,t.numHeads,t.sequenceLength,t.headSize],r=t.sequenceLength,o=t.inputHiddenSize,i=t.headSize,s=12,a={x:Math.ceil(t.headSize/s),y:Math.ceil(t.sequenceLength/s),z:t.batchSize*t.numHeads},u=[e.inputs[0],e.inputs[1],e.inputs[2]],d=[{type:12,data:r},{type:12,data:o},{type:12,data:i},{type:12,data:t.numHeads},{type:12,data:t.headSize},{type:12,data:t.hiddenSize},{type:12,data:t.hiddenSize+t.hiddenSize+t.vHiddenSize}],l=c=>{let p=C(\"output_q\",u[0].dataType,n),f=C(\"output_k\",u[0].dataType,n),m=C(\"output_v\",u[0].dataType,n),h=S(\"input\",u[0].dataType,u[0].dims),_=S(\"weight\",u[1].dataType,u[1].dims),y=S(\"bias\",u[2].dataType,u[2].dims),g=h.type.storage,b=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"ldb\",type:\"u32\"}];return`\n const TILE_SIZE = ${s}u;\n var<workgroup> tileInput: array<${g}, ${s*s}>;\n var<workgroup> tileWeightQ: array<${g}, ${s*s}>;\n var<workgroup> tileWeightK: array<${g}, ${s*s}>;\n var<workgroup> tileWeightV: array<${g}, ${s*s}>;\n ${c.registerUniforms(b).declareVariables(h,_,y,p,f,m)}\n ${c.mainStart([s,s,1])}\n let batchIndex = workgroup_id.z / uniforms.num_heads;\n let headNumber = workgroup_id.z % uniforms.num_heads;\n let m = global_id.y;\n let n = global_id.x;\n\n let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;\n let biasOffsetQ = headNumber * uniforms.head_size;\n let biasOffsetK = uniforms.hidden_size + biasOffsetQ;\n let biasOffsetV = uniforms.hidden_size + biasOffsetK;\n\n var valueQ = ${g}(0);\n var valueK = ${g}(0);\n var valueV = ${g}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n let offset = n + (w + local_id.y) * uniforms.ldb;\n tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];\n tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];\n tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {\n let inputTileOffset = TILE_SIZE * local_id.y + k;\n let weightTileOffset = TILE_SIZE * k + local_id.x;\n valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];\n valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];\n valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];\n }\n\n workgroupBarrier();\n }\n\n let headOffset = (m * uniforms.N + n) % uniforms.head_size;\n valueQ += bias[headOffset + biasOffsetQ];\n valueK += bias[headOffset + biasOffsetK];\n valueV += bias[headOffset + biasOffsetV];\n\n let offset = workgroup_id.z * uniforms.M * uniforms.N;\n if (m < uniforms.M && n < uniforms.N) {\n let outputIdx = offset + m * uniforms.N + n;\n output_q[outputIdx] = valueQ;\n output_k[outputIdx] = valueK;\n output_v[outputIdx] = valueV;\n }\n }`};return e.compute({name:\"AttentionPrepare\",shaderCache:{inputDependencies:[\"type\",\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0}],dispatchGroup:a,programUniforms:d}),getShaderSource:l},{inputs:u,outputs:[-1,-1,-1]})},ti=(e,t)=>{let n=Rd(e.inputs,t),[r,o,i]=Wd(e,n);return st(e,r,o,i,e.inputs[4],void 0,void 0,void 0,e.inputs[5],n)}});var Gd,Hd,Fd,ni,ri=k(()=>{\"use strict\";we();N();H();ue();q();Gd=(e,t)=>{if(!e||e.length!==5)throw new Error(\"BatchNormalization requires 5 inputs\");let n=(r,o,i)=>{let s=o.length;if(s!==r.length)throw new Error(`${i}: num dimensions != ${s}`);o.forEach((a,u)=>{if(a!==r[u])throw new Error(`${i}: dim[${u}] do not match`)})};if(e[0].dims.length>1){let r=t.format===\"NHWC\"?t.spatial?e[0].dims.slice(-1):e[0].dims.slice(-1).concat(e[0].dims.slice(1,e[0].dims.length-1)):e[0].dims.slice(1,t.spatial?2:void 0);n(e[1].dims,r,\"Invalid input scale\"),n(e[2].dims,r,\"Invalid input B\"),n(e[3].dims,r,\"Invalid input mean\"),n(e[4].dims,r,\"Invalid input var\")}else n(e[1].dims,[1],\"Invalid input scale\"),n(e[2].dims,[1],\"Invalid input B\"),n(e[3].dims,[1],\"Invalid input mean\"),n(e[4].dims,[1],\"Invalid input var\")},Hd=(e,t)=>{let{epsilon:n,spatial:r,format:o}=t,i=e[0].dims,s=r?J(i[i.length-1]):1,a=o===\"NHWC\"&&i.length>1?s:1,u=x.size(i)/s,d=r,l=d?i.length:i,c=S(\"x\",e[0].dataType,e[0].dims,s),p=S(\"scale\",e[1].dataType,e[1].dims,a),f=S(\"bias\",e[2].dataType,e[2].dims,a),m=S(\"inputMean\",e[3].dataType,e[3].dims,a),h=S(\"inputVar\",e[4].dataType,e[4].dims,a),_=C(\"y\",e[0].dataType,l,s),y=()=>{let b=\"\";if(r)b=`let cOffset = ${i.length===1?\"0u\":o===\"NHWC\"?`outputIndices[${i.length-1}] / ${s}`:\"outputIndices[1]\"};`;else if(o===\"NCHW\")b=`\n ${_.indicesSet(\"outputIndices\",\"0\",\"0\")}\n let cOffset = ${_.indicesToOffset(\"outputIndices\")};`;else{b=`var cIndices = ${p.type.indices}(0);\n cIndices[0] = outputIndices[${i.length-1}];`;for(let w=1;w<p.rank;w++)b+=`cIndices[${w}] = outputIndices[${w}];`;b+=`let cOffset = ${p.indicesToOffset(\"cIndices\")};`}return b},g=b=>`\n const epsilon = ${n};\n ${b.registerUniform(\"outputSize\",\"u32\").declareVariables(c,p,f,m,h,_)}\n ${b.mainStart()}\n ${b.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${_.offsetToIndices(`global_idx * ${s}`)};\n ${y()}\n let scale = ${p.getByOffset(\"cOffset\")};\n let bias = ${f.getByOffset(\"cOffset\")};\n let inputMean = ${m.getByOffset(\"cOffset\")};\n let inputVar = ${h.getByOffset(\"cOffset\")};\n let x = ${c.getByOffset(\"global_idx\")};\n let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;\n ${_.setByOffset(\"global_idx\",\"value\")}\n }`;return{name:\"BatchNormalization\",shaderCache:{hint:`${t.epsilon}_${t.format}_${r}_${s}`,inputDependencies:d?[\"rank\",\"type\",\"type\",\"type\",\"type\"]:void 0},getShaderSource:g,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:d?[{type:12,data:u},...P(i)]:[{type:12,data:u}]})}},Fd=e=>L(e),ni=(e,t)=>{let{inputs:n,outputCount:r}=e,o=Fd({...t,outputCount:r});if(te.webgpu.validateInputContent&&Gd(n,o),t.trainingMode)throw new Error(\"BatchNormalization trainingMode is not supported yet.\");e.compute(Hd(n,o))}});var qd,Kd,oi,ii=k(()=>{\"use strict\";H();q();qd=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![320,640,1280].includes(e[0].dims[2]))throw new Error(\"number of channels should be 320, 640 or 1280\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},Kd=e=>{let t=e[0].dims,n=e[0].dims[2],r=x.size(t)/4,o=e[0].dataType,i=S(\"input\",o,t,4),s=S(\"bias\",o,[n],4),a=S(\"residual\",o,t,4),u=C(\"output\",o,t,4);return{name:\"BiasAdd\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(r/64)}}),getShaderSource:l=>`\n const channels = ${n}u / 4;\n ${l.declareVariables(i,s,a,u)}\n\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(r)}\n let value = ${i.getByOffset(\"global_idx\")}\n + ${s.getByOffset(\"global_idx % channels\")} + ${a.getByOffset(\"global_idx\")};\n ${u.setByOffset(\"global_idx\",\"value\")}\n }`}},oi=e=>{qd(e.inputs),e.compute(Kd(e.inputs))}});var jd,ee,si,ai,ui,di,li,ci,pi,mi,fi,Zd,hi,gi,yi,bi,bt,_i,nn,wi,$i,vi,xi,Si,Ti,Ii,Ci,Ai,Ei,ki,Pi,zi,Bi,Di,Oi,Mi,Ui,Qn,Xn,Ri,Vi,Ni,Qd,Xd,Li,rn=k(()=>{\"use strict\";N();H();ue();q();jd=(e,t,n,r,o,i,s)=>{let a=Math.ceil(t/4),u=\"\";typeof o==\"string\"?u=`${o}(a)`:u=o(\"a\");let d=S(\"inputData\",n,[a],4),l=C(\"outputData\",r,[a],4),c=[{name:\"vec_size\",type:\"u32\"}];return s&&c.push(...s),`\n ${e.registerUniforms(c).declareVariables(d,l)}\n\n ${i??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n\n let a = ${d.getByOffset(\"global_idx\")};\n ${l.setByOffset(\"global_idx\",u)}\n }`},ee=(e,t,n,r,o,i=e.dataType,s,a)=>{let u=[{type:12,data:Math.ceil(x.size(e.dims)/4)}];return s&&u.push(...s),{name:t,shaderCache:{hint:o,inputDependencies:[\"type\"]},getShaderSource:d=>jd(d,x.size(e.dims),e.dataType,i,n,r,a),getRunData:d=>({outputs:[{dims:e.dims,dataType:i}],dispatchGroup:{x:Math.ceil(x.size(d[0].dims)/64/4)},programUniforms:u})}},si=e=>{e.compute(ee(e.inputs[0],\"Abs\",\"abs\"))},ai=e=>{e.compute(ee(e.inputs[0],\"Acos\",\"acos\"))},ui=e=>{e.compute(ee(e.inputs[0],\"Acosh\",\"acosh\"))},di=e=>{e.compute(ee(e.inputs[0],\"Asin\",\"asin\"))},li=e=>{e.compute(ee(e.inputs[0],\"Asinh\",\"asinh\"))},ci=e=>{e.compute(ee(e.inputs[0],\"Atan\",\"atan\"))},pi=e=>{e.compute(ee(e.inputs[0],\"Atanh\",\"atanh\"))},mi=e=>L(e),fi=(e,t)=>{let n;switch(t.to){case 10:n=\"vec4<f16>\";break;case 1:n=\"vec4<f32>\";break;case 12:n=\"vec4<u32>\";break;case 6:n=\"vec4<i32>\";break;case 9:n=\"vec4<bool>\";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${t.to}`)}e.compute(ee(e.inputs[0],\"Cast\",n,void 0,t.cacheKey,t.to))},Zd=e=>{let t,n,r=e.length>=2&&e[1].data!==0,o=e.length>=3&&e[2].data!==0;switch(e[0].dataType){case 1:t=r?e[1].getFloat32Array()[0]:-34028234663852886e22,n=o?e[2].getFloat32Array()[0]:34028234663852886e22;break;case 10:t=r?e[1].getUint16Array()[0]:64511,n=o?e[2].getUint16Array()[0]:31743;break;default:throw new Error(\"Unsupport data type\")}return L({min:t,max:n})},hi=(e,t)=>{let n=t||Zd(e.inputs),r=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Clip\",o=>`clamp(${o}, vec4<${r}>(uniforms.min), vec4<${r}>(uniforms.max))`,void 0,n.cacheKey,void 0,[{type:e.inputs[0].dataType,data:n.min},{type:e.inputs[0].dataType,data:n.max}],[{name:\"min\",type:r},{name:\"max\",type:r}]),{inputs:[0]})},gi=e=>{e.compute(ee(e.inputs[0],\"Ceil\",\"ceil\"))},yi=e=>{e.compute(ee(e.inputs[0],\"Cos\",\"cos\"))},bi=e=>{e.compute(ee(e.inputs[0],\"Cosh\",\"cosh\"))},bt=e=>L(e),_i=(e,t)=>{let n=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Elu\",r=>`elu_vf32(${r})`,`\n const elu_alpha_ = ${n}(${t.alpha});\n\n fn elu_f32(a: ${n}) -> ${n} {\n return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);\n }\n\n fn elu_vf32(v: vec4<${n}>) -> vec4<${n}> {\n return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));\n }`,t.cacheKey))},nn=(e=\"f32\")=>`\nconst r0: ${e} = 0.3275911;\nconst r1: ${e} = 0.254829592;\nconst r2: ${e} = -0.284496736;\nconst r3: ${e} = 1.421413741;\nconst r4: ${e} = -1.453152027;\nconst r5: ${e} = 1.061405429;\n\nfn erf_vf32(v: vec4<${e}>) -> vec4<${e}> {\n let absv = abs(v);\n let x = 1.0 / (1.0 + r0 * absv);\n return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));\n}`,wi=e=>{let t=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Erf\",n=>`erf_vf32(${n})`,nn(t)))},$i=e=>{e.compute(ee(e.inputs[0],\"Exp\",\"exp\"))},vi=e=>{e.compute(ee(e.inputs[0],\"Floor\",\"floor\"))},xi=e=>{let t=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Gelu\",n=>`0.5 * ${n} * (1.0 + erf_vf32(${n} * 0.7071067811865475))`,nn(t)))},Si=(e,t)=>{let n=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"LeakyRelu\",r=>`select(leaky_relu_alpha_ * ${r}, ${r}, ${r} >= vec4<${n}>(0.0))`,`const leaky_relu_alpha_ = ${n}(${t.alpha});`,t.cacheKey))},Ti=e=>{e.compute(ee(e.inputs[0],\"Not\",t=>`!${t}`))},Ii=e=>{e.compute(ee(e.inputs[0],\"Neg\",t=>`-${t}`))},Ci=e=>{e.compute(ee(e.inputs[0],\"Reciprocal\",t=>`1.0/${t}`))},Ai=e=>{let t=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Relu\",n=>`select(vec4<${t}>(0.0), ${n}, ${n} > vec4<${t}>(0.0))`))},Ei=e=>{e.compute(ee(e.inputs[0],\"Sigmoid\",t=>`(1.0 / (1.0 + exp(-${t})))`))},ki=e=>L(e),Pi=(e,t)=>{let n=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"HardSigmoid\",r=>`max(vec4<${n}>(0.0), min(vec4<${n}>(1.0), ${t.alpha} * ${r} + vec4<${n}>(${t.beta})))`,void 0,t.cacheKey))},zi=e=>{e.compute(ee(e.inputs[0],\"Sin\",\"sin\"))},Bi=e=>{e.compute(ee(e.inputs[0],\"Sinh\",\"sinh\"))},Di=e=>{e.compute(ee(e.inputs[0],\"Sqrt\",\"sqrt\"))},Oi=e=>{e.compute(ee(e.inputs[0],\"Tan\",\"tan\"))},Mi=e=>`sign(${e}) * (1 - exp(-2 * abs(${e}))) / (1 + exp(-2 * abs(${e})))`,Ui=e=>{e.compute(ee(e.inputs[0],\"Tanh\",Mi))},Qn=(e=\"f32\")=>`\nconst fast_gelu_a: ${e} = 0.5;\nconst fast_gelu_b: ${e} = 0.7978845608028654;\nconst fast_gelu_c: ${e} = 0.035677408136300125;\n\nfn tanh_v(v: vec4<${e}>) -> vec4<${e}> {\n return ${Mi(\"v\")};\n}\n`,Xn=e=>`(fast_gelu_a + fast_gelu_a * tanh_v(${e} * (fast_gelu_c * ${e} * ${e} + fast_gelu_b))) * ${e}`,Ri=e=>{let t=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"FastGelu\",Xn,Qn(t),void 0,e.inputs[0].dataType))},Vi=(e,t)=>{let n=pe(e.inputs[0].dataType);return e.compute(ee(e.inputs[0],\"ThresholdedRelu\",r=>`select(vec4<${n}>(0.0), ${r}, ${r} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${n}>(${t.alpha});`,t.cacheKey)),0},Ni=e=>{e.compute(ee(e.inputs[0],\"Log\",\"log\"))},Qd=(e,t)=>`\nconst alpha = vec4<${e}>(${t});\nconst one = ${e}(1.0);\nconst zero = ${e}(0.0);\n\nfn quick_gelu_impl(x: vec4<${e}>) -> vec4<${e}> {\n let v = x *alpha;\n var x1 : vec4<${e}>;\n for (var i = 0; i < 4; i = i + 1) {\n if (v[i] >= zero) {\n x1[i] = one / (one + exp(-v[i]));\n } else {\n x1[i] = one - one / (one + exp(v[i]));\n }\n }\n return x * x1;\n}\n`,Xd=e=>`quick_gelu_impl(${e})`,Li=(e,t)=>{let n=pe(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"QuickGelu\",Xd,Qd(n,t.alpha),t.cacheKey,e.inputs[0].dataType))}});var Yd,Jd,Gi,Hi=k(()=>{\"use strict\";H();q();rn();Yd=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![2560,5120,10240].includes(e[0].dims[2]))throw new Error(\"hidden state should be 2560, 5120 or 10240\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},Jd=e=>{let t=e[0].dims.slice();t[2]=t[2]/2;let n=S(\"input\",e[0].dataType,e[0].dims,4),r=S(\"bias\",e[0].dataType,[e[0].dims[2]],4),o=C(\"output\",e[0].dataType,t,4),i=x.size(t)/4,s=re(e[0].dataType);return{name:\"BiasSplitGelu\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(i/64)}}),getShaderSource:u=>`\n const M_SQRT2 = sqrt(2.0);\n const halfChannels = ${e[0].dims[2]/4/2}u;\n\n ${u.declareVariables(n,r,o)}\n\n ${nn(s)}\n\n ${u.mainStart()}\n ${u.guardAgainstOutOfBoundsWorkgroupSizes(i)}\n let biasIdx = global_idx % halfChannels;\n let batchIndex = global_idx / halfChannels;\n let inputOffset = biasIdx + batchIndex * halfChannels * 2;\n let valueLeft = input[inputOffset] + bias[biasIdx];\n let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];\n let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);\n\n ${o.setByOffset(\"global_idx\",\"valueLeft * geluRight\")}\n }`}},Gi=e=>{Yd(e.inputs),e.compute(Jd(e.inputs))}});var el,tl,Ue,Fi,qi,Ki,ji,Zi,Qi,Xi,Yi,Ji,es,ts=k(()=>{\"use strict\";N();H();q();el=(e,t,n,r,o,i,s,a,u,d,l,c)=>{let p,f;typeof a==\"string\"?p=f=(g,b)=>`${a}((${g}),(${b}))`:typeof a==\"function\"?p=f=a:(p=a.scalar,f=a.vector);let m=C(\"outputData\",l,r.length,4),h=S(\"aData\",u,t.length,4),_=S(\"bData\",d,n.length,4),y;if(o)if(i){let g=x.size(t)===1,b=x.size(n)===1,w=t.length>0&&t[t.length-1]%4===0,v=n.length>0&&n[n.length-1]%4===0;g||b?y=m.setByOffset(\"global_idx\",f(g?`${h.type.value}(${h.getByOffset(\"0\")}.x)`:h.getByOffset(\"global_idx\"),b?`${_.type.value}(${_.getByOffset(\"0\")}.x)`:_.getByOffset(\"global_idx\"))):y=`\n let outputIndices = ${m.offsetToIndices(\"global_idx * 4u\")};\n let offsetA = ${h.broadcastedIndicesToOffset(\"outputIndices\",m)};\n let offsetB = ${_.broadcastedIndicesToOffset(\"outputIndices\",m)};\n ${m.setByOffset(\"global_idx\",f(s||w?h.getByOffset(\"offsetA / 4u\"):`${h.type.value}(${h.getByOffset(\"offsetA / 4u\")}[offsetA % 4u])`,s||v?_.getByOffset(\"offsetB / 4u\"):`${_.type.value}(${_.getByOffset(\"offsetB / 4u\")}[offsetB % 4u])`))}\n `}else y=m.setByOffset(\"global_idx\",f(h.getByOffset(\"global_idx\"),_.getByOffset(\"global_idx\")));else{if(!i)throw new Error(\"no necessary to use scalar implementation for element-wise binary op implementation.\");let g=(b,w,v=\"\")=>{let $=`aData[indexA${w}][componentA${w}]`,T=`bData[indexB${w}][componentB${w}]`;return`\n let outputIndices${w} = ${m.offsetToIndices(`global_idx * 4u + ${w}u`)};\n let offsetA${w} = ${h.broadcastedIndicesToOffset(`outputIndices${w}`,m)};\n let offsetB${w} = ${_.broadcastedIndicesToOffset(`outputIndices${w}`,m)};\n let indexA${w} = offsetA${w} / 4u;\n let indexB${w} = offsetB${w} / 4u;\n let componentA${w} = offsetA${w} % 4u;\n let componentB${w} = offsetB${w} % 4u;\n ${b}[${w}] = ${v}(${p($,T)});\n `};l===9?y=`\n var data = vec4<u32>(0);\n ${g(\"data\",0,\"u32\")}\n ${g(\"data\",1,\"u32\")}\n ${g(\"data\",2,\"u32\")}\n ${g(\"data\",3,\"u32\")}\n outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:y=`\n ${g(\"outputData[global_idx]\",0)}\n ${g(\"outputData[global_idx]\",1)}\n ${g(\"outputData[global_idx]\",2)}\n ${g(\"outputData[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(h,_,m)}\n\n ${c??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${y}\n }`},tl=(e,t,n,r,o,i,s=n.dataType)=>{let a=n.dims.map(Number),u=r.dims.map(Number),d=!x.areEqual(a,u),l=a,c=x.size(a),p=!1,f=!1,m=[d];if(d){let h=ze.calcShape(a,u,!1);if(!h)throw new Error(\"Can't perform binary op on the given tensors\");l=h.slice(),c=x.size(l);let _=x.size(a)===1,y=x.size(u)===1,g=a.length>0&&a[a.length-1]%4===0,b=u.length>0&&u[u.length-1]%4===0;m.push(_),m.push(y),m.push(g),m.push(b);let w=1;for(let v=1;v<l.length;v++){let $=a[a.length-v],T=u[u.length-v];if($===T)w*=$;else break}w%4===0?(f=!0,p=!0):(_||y||g||b)&&(p=!0)}else p=!0;return m.push(p),{name:e,shaderCache:{hint:t+m.map(h=>h.toString()).join(\"_\"),inputDependencies:[\"rank\",\"rank\"]},getShaderSource:h=>el(h,a,u,l,p,d,f,o,n.dataType,r.dataType,s,i),getRunData:()=>({outputs:[{dims:l,dataType:s}],dispatchGroup:{x:Math.ceil(c/64/4)},programUniforms:[{type:12,data:Math.ceil(x.size(l)/4)},...P(a,u,l)]})}},Ue=(e,t,n,r,o,i)=>{e.compute(tl(t,o??\"\",e.inputs[0],e.inputs[1],n,r,i))},Fi=e=>{Ue(e,\"Add\",(t,n)=>`${t}+${n}`)},qi=e=>{Ue(e,\"Div\",(t,n)=>`${t}/${n}`)},Ki=e=>{Ue(e,\"Equal\",{scalar:(t,n)=>`u32(${t}==${n})`,vector:(t,n)=>`vec4<u32>(${t}==${n})`},void 0,void 0,9)},ji=e=>{Ue(e,\"Mul\",(t,n)=>`${t}*${n}`)},Zi=e=>{let t=S(\"input\",e.inputs[0].dataType,e.inputs[0].dims).type.value;Ue(e,\"Pow\",{scalar:(r,o)=>`pow_custom(${r},${o})`,vector:(r,o)=>`pow_vector_custom(${r},${o})`},`\n fn pow_custom(a : ${t}, b : ${t}) -> ${t} {\n if (b == ${t}(0.0)) {\n return ${t}(1.0);\n } else if (a < ${t}(0.0) && f32(b) != floor(f32(b))) {\n return ${t}(pow(f32(a), f32(b))); // NaN\n }\n return select(sign(a), ${t}(1.0), round(f32(abs(b) % ${t}(2.0))) != 1.0) * ${t}(${t===\"i32\"?\"round\":\"\"}(pow(f32(abs(a)), f32(b))));\n }\n fn pow_vector_custom(a : vec4<${t}>, b : vec4<${t}>) -> vec4<${t}> {\n // TODO: implement vectorized pow\n return vec4<${t}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));\n }\n `)},Qi=e=>{Ue(e,\"Sub\",(t,n)=>`${t}-${n}`)},Xi=e=>{Ue(e,\"Greater\",{scalar:(t,n)=>`u32(${t}>${n})`,vector:(t,n)=>`vec4<u32>(${t}>${n})`},void 0,void 0,9)},Yi=e=>{Ue(e,\"Less\",{scalar:(t,n)=>`u32(${t}<${n})`,vector:(t,n)=>`vec4<u32>(${t}<${n})`},void 0,void 0,9)},Ji=e=>{Ue(e,\"GreaterOrEqual\",{scalar:(t,n)=>`u32(${t}>=${n})`,vector:(t,n)=>`vec4<u32>(${t}>=${n})`},void 0,void 0,9)},es=e=>{Ue(e,\"LessOrEqual\",{scalar:(t,n)=>`u32(${t}<=${n})`,vector:(t,n)=>`vec4<u32>(${t}<=${n})`},void 0,void 0,9)}});var rl,ol,il,sl,ns,rs,os=k(()=>{\"use strict\";N();H();ue();q();rl=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");let n=0,r=e[n],o=r.dataType,i=r.dims.length;e.forEach((s,a)=>{if(a!==n){if(s.dataType!==o)throw new Error(\"input tensors should be one type\");if(s.dims.length!==i)throw new Error(\"input tensors should have the same shape\");s.dims.forEach((u,d)=>{if(d!==t&&u!==r.dims[d])throw new Error(\"non concat dimensions must match\")})}})},ol=(e,t)=>`\n fn calculateInputIndex(index: u32) -> u32 {\n let sizeInConcatAxis = array<u32, ${e}u>(${t});\n for (var i: u32 = 0u; i < ${e}; i += 1u ) {\n if (index < sizeInConcatAxis[i]) {\n return i;\n }\n }\n return ${e}u;\n }`,il=(e,t)=>{let n=e.length,r=[];for(let o=0;o<n;++o){let i=t.setByOffset(\"global_idx\",e[o].getByIndices(\"indices\"));n===1?r.push(i):o===0?r.push(`if (inputIndex == ${o}u) { ${i} }`):o===n-1?r.push(`else { ${i} }`):r.push(`else if (inputIndex == ${o}) { ${i} }`)}return r.join(`\n`)},sl=(e,t,n,r)=>{let o=x.size(n),i=new Array(e.length),s=new Array(e.length),a=0,u=[],d=[],l=[{type:12,data:o}];for(let h=0;h<e.length;++h)a+=e[h].dims[t],i[h]=a,d.push(e[h].dims.length),s[h]=S(`input${h}`,r,d[h]),u.push(\"rank\"),l.push({type:12,data:i[h]});for(let h=0;h<e.length;++h)l.push(...P(e[h].dims));l.push(...P(n));let c=C(\"output\",r,n.length),p=c.indicesGet(\"indices\",t),f=Array.from(Array(i.length).keys()).map(h=>`uniforms.sizeInConcatAxis${h}`).join(\",\"),m=h=>`\n\n ${(()=>{h.registerUniform(\"outputSize\",\"u32\");for(let _=0;_<e.length;_++)h.registerUniform(`sizeInConcatAxis${_}`,\"u32\");return h.declareVariables(...s,c)})()}\n\n ${ol(i.length,f)}\n\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n var indices = ${c.offsetToIndices(\"global_idx\")};\n\n let inputIndex = calculateInputIndex(${p});\n if (inputIndex != 0u) {\n let sizeInConcatAxis = array<u32, ${i.length}u>(${f});\n ${p} -= sizeInConcatAxis[inputIndex - 1u];\n }\n\n ${il(s,c)}\n }`;return{name:\"Concat\",shaderCache:{hint:`${t}`,inputDependencies:u},getRunData:()=>({outputs:[{dims:n,dataType:r}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:l}),getShaderSource:m}},ns=(e,t)=>{let n=e.inputs,r=n[0].dims,o=x.normalizeAxis(t.axis,r.length);rl(n,o);let i=r.slice();i[o]=n.reduce((a,u)=>a+(u.dims.length>o?u.dims[o]:0),0);let s=n.filter(a=>x.size(a.dims)>0);e.compute(sl(s,o,i,n[0].dataType),{inputs:s})},rs=e=>L({axis:e.axis})});var Ce,Ae,Ee,on,Ke=k(()=>{\"use strict\";N();H();Ce=(e,t,n=\"f32\")=>{switch(e.activation){case\"Relu\":return`value = max(value, ${t}(0.0));`;case\"Sigmoid\":return`value = (${t}(1.0) / (${t}(1.0) + exp(-value)));`;case\"Clip\":return`value = clamp(value, ${t}(${n}(uniforms.clip_min)), ${t}(${n}(uniforms.clip_max)));`;case\"HardSigmoid\":return`value = max(${t}(0.0), min(${t}(1.0), ${n}(uniforms.alpha) * value + ${n}(uniforms.beta)));`;case\"LeakyRelu\":return`value = select(${n}(uniforms.alpha) * value, value, value >= ${t}(0.0));`;case\"Tanh\":return`let e2x = exp(-2.0 * abs(value));\n value = sign(value) * (1.0 - e2x) / (1.0 + e2x);\n `;case\"\":return\"\";default:throw new Error(`Unsupported activation ${e.activation}`)}},Ae=(e,t)=>{e.activation===\"Clip\"?t.push({type:1,data:e.clipMax},{type:1,data:e.clipMin}):e.activation===\"HardSigmoid\"?t.push({type:1,data:e.alpha},{type:1,data:e.beta}):e.activation===\"LeakyRelu\"&&t.push({type:1,data:e.alpha})},Ee=(e,t)=>{e.activation===\"Clip\"?t.push({name:\"clip_max\",type:\"f32\"},{name:\"clip_min\",type:\"f32\"}):e.activation===\"HardSigmoid\"?t.push({name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}):e.activation===\"LeakyRelu\"&&t.push({name:\"alpha\",type:\"f32\"})},on=e=>{let t=e?.activation||\"\";if(t===\"HardSigmoid\"){let[n,r]=e?.activation_params||[.2,.5];return{activation:t,alpha:n,beta:r}}else if(t===\"Clip\"){let[n,r]=e?.activation_params||[co,po];return{activation:t,clipMax:r,clipMin:n}}else if(t===\"LeakyRelu\"){let[n]=e?.activation_params||[.01];return{activation:t,alpha:n}}return{activation:t}}});var le,is,sn=k(()=>{\"use strict\";le=(e,t)=>{switch(e){case 1:return t;case 2:return`vec2<${t}>`;case 3:return`vec3<${t}>`;case 4:return`vec4<${t}>`;default:throw new Error(`${e}-component is not supported.`)}},is=e=>`\n ${e?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\n `});var ss,as=k(()=>{\"use strict\";ss=e=>`\nfn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {\n return dot(coords, vec4<i32>(\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n}\nfn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {\n return dot(coords, vec4<i32>(\n i32(${e}.x), i32(${e}.y), i32(${e}.z), 1));\n}\n`});var _t,an,un=k(()=>{\"use strict\";N();H();q();Ke();_t=(e,t,n,r,o)=>{let i=r-n;return`\n ${Array.from({length:n}).map((s,a)=>`\n if (${D(t.shape,a,t.rank)} != 1) {\n ${t.indicesSet(e,a,D(o,a+i,r))}\n } else {\n ${t.indicesSet(e,a,0)}\n }`).join(\"\")}\n`},an=(e,t,n,r,o=!1,i)=>{let s=e[0].dims,a=e[1].dims,u=s[s.length-2],d=a[a.length-1],l=s[s.length-1],c=J(d),p=J(l),f=J(u),m=x.size(n)/c/f,h=e.length>2,_=r?r.slice(0,-2):n.slice(0,-2),g=[x.size(_),u,d],b=[{type:12,data:m},{type:12,data:u},{type:12,data:d},{type:12,data:l}];Ae(t,b),b.push(...P(_,s,a)),h&&b.push(...P(e[2].dims)),b.push(...P(g));let w=v=>{let $=Yt(\"batch_dims\",e[0].dataType,_.length),T=S(\"a\",e[0].dataType,s.length,p),I=S(\"b\",e[1].dataType,a.length,c),E=C(\"output\",e[0].dataType,g.length,c),z=re(E.type.tensor),M=Ce(t,E.type.value,z),O=[T,I],W=\"\";if(h){let R=o?c:1;O.push(S(\"bias\",e[2].dataType,e[2].dims.length,R)),W=`${o?`value += bias[col / ${R}];`:`value += ${E.type.value}(bias[row + i]);`}`}let K=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"}];Ee(t,K);let U=()=>{let R=`var a_data: ${T.type.value};`;for(let G=0;G<p;G++)R+=`\n let b_data${G} = b[(b_offset + (k + ${G}) * uniforms.N + col) / ${c}];`;for(let G=0;G<f;G++){R+=`a_data = a[(a_offset + (row + ${G}) * uniforms.K + k) / ${p}];`;for(let V=0;V<p;V++)R+=`\n values[${G}] = fma(${I.type.value}(a_data${p===1?\"\":`[${V}]`}), b_data${V}, values[${G}]);\n`}return R};return`\n ${v.registerUniforms(K).registerInternalVariables($).declareVariables(...O,E)}\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let col = (global_idx % (uniforms.N / ${c})) * ${c};\n var index1 = global_idx / (uniforms.N / ${c});\n let stride1 = uniforms.M / ${f};\n let row = (index1 % stride1) * ${f};\n let batch = index1 / stride1;\n\n ${n.length===2?\"\":`let batch_indices = ${$.offsetToIndices(\"batch\")};`}\n\n var a_indices: ${T.type.indices};\n ${_t(\"a_indices\",T,T.rank-2,$.rank,\"batch_indices\")}\n ${T.indicesSet(\"a_indices\",T.rank-2,0)}\n ${T.indicesSet(\"a_indices\",T.rank-1,0)}\n let a_offset = ${T.indicesToOffset(\"a_indices\")};\n\n var b_indices: ${I.type.indices};\n ${_t(\"b_indices\",I,I.rank-2,$.rank,\"batch_indices\")}\n ${I.indicesSet(\"b_indices\",I.rank-2,0)}\n ${I.indicesSet(\"b_indices\",I.rank-1,0)}\n let b_offset = ${I.indicesToOffset(\"b_indices\")};\n var values: array<${E.type.value}, ${f}>;\n for (var k: u32 = 0u; k < uniforms.K; k = k + ${p}) {\n ${U()}\n }\n for (var i = 0u; i < ${f}u; i++) {\n var value = values[i];\n ${W}\n ${M}\n let cur_indices = ${E.type.indices}(batch, row + i, col);\n let offset = ${E.indicesToOffset(\"cur_indices\")};\n ${E.setByOffset(`offset / ${c}`,\"value\")};\n }\n }\n `};return{name:\"MatMulNaive\",shaderCache:{hint:`${t.activation};${c};${p};${f};${o}`,inputDependencies:h?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:i?i(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:b}),getShaderSource:w}}});var al,ul,Yn,us,dl,Jn,ll,wt,dn=k(()=>{\"use strict\";N();H();q();Ke();un();sn();al=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRow + innerRow,\n kStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `,ul=(e,t)=>e?`\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n ${t===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\n for (var i = 0; i < rowPerThread; i = i + 1) {\n acc[i] = BCached0 * ACached0[i] + acc[i];\n acc[i] = BCached1 * ACached1[i] + acc[i];\n acc[i] = BCached2 * ACached2[i] + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\n }`:`\n for (var i = 0; i < rowPerThread; i = i + 1) {\n let ACached = mm_Asub[tileRow + i][k];\n acc[i] = BCached0 * ACached.x + acc[i];\n acc[i] = BCached1 * ACached.y + acc[i];\n acc[i] = BCached2 * ACached.z + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\n }`,Yn=(e,t,n=\"f32\",r,o=!1,i=32,s=!1,a=32)=>{let u=t[1]*e[1],d=t[0]*e[0],l=o?u:i,c=o?i:u,p=l/t[0],f=i/t[1];if(!((o&&p===4&&e[1]===4||!o&&(p===3||p===4))&&l%t[0]===0&&i%t[1]===0&&e[0]===4))throw new Error(`If transposeA ${o} is true, innerElementSize ${p} and workPerThread[1] ${e[1]} must be 4.\n Otherwise, innerElementSize ${p} must be 3 or 4.\n tileAWidth ${l} must be divisible by workgroupSize[0]${t[0]}. tileInner ${i} must be divisible by workgroupSize[1] ${t[1]}. colPerThread ${e[0]} must be 4.`);return`\nvar<workgroup> mm_Asub: array<array<vec${p}<${n}>, ${l/p}>, ${c}>;\nvar<workgroup> mm_Bsub: array<array<vec4<${n}>, ${d/e[0]}>, ${i}>;\n\nconst rowPerThread = ${e[1]};\nconst colPerThread = ${e[0]};\nconst innerElementSize = ${p};\nconst tileInner = ${i};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n @builtin(global_invocation_id) globalId : vec3<u32>,\n @builtin(workgroup_id) workgroupId : vec3<u32>) {\n let localRow = i32(localId.y);\n let tileRow = localRow * rowPerThread;\n let tileCol = i32(localId.x);\n\n let globalRow =i32(globalId.y) * rowPerThread;\n let globalCol = i32(globalId.x);\n let batch = ${s?\"0\":\"i32(globalId.z)\"};\n ${r?`let batchIndices = ${r.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let globalRowStart = i32(workgroupId.y) * ${u};\n\n let num_tiles = ${s?`${Math.ceil(a/i)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${s?`i32(globalId.z) * ${a}`:\"0\"};\n\n var acc: array<vec4<${n}>, rowPerThread>;\n\n // Loop over shared dimension.\n let tileRowB = localRow * ${f};\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let inputRow = tileRow + innerRow;\n let inputCol = tileCol;\n ${al(o,r)}\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${f}; innerRow = innerRow + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${r?\", batchIndices\":\"\"});\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n ${p===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\n\n ${ul(o,p)}\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n }\n}`},us=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRowStart + inputRow,\n kStart + inputCol${t?\", batchIndices\":\"\"});\n `,dl=e=>e?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\",Jn=(e,t,n=\"f32\",r,o=!1,i=32,s=!1,a=32,u=!1)=>{let d=e[1]*t[1],l=e[0]*t[0],c=o?d:i,p=o?i:d;if(!(p%t[1]===0&&c%t[0]===0&&i%t[1]===0))throw new Error(`tileAHight ${p} must be divisible by workgroupSize[1]${t[1]}, tileAWidth ${c} must be divisible by workgroupSize[0]${t[0]}, tileInner ${i} must be divisible by workgroupSize[1]${t[1]}`);let f=p/t[1],m=c/t[0],h=i/t[1],_=u?`\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n let globalRowStart = i32(workgroupId.y) * ${d};\n let globalColStart = i32(workgroupId.x) * ${l};\n\n // Loop over shared dimension.\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var inputRow = localRow; inputRow < ${p}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${c}; inputCol = inputCol + ${t[0]}) {\n ${us(o,r)}\n }\n }\n // Load one tile of B into local memory.\n for (var inputRow = localRow; inputRow < ${i}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${l}; inputCol = inputCol + ${t[0]}) {\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalColStart + inputCol${r?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${n}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][localCol + inner * ${t[0]}];\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let ACached = ${o?`mm_Asub[k][localRow + innerRow * ${t[1]}];`:`mm_Asub[localRow + innerRow * ${t[1]}][k];`}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n ACached * BCached[innerCol];\n }\n }\n }\n workgroupBarrier();\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let gRow = globalRowStart + localRow + innerRow * ${t[1]};\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let gCol = globalColStart + localCol + innerCol * ${t[0]};\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n }\n }\n `:`\nlet tileRow = i32(localId.y) * rowPerThread;\nlet tileCol = i32(localId.x) * colPerThread;\n\nlet globalRow = i32(globalId.y) * rowPerThread;\nlet globalCol = i32(globalId.x) * colPerThread;\nlet globalRowStart = i32(workgroupId.y) * ${d};\n\nlet tileRowA = i32(localId.y) * ${f};\nlet tileColA = i32(localId.x) * ${m};\nlet tileRowB = i32(localId.y) * ${h};\n// Loop over shared dimension.\nfor (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < ${f}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < ${m}; innerCol = innerCol + 1) {\n let inputRow = tileRowA + innerRow;\n let inputCol = tileColA + innerCol;\n ${us(o,r)}\n }\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${h}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol + innerCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalCol + innerCol${r?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${n}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][tileCol + inner];\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n ${dl(o)}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n }\n }\n }\n\n workgroupBarrier();\n}\n\nfor (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n acc[innerRow][innerCol]);\n }\n}\n`;return`\n var<workgroup> mm_Asub : array<array<${n}, ${c}>, ${p}>;\n var<workgroup> mm_Bsub : array<array<${n}, ${l}>, ${i}>;\n const rowPerThread = ${e[1]};\n const colPerThread = ${e[0]};\n const tileInner = ${i};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n @builtin(global_invocation_id) globalId : vec3<u32>,\n @builtin(workgroup_id) workgroupId : vec3<u32>) {\n let batch = ${s?\"0\":\"i32(globalId.z)\"};\n ${r?`let batchIndices = ${r.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let num_tiles = ${s?`${Math.ceil(a/i)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${s?`i32(globalId.z) * ${a}`:\"0\"};\n\n var acc : array<array<${n}, colPerThread>, rowPerThread>;\n ${_}\n }\n`},ll=(e,t,n,r,o=!1)=>{let[i,s,a,u]=r,d=re(r[0].type.tensor);return`\n fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${i.type.indices}) -> ${le(e,d)} {\n var value = ${le(e,d)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)\n {\n var aIndices: ${s.type.indices};\n ${_t(\"aIndices\",s,s.rank-2,i.rank,\"batchIndices\")}\n ${s.indicesSet(\"aIndices\",s.rank-2,\"u32(row)\")}\n ${s.indicesSet(\"aIndices\",s.rank-1,\"u32(colIn)\")}\n value = ${s.getByIndices(\"aIndices\")};\n }\n return value;\n }\n\n fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${i.type.indices}) -> ${le(e,d)} {\n var value = ${le(e,d)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)\n {\n var bIndices: ${a.type.indices};\n ${_t(\"bIndices\",a,a.rank-2,i.rank,\"batchIndices\")}\n ${a.indicesSet(\"bIndices\",a.rank-2,\"u32(row)\")}\n ${a.indicesSet(\"bIndices\",a.rank-1,\"u32(colIn)\")}\n value = ${a.getByIndices(\"bIndices\")};\n }\n return value;\n }\n\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${le(e,d)}) {\n let col = colIn * ${e};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\n var value = valueIn;\n let coords = vec3<i32>(batch, row, colIn);\n ${t?`value = value + ${o?\"bias[colIn]\":`${le(e,d)}(bias[row])`};`:\"\"}\n ${n}\n ${u.setByIndices(\"vec3<u32>(coords)\",\"value\")}\n }\n }\n `},wt=(e,t,n,r,o=!1,i)=>{let s=e[0].dims,a=e[1].dims,u=s.slice(0,-2),d=a.slice(0,-2),l=r?r.slice(0,-2):n.slice(0,-2),c=x.size(l),p=s[s.length-2],f=s[s.length-1],m=a[a.length-1],h=f%4===0&&m%4===0,_=p<=8?[4,1,1]:[4,4,1],y=[8,8,1],g=[Math.ceil(m/y[0]/_[0]),Math.ceil(p/y[1]/_[1]),Math.ceil(c/y[2]/_[2])],b=h?4:1,w=[...u,p,f/b],v=w.length,$=[...d,f,m/b],T=$.length,I=[c,p,m/b],E=[{type:6,data:p},{type:6,data:m},{type:6,data:f}];Ae(t,E),E.push(...P(l,w,$));let z=[\"rank\",\"rank\"],M=e.length>2;M&&(E.push(...P(e[2].dims)),z.push(\"rank\")),E.push(...P(I));let O=W=>{let K=l.length,U=Yt(\"batchDims\",e[0].dataType,K,1),R=re(e[0].dataType),G=S(\"a\",e[0].dataType,v,b),V=S(\"b\",e[1].dataType,T,b),j=C(\"result\",e[0].dataType,I.length,b),Q=[G,V];if(M){let B=o?b:1;Q.push(S(\"bias\",e[2].dataType,e[2].dims.length,B))}let X=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"}];Ee(t,X);let Te=re(j.type.tensor),se=Ce(t,j.type.value,Te),A=ll(b,M,se,[U,G,V,j],o);return`\n ${W.registerUniforms(X).registerInternalVariables(U).declareVariables(...Q,j)}\n ${A}\n ${h?Yn(_,y,R,U):Jn(_,y,R,U)}\n `};return{name:\"MatMul\",shaderCache:{hint:`${_};${t.activation};${h};${o}`,inputDependencies:z},getRunData:()=>({outputs:[{dims:i?i(n):n,dataType:e[0].dataType}],dispatchGroup:{x:g[0],y:g[1],z:g[2]},programUniforms:E}),getShaderSource:O}}});var cl,ds,ls=k(()=>{\"use strict\";N();Pe();q();Ke();sn();as();dn();cl=(e,t,n,r,o=!1,i,s=4,a=4,u=4,d=\"f32\")=>{let l=z=>{switch(z){case 1:return\"resData = x[xIndex];\";case 3:return`resData = vec3<${d}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${z} is not supported.`)}},c=z=>{switch(z){case 1:return\"return w[row * i32(uniforms.w_shape[3]) + colIn];\";case 4:return\"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];\";default:throw new Error(`innerElementSize ${z} is not supported.`)}},p=e?`\n let coord = vec4<i32>(batch, xRow, xCol, xCh);\n `:`\n let coord = vec4<i32>(batch, xCh, xRow, xCol);\n `,f=e?`\n let coords = vec4<i32>(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4<i32>(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,m=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",h=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",_=e?\"row\":\"col\",y=e?\"col\":\"row\",g=`\n let inChannels = i32(uniforms.w_shape[2]);\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n let outRow = ${_} / outWidth;\n let outCol = ${_} % outWidth;\n\n let WRow = ${y} / (i32(uniforms.w_shape[1]) * inChannels);\n let WCol = ${y} / inChannels % i32(uniforms.w_shape[1]);\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\n let xCh = ${y} % inChannels;\n var resData = ${le(s,d)}(0.0);\n // The bounds checking is always needed since we use it to pad zero for\n // the 'same' padding type.\n if (xRow >= 0 && xRow < ${m} && xCol >= 0 && xCol < ${h}) {\n ${p}\n let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));\n ${l(s)}\n }\n return resData;`,b=e?t&&r?`\n let col = colIn * ${s};\n ${g}`:`\n let col = colIn * ${s};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\n ${g}\n }\n return ${le(s,d)}(0.0);`:r&&n?`\n let col = colIn * ${s};\n ${g}`:`\n let col = colIn * ${s};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${g}\n }\n return ${le(s,d)}(0.0);`,w=e?r&&n?c(a):`\n let col = colIn * ${a};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${c(a)}\n }\n return ${le(a,d)}(0.0);`:`\n let col = colIn * ${a};\n if (row < uniforms.dim_inner && col < uniforms.dim_a_outer) {\n ${c(a)}\n }\n return ${le(a,d)}(0.0);`,v=le(u,d),$=e?le(s,d):le(a,d),T=e?le(a,d):le(s,d),I=Ce(i,v,d);return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${$} {\n ${e?b:w}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${T} {\n ${e?w:b}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${v}) {\n let col = colIn * ${u};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)\n {\n var value = valueIn;\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n ${f}\n ${is(o)}\n ${I}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }`},ds=(e,t,n,r,o,i,s,a,u)=>{let d=t.format===\"NHWC\",l=d?e[0].dims[3]:e[0].dims[1],c=n[0],p=d?n[2]:n[3],f=d?n[1]:n[2],m=d?n[3]:n[1],h=d&&(l%4===0||l%3===0)&&m%4===0,_=d?m:p*f,y=d?p*f:m,g=[8,8,1],b=r<=8?[4,1,1]:[4,4,1],w=[Math.ceil(_/g[0]/b[0]),Math.ceil(y/g[1]/b[1]),Math.ceil(c/g[2]/b[2])];Z(\"verbose\",()=>`[conv2d_mm_webgpu] dispatch = ${w}`);let v=h?d&&l%4!==0?3:4:1,$=g[1]*b[1],T=g[0]*b[0],I=Math.max(g[0]*v,g[1]),E=r%$===0,z=o%T===0,M=i%I===0,O=h?[v,4,4]:[1,1,1],W=[{type:6,data:r},{type:6,data:o},{type:6,data:i},{type:6,data:[t.pads[0],t.pads[1]]},{type:6,data:t.strides},{type:6,data:t.dilations}];Ae(t,W),W.push(...P(e[0].dims,e[1].dims));let K=[\"rank\",\"rank\"];s&&(W.push(...P(e[2].dims)),K.push(\"rank\")),W.push(...P(n));let U=R=>{let G=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"pad\",type:\"i32\",length:2},{name:\"stride\",type:\"i32\",length:2},{name:\"dilation\",type:\"i32\",length:2}];Ee(t,G);let V=h?4:1,j=re(e[0].dataType),Q=`\n fn setOutputAtIndex(flatIndex : i32, value : ${h?`vec4<${j}>`:j}) {\n result[flatIndex] = ${h?`vec4<${j}>`:j}(value);\n }\n fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${h?`vec4<${j}>`:j}) {\n let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));\n setOutputAtIndex(flatIndex ${h?\"/ 4\":\"\"}, value);\n }`,X=S(\"x\",e[0].dataType,e[0].dims.length,v===3?1:v),Te=S(\"w\",e[1].dataType,e[1].dims.length,V),se=[X,Te],A=C(\"result\",e[0].dataType,n.length,V);if(s){let B=S(\"bias\",e[2].dataType,e[2].dims.length,V);se.push(B),Q+=`\n fn getBiasByOutputCoords(coords : vec4<i32>) -> ${h?`vec4<${j}>`:j} {\n return bias[coords.${d?\"w\":\"y\"}${h?\"/ 4\":\"\"}];\n }`}return`\n ${ss(\"uniforms.result_strides\")}\n //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,\n // outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,\n // dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };\n ${R.registerUniforms(G).declareVariables(...se,A)}\n ${Q}\n ${cl(d,E,z,M,s,t,O[0],O[1],O[2],j)}\n ${h?Yn(b,g,j,void 0,!d,I):Jn(b,g,j,void 0,!d,I,!1,void 0,a)}`};return{name:\"Conv2DMatMul\",shaderCache:{hint:`${t.cacheKey};${v};${h};${E};${z};${M};${$};${T};${I}`,inputDependencies:K},getRunData:()=>({outputs:[{dims:u?u(n):n,dataType:e[0].dataType}],dispatchGroup:{x:w[0],y:w[1],z:w[2]},programUniforms:W}),getShaderSource:U}}});var pl,cs,ln,ml,ps,fl,ms,fs,hs=k(()=>{\"use strict\";N();Pe();H();q();Ke();sn();pl=e=>{let t=1;for(let n=0;n<e.length;n++)t*=e[n];return t},cs=e=>typeof e==\"number\"?[e,e,e]:e,ln=(e,t)=>t<=1?e:e+(e-1)*(t-1),ml=(e,t,n,r=1)=>{let o=ln(t,r);return Math.floor((e[0]*(n-1)-n+o)/2)},ps=(e,t,n,r,o)=>{o==null&&(o=ml(e,t[0],r[0]));let i=[0,0,0,n];for(let s=0;s<3;s++)e[s]+2*o>=t[s]&&(i[s]=Math.trunc((e[s]-t[s]+2*o)/r[s]+1));return i},fl=(e,t,n,r,o,i,s,a,u,d)=>{let l,c,p,f;if(e===\"VALID\"&&(e=0),typeof e==\"number\"){l={top:e,bottom:e,left:e,right:e,front:e,back:e};let m=ps([t,n,r,1],[a,u,d],1,[o,i,s],e);c=m[0],p=m[1],f=m[2]}else if(Array.isArray(e)){if(!e.every((h,_,y)=>h===y[0]))throw Error(`Unsupported padding parameter: ${e}`);l={top:e[0],bottom:e[1],left:e[2],right:e[3],front:e[4],back:e[5]};let m=ps([t,n,r,1],[a,u,d],1,[o,i,s],e[0]);c=m[0],p=m[1],f=m[2]}else if(e===\"SAME_UPPER\"){c=Math.ceil(t/o),p=Math.ceil(n/i),f=Math.ceil(r/s);let m=(c-1)*o+a-t,h=(p-1)*i+u-n,_=(f-1)*s+d-r,y=Math.floor(m/2),g=m-y,b=Math.floor(h/2),w=h-b,v=Math.floor(_/2),$=_-v;l={top:b,bottom:w,left:v,right:$,front:y,back:g}}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:l,outDepth:c,outHeight:p,outWidth:f}},ms=(e,t,n,r,o,i=!1,s=\"channelsLast\")=>{let a,u,d,l,c;if(s===\"channelsLast\")[a,u,d,l,c]=e;else if(s===\"channelsFirst\")[a,c,u,d,l]=e;else throw new Error(`Unknown dataFormat ${s}`);let[p,,f,m,h]=t,[_,y,g]=cs(n),[b,w,v]=cs(r),$=ln(f,b),T=ln(m,w),I=ln(h,v),{padInfo:E,outDepth:z,outHeight:M,outWidth:O}=fl(o,u,d,l,_,y,g,$,T,I),W=i?p*c:p,K=[0,0,0,0,0];return s===\"channelsFirst\"?K=[a,W,z,M,O]:s===\"channelsLast\"&&(K=[a,z,M,O,W]),{batchSize:a,dataFormat:s,inDepth:u,inHeight:d,inWidth:l,inChannels:c,outDepth:z,outHeight:M,outWidth:O,outChannels:W,padInfo:E,strideDepth:_,strideHeight:y,strideWidth:g,filterDepth:f,filterHeight:m,filterWidth:h,effectiveFilterDepth:$,effectiveFilterHeight:T,effectiveFilterWidth:I,dilationDepth:b,dilationHeight:w,dilationWidth:v,inShape:e,outShape:K,filterShape:t}},fs=(e,t,n,r,o,i)=>{let s=i===\"channelsLast\",a=s?e[0].dims[3]:e[0].dims[1],u=!1,d=[64,1,1],l={x:n.map((g,b)=>b)},c=[Math.ceil(pl(l.x.map(g=>n[g]))/d[0]),1,1];Z(\"verbose\",()=>`[conv3d_naive_webgpu] dispatch = ${c}`);let p=u?s&&a%4!==0?3:4:1,f=x.size(n),m=[{type:12,data:f},{type:12,data:r},{type:12,data:o},{type:12,data:t.strides},{type:12,data:t.dilations}];Ae(t,m),m.push(...P(e[0].dims,e[1].dims));let h=[\"rank\",\"rank\"],_=e.length===3;_&&(m.push(...P(e[2].dims)),h.push(\"rank\")),m.push(...P(n));let y=g=>{let b=[{name:\"output_size\",type:\"u32\"},{name:\"filter_dims\",type:\"u32\",length:r.length},{name:\"pads\",type:\"u32\",length:o.length},{name:\"strides\",type:\"u32\",length:t.strides.length},{name:\"dilations\",type:\"u32\",length:t.dilations.length}];Ee(t,b);let w=u?4:1,v=re(e[0].dataType),$=S(\"x\",e[0].dataType,e[0].dims.length,p===3?1:p),T=S(\"W\",e[1].dataType,e[1].dims.length,w),I=[$,T],E=C(\"result\",e[0].dataType,n.length,w),z=\"\";if(_){let W=S(\"bias\",e[2].dataType,e[2].dims.length,w);I.push(W),z+=`\n fn getBiasByOutputCoords(coords : array<u32, 5>) -> ${u?`vec4<${v}>`:v} {\n return bias[${s?D(\"coords\",4,5):D(\"coords\",1,5)}${u?\"/ 4\":\"\"}];\n }`}let M=le(p,v),O=Ce(t,M,v);return`\n ${z}\n fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {\n let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);\n return ${$.getByIndices(\"aIndices\")};\n }\n fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {\n let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);\n return ${T.getByIndices(\"aIndices\")};\n }\n ${g.registerUniforms(b).declareVariables(...I,E)}\n ${g.mainStart()}\n ${g.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let coords = ${E.offsetToIndices(\"global_idx\")};\n let batch = ${D(\"coords\",0,$.rank)};\n let d2 = ${s?D(\"coords\",$.rank-1,$.rank):D(\"coords\",1,$.rank)};\n let xFRCCorner = vec3<u32>(${s?D(\"coords\",1,$.rank):D(\"coords\",2,$.rank)},\n ${s?D(\"coords\",2,$.rank):D(\"coords\",3,$.rank)},\n ${s?D(\"coords\",3,$.rank):D(\"coords\",4,$.rank)}) * uniforms.strides - uniforms.pads;\n let xFCorner = xFRCCorner.x;\n let xRCorner = xFRCCorner.y;\n let xCCorner = xFRCCorner.z;\n let xShapeY = ${s?D(\"uniforms.x_shape\",1,$.rank):D(\"uniforms.x_shape\",2,$.rank)};\n let xShapeZ = ${s?D(\"uniforms.x_shape\",2,$.rank):D(\"uniforms.x_shape\",3,$.rank)};\n let xShapeW = ${s?D(\"uniforms.x_shape\",3,$.rank):D(\"uniforms.x_shape\",4,$.rank)};\n let xShapeU = ${s?D(\"uniforms.x_shape\",4,$.rank):D(\"uniforms.x_shape\",1,$.rank)};\n let inputDepthNearestVec4 = (xShapeU / 4) * 4;\n let inputDepthVec4Remainder = xShapeU % 4;\n\n var value = 0.0;\n for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) {\n let xF = xFCorner + wF * uniforms.dilations[0];\n if (xF < 0 || xF >= xShapeY) {\n continue;\n }\n\n for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) {\n let xR = xRCorner + wR * uniforms.dilations[1];\n if (xR < 0 || xR >= xShapeZ) {\n continue;\n }\n\n for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) {\n let xC = xCCorner + wC * uniforms.dilations[2];\n if (xC < 0 || xC >= xShapeW) {\n continue;\n }\n\n for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) {\n ${s?`let xValues = vec4<f32>(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3));\n `:`let xValues = vec4<f32>(\n getX(batch, d1, xF, xR, xC),\n getX(batch, d1 + 1, xF, xR, xC),\n getX(batch, d1 + 2, xF, xR, xC),\n getX(batch, d1 + 3, xF, xR, xC));\n `}\n let wValues = vec4<f32>(\n getW(d2, d1, wF, wR, wC),\n getW(d2, d1 + 1, wF, wR, wC),\n getW(d2, d1 + 2, wF, wR, wC),\n getW(d2, d1 + 3, wF, wR, wC));\n value += dot(xValues, wValues);\n }\n if (inputDepthVec4Remainder == 1) {\n ${s?`value += getX(batch, xF, xR, xC, inputDepthNearestVec4)\n * getW(d2, inputDepthNearestVec4, wF, wR, wC);`:`value += getX(batch, inputDepthNearestVec4, xF, xR, xC)\n * getW(d2, inputDepthNearestVec4, wF, wR, wC);`}\n } else if (inputDepthVec4Remainder == 2) {\n ${s?`let xValues = vec2<f32>(\n getX(batch, xF, xR, xC, inputDepthNearestVec4),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1));\n `:`let xValues = vec2<f32>(\n getX(batch, inputDepthNearestVec4, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC));\n `}\n let wValues = vec2<f32>(\n getW(d2, inputDepthNearestVec4, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC));\n value += dot(xValues, wValues);\n } else if (inputDepthVec4Remainder == 3) {\n ${s?`let xValues = vec3<f32>(\n getX(batch, xF, xR, xC, inputDepthNearestVec4),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2));\n `:`let xValues = vec3<f32>(\n getX(batch, inputDepthNearestVec4, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC));\n `}\n let wValues = vec3<f32>(\n getW(d2, inputDepthNearestVec4, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC));\n value += dot(xValues, wValues);\n }\n }\n }\n }\n ${_?\"value = value + getBiasByOutputCoords(coords)\":\"\"};\n ${O}\n result[global_idx] = f32(value);\n }`};return{name:\"Conv3DNaive\",shaderCache:{hint:`${t.cacheKey};${s};${p};${_}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:n,dataType:e[0].dataType}],dispatchGroup:{x:c[0],y:c[1],z:c[2]},programUniforms:m}),getShaderSource:y}}});var gs,ys,bs=k(()=>{\"use strict\";N();H();q();Ke();gs=(e,t,n,r)=>{let o=e.length>2,i=o?\"value += b[output_channel];\":\"\",s=e[0].dims,a=e[1].dims,u=t.format===\"NHWC\",d=u?n[3]:n[1],l=d/t.group,c=u&&l>=4?J(d):1,p=x.size(n)/c,f=[{type:12,data:p},{type:12,data:t.dilations},{type:12,data:[t.strides[0],t.strides[1]]},{type:12,data:[t.pads[0],t.pads[1]]},{type:12,data:l}];Ae(t,f),f.push(...P(s,[a[0],a[1],a[2],a[3]/c]));let m=o?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"];f.push(...P([n[0],n[1],n[2],n[3]/c]));let h=_=>{let y=C(\"output\",e[0].dataType,n.length,c),g=re(y.type.tensor),b=Ce(t,y.type.value,g),w=S(\"x\",e[0].dataType,s.length),v=S(\"w\",e[1].dataType,a.length,c),$=[w,v];o&&$.push(S(\"b\",e[2].dataType,e[2].dims,c));let T=[{name:\"output_size\",type:\"u32\"},{name:\"dilations\",type:\"u32\",length:t.dilations.length},{name:\"strides\",type:\"u32\",length:2},{name:\"pads\",type:\"u32\",length:2},{name:\"output_channels_per_group\",type:\"u32\"}];Ee(t,T);let I=u?`\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[0]; wHeight++) {\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\n\n if (xHeight < 0u || xHeight >= uniforms.x_shape[1]) {\n continue;\n }\n\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[1]; wWidth++) {\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\n if (xWidth < 0u || xWidth >= uniforms.x_shape[2]) {\n continue;\n }\n\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[2]; wInChannel++) {\n let input_channel = in_channel_offset + wInChannel;\n let xVal = ${w.get(\"batch\",\"xHeight\",\"xWidth\",\"input_channel\")};\n let wVal = ${v.get(\"wHeight\",\"wWidth\",\"wInChannel\",\"output_channel\")};\n value += xVal * wVal;\n }\n }\n }\n `:`\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {\n let input_channel = in_channel_offset + wInChannel;\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\n\n if (xHeight < 0u || xHeight >= uniforms.x_shape[2]) {\n continue;\n }\n\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\n if (xWidth < 0u || xWidth >= uniforms.x_shape[3]) {\n continue;\n }\n\n let xVal = ${w.get(\"batch\",\"input_channel\",\"xHeight\",\"xWidth\")};\n let wVal = ${v.get(\"output_channel\",\"wInChannel\",\"wHeight\",\"wWidth\")};\n value += xVal * wVal;\n }\n }\n }\n `;return`\n ${_.registerUniforms(T).declareVariables(...$,y)}\n\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let outputIndices = ${y.offsetToIndices(\"global_idx\")};\n let batch: u32 = outputIndices[0];\n let output_channel: u32 = outputIndices[${u?3:1}];\n let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${u?1:2}], outputIndices[${u?2:3}]) * uniforms.strides - uniforms.pads;\n let group_id: u32 = output_channel * ${c} / uniforms.output_channels_per_group;\n var in_channel_offset = group_id * uniforms.w_shape[${u?2:1}];\n\n var value: ${y.type.value} = ${y.type.value}(0);\n ${I}\n ${i}\n ${b}\n ${y.setByOffset(\"global_idx\",\"value\")}\n }`};return{name:\"GroupedConv\",shaderCache:{hint:`${t.cacheKey}_${c}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:r?r(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:f}),getShaderSource:h}},ys=(e,t,n,r)=>{let o=e.length>2,i=J(n[3]),s=J(n[2]),a=x.size(n)/i/s,u=[e[0].dims[0],e[0].dims[1],e[0].dims[2],e[0].dims[3]/i],d=[e[1].dims[0],e[1].dims[1],e[1].dims[2],e[1].dims[3]/i],l=[n[0],n[1],n[2],n[3]/i],c=[{type:12,data:a},{type:6,data:[t.strides[0],t.strides[1]]},{type:6,data:[t.pads[0],t.pads[1]]}];Ae(t,c),c.push(...P(u,d,l));let p=(s-1)*t.strides[1]+d[1],f=m=>{let h=C(\"output\",e[0].dataType,l.length,i),_=re(h.type.tensor),y=Ce(t,h.type.value,_),g=S(\"x\",e[0].dataType,u.length,i),b=S(\"w\",e[1].dataType,d.length,i),w=[g,b];o&&w.push(S(\"b\",e[2].dataType,e[2].dims,i));let v=o?\"value += b[output_channel];\":\"\",$=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"i32\",length:2},{name:\"pads\",type:\"i32\",length:2}];return Ee(t,$),`\n ${m.registerUniforms($).declareVariables(...w,h)}\n ${m.mainStart()}\n ${m.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let width0 = uniforms.output_shape[3];\n let output_channel = global_idx % width0;\n var index1 = global_idx / width0;\n let width1 = uniforms.output_shape[2] / ${s}u;\n let col = (index1 % width1) * ${s}u;\n index1 = index1 / width1;\n let row = index1 % uniforms.output_shape[1];\n let batch = index1 / uniforms.output_shape[1];\n\n let x_corner = vec2<i32>(i32(row), i32(col)) * uniforms.strides - uniforms.pads;\n\n var x_vals: array<${g.type.value}, ${p}>;\n var values: array<${h.type.value}, ${s}>;\n let input_channel = output_channel;\n // Use constant instead of uniform can give better performance for w's height/width.\n for (var w_height: u32 = 0u; w_height < ${d[0]}; w_height++) {\n let x_height = x_corner.x + i32(w_height);\n if (x_height >= 0 && u32(x_height) < uniforms.x_shape[1]) {\n for (var i = 0; i < ${p}; i++) {\n let x_width = x_corner.y + i;\n if (x_width >= 0 && u32(x_width) < uniforms.x_shape[2]) {\n x_vals[i] = ${g.get(\"batch\",\"u32(x_height)\",\"u32(x_width)\",\"input_channel\")};\n } else {\n x_vals[i] = ${g.type.value}(0);\n }\n }\n for (var w_width: u32 = 0u; w_width < ${d[1]}; w_width++) {\n let w_val = ${b.get(\"w_height\",\"w_width\",\"0\",\"output_channel\")};\n for (var i = 0u; i < ${s}u; i++) {\n values[i] = fma(x_vals[i * u32(uniforms.strides[1]) + w_width], w_val, values[i]);\n }\n }\n }\n }\n\n for (var i = 0u; i < ${s}u; i++) {\n var value = values[i];\n ${v}\n ${y}\n ${h.set(\"batch\",\"row\",\"col + i\",\"output_channel\",\"value\")};\n }\n }`};return{name:\"GroupedConv-Vectorize\",shaderCache:{hint:`${t.cacheKey};${i};${s};${p};${d[0]};${d[1]}`,inputDependencies:o?[\"rank\",\"rank\",\"type\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:r?r(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:c}),getShaderSource:f}}});var hl,er,gl,tr,nr,_s,yl,bl,rr,ws=k(()=>{\"use strict\";H();ls();hs();dn();bs();Ke();un();Ne();hl=(e,t,n,r,o,i)=>{let s=e[0],a=e.slice(i?1:2,i?3:4),u=a.length,d=t[0],c=t.slice(2).map((m,h)=>m+(m-1)*(n[h]-1)),f=a.map((m,h)=>m+r[h]+r[h+u]).map((m,h)=>Math.floor((m-c[h]+o[h])/o[h]));return f.splice(0,0,s),f.splice(i?3:1,0,d),f},er=[2,3,1,0],gl=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length>5)throw new Error(\"greater than 5D is not supported\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let n=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],r=e[1].dims[1]*t.group;if(n!==r)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");if(e.length===3&&(e[2].dims.length!==1||e[1].dims[0]!==e[2].dims[0]))throw new Error(\"invalid bias\");let o=e[0].dims.length-2;if(t.dilations.length!==o)throw new Error(`dilations should be ${o}D`);if(t.strides.length!==o)throw new Error(`strides should be ${o}D`);if(t.pads.length!==o*2)throw new Error(`pads should be ${o*2}D`);if(t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\")},tr=(e,t)=>{let n=e.kernelShape.slice();n.length<t[1].dims.length-2&&n.push(...Array(t[1].dims.length-2-n.length).fill(0));for(let i=2;i<t[1].dims.length;++i)n[i-2]===0&&(n[i-2]=t[1].dims[i]);let r=e.pads.slice();Ye.adjustPadsBasedOnAutoPad(t[0].dims,e.strides,e.dilations,n,r,e.format===\"NHWC\",e.autoPad);let o=Object.assign({},e);return Object.assign(o,{kernelShape:n,pads:r}),o},nr=e=>{let t=on(e),n=e.format,r=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],o=e.dilations,i=e.group,s=e.kernel_shape,a=e.pads,u=e.strides,d=e.w_is_const();return{autoPad:r,format:n,dilations:o,group:i,kernelShape:s,pads:a,strides:u,wIsConst:d,...t,cacheKey:`${e.format};${t.activation};`}},_s=(e,t,n,r)=>{let o=n.format===\"NHWC\",i=hl(t[0].dims,t[1].dims,n.dilations,n.pads,n.strides,o);if(n.group!==1){let $=[t[0]];if(o){let I=e.kernelCustomData.wT??e.compute(me(t[1],er),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=I),$.push(I)}else $.push(t[1]);t.length===3&&$.push(t[2]),!e.adapterInfo.isArchitecture(\"ampere\")&&o&&t[1].dims[0]===n.group&&t[1].dims[1]===1&&n.dilations[0]===1&&n.dilations[1]===1?e.compute(ys($,n,i,r),{inputs:$}):e.compute(gs($,n,i,r),{inputs:$});return}let s=t.length===3,a=t[0].dims[o?1:2],u=t[0].dims[o?2:3],d=t[0].dims[o?3:1],l=t[1].dims[2],c=t[1].dims[3],p=i[o?1:2],f=i[o?2:3],m=i[o?3:1],h=o&&l===a&&c===u&&n.pads[0]===0&&n.pads[1]===0;if(h||l===1&&c===1&&n.dilations[0]===1&&n.dilations[1]===1&&n.strides[0]===1&&n.strides[1]===1&&n.pads[0]===0&&n.pads[1]===0){let $=i[0],T,I,E,z=[];if(o){let W=e.kernelCustomData.wT??e.compute(me(t[1],er),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];if(n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=W),h){let K=a*u*d;T=t[0].reshape([1,$,K]),I=W.reshape([1,K,m]),E=[1,$,m]}else T=t[0].reshape([$,a*u,d]),I=W.reshape([1,d,m]),E=[$,p*f,m];z.push(T),z.push(I)}else T=t[0].reshape([$,d,a*u]),I=t[1].reshape([1,m,d]),E=[$,m,p*f],z.push(I),z.push(T);s&&z.push(t[2]);let M=E[2],O=z[0].dims[z[0].dims.length-1];M<8&&O<8?e.compute(an(z,n,i,E,o,r),{inputs:z}):e.compute(wt(z,n,i,E,o,r),{inputs:z});return}let _=!0,y=e.kernelCustomData.wT??e.compute(me(t[1],er),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=y);let g=[t[0],y];s&&g.push(t[2]);let b=o?p*f:m,w=o?m:p*f,v=l*c*d;e.compute(ds(g,n,i,b,w,v,s,_,r),{inputs:g})},yl=(e,t)=>{let n=t.format===\"NHWC\",r=[e.inputs[0].reshape(n?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&r.push(e.inputs[2]);let o=[0,t.pads[0],0,t.pads[1]],i=[1].concat(t.strides),s=[1].concat(t.dilations),a=[1].concat(t.kernelShape),u=tr({...t,pads:o,strides:i,dilations:s,kernelShape:a},r);_s(e,r,u,d=>n?[d[0],d[2],d[3]]:[d[0],d[1],d[3]])},bl=(e,t,n)=>{let r=n.format===\"NHWC\"?\"channelsLast\":\"channelsFirst\",o=tr(n,t),i=n.autoPad===\"NOTSET\"?n.pads:n.autoPad,s=ms(t[0].dims,t[1].dims,n.strides,n.dilations,i,!1,r);e.compute(fs(t,o,s.outShape,[s.filterDepth,s.filterHeight,s.filterWidth],[s.padInfo.front,s.padInfo.top,s.padInfo.left],r))},rr=(e,t)=>{if(gl(e.inputs,t),e.inputs[0].dims.length===3)yl(e,t);else if(e.inputs[0].dims.length===5)bl(e,e.inputs,t);else{let n=tr(t,e.inputs);_s(e,e.inputs,n)}}});var $s,vs=k(()=>{\"use strict\";N();Pe();H();q();$s=(e,t,n)=>{let r=e.length>2,o=t.outputShape,i=t.format===\"NHWC\",s=t.group,a=e[1].dims,u=a[2]/s,d=a[3],l=i?J(u):1,c=i&&d===1&&u>=4,p=c?Math.floor(u/4)*4:Math.floor(u/l)*l,f=u-p,m=i?J(d):1,h=i?d===1?l:m:1,_=x.size(o)/m,y=[Math.ceil(_/64),1,1];Z(\"verbose\",()=>`[conv2d_backprop_webgpu] dispatch = ${y}`);let g=[\"rank\",\"rank\"],b=[t.strides[0],t.strides[1]],w=[t.kernelShape[i?1:2],t.kernelShape[i?2:3]],v=[t.dilations[0],t.dilations[1]],$=[w[0]+(t.dilations[0]<=1?0:(t.kernelShape[i?1:2]-1)*(t.dilations[0]-1)),w[1]+(t.dilations[1]<=1?0:(t.kernelShape[i?2:3]-1)*(t.dilations[1]-1))],T=[$[0]-1-Math.floor((t.pads[0]+t.pads[2])/2),$[1]-1-Math.floor((t.pads[1]+t.pads[3])/2)],I=[{type:12,data:_},{type:12,data:b},{type:12,data:w},{type:12,data:v},{type:12,data:$},{type:6,data:T},{type:12,data:p},{type:12,data:u},{type:12,data:d},...P(e[0].dims,e[1].dims)];r&&(I.push(...P(e[2].dims)),g.push(\"rank\")),I.push(...P(o));let E=z=>{let M=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"u32\",length:b.length},{name:\"filter_dims\",type:\"u32\",length:w.length},{name:\"dilations\",type:\"u32\",length:w.length},{name:\"effective_filter_dims\",type:\"u32\",length:$.length},{name:\"pads\",type:\"i32\",length:T.length},{name:\"input_channels_per_group_int\",type:\"u32\"},{name:\"input_channels_per_group\",type:\"u32\"},{name:\"output_channels_per_group\",type:\"u32\"}],O=re(e[0].dataType),W=i?1:2,K=i?2:3,U=i?3:1,R=S(\"W\",e[1].dataType,e[1].dims.length,h),G=S(\"Dy\",e[0].dataType,e[0].dims.length,l),V=[G,R];r&&V.push(S(\"bias\",e[2].dataType,[o[U]].length,m));let j=C(\"result\",e[0].dataType,o.length,m),Q=()=>{let se=\"\";if(c)l===4?se+=`\n let xValue = ${G.getByOffset(\"x_offset\")};\n let wValue = ${R.getByOffset(\"w_offset\")};\n dotProd = dotProd + dot(xValue, wValue);\n x_offset += 1u;\n w_offset += 1u;`:l===2?se+=`\n dotProd = dotProd + dot(vec4<${O}>(${G.getByOffset(\"x_offset\")}, ${G.getByOffset(\"x_offset + 1u\")}), vec4<${O}>(${R.getByOffset(\"w_offset\")}, ${R.getByOffset(\"w_offset + 1u\")}));\n x_offset += 2u;\n w_offset += 2u;`:l===1&&(se+=`\n dotProd = dotProd + dot(vec4<${O}>(${G.getByOffset(\"x_offset\")}, ${G.getByOffset(\"x_offset + 1u\")}, ${G.getByOffset(\"x_offset + 2u\")}, ${G.getByOffset(\"x_offset + 3u\")}), vec4<${O}>(${R.getByOffset(\"w_offset\")}, ${R.getByOffset(\"w_offset + 1u\")}, ${R.getByOffset(\"w_offset + 2u\")}, ${R.getByOffset(\"w_offset + 3u\")}));\n x_offset += 4u;\n w_offset += 4u;`);else if(se+=`\n let xValue = ${i?G.getByOffset(`${G.indicesToOffset(`${G.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${l}`):G.get(\"batch\",\"inputChannel\",\"idyR\",\"idyC\")};\n `,l===1)se+=`\n let w_offset = ${R.indicesToOffset(`${R.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)};\n let wValue = ${R.getByOffset(`w_offset / ${h}`)};\n dotProd = dotProd + xValue * wValue;`;else for(let A=0;A<l;A++)se+=`\n let wValue${A} = ${R.getByOffset(`${R.indicesToOffset(`${R.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel + ${A}, wOutChannel)`)} / ${h}`)};\n dotProd = dotProd + xValue[${A}] * wValue${A};`;return se},X=()=>{if(f===0)return\"\";if(!c)throw new Error(`packInputAs4 ${c} is not true.`);let se=\"\";if(l===1){se+=\"dotProd = dotProd\";for(let A=0;A<f;A++)se+=`\n + ${G.getByOffset(`x_offset + ${A}`)} * ${R.getByOffset(`w_offset + ${A}`)}`;se+=\";\"}else if(l===2){if(f!==2)throw new Error(`Invalid inputChannelsRemainder ${f}.`);se+=`\n let xValue = ${G.getByOffset(\"x_offset\")};\n let wValue = ${R.getByOffset(\"w_offset\")};\n dotProd = dotProd + dot(xValue, wValue);`}return se},Te=`\n let outputIndices = ${j.offsetToIndices(`global_idx * ${m}`)};\n let batch = ${j.indicesGet(\"outputIndices\",0)};\n let d1 = ${j.indicesGet(\"outputIndices\",U)};\n let r = ${j.indicesGet(\"outputIndices\",W)};\n let c = ${j.indicesGet(\"outputIndices\",K)};\n let dyCorner = vec2<i32>(i32(r), i32(c)) - uniforms.pads;\n let dyRCorner = dyCorner.x;\n let dyCCorner = dyCorner.y;\n let groupId = d1 / uniforms.output_channels_per_group;\n let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd = ${j.type.value}(0.0);\n var wR: u32 = 0;\n if (uniforms.dilations.x == 1) {\n // Minimum wR >= 0 that satisfies (dyRCorner + wR) % (uniforms.strides.x) == 0\n wR = u32(((dyRCorner + i32(uniforms.strides.x) - 1) / i32(uniforms.strides.x)) * i32(uniforms.strides.x) - dyRCorner);\n }\n for (; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {\n if (wR % uniforms.dilations.x != 0) {\n continue;\n }\n let dyR = (${O}(dyRCorner) + ${O}(wR)) / ${O}(uniforms.strides[0]);\n let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;\n if (dyR < 0.0 || dyR >= ${O}(uniforms.Dy_shape[${W}]) || fract(dyR) > 0.0 ||\n wRPerm < 0) {\n continue;\n }\n let idyR: u32 = u32(dyR);\n var wC: u32 = 0;\n if (uniforms.dilations.y == 1) {\n // Minimum wC >= 0 that satisfies (dyCCorner + wC) % (uniforms.strides.y) == 0\n wC = u32(((dyCCorner + i32(uniforms.strides.y) - 1) / i32(uniforms.strides.y)) * i32(uniforms.strides.y) - dyCCorner);\n }\n for (; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {\n if (wC % uniforms.dilations.y != 0) {\n continue;\n }\n let dyC = (${O}(dyCCorner) + ${O}(wC)) / ${O}(uniforms.strides.y);\n let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;\n if (dyC < 0.0 || dyC >= ${O}(uniforms.Dy_shape[${K}]) ||\n fract(dyC) > 0.0 || wCPerm < 0) {\n continue;\n }\n let idyC: u32 = u32(dyC);\n var inputChannel = groupId * uniforms.input_channels_per_group;\n ${c?`\n var x_offset = ${G.indicesToOffset(`${G.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${l};\n var w_offset = ${R.indicesToOffset(`${R.type.indices}(wRPerm, wCPerm, inputChannel, wOutChannel)`)} / ${h};\n `:\"\"}\n for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group_int; d2 = d2 + ${c?4:l}) {\n ${Q()}\n inputChannel = inputChannel + ${c?4:l};\n }\n ${X()}\n wC = wC + uniforms.strides.y - 1;\n }\n wR = wR + uniforms.strides[0] - 1;\n }\n let value = dotProd${r?` + bias[d1 / ${m}]`:\"\"};\n ${j.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${z.registerUniforms(M).declareVariables(...V,j)}\n ${z.mainStart()}\n ${z.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")};\n ${Te}}`};return{name:\"ConvTranspose2D\",shaderCache:{hint:`${t.cacheKey};${l}${h}${m}${c}${f}`,inputDependencies:g},getRunData:()=>({dispatchGroup:{x:y[0],y:y[1],z:y[2]},outputs:[{dims:n?n(o):o,dataType:e[0].dataType}],programUniforms:I}),getShaderSource:E}}});var _l,wl,$l,xs,Ss,vl,Ts,xl,Is,Cs=k(()=>{\"use strict\";vs();Ke();Ne();_l=(e,t,n,r,o,i)=>(e-1)*t+n+(r-1)*o+1-i,wl=(e,t,n,r,o)=>{let i=Math.floor(e/2);t===\"SAME_UPPER\"?(n[r]=i,n[o]=e-i):t===\"SAME_LOWER\"&&(n[r]=e-i,n[o]=i)},$l=(e,t,n,r,o,i,s,a,u,d)=>{let l=e.length-2,c=d.length===0;u.length<l&&u.push(...Array(l-u.length).fill(0));let p=e[0],f=t[a?3:1]*o;for(let m=0,h=e.length-l-(a?1:0);m<l;++m,++h){let _=e[h],y=c?_*s[m]:d[m],g=_l(_,s[m],i[m],t[h],n[m],y);wl(g,r,i,m,m+l),c&&d.push(s[m]*(_-1)+u[m]+(t[h]-1)*n[m]+1-i[m]-i[m+l])}d.splice(0,0,p),d.splice(a?3:1,0,f)},xs=(e,t)=>{let n=e.kernelShape.slice();if(e.kernelShape.length===0||e.kernelShape.reduce((c,p)=>c*p,1)===0){n.length=0;for(let c=2;c<t[1].dims.length;++c)n.push(t[1].dims[c])}let r=e.format===\"NHWC\";n.splice(0,0,t[1].dims[0]),n.splice(r?3:1,0,t[1].dims[1]);let o=e.pads.slice(),i=e.outputShape.slice(),s=e.outputPadding.slice(),a=t[0].dims,u=e.dilations.slice();if(u.reduce((c,p)=>c+p,0)===0){let c=t[0].dims.length-2;u=new Array(c).fill(1)}let d=e.strides.slice();if(d.reduce((c,p)=>c+p,0)===0){let c=t[0].dims.length-2;d=new Array(c).fill(1)}$l(a,n,u,e.autoPad,e.group,o,d,r,s,i);let l=Object.assign({},e);return Object.assign(l,{kernelShape:n,pads:o,outputPadding:s,outputShape:i,dilations:u,strides:d}),l},Ss=e=>{let t=on(e),n=e.format,r=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][typeof e.autoPad>\"u\"?0:e.autoPad],o=e.dilations,i=e.group??1,s=e.kernelShape,a=e.pads,u=e.strides,d=e.wIsConst(),l=e.outputPadding,c=e.outputShape;return{autoPad:r,format:n,dilations:o,group:i,kernelShape:s,outputPadding:l,outputShape:c,pads:a,strides:u,wIsConst:d,...t,cacheKey:`${e.format};${t.activation};`}},vl=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support 2-dimensional conv\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let n=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],r=e[1].dims[0];if(n!==r)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");let o=e[1].dims[1]*t.group;if(e.length===3&&(e[2].dims.length!==1||e[2].dims[0]!==o))throw new Error(\"invalid bias\");let i=e[0].dims.length-2;if(t.dilations.reduce((l,c)=>l+c,0)>0&&t.dilations.length!==i)throw new Error(`dilations should be ${i}D`);if(t.strides.reduce((l,c)=>l+c,0)>0&&t.strides.length!==i)throw new Error(`strides should be ${i}D`);if(t.pads.reduce((l,c)=>l+c,0)>0&&t.pads.length!==i*2)throw new Error(`pads should be ${i*2}D`);if(t.outputPadding.length!==i&&t.outputPadding.length!==0)throw new Error(`output_padding should be ${i}D`);if(t.kernelShape.reduce((l,c)=>l+c,0)>0&&t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(t.outputShape.length!==0&&t.outputShape.length!==e[0].dims.length-2)throw new Error(\"invalid output shape\")},Ts=(e,t,n,r)=>{let o=e.kernelCustomData.wT??e.compute(me(t[1],[2,3,0,1]),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=o);let i=[t[0],o];t.length===3&&i.push(t[2]),e.compute($s(i,n,r),{inputs:i})},xl=(e,t)=>{let n=t.format===\"NHWC\",r=[e.inputs[0].reshape(n?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&r.push(e.inputs[2]);let o=t.kernelShape;(o.length===0||o[0]===0)&&(o=[e.inputs[1].dims[2]]);let i=t.dilations;(i.length===0||i[0]===0)&&(i=[1]);let s=t.strides;(s.length===0||s[0]===0)&&(s=[1]);let a=t.pads;a.length===0&&(a=[0,0]),a=[0,a[0],0,a[1]],s=[1].concat(s),i=[1].concat(i),o=[1].concat(o);let u=t.outputPadding;u=[0].concat(u);let d=xs({...t,pads:a,strides:s,dilations:i,kernelShape:o,outputPadding:u},r);Ts(e,r,d,l=>n?[l[0],l[2],l[3]]:[l[0],l[1],l[3]])},Is=(e,t)=>{if(vl(e.inputs,t),e.inputs[0].dims.length===3)xl(e,t);else{let n=xs(t,e.inputs);Ts(e,e.inputs,n)}}});var Sl,As,Es,ks=k(()=>{\"use strict\";N();H();ue();q();Sl=(e,t,n,r)=>{let o=x.size(t),i=t.length,s=S(\"input\",e,i),a=C(\"output\",e,i),u=n.dataType===6?n.getInt32Array()[0]:Number(n.getBigInt64Array()[0]),d=x.normalizeAxis(u,i),l=c=>{let p=` i32(${s.indicesGet(\"inputIndices\",\"uniforms.axis\")}) `,f=D(\"uniforms.input_shape\",\"uniforms.axis\",i),m=r.reverse?p+(r.exclusive?\" + 1\":\"\"):\"0\",h=r.reverse?f:p+(r.exclusive?\"\":\" + 1\");return`\n ${c.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axis\",\"u32\").declareVariables(s,a)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var inputIndices = ${a.offsetToIndices(\"global_idx\")};\n var sum = ${a.type.value}(0);\n let first : i32 = ${m};\n let last : i32 = ${h};\n for (var i : i32 = first; i < last; i++) {\n ${s.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(i)\")};\n sum = sum + ${s.getByIndices(\"inputIndices\")};\n }\n ${a.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"CumSum\",shaderCache:{hint:r.cacheKey,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:t,dataType:e}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:[{type:12,data:o},{type:12,data:d},...P(t,t)]}),getShaderSource:l}},As=(e,t)=>{let n=e.inputs[0].dims,r=e.inputs[0].dataType,o=e.inputs[1];e.compute(Sl(r,n,o,t),{inputs:[0]})},Es=e=>{let t=e.exclusive===1,n=e.reverse===1;return L({exclusive:t,reverse:n})}});var Tl,Il,Cl,Ps,zs,Bs=k(()=>{\"use strict\";N();H();ue();q();Tl=e=>{if(!e||e.length!==1)throw new Error(\"DepthToSpace requires 1 input.\");if(e[0].dims.length!==4)throw new Error(\"DepthToSpace requires 4D input.\")},Il=(e,t,n,r)=>{let o=[];o.push(`fn perm(i: ${r.type.indices}) -> ${n.type.indices} {\n var a: ${n.type.indices};`);for(let i=0;i<t;++i)o.push(n.indicesSet(\"a\",e[i],`i[${i}]`));return o.push(\"return a;}\"),o.join(`\n`)},Cl=(e,t)=>{let n,r,o,i,s,a,u=t.format===\"NHWC\",d=t.blocksize,l=t.mode===\"DCR\";u?([n,r,o,i]=e.dims,s=l?[n,r,o,d,d,i/d**2]:[n,r,o,i/d**2,d,d],a=l?[0,1,3,2,4,5]:[0,1,4,2,5,3]):([n,r,o,i]=[e.dims[0],e.dims[2],e.dims[3],e.dims[1]],s=l?[n,d,d,i/d**2,r,o]:[n,i/d**2,d,d,r,o],a=l?[0,3,4,1,5,2]:[0,1,4,2,5,3]);let c=e.reshape(s),p=c.dims.length,f=e.dataType,m=S(\"a\",f,p),h=C(\"output\",f,p),_=y=>`\n ${y.registerUniform(\"output_size\",\"u32\").declareVariables(m,h)}\n\n ${Il(a,p,m,h)}\n\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${h.offsetToIndices(\"global_idx\")};\n let aIndices = perm(indices);\n\n ${h.setByOffset(\"global_idx\",m.getByIndices(\"aIndices\"))}\n }`;return{name:\"DepthToSpace\",shaderCache:{hint:`${e.dims};${t.blocksize};${t.mode}`,inputDependencies:[\"rank\"]},getRunData:y=>{let g=u?[n,r*d,o*d,i/d**2]:[n,i/d**2,r*d,o*d],b=x.size(g),w=c.dims,v=x.sortBasedOnPerm(w,a);return{outputs:[{dims:g,dataType:y[0].dataType}],dispatchGroup:{x:Math.ceil(b/64)},programUniforms:[{type:12,data:b},...P(w,v)]}},getShaderSource:_}},Ps=(e,t)=>{Tl(e.inputs),e.compute(Cl(e.inputs[0],t))},zs=e=>L({blocksize:e.blocksize,mode:e.mode,format:e.format})});var or,cn,Ds,Al,El,ir,sr,Os,kl,Ms,Us,Rs=k(()=>{\"use strict\";N();H();ue();q();or=\"[a-zA-Z]|\\\\.\\\\.\\\\.\",cn=\"(\"+or+\")+\",Ds=\"^\"+cn+\"$\",Al=\"(\"+cn+\",)*\"+cn,El=\"^\"+Al+\"$\",ir=class{constructor(t=-1){this.symbolToIndices=new Map,this.inputIndex=t}addSymbol(t,n){let r=this.symbolToIndices.get(t);r===void 0?r=[n]:r.push(n),this.symbolToIndices.set(t,r)}},sr=class{constructor(t,n){this.equation=n;this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[r,o]=n.includes(\"->\")?n.split(\"->\",2):[n,\"\"];if(!r.match(RegExp(El)))throw new Error(\"Invalid LHS term\");if(r.split(\",\").forEach((a,u)=>{let d=t[u].dims.slice();if(!a.match(RegExp(Ds)))throw new Error(\"Invalid LHS term\");let l=this.processTerm(a,!0,d,u);this.lhs.push(l)}),o===\"\")o+=[...this.symbolToInfo.entries()].filter(([a,u])=>u.count===1||a===\"...\").map(([a])=>a).join(\"\");else if(!o.match(RegExp(cn)))throw new Error(\"Invalid RHS\");o.match(RegExp(or,\"g\"))?.forEach(a=>{if(a===\"...\")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let u=this.symbolToInfo.get(a);if(u===void 0)throw new Error(\"Invalid RHS symbol\");this.outputDims.push(u.dimValue)}}),this.rhs=this.processTerm(o,!1,this.outputDims)}addSymbol(t,n,r){let o=this.symbolToInfo.get(t);if(o!==void 0){if(o.dimValue!==n&&o.count!==1)throw new Error(\"Dimension mismatch\");o.count++,o.inputIndices.push(r)}else o={count:1,dimValue:n,inputIndices:[r]};this.symbolToInfo.set(t,o)}processTerm(t,n,r,o=-1){let i=r.length,s=!1,a=[],u=0;if(!t.match(RegExp(Ds))&&!n&&t!==\"\")throw new Error(\"Invalid LHS term\");let d=t.match(RegExp(or,\"g\")),l=new ir(o);return d?.forEach((c,p)=>{if(c===\"...\"){if(s)throw new Error(\"Only one ellipsis is allowed per input term\");s=!0;let f=i-d.length+1;if(f<0)throw new Error(\"Ellipsis out of bounds\");if(a=r.slice(u,u+f),this.hasEllipsis){if(this.ellipsisDims.length!==a.length||this.ellipsisDims.toString()!==a.toString())throw new Error(\"Ellipsis dimensions mismatch\")}else if(n)this.hasEllipsis=!0,this.ellipsisDims=a;else throw new Error(\"Ellipsis must be specified in the LHS\");for(let m=0;m<a.length;m++){let h=String.fromCharCode(48+m);l.addSymbol(h,p+m),this.addSymbol(h,r[u++],o)}}else l.addSymbol(c,p+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(c,r[u++],o)}),l}},Os=e=>e+\"_max\",kl=(e,t,n,r)=>{let i=e.map(l=>l.length).map((l,c)=>S(`input${c}`,t,l)),s=x.size(r),a=C(\"output\",t,r.length),u=[...n.symbolToInfo.keys()].filter(l=>!n.rhs.symbolToIndices.has(l)),d=l=>{let c=[],p=\"var prod = 1.0;\",f=\"var sum = 0.0;\",m=\"sum += prod;\",h=[],_=[],y=[],g=[],b=n.symbolToInfo.size===n.rhs.symbolToIndices.size;n.symbolToInfo.forEach((v,$)=>{if(n.rhs.symbolToIndices.has($)){let T=n.rhs.symbolToIndices.get($)?.[0];T!==void 0&&n.lhs.forEach((I,E)=>{if(v.inputIndices.includes(E)){let z=I.symbolToIndices.get($);if(z===void 0)throw new Error(\"Invalid symbol error\");z.forEach(M=>{c.push(`${i[E].indicesSet(`input${E}Indices`,M,a.indicesGet(\"outputIndices\",T))}`)})}})}else n.lhs.forEach((T,I)=>{if(v.inputIndices.includes(I)){let E=T.symbolToIndices.get($);if(E===void 0)throw new Error(\"Invalid symbol error\");E.forEach(z=>{h.push(`${i[I].indicesSet(`input${I}Indices`,z,`${$}`)}`)}),g.push(`prod *= ${i[I].getByIndices(`input${I}Indices`)};`)}}),_.push(`for(var ${$}: u32 = 0; ${$} < uniforms.${Os($)}; ${$}++) {`),y.push(\"}\")});let w=b?[...c,`let sum = ${i.map((v,$)=>v.getByIndices(`input${$}Indices`)).join(\" * \")};`]:[...c,f,..._,...h,p,...g,m,...y];return`\n ${l.registerUniforms(u.map(v=>({name:`${Os(v)}`,type:\"u32\"}))).registerUniform(\"outputSize\",\"u32\").declareVariables(...i,a)}\n\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${a.offsetToIndices(\"global_idx\")};\n ${i.map((v,$)=>`var input${$}Indices: ${i[$].type.indices};`).join(`\n`)}\n ${w.join(`\n`)};\n ${a.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"Einsum\",shaderCache:{hint:n.equation,inputDependencies:e.map(()=>\"rank\")},getRunData:()=>{let l=u.filter(p=>n.symbolToInfo.has(p)).map(p=>({type:12,data:n.symbolToInfo.get(p)?.dimValue||0}));l.push({type:12,data:s});let c=e.map((p,f)=>[...P(p)]).reduce((p,f)=>p.concat(f),l);return c.push(...P(r)),{outputs:[{dims:r,dataType:t}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:c}},getShaderSource:d}},Ms=(e,t)=>{let n=new sr(e.inputs,t.equation),r=n.outputDims,o=e.inputs.map((i,s)=>i.dims);e.compute(kl(o,e.inputs[0].dataType,n,r))},Us=e=>{let t=e.equation.replace(/\\s+/g,\"\");return L({equation:t})}});var Pl,Vs,zl,Bl,Ns,Ls=k(()=>{\"use strict\";N();H();q();Pl=e=>{if(!e||e.length!==2)throw new Error(\"Expand requires 2 input.\");let t=e[0].dims,n=Array.from(e[1].getBigInt64Array(),Number),r=n.length<t.length?0:n.length-t.length,o=t.length<n.length?0:t.length-n.length;for(;r<n.length&&o<t.length;++r,++o)if(n[r]!==t[o]&&n[r]!==1&&t[o]!==1)throw new Error(\"Expand requires shape to be broadcastable to input\")},Vs=(e,t)=>{let n=e.length-t.length,r=[];for(let o=0;o<n;++o)r.push(e[o]);for(let o=0;o<t.length;++o)r.push(t[o]===1?e[o+n]:t[o]);return r},zl=(e,t)=>e.length>t.length?Vs(e,t):Vs(t,e),Bl=e=>{let t=e[0].dims,n=Array.from(e[1].getBigInt64Array(),Number),r=zl(t,n),o=e[0].dataType,i=o===9||x.size(t)===1,s=o===9||t.length>0&&t[t.length-1]%4===0?4:1,a=i||r.length>0&&r[r.length-1]%4===0?4:1,u=Math.ceil(x.size(r)/a),d=c=>{let p=S(\"input\",o,t.length,s),f=C(\"output\",o,r.length,a),m;if(o===9){let h=(_,y,g=\"\")=>`\n let outputIndices${y} = ${f.offsetToIndices(`outputOffset + ${y}u`)};\n let offset${y} = ${p.broadcastedIndicesToOffset(`outputIndices${y}`,f)};\n let index${y} = offset${y} / 4u;\n let component${y} = offset${y} % 4u;\n ${_}[${y}] = ${g}(${p.getByOffset(`index${y}`)}[component${y}]);\n `;m=`\n let outputOffset = global_idx * ${a};\n var data = vec4<u32>(0);\n ${h(\"data\",0,\"u32\")}\n ${h(\"data\",1,\"u32\")}\n ${h(\"data\",2,\"u32\")}\n ${h(\"data\",3,\"u32\")}\n ${f.setByOffset(\"global_idx\",\"data\")}\n }`}else m=`\n let outputIndices = ${f.offsetToIndices(`global_idx * ${a}`)};\n let inputOffset = ${p.broadcastedIndicesToOffset(\"outputIndices\",f)};\n let data = ${f.type.value}(${p.getByOffset(`inputOffset / ${s}`)});\n ${f.setByOffset(\"global_idx\",\"data\")}\n }`;return`\n ${c.registerUniform(\"vec_size\",\"u32\").declareVariables(p,f)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${m}`},l=[{type:12,data:u},...P(t,r)];return{name:\"Expand\",shaderCache:{hint:`${r.length};${s}${a}`,inputDependencies:[\"rank\"]},getShaderSource:d,getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:l})}},Ns=e=>{Pl(e.inputs),e.compute(Bl(e.inputs),{inputs:[0]})}});var Dl,Ws,Gs=k(()=>{\"use strict\";N();H();q();rn();Dl=e=>{let t=e[0].dataType,n=x.size(e[0].dims),r=x.size(e[1].dims),o=r%4===0,i=s=>{let a=S(\"x\",t,[1],4),u=S(\"bias\",t,[1],4),d=C(\"y\",t,[1],4),l=[{name:\"output_vec_size\",type:\"u32\"},{name:\"bias_size\",type:\"u32\"}],c=f=>`\n let bias${f}_offset: u32 = (global_idx * 4 + ${f}) % uniforms.bias_size;\n let bias${f} = ${u.getByOffset(`bias${f}_offset / 4`)}[bias${f}_offset % 4];`,p=o?`\n let bias = ${u.getByOffset(\"global_idx % (uniforms.bias_size / 4)\")};`:`${c(0)}${c(1)}${c(2)}${c(3)}\n let bias = ${a.type.value}(bias0, bias1, bias2, bias3);`;return`${s.registerUniforms(l).declareVariables(a,u,d)}\n\n ${Qn(pe(t))}\n\n ${s.mainStart(Je)}\n ${s.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_vec_size\")}\n\n let x = ${a.getByOffset(\"global_idx\")};\n ${p}\n let x_in = x + bias;\n ${d.setByOffset(\"global_idx\",Xn(\"x_in\"))}\n }`};return{name:\"FastGeluWithBias\",shaderCache:{hint:`${o}`,inputDependencies:[\"type\",\"type\"]},getShaderSource:i,getRunData:s=>({outputs:[{dims:s[0].dims,dataType:s[0].dataType}],programUniforms:[{type:12,data:Math.ceil(n/4)},{type:12,data:r}],dispatchGroup:{x:Math.ceil(n/Je/4)}})}},Ws=e=>{e.inputs.length<2||x.size(e.inputs[1].dims)===0?Ri(e):e.compute(Dl(e.inputs))}});var Ol,Ml,Hs,Fs,qs=k(()=>{\"use strict\";N();H();ue();q();Ol=e=>{if(!e||e.length!==2)throw new Error(\"Gather requires 2 inputs.\")},Ml=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n.length,i=x.normalizeAxis(t.axis,o),s=n.slice(0);s.splice(i,1,...r);let a=n[i],u=e[0].dataType===9?4:1,d=Math.ceil(x.size(s)/u),l=[{type:12,data:d},{type:6,data:a},{type:12,data:i},...P(e[0].dims,e[1].dims,s)],c=p=>{let f=S(\"data\",e[0].dataType,e[0].dims.length,u),m=S(\"inputIndices\",e[1].dataType,e[1].dims.length),h=C(\"output\",e[0].dataType,s.length,u),_=g=>{let b=r.length,w=`var indicesIndices${g} = ${m.type.indices}(0);`;for(let v=0;v<b;v++)w+=`${b>1?`indicesIndices${g}[${v}]`:`indicesIndices${g}`} = ${s.length>1?`outputIndices${g}[uniforms.axis + ${v}]`:`outputIndices${g}`};`;w+=`\n var idx${g} = ${m.getByIndices(`indicesIndices${g}`)};\n if (idx${g} < 0) {\n idx${g} = idx${g} + uniforms.axisDimLimit;\n }\n var dataIndices${g} : ${f.type.indices};\n `;for(let v=0,$=0;v<o;v++)v===i?(w+=`${o>1?`dataIndices${g}[${v}]`:`dataIndices${g}`} = u32(idx${g});`,$+=b):(w+=`${o>1?`dataIndices${g}[${v}]`:`dataIndices${g}`} = ${s.length>1?`outputIndices${g}[${$}]`:`outputIndices${g}`};`,$++);return w},y;if(e[0].dataType===9){let g=(b,w,v=\"\")=>`\n let outputIndices${w} = ${h.offsetToIndices(`outputOffset + ${w}u`)};\n ${_(w)};\n let offset${w} = ${f.indicesToOffset(`dataIndices${w}`)};\n let index${w} = offset${w} / 4u;\n let component${w} = offset${w} % 4u;\n ${b}[${w}] = ${v}(${f.getByOffset(`index${w}`)}[component${w}]);\n `;y=`\n let outputOffset = global_idx * ${u};\n var value = vec4<u32>(0);\n ${g(\"value\",0,\"u32\")}\n ${g(\"value\",1,\"u32\")}\n ${g(\"value\",2,\"u32\")}\n ${g(\"value\",3,\"u32\")}\n ${h.setByOffset(\"global_idx\",\"value\")}\n `}else y=`\n let outputIndices = ${h.offsetToIndices(\"global_idx\")};\n ${_(\"\")};\n let value = ${f.getByIndices(\"dataIndices\")};\n ${h.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${p.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(f,m,h)}\n ${p.mainStart()}\n ${p.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n ${y}\n }`};return{name:\"Gather\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:s,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:l}),getShaderSource:c}},Hs=e=>L({axis:e.axis}),Fs=(e,t)=>{let n=e.inputs;Ol(n),e.compute(Ml(e.inputs,t))}});var Ul,Ks,js,Zs=k(()=>{\"use strict\";N();H();q();Ul=(e,t,n,r,o,i,s,a,u)=>{let d=[{type:12,data:i},{type:12,data:r},{type:12,data:o},{type:12,data:n},{type:12,data:s},{type:12,data:a},{type:12,data:u}],l=[i];d.push(...P(t.dims,l));let c=p=>{let f=S(\"indices_data\",t.dataType,t.dims.length),m=C(\"input_slice_offsets_data\",12,1,1),h=[f,m],_=[{name:\"output_size\",type:\"u32\"},{name:\"batch_dims\",type:\"u32\"},{name:\"input_dims\",type:\"u32\",length:o.length},{name:\"sizes_from_slice_dims_data\",type:\"u32\",length:n.length},{name:\"num_slices_per_batch\",type:\"u32\"},{name:\"input_batch_stride\",type:\"u32\"},{name:\"num_slice_dims\",type:\"u32\"}];return`\n ${p.registerUniforms(_).declareVariables(...h)}\n ${p.mainStart()}\n ${p.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let batch_idx = global_idx / uniforms.num_slices_per_batch;\n let base_offset = batch_idx * uniforms.input_batch_stride;\n\n let slice_indices_base_offset = global_idx * uniforms.num_slice_dims;\n var relative_slice_offset = 0;\n for (var dim_idx = 0u; dim_idx < uniforms.num_slice_dims; dim_idx ++) {\n var index = i32(indices_data[dim_idx + slice_indices_base_offset].x);\n let input_dim_idx = uniforms.batch_dims + dim_idx;\n if (index < 0) {\n ${o.length===1?\"index += i32(uniforms.input_dims);\":\"index += i32(uniforms.input_dims[input_dim_idx]);\"}\n }\n ${n.length===1?\"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data);\":\"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data[dim_idx]);\"}\n }\n\n input_slice_offsets_data[global_idx] = base_offset + u32(relative_slice_offset);\n }`};return e.compute({name:\"computeSliceOffsets\",shaderCache:{hint:`${o.length}_${n.length}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:l,dataType:e.inputs[1].dataType}],dispatchGroup:{x:Math.ceil(i/64)},programUniforms:d}),getShaderSource:c},{inputs:[t],outputs:[-1]})[0]},Ks=(e,t)=>{let n=e.inputs,r=n[0].dims,o=n[0].dataType,i=n[1].dims,s=i[i.length-1],a=x.sizeToDimension(i,i.length-1),u=x.sizeFromDimension(r,t.batchDims+s),d=x.sizeToDimension(r,t.batchDims),l=x.sizeFromDimension(r,t.batchDims),c=a/d,p=new Array(s),f=u;for(let w=0;w<s;++w)p[s-1-w]=f,f*=r[t.batchDims+s-1-w];let m=Ul(e,n[1],p,t.batchDims,r,a,c,l,s),h=t.batchDims+s;if(h>r.length)throw new Error(\"last dimension of indices must not be larger than rank of input tensor\");let _=i.slice(0,-1).concat(r.slice(h)),y=x.size(_),g=[{type:12,data:y},{type:12,data:u},...P(n[0].dims,m.dims,_)],b=w=>{let v=S(\"data\",n[0].dataType,n[0].dims.length),$=S(\"slice_offsets\",12,m.dims.length),T=C(\"output\",n[0].dataType,_.length);return`\n ${w.registerUniform(\"output_size\",\"u32\").registerUniform(\"slice_size\",\"u32\").declareVariables(v,$,T)}\n ${w.mainStart()}\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let slice_offset = slice_offsets[global_idx / uniforms.slice_size];\n output[global_idx] = data[u32(slice_offset) + global_idx % uniforms.slice_size];\n }`};e.compute({name:\"GatherND\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:_,dataType:o}],dispatchGroup:{x:Math.ceil(y/64)},programUniforms:g}),getShaderSource:b},{inputs:[n[0],m]})},js=e=>({batchDims:e.batch_dims,cacheKey:\"\"})});var Rl,Vl,Qs,Xs,Ys=k(()=>{\"use strict\";N();H();ue();q();Rl=(e,t)=>{if(e.length<3||e.length>4)throw new Error(\"GatherBlockQuantized requires 3 or 4 inputs.\");let n=x.normalizeAxis(t.quantizeAxis,e[0].dims.length),r=t.blockSize,o=e[0],i=e[2],s=e.length===4?e[3]:void 0;if(i.dims.length!==o.dims.length||!o.dims.map((a,u)=>u===n?Math.ceil(a/r)===i.dims[u]:a===i.dims[u]).reduce((a,u)=>a&&u,!0))throw new Error(\"Scales must have the same rank as the input tensor and the dims should match except on gatherAxis.\");if(s){if(s.dataType!==o.dataType)throw new Error(\"Zero point must have the same data type as the input tensor.\");if(s.dims.length!==i.dims.length||!s.dims.map((a,u)=>a===i.dims[u]).reduce((a,u)=>a&&u,!0))throw new Error(\"Zero point must have the same rank as the input tensor and the dims should match except on quantizeAxis.\")}},Vl=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n.length,i=x.normalizeAxis(t.gatherAxis,o),s=x.normalizeAxis(t.quantizeAxis,o),a=n.slice(0);a.splice(i,1,...r);let u=x.size(a),d=e[2].dataType,c=e[0].dataType===22,p=[{type:12,data:u},{type:12,data:s},{type:12,data:i},{type:12,data:t.blockSize},...P(...e.map((m,h)=>m.dims),a)],f=m=>{let h=S(\"data\",e[0].dataType,e[0].dims.length),_=S(\"inputIndices\",e[1].dataType,e[1].dims.length),y=S(\"scales\",e[2].dataType,e[2].dims.length),g=e.length>3?S(\"zeroPoint\",e[3].dataType,e[3].dims.length):void 0,b=C(\"output\",d,a.length),w=[h,_,y];g&&w.push(g);let v=[{name:\"output_size\",type:\"u32\"},{name:\"quantize_axis\",type:\"u32\"},{name:\"gather_axis\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}];return`\n ${m.registerUniforms(v).declareVariables(...w,b)}\n ${m.mainStart()}\n let output_indices = ${b.offsetToIndices(\"global_idx\")};\n var indices_indices = ${_.type.indices}(0);\n ${r.length>1?`\n for (var i: u32 = 0; i < ${r.length}; i++) {\n let index = ${b.indicesGet(\"output_indices\",\"uniforms.gather_axis + i\")};\n ${_.indicesSet(\"indices_indices\",\"i\",\"index\")};\n }`:`indices_indices = ${b.indicesGet(\"output_indices\",\"uniforms.gather_axis\")};`};\n var data_indices = ${h.type.indices}(0);\n for (var i: u32 = 0; i < uniforms.gather_axis; i++) {\n let index = ${b.indicesGet(\"output_indices\",\"i\")};\n ${h.indicesSet(\"data_indices\",\"i\",\"index\")};\n }\n var index_from_indices = ${_.getByIndices(\"indices_indices\")};\n if (index_from_indices < 0) {\n index_from_indices += ${n[i]};\n }\n ${h.indicesSet(\"data_indices\",\"uniforms.gather_axis\",\"u32(index_from_indices)\")};\n for (var i = uniforms.gather_axis + 1; i < ${a.length}; i++) {\n let index = ${b.indicesGet(\"output_indices\",`i + ${r.length} - 1`)};\n ${h.indicesSet(\"data_indices\",\"i\",\"index\")};\n }\n let data_offset = ${h.indicesToOffset(\"data_indices\")};\n let data_index = data_offset % 8;\n // Convert 4-bit packed data to 8-bit packed data.\n let packed_4bit_quantized_data = ${h.getByOffset(\"data_offset / 8\")};\n let packed_8bit_quantized_data = (packed_4bit_quantized_data >> (4 * (data_index % 2))) & 0x0f0f0f0f;\n let quantized_data_vec = ${c?\"unpack4xI8\":\"unpack4xU8\"}(u32(packed_8bit_quantized_data));\n let quantized_data = quantized_data_vec[data_index / 2];\n var scale_indices = data_indices;\n let quantize_axis_index = ${y.indicesGet(\"data_indices\",\"uniforms.quantize_axis\")} / uniforms.block_size;\n ${y.indicesSet(\"scale_indices\",\"uniforms.quantize_axis\",\"quantize_axis_index\")};\n var scale = ${y.getByIndices(\"scale_indices\")};\n ${g?`\n let zero_point_indices = scale_indices;\n let zero_point_offset = ${g.indicesToOffset(\"zero_point_indices\")};\n let zero_point_index = zero_point_offset % 8;\n let packed_4bit_zero_points = ${g.getByOffset(\"zero_point_offset / 8\")};\n let packed_8bit_zero_points = (packed_4bit_zero_points >> (4 * (zero_point_index % 2))) & 0x0f0f0f0f;\n let zero_point_vec = ${c?\"unpack4xI8\":\"unpack4xU8\"}(u32(packed_8bit_zero_points));\n let zero_point = zero_point_vec[zero_point_index / 2];`:\"var zero_point = 0\"};\n let dequantized_data = ${pe(d)}(quantized_data - zero_point) * scale;\n ${b.setByOffset(\"global_idx\",\"dequantized_data\")};\n }`};return{name:\"GatherBlockQuantized\",shaderCache:{hint:`${t.cacheKey};${e.filter((m,h)=>h!==1).map(m=>m.dims.join(\"_\")).join(\";\")}`,inputDependencies:Array.from({length:e.length},(m,h)=>\"rank\")},getRunData:()=>({outputs:[{dims:a,dataType:d}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:p}),getShaderSource:f}},Qs=(e,t)=>{let n=e.inputs;Rl(n,t),e.compute(Vl(e.inputs,t))},Xs=e=>L({blockSize:e.blockSize,gatherAxis:e.gatherAxis,quantizeAxis:e.quantizeAxis})});var Nl,Ll,Js,ea,ta=k(()=>{\"use strict\";N();H();ue();q();Nl=e=>{if(!e||e.length!==2)throw new Error(\"GatherElements requires 2 inputs.\");if(e[0].dims.length<1)throw new Error(\"GatherElements requires that the data input be rank >= 1.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(`GatherElements requires that the data input and\n indices input tensors be of same rank.`)},Ll=(e,t)=>{let n=e[0].dims,r=e[0].dataType,o=n.length,i=e[1].dims,s=e[1].dataType,a=x.normalizeAxis(t.axis,o),u=n[a],d=i.slice(0),l=x.size(d),c=S(\"input\",r,o),p=S(\"indicesInput\",s,i.length),f=C(\"output\",r,d.length),m=[{type:12,data:l},{type:6,data:u},{type:12,data:a}];return m.push(...P(n,i,d)),{name:\"GatherElements\",shaderCache:{inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:d,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:m}),getShaderSource:y=>`\n ${y.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(c,p,f)}\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let outputIndices = ${f.offsetToIndices(\"global_idx\")};\n\n var idx = ${p.getByOffset(\"global_idx\")};\n if (idx < 0) {\n idx = idx + uniforms.axisDimLimit;\n }\n var inputIndices = ${c.type.indices}(outputIndices);\n ${c.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(idx)\")};\n let value = ${c.getByIndices(\"inputIndices\")};\n\n ${f.setByOffset(\"global_idx\",\"value\")};\n }`}},Js=e=>L({axis:e.axis}),ea=(e,t)=>{let n=e.inputs;Nl(n),e.compute(Ll(e.inputs,t))}});var Wl,Gl,na,ra,oa=k(()=>{\"use strict\";N();H();q();Wl=e=>{if(!e)throw new Error(\"Input is missing\");if(e.length<2||e.length>3)throw new Error(\"Invaid input number.\");if(e.length===3&&e[2].dims.length>2)throw new Error(\"Invalid input shape of C\");if(e[0].dataType!==e[1].dataType||e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"Input types are mismatched\")},Gl=(e,t)=>{let n=e[0].dims.slice(),r=e[1].dims.slice(),[o,i,s]=Ht.getShapeOfGemmResult(n,t.transA,r,t.transB,e.length===3?e[2].dims:void 0),a=[o,i];if(!a)throw new Error(\"Can't use gemm on the given tensors\");let u=16,d=Math.ceil(i/u),l=Math.ceil(o/u),c=!0,p=x.size(a),f=[{type:12,data:c?d:p},{type:12,data:o},{type:12,data:i},{type:12,data:s},{type:1,data:t.alpha},{type:1,data:t.beta}],m=[\"type\",\"type\"];e.length===3&&(f.push(...P(e[2].dims)),m.push(\"rank\")),f.push(...P(a));let h=y=>{let g=\"\";t.transA&&t.transB?g=\"value += a[k * uniforms.M + m] * b[n * uniforms.K + k];\":t.transA&&!t.transB?g=\"value += a[k * uniforms.M + m] * b[k * uniforms.N + n];\":!t.transA&&t.transB?g=\"value += a[m * uniforms.K + k] * b[n * uniforms.K + k];\":!t.transA&&!t.transB&&(g=\"value += a[m * uniforms.K + k] * b[k * uniforms.N + n];\");let b=t.alpha===1?\"\":\"value *= uniforms.alpha;\",w=S(\"a\",e[0].dataType,e[0].dims),v=S(\"b\",e[1].dataType,e[1].dims),$=w.type.value,T=null,I=[w,v];e.length===3&&(T=S(\"c\",e[2].dataType,e[2].dims.length),I.push(T));let E=C(\"output\",e[0].dataType,a.length);I.push(E);let z=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}];return`\n ${y.registerUniforms(z).declareVariables(...I)}\n\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let m = global_idx / uniforms.N;\n let n = global_idx % uniforms.N;\n\n var value = ${$}(0);\n for (var k: u32 = 0u; k < uniforms.K; k++) {\n ${g}\n }\n\n ${b}\n ${T!=null?`let cOffset = ${T.broadcastedIndicesToOffset(\"vec2(m, n)\",E)}; value += ${$}(uniforms.beta) * ${T.getByOffset(\"cOffset\")};`:\"\"}\n output[global_idx] = value;\n }`},_=y=>{let g=S(\"a\",e[0].dataType,e[0].dims),b=S(\"b\",e[1].dataType,e[1].dims),w=null,v=[g,b];e.length===3&&(w=S(\"c\",e[2].dataType,e[2].dims.length),v.push(w));let $=C(\"output\",e[0].dataType,a.length);v.push($);let T=[{name:\"num_tile_n\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}],I=\"\",E=\"\";t.transA&&t.transB?(E=`\n var col = tile_row_start + local_id.x;\n var row = k_start + local_id.y;\n if (col < uniforms.M && row < uniforms.K) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = k_start + local_id.x;\n row = tile_col_start + local_id.y;\n if (col < uniforms.K && row < uniforms.N) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${b.type.value}(0);\n }\n `,I=\"value += tile_a[k][local_id.y] * tile_b[local_id.x][k];\"):t.transA&&!t.transB?(E=`\n var col = tile_row_start + local_id.x;\n var row = k_start + local_id.y;\n if (col < uniforms.M && row < uniforms.K) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = tile_col_start + local_id.x;\n row = k_start + local_id.y;\n if (col < uniforms.N && row < uniforms.K) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${b.type.value}(0);\n }\n `,I=\"value += tile_a[k][local_id.y] * tile_b[k][local_id.x];\"):!t.transA&&t.transB?(E=`\n var col = k_start + local_id.x;\n var row = tile_row_start + local_id.y;\n if (col < uniforms.K && row < uniforms.M) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = k_start + local_id.x;\n row = tile_col_start + local_id.y;\n if (col < uniforms.K && row < uniforms.N) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${b.type.value}(0);\n }\n `,I=\"value += tile_a[local_id.y][k] * tile_b[local_id.x][k];\"):!t.transA&&!t.transB&&(E=`\n var col = k_start + local_id.x;\n var row = tile_row_start + local_id.y;\n if (col < uniforms.K && row < uniforms.M) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = tile_col_start + local_id.x;\n row = k_start + local_id.y;\n if (col < uniforms.N && row < uniforms.K) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${b.type.value}(0);\n }\n `,I=\"value += tile_a[local_id.y][k] * tile_b[k][local_id.x];\");let z=t.alpha===1?\"\":\"value *= uniforms.alpha;\";return`\n ${y.registerUniforms(T).declareVariables(...v)}\n var<workgroup> tile_a: array<array<${g.type.storage}, ${u}>, ${u}>;\n var<workgroup> tile_b: array<array<${b.type.storage}, ${u}>, ${u}>;\n ${y.mainStart([u,u,1])}\n let tile_col_start = (workgroup_index % uniforms.num_tile_n) * ${u};\n let tile_row_start = (workgroup_index / uniforms.num_tile_n) * ${u};\n let num_tiles = (uniforms.K - 1) / ${u} + 1;\n var k_start = 0u;\n var value = ${$.type.value}(0);\n for (var t: u32 = 0u; t < num_tiles; t++) {\n ${E}\n k_start = k_start + ${u};\n workgroupBarrier();\n\n for (var k: u32 = 0u; k < ${u}; k++) {\n ${I}\n }\n workgroupBarrier();\n }\n\n ${z}\n let m = tile_row_start + local_id.y;\n let n = tile_col_start + local_id.x;\n ${w!=null?`let cOffset = ${w.broadcastedIndicesToOffset(\"vec2(m, n)\",$)}; value += ${$.type.value}(uniforms.beta) * ${w.getByOffset(\"cOffset\")};`:\"\"}\n if (m < uniforms.M && n < uniforms.N) {\n output[m * uniforms.N + n] = value;\n }\n }`};return c?{name:\"GemmShared\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:a,dataType:e[0].dataType}],dispatchGroup:{x:d*l},programUniforms:f}),getShaderSource:_}:{name:\"Gemm\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:a,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:f}),getShaderSource:h}},na=e=>{let t=e.transA,n=e.transB,r=e.alpha,o=e.beta;return{transA:t,transB:n,alpha:r,beta:o,cacheKey:`${e.transA};${e.transB};${e.alpha===1}`}},ra=(e,t)=>{Wl(e.inputs),e.compute(Gl(e.inputs,t))}});var Le,je,at,ut,Hl,Fl,ql,Kl,jl,Zl,Ql,Xl,ia,sa,aa=k(()=>{\"use strict\";N();H();ue();q();[Le,je,at,ut]=[0,1,2,3],Hl=e=>{if(e[0].dims.length!==4)throw new Error(\"only 4-D tensor is supported.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"input dimensions must be equal to grid dimensions\");if(e[0].dims.length-2!==e[1].dims[e[1].dims.length-1])throw new Error(`last dimension of grid must be equal to ${e[0].dims.length-2}`);if(e[0].dims[0]!==e[1].dims[0])throw new Error(\"grid batch size must match input batch size\")},Fl=`\n fn gs_get_cubic_coeffs(x: f32) -> vec4<f32> {\n let cubic_alpha = -0.75f;\n let x_abs = abs(x);\n var coeffs: vec4<f32>;\n coeffs[0] = (((cubic_alpha * (x_abs + 1) - 5 * cubic_alpha) * (x_abs + 1) + 8 * cubic_alpha) * (x_abs + 1) - 4 * cubic_alpha);\n coeffs[1] = (((cubic_alpha + 2) * x_abs - (cubic_alpha + 3)) * x_abs * x_abs + 1);\n coeffs[2] = (((cubic_alpha + 2) * (1 - x_abs) - (cubic_alpha + 3)) * (1 - x_abs) * (1 - x_abs) + 1);\n coeffs[3] = (((cubic_alpha * (2 - x_abs) - 5 * cubic_alpha) * (2 - x_abs) + 8 * cubic_alpha) * (2 - x_abs) - 4 * cubic_alpha);\n return coeffs;\n }\n`,ql=e=>`\n fn gs_bicubic_interpolate(p: mat4x4<${e}>, x: f32, y: f32) -> ${e} {\n var v: vec4<f32>;\n var coeffs = gs_get_cubic_coeffs(x);\n for (var i = 0; i < 4; i++) {\n v[i] = coeffs[0] * p[i][0] + coeffs[1] * p[i][1] + coeffs[2] * p[i][2] + coeffs[3] * p[i][3];\n }\n coeffs = gs_get_cubic_coeffs(y);\n let pixel = ${e}(coeffs[0] * v[0] + coeffs[1] * v[1] + coeffs[2] * v[2] + coeffs[3] * v[3]);\n return pixel;\n }\n`,Kl=e=>`\n fn gs_denormalize(n: f32, length: i32) -> f32 {\n ${e.alignCorners===0?`\n // alignCorners: false => [-1, 1] to [-0.5, length - 0.5]\n return ((n + 1.0) * f32(length) - 1.0) / 2.0;\n `:`\n // alignCorners: true => [-1, 1] to [0, length - 1]\n return (n + 1.0) / 2.0 * (f32(length - 1));\n `}\n }\n`,jl=e=>`\n ${e.paddingMode===\"reflection\"?`\n fn gs_reflect(x: i32, x_min: f32, x_max: f32) -> u32 {\n var dx = 0.0;\n var fx = f32(x);\n let range = x_max - x_min;\n if (fx < x_min) {\n dx = x_min - fx;\n let n = u32(dx / range);\n let r = dx - f32(n) * range;\n if (n % 2 == 0) {\n fx = x_min + r;\n } else {\n fx = x_max - r;\n }\n } else if (fx > x_max) {\n dx = fx - x_max;\n let n = u32(dx / range);\n let r = dx - f32(n) * range;\n if (n % 2 == 0) {\n fx = x_max - r;\n } else {\n fx = x_min + r;\n }\n }\n return u32(fx);\n }`:\"\"}\n`,Zl=(e,t,n)=>`\n fn pixel_at_grid(r: i32, c: i32, H: i32, W: i32, batch: u32, channel: u32, border: vec4<f32>) -> ${t} {\n var pixel = ${t}(0);\n var indices = vec4<u32>(0);\n indices[${Le}] = batch;\n indices[${je}] = channel;`+(()=>{switch(n.paddingMode){case\"zeros\":return`\n if (r >= 0 && r < H && c >=0 && c < W) {\n indices[${at}] = u32(r);\n indices[${ut}] = u32(c);\n } else {\n return ${t}(0);\n }\n `;case\"border\":return`\n indices[${at}] = u32(clamp(r, 0, H - 1));\n indices[${ut}] = u32(clamp(c, 0, W - 1));\n `;case\"reflection\":return`\n indices[${at}] = gs_reflect(r, border[1], border[3]);\n indices[${ut}] = gs_reflect(c, border[0], border[2]);\n `;default:throw new Error(`padding mode ${n.paddingMode} is not supported`)}})()+`\n return ${e.getByIndices(\"indices\")};\n }\n`,Ql=(e,t,n)=>(()=>{switch(n.mode){case\"nearest\":return`\n let result = pixel_at_grid(i32(round(y)), i32(round(x)), H_in, W_in, indices[${Le}], indices[${je}], border);\n `;case\"bilinear\":return`\n let x1 = i32(floor(x));\n let y1 = i32(floor(y));\n let x2 = x1 + 1;\n let y2 = y1 + 1;\n\n let p11 = pixel_at_grid(y1, x1, H_in, W_in, indices[${Le}], indices[${je}], border);\n let p12 = pixel_at_grid(y1, x2, H_in, W_in, indices[${Le}], indices[${je}], border);\n let p21 = pixel_at_grid(y2, x1, H_in, W_in, indices[${Le}], indices[${je}], border);\n let p22 = pixel_at_grid(y2, x2, H_in, W_in, indices[${Le}], indices[${je}], border);\n\n let dx2 = ${t}(f32(x2) - x);\n let dx1 = ${t}(x - f32(x1));\n let dy2 = ${t}(f32(y2) - y);\n let dy1 = ${t}(y - f32(y1));\n let result = dy2 * (dx2 * p11 + dx1 * p12) + dy1 * (dx2 * p21 + dx1 * p22);\n `;case\"bicubic\":return`\n let x0 = i32(floor(x)) - 1;\n let y0 = i32(floor(y)) - 1;\n var p: mat4x4<${t}>;\n for (var h = 0; h < 4; h++) {\n for (var w = 0; w < 4; w++) {\n p[h][w] = pixel_at_grid(h + y0, w + x0, H_in, W_in, indices[${Le}], indices[${je}], border);\n }\n }\n\n let dx = x - f32(x0 + 1);\n let dy = y - f32(y0 + 1);\n let result = gs_bicubic_interpolate(p, dx, dy);\n `;default:throw new Error(`mode ${n.mode} is not supported`)}})()+`${e.setByOffset(\"global_idx\",\"result\")}`,Xl=(e,t)=>{let n=S(\"x\",e[0].dataType,e[0].dims.length),r=[e[1].dims[0],e[1].dims[1],e[1].dims[2]],o=S(\"grid\",e[1].dataType,r.length,2),i=[e[0].dims[0],e[0].dims[1],e[1].dims[1],e[1].dims[2]];t.format===\"NHWC\"&&(i=[e[0].dims[0],e[1].dims[1],e[1].dims[2],e[0].dims[3]],[Le,je,at,ut]=[0,3,1,2]);let s=C(\"output\",e[0].dataType,i.length),a=n.type.value,u=x.size(i),d=[{type:12,data:u},...P(e[0].dims,r,i)],l=c=>`\n ${c.registerUniform(\"output_size\",\"u32\").declareVariables(n,o,s)}\n ${Fl}\n ${ql(a)}\n ${Kl(t)}\n ${jl(t)}\n ${Zl(n,a,t)}\n\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let H_in = i32(uniforms.x_shape[${at}]);\n let W_in = i32(uniforms.x_shape[${ut}]);\n\n ${t.alignCorners===0?`\n let x_min = -0.5;\n let x_max = f32(W_in) - 0.5;\n let y_min = -0.5;\n let y_max = f32(H_in) - 0.5;\n `:`\n let x_min = 0.0;\n let x_max = f32(W_in) - 1.0;\n let y_min = 0.0;\n let y_max = f32(H_in) - 1.0;\n `};\n let border = vec4<f32>(x_min, y_min, x_max, y_max);\n\n let indices = ${s.offsetToIndices(\"global_idx\")};\n var grid_indices = vec3<u32>(indices[${Le}], indices[${at}], indices[${ut}]);\n let nxy = ${o.getByIndices(\"grid_indices\")};\n var x = gs_denormalize(f32(nxy[0]), W_in);\n var y = gs_denormalize(f32(nxy[1]), H_in);\n\n ${Ql(s,a,t)}\n }`;return{name:\"GridSample\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:[\"type\",\"type\"]},getRunData:c=>{let p=x.size(i);return{outputs:[{dims:i,dataType:c[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:d}},getShaderSource:l}},ia=(e,t)=>{Hl(e.inputs),e.compute(Xl(e.inputs,t))},sa=e=>L({alignCorners:e.align_corners,mode:e.mode,paddingMode:e.padding_mode,format:e.format})});var _e,ec,da,ua,tc,$t,la,ar=k(()=>{\"use strict\";N();H();ue();Qt();tn();q();Ne();_e=(e,t)=>e.length>t&&e[t].dims.length>0?e[t]:void 0,ec=(e,t)=>{let n=e[0],r=_e(e,1),o=_e(e,2),i=_e(e,3),s=_e(e,4),a=_e(e,5),u=_e(e,6),d=_e(e,7);if(n.dims.length!==3&&n.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let l=n.dims[0],c=n.dims[1],p=n.dims.length===3?n.dims[2]:t.numHeads*n.dims[4],f=c,m=0,h=0,_=Math.floor(p/t.numHeads);if(u&&d&&x.size(u.dims)&&x.size(d.dims)){if(u.dims.length!==4)throw new Error('Input \"past_key\" is expected to have 4 dimensions');if(u.dims[0]!==l||u.dims[1]!==t.numHeads||u.dims[3]!==_)throw new Error('Input \"past_key\" shape (batch_size, num_heads, past_sequence_length, head_size)');if(d.dims[0]!==l||d.dims[1]!==t.numHeads||d.dims[3]!==_)throw new Error('Input \"past_value\" shape (batch_size, num_heads, past_sequence_length, head_size)');if(u.dims[2]!==d.dims[2])throw new Error('Input \"past_key\" and \"past_value\" shall have same dim 2 (past_sequence_length)');if(d.dims.length!==4)throw new Error('Input \"past_value\" is expected to have 4 dimensions');m=u.dims[2],h=u.dims[2]}else if(u&&x.size(u.dims)||d&&x.size(d.dims))throw new Error('Input \"past_key\" and \"past_value\" shall be both present or both absent');let y;if(r&&x.size(r.dims)>0){if(n.dims.length!==3)throw new Error('Input \"query\" is expected to have 3 dimensions when key is given');if(r.dims.length<3||r.dims.length>5)throw new Error('Input \"key\" is expected to have 3, 4, or 5 dimensions');if(n.dims[0]!==r.dims[0])throw new Error('Input \"query\" and \"key\" shall have same dim 0 (batch size)');if(r.dims.length===3){if(r.dims[2]!==n.dims[2])throw new Error('Input \"query\" and \"key\" shall have same dim 2 (hidden_size)');y=2,f=r.dims[1]}else if(r.dims.length===5){if(r.dims[2]!==t.numHeads||r.dims[3]!==2||r.dims[4]!==_)throw new Error('Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw new Error('Expect \"value\" be none when \"key\" has packed kv format.');y=5,f=r.dims[1]}else{if(r.dims[1]!==t.numHeads||r.dims[3]!==_)throw new Error('Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');y=0,f=r.dims[2]}}else{if(n.dims.length!==5)throw new Error('Input \"query\" is expected to have 5 dimensions when key is empty');if(n.dims[2]!==t.numHeads||n.dims[3]!==3)throw new Error('Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');y=3}if(i&&x.size(i.dims)>0){if(i.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimension');if(r&&r.dims.length===5&&r.dims[3]===2)throw new Error(\"bias is not allowed for packed kv.\")}let g=m+f,b=0;if(s&&x.size(s.dims)>0){b=8;let T=s.dims;throw T.length===1?T[0]===l?b=1:T[0]===3*l+2&&(b=3):T.length===2&&T[0]===l&&T[1]===g&&(b=5),b===8?new Error('Input \"key_padding_mask\" shape shall be (batch_size) or (batch_size, total_sequence_length)'):new Error(\"Mask not supported\")}let w=!1,v=p;if(o&&x.size(o.dims)>0){if(o.dims.length!==3&&o.dims.length!==4)throw new Error('Input \"value\" is expected to have 3 or 4 dimensions');if(n.dims[0]!==o.dims[0])throw new Error('Input \"query\" and \"value\" shall have same dim 0 (batch_size)');if(o.dims.length===3){if(f!==o.dims[1])throw new Error('Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)');v=o.dims[2]}else{if(f!==o.dims[2])throw new Error('Input \"key\" and \"value\" shall have the same dim 2 (kv_sequence_length)');v=o.dims[1]*o.dims[3],w=!0}}let $=!1;if(s&&x.size(s.dims)>0)throw new Error(\"Key padding mask is not supported\");if(a&&x.size(a.dims)>0){if(a.dims.length!==4)throw new Error('Input \"attention_bias\" is expected to have 4 dimensions');if(a.dims[0]!==l||a.dims[1]!==t.numHeads||a.dims[2]!==c||a.dims[3]!==g)throw new Error('Expect \"attention_bias\" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:l,sequenceLength:c,pastSequenceLength:m,kvSequenceLength:f,totalSequenceLength:g,maxSequenceLength:h,inputHiddenSize:0,hiddenSize:p,vHiddenSize:v,headSize:_,vHeadSize:Math.floor(v/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:b,scale:t.scale,broadcastResPosBias:$,passPastInKv:w,qkvFormat:y}},da=e=>L({...e}),ua=L({perm:[0,2,1,3]}),tc=(e,t,n,r,o,i,s)=>{let a=[r,o,i],u=x.size(a),d=[{type:12,data:u},{type:12,data:s},{type:12,data:i}],l=c=>{let p=C(\"qkv_with_bias\",t.dataType,a),f=S(\"qkv\",t.dataType,a),m=S(\"bias\",n.dataType,a),h=[{name:\"output_size\",type:\"u32\"},{name:\"bias_offset\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"}];return`\n ${c.registerUniforms(h).declareVariables(f,m,p)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;\n\n qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];\n }`};return e.compute({name:\"MultiHeadAttentionAddBias\",shaderCache:{inputDependencies:[\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:a,dataType:t.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:d}),getShaderSource:l},{inputs:[t,n],outputs:[-1]})[0]},$t=(e,t,n,r,o,i,s,a)=>{let u=i;if(s&&x.size(s.dims)>0){if(r===1)throw new Error(\"AddBiasReshape is not implemented. Please export your model with packed QKV or KV\");return u=tc(e,i,s,t,r,n*o,a),u=u.reshape([t,r,n,o]),n===1||r===1?u:e.compute(me(u,ua.perm),{inputs:[u],outputs:[-1]})[0]}else return i.dims.length===3&&(u=i.reshape([t,r,n,o])),n===1||r===1?u:e.compute(me(u,ua.perm),{inputs:[u],outputs:[-1]})[0]},la=(e,t)=>{let n=ec(e.inputs,t),r=e.inputs[0],o=_e(e.inputs,1),i=_e(e.inputs,2),s=_e(e.inputs,3),a=_e(e.inputs,4),u=_e(e.inputs,5),d=_e(e.inputs,6),l=_e(e.inputs,7);if(r.dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(o?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let c=o&&i&&o.dims.length===4&&i.dims.length===4,p=$t(e,n.batchSize,n.numHeads,n.sequenceLength,n.headSize,r,s,0);if(c)return st(e,p,o,i,a,void 0,d,l,u,n);if(!o||!i)throw new Error(\"key and value must be provided\");let f=$t(e,n.batchSize,n.numHeads,n.kvSequenceLength,n.headSize,o,s,n.hiddenSize),m=$t(e,n.batchSize,n.numHeads,n.kvSequenceLength,n.vHeadSize,i,s,2*n.hiddenSize);st(e,p,f,m,a,void 0,d,l,u,n)}});var nc,rc,oc,ic,ur,ca,pa,dr=k(()=>{\"use strict\";N();H();ue();q();nc=e=>{if(!e||e.length<1)throw new Error(\"too few inputs\")},rc=(e,t)=>{let n=[],r=t.numOutputs;return e[1].dims[0]>0&&(e[1].getBigInt64Array().forEach(o=>n.push(Number(o))),r=n.length),L({numOutputs:r,axis:t.axis,splitSizes:n})},oc=e=>`\nfn calculateOutputIndex(index: u32) -> u32 {\n for (var i: u32 = 0u; i < ${e}u; i += 1u ) {\n if (index < ${D(\"uniforms.size_in_split_axis\",\"i\",e)}) {\n return i;\n }\n }\n return ${e}u;\n}`,ic=e=>{let t=e.length,n=[];for(let r=0;r<t;++r){let o=e[r].setByIndices(\"indices\",\"input[global_idx]\");t===1?n.push(o):r===0?n.push(`if (output_number == ${r}u) { ${o} }`):r===t-1?n.push(`else { ${o} }`):n.push(`else if (output_number == ${r}) { ${o} }`)}return`\n fn writeBufferData(output_number: u32, indices: ${e[0].type.indices}, global_idx: u32) {\n ${n.join(`\n`)}\n }`},ur=(e,t)=>{let n=e[0].dims,r=x.size(n),o=e[0].dataType,i=x.normalizeAxis(t.axis,n.length),s=new Array(t.numOutputs),a=S(\"input\",o,n.length),u=new Array(t.numOutputs),d=[],l=[],c=0,p=[{type:12,data:r}];for(let m=0;m<t.numOutputs;m++){c+=t.splitSizes[m],u[m]=c;let h=n.slice();h[i]=t.splitSizes[m],l.push(h),s[m]=C(`output${m}`,o,h.length),d.push({dims:l[m],dataType:e[0].dataType})}p.push({type:12,data:u},...P(n,...l));let f=m=>`\n ${m.registerUniform(\"input_size\",\"u32\").registerUniform(\"size_in_split_axis\",\"u32\",u.length).declareVariables(a,...s)}\n ${oc(u.length)}\n ${ic(s)}\n\n ${m.mainStart()}\n ${m.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.input_size\")}\n\n var indices = ${a.offsetToIndices(\"global_idx\")};\n var index = ${a.indicesGet(\"indices\",i)};\n let output_number = calculateOutputIndex(index);\n if (output_number != 0) {\n index -= ${D(\"uniforms.size_in_split_axis\",\"output_number - 1u\",u.length)};\n ${a.indicesSet(\"indices\",i,\"index\")};\n }\n writeBufferData(output_number, indices, global_idx);\n }`;return{name:\"Split\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\"]},getShaderSource:f,getRunData:()=>({outputs:d,dispatchGroup:{x:Math.ceil(r/64)},programUniforms:p})}},ca=(e,t)=>{nc(e.inputs);let n=e.inputs.length===1?t:rc(e.inputs,t);e.compute(ur(e.inputs,n),{inputs:[0]})},pa=e=>{let t=e.axis,n=e.splitSizes,r=e.numOutputs<0?n.length:e.numOutputs;if(r!==n.length)throw new Error(\"numOutputs and splitSizes length must be equal\");return L({axis:t,numOutputs:r,splitSizes:n})}});var sc,pn,ma,lr=k(()=>{\"use strict\";N();H();ue();q();sc=(e,t)=>{let[n,r,o,i]=e,{numHeads:s,rotaryEmbeddingDim:a}=t;if(n.dims.length!==3&&n.dims.length!==4)throw new Error(`Input 'x' is expected to have 3 or 4 dimensions, got ${n.dims.length}`);if(!x.areEqual(r.dims,[])&&!x.areEqual(r.dims,[1])&&r.dims.length!==2)throw new Error(`Input 'position_ids' is expected to have 0, 1, or 2 dimensions, got ${r.dims.length}`);if(o.dims.length!==2)throw new Error(`Input 'cos_cache' is expected to have 2 dimensions, got ${o.dims.length}`);if(i.dims.length!==2)throw new Error(`Input 'sin_cache' is expected to have 2 dimensions, got ${i.dims.length}`);if(!x.areEqual(o.dims,i.dims))throw new Error(\"Inputs 'cos_cache' and 'sin_cache' are expected to have the same shape\");if(a>0&&s===0)throw new Error(\"num_heads must be provided if rotary_embedding_dim is specified\");let u=n.dims[0],d=n.dims[n.dims.length-2],l=o.dims[0],c=x.sizeFromDimension(n.dims,1)/d,p=a===0?o.dims[1]*2:c/s;if(a>p)throw new Error(\"rotary_embedding_dim must be less than or equal to head_size\");if(r.dims.length===2){if(u!==r.dims[0])throw new Error(`Input 'position_ids' dimension 0 should be of size batch_size, got ${r.dims[0]}`);if(d!==r.dims[1])throw new Error(`Input 'position_ids' dimension 1 should be of size sequence_length, got ${r.dims[1]}`)}if(d>l)throw new Error(\"Updating cos_cache and sin_cache in RotaryEmbedding is not currently supported\");if(p/2!==o.dims[1]&&a/2!==o.dims[1])throw new Error(`Input 'cos_cache' dimension 1 should be same as head_size / 2 or rotary_embedding_dim / 2, got ${o.dims[1]}`)},pn=(e,t)=>{let{interleaved:n,numHeads:r,rotaryEmbeddingDim:o,scale:i}=t,s=e[0].dims[0],a=x.sizeFromDimension(e[0].dims,1),u=e[0].dims[e[0].dims.length-2],d=a/u,l=e[2].dims[1],c=o===0?l*2:d/r,p=new Array(s,u,d/c,c-l),f=x.computeStrides(p),m=[{type:1,data:i},{type:12,data:p},{type:12,data:f},...e[0].dims.length===3?new Array({type:12,data:[a,d,c,1]}):[],...e[0].dims.length===4?new Array({type:12,data:[a,c,u*c,1]}):[],...P(e[0].dims,e[1].dims,e[2].dims,e[3].dims,e[0].dims)],h=_=>{let y=S(\"input\",e[0].dataType,e[0].dims.length),g=S(\"position_ids\",e[1].dataType,e[1].dims.length),b=S(\"cos_cache\",e[2].dataType,e[2].dims.length),w=S(\"sin_cache\",e[3].dataType,e[3].dims.length),v=C(\"output\",e[0].dataType,e[0].dims.length);return _.registerUniforms([{name:\"scale\",type:\"f32\"},{name:\"global_shape\",type:\"u32\",length:p.length},{name:\"global_strides\",type:\"u32\",length:f.length},{name:\"input_output_strides\",type:\"u32\",length:f.length}]),`\n ${_.declareVariables(y,g,b,w,v)}\n\n ${_.mainStart(Je)}\n let half_rotary_emb_dim = uniforms.${b.name}_shape[1];\n let bsnh = global_idx / uniforms.global_strides % uniforms.global_shape;\n let size = uniforms.global_shape[0] * uniforms.global_strides[0];\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"size\")}\n\n if (bsnh[3] < half_rotary_emb_dim) {\n let position_ids_idx =\n ${g.broadcastedIndicesToOffset(\"bsnh.xy\",C(\"\",g.type.tensor,2))};\n let position_id =\n u32(${g.getByOffset(\"position_ids_idx\")}) + select(0, bsnh[1], position_ids_idx == 0);\n let i = dot(bsnh, uniforms.input_output_strides) + select(0, bsnh[3], ${n});\n let j = i + select(half_rotary_emb_dim, 1, ${n});\n let re = ${y.getByOffset(\"i\")} * ${b.get(\"position_id\",\"bsnh[3]\")} -\n ${y.getByOffset(\"j\")} * ${w.get(\"position_id\",\"bsnh[3]\")};\n ${v.setByOffset(\"i\",\"re\")}\n let im = ${y.getByOffset(\"i\")} * ${w.get(\"position_id\",\"bsnh[3]\")} +\n ${y.getByOffset(\"j\")} * ${b.get(\"position_id\",\"bsnh[3]\")};\n ${v.setByOffset(\"j\",\"im\")}\n } else {\n let k = dot(bsnh, uniforms.input_output_strides) + half_rotary_emb_dim;\n ${v.setByOffset(\"k\",y.getByOffset(\"k\"))}\n }\n }`};return{name:\"RotaryEmbedding\",shaderCache:{hint:L({interleaved:n}).cacheKey,inputDependencies:[\"rank\",\"rank\",\"rank\",\"rank\"]},getShaderSource:h,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(x.size(p)/Je)},programUniforms:m})}},ma=(e,t)=>{sc(e.inputs,t),e.compute(pn(e.inputs,t))}});var ac,uc,fa,dc,ha,ga=k(()=>{\"use strict\";ue();N();tn();ar();dr();Ne();lr();q();ac=(e,t)=>{if(t.doRotary&&e.length<=7)throw new Error(\"cos_cache and sin_cache inputs are required if do_rotary is specified\");let n=e[0],r=e[1],o=e[2],i=e[3],s=e[4];if(t.doRotary!==0&&e.length<=7)throw new Error(\"cos_cast and sin_cache are expected if do_rotary attribute is non-zero\");if(t.localWindowSize!==-1)throw new Error(\"Local attention is not supported\");if(t.softcap!==0)throw new Error(\"Softcap is not supported\");if(t.rotaryInterleaved!==0)throw new Error(\"Rotary interleaved is not supported\");if(t.smoothSoftmax)throw new Error(\"Smooth softmax is not supported\");if(n.dims.length!==3&&n.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let a=!1,u=n.dims[0],d=n.dims[1],l=n.dims.length===3?a?n.dims[2]/3:n.dims[2]:t.numHeads*n.dims[4],c=d,p=0,f=!r||r.dims.length===0,m=Math.floor(f?l/(t.numHeads+2*t.kvNumHeads):l/t.numHeads);f&&(l=m*t.numHeads);let h=i&&i.dims.length!==0,_=s&&s.dims.length!==0;if(h&&i.dims.length===4&&i.dims[0]===u&&i.dims[1]!==t.kvNumHeads&&i.dims[2]===t.kvNumHeads&&i.dims[3]===m)throw new Error(\"BSNH pastKey/pastValue is not supported\");if(h&&_){if(i.dims.length!==4)throw new Error('Input \"past_key\" is expected to have 4 dimensions');if(s.dims.length!==4)throw new Error('Input \"past_value\" is expected to have 4 dimensions');p=i.dims[2]}else if(h||_)throw new Error('Input \"past_key\" and \"past_value\" shall be both present or both absent');let g=1;if(r&&r.dims.length>0){if(n.dims.length!==3)throw new Error('Input \"query\" is expected to have 3 dimensions when key is given');if(r.dims.length<3||r.dims.length>5)throw new Error('Input \"key\" is expected to have 3, 4, or 5 dimensions');if(n.dims[0]!==r.dims[0])throw new Error('Input \"query\" and \"key\" shall have same dim 0 (batch size)');if(r.dims.length===3){if(n.dims[2]%r.dims[2]!==0)throw new Error('Dimension 2 of \"query\" should be a multiple of \"key\"');c=r.dims[1]}else if(r.dims.length===5){if(r.dims[2]!==t.numHeads||r.dims[3]!==2||r.dims[4]!==m)throw new Error('Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw new Error('Expect \"value\" be none when \"key\" has packed kv format.');c=r.dims[1]}else{if(r.dims[1]!==t.numHeads||r.dims[3]!==m)throw new Error('Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');c=r.dims[2]}}else{if(n.dims.length!==3&&n.dims.length!==5)throw new Error('Input \"query\" is expected to have 3 or 5 dimensions when key is empty');if(n.dims.length===5&&(n.dims[2]!==t.numHeads||n.dims[3]!==3))throw new Error('Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');g=3}let b=0,w=!1,v=t.kvNumHeads?m*t.kvNumHeads:l;if(o&&o.dims.length>0){if(o.dims.length!==3&&o.dims.length!==4)throw new Error('Input \"value\" is expected to have 3 or 4 dimensions');if(n.dims[0]!==o.dims[0])throw new Error('Input \"query\" and \"value\" shall have same dim 0 (batch_size)');if(o.dims.length===3){if(c!==o.dims[1])throw new Error('Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)');v=o.dims[2]}else{if(c!==o.dims[2])throw new Error('Input \"past_key\" and \"past_value\" shall have the same dim 2 (kv_sequence_length)');v=o.dims[1]*o.dims[3],w=!0}}let $=e.length>4?e[5]:void 0;if($){if($.dims.length===0)throw new Error(\"seqlens_k must be at least 1D, got scalar.\");let z=$.dims.reduce((M,O)=>M*O,1);if(z!==u)throw new Error(`seqlens_k must have batch_size (${u}) elements, got ${z}.`);for(let M=0;M<$.dims.length;M++)if($.dims[M]!==1&&$.dims[M]!==u)throw new Error(`seqlens_k has unexpected shape. Each dimension must be 1 or batch_size (${u}), got dims[${M}] = ${$.dims[M]}.`)}return{batchSize:u,sequenceLength:d,pastSequenceLength:p,kvSequenceLength:c,totalSequenceLength:-1,maxSequenceLength:-1,inputHiddenSize:0,hiddenSize:l,vHiddenSize:v,headSize:m,vHeadSize:Math.floor(v/t.kvNumHeads),numHeads:t.numHeads,kvNumHeads:t.kvNumHeads,nReps:t.numHeads/t.kvNumHeads,pastPresentShareBuffer:!1,maskType:b,scale:t.scale,broadcastResPosBias:!1,passPastInKv:w,qkvFormat:g}},uc=L({perm:[0,2,1,3]}),fa=(e,t,n)=>{let r=t,o=n.kvNumHeads;return t.dims.length===3&&n.kvSequenceLength!==0&&(r=t.reshape([n.batchSize,n.kvSequenceLength,o,n.headSize]),r=e.compute(me(r,uc.perm),{inputs:[r],outputs:[-1]})[0]),r},dc=(e,t,n,r)=>{let o=7,i=[\"type\",\"type\"],s=[e*t],a=e*t,u=[{type:12,data:a},{type:12,data:t},{type:12,data:e}],d=l=>{let c=S(\"seq_lens\",n.dataType,n.dims),p=S(\"total_seq_lens\",r.dataType,r.dims),f=C(\"pos_ids\",o,s),m=[{name:\"output_size\",type:\"u32\"},{name:\"sequence_length\",type:\"u32\"},{name:\"batch_size\",type:\"u32\"}];return`\n ${l.registerUniforms(m).declareVariables(c,p,f)}\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let total_sequence_length = u32(${p.getByOffset(\"0\")});\n let is_subsequent_prompt = uniforms.sequence_length > 1 && uniforms.sequence_length != total_sequence_length;\n let is_first_prompt = !is_subsequent_prompt && uniforms.sequence_length == total_sequence_length;\n let batch_idx = global_idx / uniforms.sequence_length;\n let sequence_idx = i32(global_idx % uniforms.sequence_length);\n var pos_id: i32 = 0;\n let seqlen = ${c.getByOffset(\"batch_idx\")};\n let total_seqlen = seqlen + 1;\n if (is_first_prompt) {\n if (sequence_idx < total_seqlen) {\n pos_id = sequence_idx;\n } else {\n pos_id = 1;\n }\n ${f.setByOffset(\"global_idx\",\"pos_id\")}\n } else if (is_subsequent_prompt) {\n let past_seqlen = total_seqlen - i32(uniforms.sequence_length);\n if (past_seqlen + sequence_idx < total_seqlen) {\n pos_id = past_seqlen + sequence_idx;\n } else {\n pos_id = 1;\n }\n ${f.setByOffset(\"global_idx\",\"pos_id\")}\n } else if (global_idx < uniforms.batch_size) {\n ${f.setByOffset(\"global_idx\",\"seqlen\")}\n };\n }\n `};return{name:\"GeneratePositionIds\",shaderCache:{hint:`${e};${t}`,inputDependencies:i},getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:u}),getShaderSource:d}},ha=(e,t)=>{let n=ac(e.inputs,t);if(e.inputs[0].dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(e.inputs[1]?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let r=e.inputs[0],o=e.inputs[1]&&e.inputs[1].dims.length>0?e.inputs[1]:void 0,i=e.inputs[2]&&e.inputs[2].dims.length>0?e.inputs[2]:void 0,s=e.inputs[3]&&e.inputs[3].dims.length!==0?e.inputs[3]:void 0,a=e.inputs[4]&&e.inputs[4].dims.length!==0?e.inputs[4]:void 0,u=e.inputs.length>4?e.inputs[5]:void 0,d=e.inputs.length>5?e.inputs[6]:void 0,l=n.kvNumHeads?n.kvNumHeads:n.numHeads,c=L({axis:2,numOutputs:3,splitSizes:[n.numHeads*n.headSize,l*n.headSize,l*n.headSize]}),[p,f,m]=!o&&!i?e.compute(ur([r],c),{inputs:[r],outputs:[-1,-1,-1]}):[r,o,i],h,_;if(t.doRotary){let w=e.compute(dc(n.batchSize,n.sequenceLength,u,d),{inputs:[u,d],outputs:[-1]})[0],v=e.inputs[7],$=e.inputs[8],T=L({interleaved:t.rotaryInterleaved!==0,numHeads:n.numHeads,rotaryEmbeddingDim:0,scale:t.scale}),I=[p,w,v,$],E=[-1];h=e.compute(pn(I,T),{inputs:I,outputs:E})[0],I.splice(0,1,f);let z=L({interleaved:t.rotaryInterleaved!==0,numHeads:n.kvNumHeads,rotaryEmbeddingDim:0,scale:t.scale});_=e.compute(pn(I,z),{inputs:I,outputs:E})[0]}let y=$t(e,n.batchSize,n.numHeads,n.sequenceLength,n.headSize,t.doRotary?h:p,void 0,0),g=fa(e,t.doRotary?_:f,n),b=fa(e,m,n);st(e,y,g,b,void 0,void 0,s,a,void 0,n,u,d)}});var ya,lc,cc,ba,_a=k(()=>{\"use strict\";N();H();Ne();q();ya=(e,t,n,r,o,i,s,a)=>{let u=J(i),d=u===1?\"f32\":`vec${u}f`,l=u===1?\"vec2f\":`mat2x${u}f`,c=o*s,p=64;c===1&&(p=256);let f=[o,s,i/u],m=[o,s,2],h=[\"rank\",\"type\",\"type\"],_=[];_.push(...P(f,m));let y=g=>{let b=S(\"x\",t.dataType,3,u),w=S(\"scale\",n.dataType,n.dims),v=S(\"bias\",r.dataType,r.dims),$=C(\"output\",1,3,2),T=[b,w,v,$];return`\n var<workgroup> workgroup_shared : array<${l}, ${p}>;\n const workgroup_size = ${p}u;\n ${g.declareVariables(...T)}\n ${g.mainStart(p)}\n let batch = workgroup_index / uniforms.x_shape[1];\n let channel = workgroup_index % uniforms.x_shape[1];\n let hight = uniforms.x_shape[2];\n // initialize workgroup memory\n var sum = ${d}(0);\n var squared_sum = ${d}(0);\n for (var h = local_idx; h < hight; h += workgroup_size) {\n let value = ${d}(${b.get(\"batch\",\"channel\",\"h\")});\n sum += value;\n squared_sum += value * value;\n }\n workgroup_shared[local_idx] = ${l}(sum, squared_sum);\n workgroupBarrier();\n\n for (var currSize = workgroup_size >> 1; currSize > 0; currSize = currSize >> 1) {\n if (local_idx < currSize) {\n workgroup_shared[local_idx] = workgroup_shared[local_idx] + workgroup_shared[local_idx + currSize];\n }\n workgroupBarrier();\n }\n if (local_idx == 0) {\n let sum_final = ${Ie(\"workgroup_shared[0][0]\",u)} / f32(hight * ${u});\n let squared_sum_final = ${Ie(\"workgroup_shared[0][1]\",u)} / f32(hight * ${u});\n\n let inv_std_dev = inverseSqrt(squared_sum_final - sum_final * sum_final + f32(${a}));\n let channel_scale = inv_std_dev * f32(scale[channel]);\n let channel_shift = f32(bias[channel]) - sum_final * channel_scale;\n output[workgroup_index] = vec2f(channel_scale, channel_shift);\n }\n }`};return e.compute({name:\"InstanceNormComputeChannelScaleShift\",shaderCache:{hint:`${u};${a};${p}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:m,dataType:1}],dispatchGroup:{x:c},programUniforms:_}),getShaderSource:y},{inputs:[t,n,r],outputs:[-1]})[0]},lc=(e,t,n)=>{let r=t[0].dims,o=r,i=2,s=r[0],a=r[1],u=x.sizeFromDimension(r,i),d=J(u),l=x.size(o)/d,c=ya(e,t[0],t[1],t[2],s,u,a,n.epsilon),p=[s,a,u/d],f=[s,a],m=[\"type\",\"none\"],h=_=>{let y=S(\"x\",t[0].dataType,p.length,d),g=S(\"scale_shift\",1,f.length,2),b=C(\"output\",t[0].dataType,p.length,d),w=[y,g,b];return`\n ${_.registerUniform(\"output_size\",\"u32\").declareVariables(...w)}\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let outputIndices = ${b.offsetToIndices(\"global_idx\")};\n let batch = outputIndices[0];\n let channel = outputIndices[1];\n let scale_shift = ${g.getByIndices(\"vec2<u32>(batch, channel)\")};\n let value = ${y.getByOffset(\"global_idx\")} * ${b.type.value}(scale_shift.x) + ${b.type.value}(scale_shift.y);\n ${b.setByOffset(\"global_idx\",\"value\")};\n }`};e.compute({name:\"InstanceNormalization\",shaderCache:{hint:`${d}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:[{type:12,data:l},...P(p,f,p)]}),getShaderSource:h},{inputs:[t[0],c]})},cc=(e,t,n)=>{let r=t[0].dims,o=r,i=r[0],s=r[r.length-1],a=x.sizeFromDimension(r,1)/s,u=J(s),d=x.size(o)/u,l=[{type:12,data:a},{type:12,data:Math.floor(s/u)}],c=[\"type\",\"type\"],p=!1,f=[0,r.length-1];for(let y=0;y<r.length-2;y++)p=p||r[y+1]!==1,f.push(y+1);p=p&&r[r.length-1]!==1;let m=p?e.compute(me(e.inputs[0],f),{inputs:[e.inputs[0]],outputs:[-1]})[0]:e.inputs[0].reshape(Array.from({length:r.length},(y,g)=>r[f[g]])),h=ya(e,m,t[1],t[2],i,a,s,n.epsilon),_=y=>{let g=re(t[0].dataType),b=u===1?\"vec2f\":`mat${u}x2f`,w=T=>{let I=T===0?\"x\":\"y\",E=u===1?\"f32\":`vec${u}f`;switch(u){case 1:return`${g}(${E}(scale.${I}))`;case 2:return`vec2<${g}>(${E}(scale[0].${I}, scale[1].${I}))`;case 4:return`vec4<${g}>(${E}(scale[0].${I}, scale[1].${I}, scale[2].${I}, scale[3].${I}))`;default:throw new Error(`Not supported compoents ${u}`)}},v=S(\"input\",t[0].dataType,t[0].dims,u),$=C(\"output\",t[0].dataType,o,u);return`\n @group(0) @binding(0) var<storage, read> input : array<${v.type.storage}>;\n @group(0) @binding(1) var<storage, read> scale_input : array<${b}>;\n @group(0) @binding(2) var<storage, read_write> output : array<${$.type.storage}>;\n struct Uniforms {H: u32, C : u32};\n @group(0) @binding(3) var<uniform> uniforms: Uniforms;\n\n ${y.mainStart()}\n let current_image_number = global_idx / (uniforms.C * uniforms.H);\n let current_channel_number = global_idx % uniforms.C;\n\n let scale_offset = current_image_number * uniforms.C + current_channel_number;\n let scale = scale_input[scale_offset];\n output[global_idx] = fma(input[global_idx], ${w(0)}, ${w(1)});\n }`};e.compute({name:\"InstanceNormalizationNHWC\",shaderCache:{hint:`${u}`,inputDependencies:c},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:l}),getShaderSource:_},{inputs:[t[0],h]})},ba=(e,t)=>{t.format===\"NHWC\"?cc(e,e.inputs,t):lc(e,e.inputs,t)}});var pc,mc,wa,$a=k(()=>{\"use strict\";N();H();q();pc=e=>{if(!e||e.length<2)throw new Error(\"layerNorm requires at least 2 inputs.\")},mc=(e,t,n)=>{let r=t.simplified,o=e[0].dims,i=e[1],s=!r&&e[2],a=o,u=x.normalizeAxis(t.axis,o.length),d=x.sizeToDimension(o,u),l=x.sizeFromDimension(o,u),c=x.size(i.dims),p=s?x.size(s.dims):0;if(c!==l||s&&p!==l)throw new Error(`Size of X.shape()[axis:] == ${l}.\n Size of scale and bias (if provided) must match this.\n Got scale size of ${c} and bias size of ${p}`);let f=[];for(let v=0;v<o.length;++v)v<u?f.push(o[v]):f.push(1);let m=J(l),h=[\"type\",\"type\"],_=[{type:12,data:d},{type:1,data:l},{type:12,data:Math.floor(l/m)},{type:1,data:t.epsilon}];s&&h.push(\"type\");let y=n>1,g=n>2,b=v=>{let $=re(e[0].dataType),T=[S(\"x\",e[0].dataType,e[0].dims,m),S(\"scale\",i.dataType,i.dims,m)];s&&T.push(S(\"bias\",s.dataType,s.dims,m)),T.push(C(\"output\",e[0].dataType,a,m)),y&&T.push(C(\"mean_data_output\",1,f)),g&&T.push(C(\"inv_std_output\",1,f));let I=[{name:\"norm_count\",type:\"u32\"},{name:\"norm_size\",type:\"f32\"},{name:\"norm_size_vectorized\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}];return`\n ${v.registerUniforms(I).declareVariables(...T)}\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.norm_count\")}\n let offset = global_idx * uniforms.norm_size_vectorized;\n var mean_vector = ${qn(\"f32\",m)};\n var mean_square_vector = ${qn(\"f32\",m)};\n\n for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {\n let value = ${et($,m,\"x[h + offset]\")};\n mean_vector += value;\n mean_square_vector += value * value;\n }\n let mean = ${Ie(\"mean_vector\",m)} / uniforms.norm_size;\n let inv_std_dev = inverseSqrt(${Ie(\"mean_square_vector\",m)} / uniforms.norm_size ${r?\"\":\"- mean * mean\"} + uniforms.epsilon);\n\n for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {\n let f32input = ${et($,m,\"x[j + offset]\")};\n let f32scale = ${et($,m,\"scale[j]\")};\n output[j + offset] = ${T[0].type.value}((f32input ${r?\"\":\"- mean\"}) * inv_std_dev * f32scale\n ${s?`+ ${et($,m,\"bias[j]\")}`:\"\"}\n );\n }\n\n ${y?\"mean_data_output[global_idx] = mean\":\"\"};\n ${g?\"inv_std_output[global_idx] = inv_std_dev\":\"\"};\n }`},w=[{dims:a,dataType:e[0].dataType}];return y&&w.push({dims:f,dataType:1}),g&&w.push({dims:f,dataType:1}),{name:\"LayerNormalization\",shaderCache:{hint:`${m};${n};${r}`,inputDependencies:h},getRunData:()=>({outputs:w,dispatchGroup:{x:Math.ceil(d/64)},programUniforms:_}),getShaderSource:b}},wa=(e,t)=>{pc(e.inputs),e.compute(mc(e.inputs,t,e.outputCount))}});var fc,va,xa=k(()=>{\"use strict\";H();un();dn();fc=e=>{if(!e||e.length!==2)throw new Error(\"MatMul requires 2 inputs.\");if(e[0].dims[e[0].dims.length-1]!==e[1].dims[e[1].dims.length-2])throw new Error(\"shared dimension does not match.\")},va=e=>{fc(e.inputs);let t=ze.calcShape(e.inputs[0].dims,e.inputs[1].dims,!0);if(!t)throw new Error(\"Can't use matmul on the given tensors\");let n=t[t.length-1],r=e.inputs[0].dims[e.inputs[0].dims.length-1];if(n<8&&r<8)e.compute(an(e.inputs,{activation:\"\"},t));else{let o=t[t.length-2],i=x.size(e.inputs[0].dims.slice(0,-2)),s=x.size(e.inputs[1].dims.slice(0,-2));if(i!==1&&o===1&&s===1){let a=e.inputs[0].reshape([1,i,r]),u=e.inputs[1].reshape([1,r,n]),d=[1,i,n],l=[a,u];e.compute(wt(l,{activation:\"\"},t,d),{inputs:l})}else e.compute(wt(e.inputs,{activation:\"\"},t))}}});var hc,gc,yc,Sa,Ta,Ia=k(()=>{\"use strict\";N();H();ue();q();hc=(e,t)=>{if(e.length<3||e.length>4)throw new Error(\"MatMulNBits requires 3 or 4 inputs\");let n=e[0],r=n.dims.length;if(n.dims[r-1]!==t.k)throw new Error(\"The last dim of input shape does not match the k value\");let o=Math.floor((t.k+t.blockSize-1)/t.blockSize),i=t.blockSize/8*t.bits,s=e[1];if(!x.areEqual(s.dims,[t.n,o,i]))throw new Error(\"The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize\");let u=e[2].dims;if(x.size(u)!==t.n*o)throw new Error(\"scales input size error.\");if(e.length===4){let l=e[3].dims,c=t.n*(t.bits===8?o:Math.floor((o*t.bits+7)/8));if(x.size(l)!==c)throw new Error(\"zeroPoints input size error.\")}},gc=(e,t)=>{let n=e[0].dims,r=n.length,o=n[r-2],i=t.k,s=t.n,a=n.slice(0,r-2),u=x.size(a),l=e[1].dims[2]/4,c=e[0].dataType,p=J(t.k),f=J(l),m=J(s),h=a.concat([o,s]),_=o>1&&s/m%2===0?2:1,y=x.size(h)/m/_,g=64,b=[],w=[u,o,i/p],v=x.convertShape(e[1].dims).slice();v.splice(-1,1,l/f),b.push(...P(w)),b.push(...P(v)),b.push(...P(e[2].dims)),e.length===4&&b.push(...P(x.convertShape(e[3].dims)));let $=[u,o,s/m];b.push(...P($));let T=I=>{let E=w.length,z=S(\"a\",e[0].dataType,E,p),M=S(\"b\",12,v.length,f),O=S(\"scales\",e[2].dataType,e[2].dims.length),W=[z,M,O],K=e.length===4?S(\"zero_points\",12,e[3].dims.length):void 0;K&&W.push(K);let U=$.length,R=C(\"output\",e[0].dataType,U,m),G=re(e[0].dataType),V=(()=>{switch(p){case 1:return`array<${G}, 8>`;case 2:return`mat4x2<${G}>`;case 4:return`mat2x4<${G}>`;default:throw new Error(`${p}-component is not supported.`)}})(),j=Math.floor(32/t.bits),Q=Math.floor(j/8),X=()=>{let A=\"\";for(let B=0;B<Q;B++){let oe=B*t.bits*4,he=oe+t.bits;A+=`\n // reuse a data (pass ${B})\n var input_offset${B>0?B:\"\"} = ${B===0?z.indicesToOffset(`${z.type.indices}(batch, row, word_offset)`):\"input_offset\"};\n var a_data${B>0?B:\"\"}: ${V};\n for (var j${B>0?B:\"\"}: u32 = 0; j${B>0?B:\"\"} < ${8/p}; j${B>0?B:\"\"}++) {\n a_data${B>0?B:\"\"}[j${B>0?B:\"\"}] = ${z.getByOffset(`input_offset${B>0?B:\"\"}`)};\n input_offset${B>0?B:\"\"}++;\n }\n `;for(let ae=0;ae<m*_;ae++)A+=`\n b_value = ${f===1?`b${ae}_data`:`b${ae}_data[i]`};\n ${t.bits===2?`{\n let half_word = b_value >> ${B*16}u;\n let byte_lo = half_word & 0xFFu;\n let byte_hi = (half_word >> 8u) & 0xFFu;\n let spread_word = (byte_lo & 0xFu) | ((byte_lo >> 4u) << 8u) | ((byte_hi & 0xFu) << 16u) | ((byte_hi >> 4u) << 24u);\n b_value_lower = unpack4xU8(spread_word & b_mask);\n b_value_upper = unpack4xU8((spread_word >> 2u) & b_mask);\n }`:`b_value_lower = unpack4xU8((b_value >> ${oe}u) & b_mask);\n b_value_upper = unpack4xU8((b_value >> ${he}u) & b_mask);`}\n b_quantized_values = ${V}(${Array.from({length:4},(ge,ie)=>`${G}(b_value_lower[${ie}]), ${G}(b_value_upper[${ie}])`).join(\", \")});\n b_dequantized_values = ${p===1?`${V}(${Array.from({length:8},(ge,ie)=>`(b_quantized_values[${ie}] - ${K?`zero_point${ae}`:\"zero_point\"}) * scale${ae}`).join(\", \")});`:`(b_quantized_values - ${V}(${Array(8).fill(`${K?`zero_point${ae}`:\"zero_point\"}`).join(\",\")})) * scale${ae};`};\n workgroup_shared[local_id.x * ${_} + ${Math.floor(ae/m)}]${m>1?`[${ae%m}]`:\"\"} += ${Array.from({length:8/p},(ge,ie)=>`${p===1?`a_data${B>0?B:\"\"}[${ie}] * b_dequantized_values[${ie}]`:`dot(a_data${B>0?B:\"\"}[${ie}], b_dequantized_values[${ie}])`}`).join(\" + \")};\n `}return A},Te=()=>{let A=`\n var col_index = col * ${m};\n ${K?`\n let zero_point_values_per_byte: u32 = ${Math.floor(8/t.bits)}u;\n let zero_point_bytes_per_col = (nBlocksPerCol + zero_point_values_per_byte - 1u) / zero_point_values_per_byte;\n var zero_point_byte_count: u32;\n var zero_point_word_index: u32;\n var zero_point_byte_offset: u32;\n let zero_point_sub_offset: u32 = block % zero_point_values_per_byte;\n var zero_point_bits_offset: u32;\n var zero_point_word: u32;`:`\n // The default zero point is ${Math.pow(2,t.bits-1)} for unsigned ${t.bits}-bit quantization.\n let zero_point = ${G}(${Math.pow(2,t.bits-1).toFixed(1)});`}\n `;for(let B=0;B<m*_;B++)A+=`\n let scale${B} = ${O.getByOffset(\"col_index * nBlocksPerCol + block\")};\n ${K?`\n zero_point_byte_count = col_index * zero_point_bytes_per_col + (block / zero_point_values_per_byte);\n zero_point_word_index = zero_point_byte_count >> 0x2u;\n zero_point_byte_offset = zero_point_byte_count & 0x3u;\n zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_sub_offset * ${t.bits}u);\n zero_point_word = ${K.getByOffset(\"zero_point_word_index\")} >> zero_point_bits_offset;\n let zero_point${B} = ${G}((zero_point_word) & ${t.bits===2?\"0x3u\":\"0xFu\"});`:\"\"}\n col_index += 1;`;return A},se=()=>{let A=`col_index = col * ${m};`;for(let B=0;B<m*_;B++)A+=`\n let b${B}_data = ${M.getByIndices(`${M.type.indices}(col_index, block, word)`)};\n col_index += 1;`;return A+=`\n var b_value: u32;\n let b_mask: u32 = ${t.bits===2?\"0x03030303u\":\"0x0F0F0F0Fu\"};\n var b_value_lower: vec4<u32>;\n var b_value_upper: vec4<u32>;\n var b_quantized_values: ${V};\n var b_dequantized_values: ${V};`,A};return`\n var<workgroup> workgroup_shared: array<${R.type.value}, ${_*g}>;\n ${I.declareVariables(...W,R)}\n ${I.mainStart([g,1,1])}\n let output_indices = ${R.offsetToIndices(`(global_idx / ${g}) * ${_}`)};\n let col = output_indices[2];\n let row = output_indices[1];\n let batch = output_indices[0];\n let nBlocksPerCol = uniforms.b_shape[1];\n\n for (var block = local_id.x; block < nBlocksPerCol; block += ${g}) {\n //process one block\n var word_offset: u32 = block * ${t.blockSize/p};\n ${Te()}\n for (var word: u32 = 0; word < ${l}; word += ${f}) {\n ${se()}\n for (var i: u32 = 0; i < ${f}; i++) {\n ${X()}\n word_offset += ${j/p};\n }\n }\n }\n workgroupBarrier();\n\n if (local_id.x < ${_}) {\n var output_value: ${R.type.value} = ${R.type.value}(0);\n var workgroup_shared_offset: u32 = local_id.x;\n for (var b: u32 = 0u; b < ${g}u; b++) {\n output_value += workgroup_shared[workgroup_shared_offset];\n workgroup_shared_offset += ${_};\n }\n ${R.setByIndices(`${R.type.indices}(batch, row, col + local_id.x)`,\"output_value\")};\n }\n }`};return{name:\"MatMulNBits\",shaderCache:{hint:`${t.blockSize};${t.bits};${p};${f};${m};${_};${g}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:h,dataType:c}],dispatchGroup:{x:y},programUniforms:b}),getShaderSource:T}},yc=(e,t)=>{let n=e[0].dims,r=n.length,o=n[r-2],i=t.k,s=t.n,a=n.slice(0,r-2),u=x.size(a),l=e[1].dims[2]/4,c=e[0].dataType,p=J(t.k),f=J(l),m=a.concat([o,s]),h=128,_=s%8===0?8:s%4===0?4:1,y=h/_,g=Math.floor(32/t.bits),b=y*f*g,w=b/p,v=b/t.blockSize,$=x.size(m)/_,T=[],I=[u,o,i/p],E=x.convertShape(e[1].dims).slice();E.splice(-1,1,l/f),T.push(...P(I)),T.push(...P(E)),T.push(...P(e[2].dims)),e.length===4&&T.push(...P(x.convertShape(e[3].dims)));let z=[u,o,s];T.push(...P(z));let M=O=>{let W=I.length,K=S(\"a\",e[0].dataType,W,p),U=S(\"b\",12,E.length,f),R=S(\"scales\",e[2].dataType,e[2].dims.length),G=[K,U,R],V=e.length===4?S(\"zero_points\",12,e[3].dims.length):void 0;V&&G.push(V);let j=z.length,Q=C(\"output\",e[0].dataType,j),X=re(e[0].dataType),Te=()=>{switch(p){case 1:return`\n let a_data0 = vec4<${X}>(sub_a[word_offset], sub_a[word_offset + 1], sub_a[word_offset + 2], sub_a[word_offset + 3]);\n let a_data1 = vec4<${X}>(sub_a[word_offset + 4], sub_a[word_offset + 5], sub_a[word_offset + 6], sub_a[word_offset + 7]);`;case 2:return`\n let a_data0 = vec4<${X}>(sub_a[word_offset], sub_a[word_offset + 1]);\n let a_data1 = vec4<${X}>(sub_a[word_offset + 2], sub_a[word_offset + 3]);`;case 4:return`\n let a_data0 = sub_a[word_offset];\n let a_data1 = sub_a[word_offset + 1];`;default:throw new Error(`${p}-component is not supported.`)}};return`\n var<workgroup> sub_a: array<${K.type.value}, ${w}>;\n var<workgroup> inter_results: array<array<${Q.type.value}, ${y}>, ${_}>;\n ${O.declareVariables(...G,Q)}\n ${O.mainStart([y,_,1])}\n let output_indices = ${Q.offsetToIndices(`workgroup_index * ${_}`)};\n let col = output_indices[2];\n let row = output_indices[1];\n let batch = output_indices[0];\n let n_blocks_per_col = uniforms.b_shape[1];\n let num_tiles = (n_blocks_per_col - 1) / ${v} + 1;\n\n // Loop over shared dimension.\n for (var tile: u32 = 0; tile < num_tiles; tile += 1) {\n let a_col_start = tile * ${w};\n // load one tile A data into shared memory.\n for (var a_offset = local_idx; a_offset < ${w}; a_offset += ${h})\n {\n let a_col = a_col_start + a_offset;\n if (a_col < uniforms.a_shape[2])\n {\n sub_a[a_offset] = ${K.getByIndices(`${K.type.indices}(batch, row, a_col)`)};\n } else {\n sub_a[a_offset] = ${K.type.value}(0);\n }\n }\n workgroupBarrier();\n\n // each thread process one block\n let b_row = col + local_id.y;\n let block = tile * ${v} + local_id.x;\n ${V?`\n let zero_point_values_per_byte: u32 = ${Math.floor(8/t.bits)}u;\n let zero_point_bytes_per_col = (n_blocks_per_col + zero_point_values_per_byte - 1u) / zero_point_values_per_byte;\n let zero_point_byte_count = b_row * zero_point_bytes_per_col + (block / zero_point_values_per_byte);\n let zero_point_word_index = zero_point_byte_count >> 0x2u;\n let zero_point_byte_offset = zero_point_byte_count & 0x3u;\n let zero_point_sub_offset: u32 = block % zero_point_values_per_byte;\n let zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_sub_offset * ${t.bits}u);\n let zero_point_word = ${V.getByOffset(\"zero_point_word_index\")} >> zero_point_bits_offset;\n let zero_point = ${X}((zero_point_word) & ${t.bits===2?\"0x3u\":\"0xFu\"});`:`\n // The default zero point is ${Math.pow(2,t.bits-1)} for unsigned ${t.bits}-bit quantization.\n let zero_point = ${X}(${Math.pow(2,t.bits-1).toFixed(1)});`}\n let scale = ${R.getByOffset(\"b_row * n_blocks_per_col + block\")};\n let b_data = ${U.getByIndices(`${U.type.indices}(b_row, block, 0)`)};\n var word_offset = local_id.x * ${t.blockSize/p};\n for (var i: u32 = 0; i < ${f}; i++) {\n let b_value = ${f===1?\"b_data\":\"b_data[i]\"};\n ${(()=>{let se=Math.floor(g/8),A=\"\";for(let B=0;B<se;B++){let oe=B*t.bits*4,he=oe+t.bits;A+=`\n ${Te()}\n {${t.bits===2?`\n let half_word = b_value >> ${B*16}u;\n let byte_lo = half_word & 0xFFu;\n let byte_hi = (half_word >> 8u) & 0xFFu;\n let spread_word = (byte_lo & 0xFu) | ((byte_lo >> 4u) << 8u) | ((byte_hi & 0xFu) << 16u) | ((byte_hi >> 4u) << 24u);\n let b_value_lower = unpack4xU8(spread_word & 0x03030303u);\n let b_value_upper = unpack4xU8((spread_word >> 2u) & 0x03030303u);`:`\n let b_value_lower = unpack4xU8((b_value >> ${oe}u) & 0x0F0F0F0Fu);\n let b_value_upper = unpack4xU8((b_value >> ${he}u) & 0x0F0F0F0Fu);`}\n let b_quantized_values = mat2x4<${X}>(${Array.from({length:4},(ae,ge)=>`${X}(b_value_lower[${ge}]), ${X}(b_value_upper[${ge}])`).join(\", \")});\n let b_dequantized_values = (b_quantized_values - mat2x4<${X}>(${Array(8).fill(\"zero_point\").join(\",\")})) * scale;\n inter_results[local_id.y][local_id.x] += ${Array.from({length:2},(ae,ge)=>`${`dot(a_data${ge}, b_dequantized_values[${ge}])`}`).join(\" + \")};\n }\n word_offset += ${8/p};`}return A})()}\n }\n workgroupBarrier();\n }\n\n if (local_idx < ${_}) {\n var output_value: ${Q.type.value} = ${Q.type.value}(0);\n for (var b = 0u; b < ${y}; b++) {\n output_value += inter_results[local_idx][b];\n }\n if (col + local_idx < uniforms.output_shape[2])\n {\n ${Q.setByIndices(`${Q.type.indices}(batch, row, col + local_idx)`,\"output_value\")}\n }\n }\n }`};return{name:\"BlockwiseMatMulNBits32\",shaderCache:{hint:`${t.blockSize};${p};${f};${y};${_}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:m,dataType:c}],dispatchGroup:{x:$},programUniforms:T}),getShaderSource:M}},Sa=(e,t)=>{hc(e.inputs,t),t.blockSize===32&&e.adapterInfo.isVendor(\"intel\")&&e.adapterInfo.isArchitecture(\"gen-12lp\")?e.compute(yc(e.inputs,t)):e.compute(gc(e.inputs,t))},Ta=e=>L(e)});var bc,_c,wc,$c,vc,xc,Sc,Tc,Ca,Aa=k(()=>{\"use strict\";N();H();q();bc=e=>{if(!e||e.length<1)throw new Error(\"Too few inputs\");if(e[0].dataType!==1&&e[0].dataType!==10)throw new Error(\"Input type must be float or float16.\");if(e.length>=2){let t=e[0].dims.length*2===e[1].dims[0];if(e.length===4&&(t=e[3].dims[0]*2===e[1].dims[0]),!t)throw new Error(\"The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].\")}},_c=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${D(\"uniforms.pads\",o,n)};\n if (k < 0) {\n break;\n }\n if (k >= i32(${D(\"uniforms.x_shape\",o,t)})) {\n break;\n }\n offset += k * i32(${D(\"uniforms.x_strides\",o,t)});\n `;return`\n value = ${e.type.value}(uniforms.constant_value);\n for (var i = 0; i < 1; i++) {\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n }\n `},wc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${D(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k = -k;\n }\n {\n let _2n_1 = 2 * (i32(${D(\"uniforms.x_shape\",o,t)}) - 1);\n k = k % _2n_1;\n if(k >= i32(${D(\"uniforms.x_shape\",o,t)})) {\n k = _2n_1 - k;\n }\n }\n offset += k * i32(${D(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},$c=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${D(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k = 0;\n }\n if (k >= i32(${D(\"uniforms.x_shape\",o,t)})) {\n k = i32(${D(\"uniforms.x_shape\",o,t)}) - 1;\n }\n offset += k * i32(${D(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},vc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${D(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k += i32(${D(\"uniforms.x_shape\",o,t)}]);\n }\n if (k >= i32(${D(\"uniforms.x_shape\",o,t)})) {\n k -= i32(${D(\"uniforms.x_shape\",o,t)});\n }\n offset += k * i32(${D(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},xc=(e,t,n)=>{switch(n.mode){case 0:return _c(e,t,n.pads.length);case 1:return wc(e,t,n.pads.length);case 2:return $c(e,t,n.pads.length);case 3:return vc(e,t,n.pads.length);default:throw new Error(\"Invalid mode\")}},Sc=(e,t)=>{let n=x.padShape(e[0].dims.slice(),t.pads),r=e[0].dims,o=x.size(n),i=[{type:12,data:o},{type:6,data:t.pads}],s=e.length>=3&&e[2].data;t.mode===0&&i.push({type:s?e[2].dataType:1,data:t.value}),i.push(...P(e[0].dims,n));let a=[\"rank\"],u=d=>{let l=C(\"output\",e[0].dataType,n.length),c=S(\"x\",e[0].dataType,r.length),p=c.type.value,f=xc(l,r.length,t),m=[{name:\"output_size\",type:\"u32\"},{name:\"pads\",type:\"i32\",length:t.pads.length}];return t.mode===0&&m.push({name:\"constant_value\",type:s?p:\"f32\"}),`\n ${d.registerUniforms(m).declareVariables(c,l)}\n ${d.mainStart()}\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${l.offsetToIndices(\"global_idx\")};\n\n var value = ${p}(0);\n ${f}\n output[global_idx] = value;\n }`};return{name:\"Pad\",shaderCache:{hint:`${t.mode}${s}`,inputDependencies:a},getRunData:()=>({outputs:[{dims:n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(x.size(n)/64)},programUniforms:i}),getShaderSource:u}},Tc=(e,t)=>{if(e.length>1){let n=e[1].getBigInt64Array(),r=e.length>=3&&e[2].data?e[2].dataType===10?e[2].getUint16Array()[0]:e[2].getFloat32Array()[0]:0,o=e[0].dims.length,i=new Int32Array(2*o).fill(0);if(e.length>=4){let a=e[3].getBigInt64Array();for(let u=0;u<a.length;u++)i[Number(a[u])]=Number(n[u]),i[Number(a[u])+o]=Number(n[u+a.length])}else n.forEach((a,u)=>i[Number(u)]=Number(a));let s=[];return i.forEach(a=>s.push(a)),{mode:t.mode,value:r,pads:s}}else return t},Ca=(e,t)=>{bc(e.inputs);let n=Tc(e.inputs,t);e.compute(Sc(e.inputs,n),{inputs:[0]})}});var mn,Ea,ka,Pa,za,Ic,Cc,Ba,Da,Oa,Ma,Ua,Ra,Va,Na,La,Wa,Ga,Ha,Fa=k(()=>{\"use strict\";we();N();H();q();mn=e=>{if(te.webgpu.validateInputContent&&(!e||e.length!==1))throw new Error(\"Pool ops requires 1 input.\")},Ea=(e,t,n)=>{let r=t.format===\"NHWC\",o=e.dims.slice();r&&o.splice(1,0,o.pop());let i=Object.hasOwnProperty.call(t,\"dilations\"),s=t.kernelShape.slice(),a=t.strides.slice(),u=i?t.dilations.slice():[],d=t.pads.slice();Ye.adjustPoolAttributes(n,o,s,a,u,d);let l=Ye.computePoolOutputShape(n,o,a,u,s,d,t.autoPad),c=Object.assign({},t);i?Object.assign(c,{kernelShape:s,strides:a,pads:d,dilations:u,cacheKey:t.cacheKey}):Object.assign(c,{kernelShape:s,strides:a,pads:d,cacheKey:t.cacheKey});let p=l.slice();return p.push(p.splice(1,1)[0]),[c,r?p:l]},ka=(e,t)=>{let n=t.format===\"NHWC\",r=x.size(e),o=x.size(t.kernelShape),i=[{type:12,data:r},{type:12,data:o}],s=[{name:\"outputSize\",type:\"u32\"},{name:\"kernelSize\",type:\"u32\"}];if(t.kernelShape.length<=2){let a=t.kernelShape[t.kernelShape.length-1],u=t.strides[t.strides.length-1],d=t.pads[t.pads.length/2-1],l=t.pads[t.pads.length-1],c=!!(d+l);i.push({type:12,data:a},{type:12,data:u},{type:12,data:d},{type:12,data:l}),s.push({name:\"kw\",type:\"u32\"},{name:\"sw\",type:\"u32\"},{name:\"pwStart\",type:\"u32\"},{name:\"pwEnd\",type:\"u32\"});let p=!1;if(t.kernelShape.length===2){let f=t.kernelShape[t.kernelShape.length-2],m=t.strides[t.strides.length-2],h=t.pads[t.pads.length/2-2],_=t.pads[t.pads.length-2];p=!!(h+_),i.push({type:12,data:f},{type:12,data:m},{type:12,data:h},{type:12,data:_}),s.push({name:\"kh\",type:\"u32\"},{name:\"sh\",type:\"u32\"},{name:\"phStart\",type:\"u32\"},{name:\"phEnd\",type:\"u32\"})}return[i,s,!0,c,p]}else{if(n)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let a=x.computeStrides(t.kernelShape);i.push({type:12,data:a},{type:12,data:t.pads},{type:12,data:t.strides}),s.push({name:\"kernelStrides\",type:\"u32\",length:a.length},{name:\"pads\",type:\"u32\",length:t.pads.length},{name:\"strides\",type:\"u32\",length:t.strides.length});let u=t.pads.reduce((d,l)=>d+l);return[i,s,!!u,!1,!1]}},Pa=(e,t,n,r,o,i,s,a,u,d,l,c)=>{let p=o.format===\"NHWC\",f=t.type.value,m=C(\"output\",t.type.tensor,r);if(o.kernelShape.length<=2){let h=\"\",_=\"\",y=\"\",g=n-(p?2:1);if(l?h=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;\n if (xIndices[${g}] < 0 || xIndices[${g}]\n >= uniforms.x_shape[${g}]) {\n pad++;\n continue;\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`:h=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`,o.kernelShape.length===2){let w=n-(p?3:2);c?_=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${w}] = indices[${w}] * uniforms.sh - uniforms.phStart + j;\n if (xIndices[${w}] < 0 || xIndices[${w}] >= uniforms.x_shape[${w}]) {\n pad += i32(uniforms.kw);\n continue;\n }\n `:_=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${w}] = indices[${w}] * uniforms.sh - uniforms.phStart + j;\n `,y=`\n }\n `}return`\n ${e.registerUniforms(u).declareVariables(t,m)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let indices = ${m.offsetToIndices(\"global_idx\")};\n var xIndices = ${m.offsetToIndices(\"global_idx\")};\n\n var value = ${f}(${a});\n var pad = 0;\n ${_}\n ${h}\n ${y}\n ${s}\n\n output[global_idx] = value;\n }`}else{if(p)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let h=o.kernelShape.length,_=o.pads.length,y=\"\";return d?y=`\n if (xIndices[j] >= uniforms.x_shape[j]) {\n pad++;\n isPad = true;\n break;\n }\n }\n if (!isPad) {\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`:y=`\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n `,`\n ${e.registerUniforms(u).declareVariables(t,m)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let indices = ${m.offsetToIndices(\"global_idx\")};\n var xIndices = ${m.offsetToIndices(\"global_idx\")};\n\n var offsets: array<u32, ${h}>;\n\n var value = ${f}(${a});\n var pad = 0;\n var isPad = false;\n\n for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {\n var offset = i;\n for (var j = 0u; j < ${h-1}u; j++) {\n offsets[j] = offset / ${D(\"uniforms.kernelStrides\",\"j\",h)};\n offset -= offsets[j] * ${D(\"uniforms.kernelStrides\",\"j\",h)};\n }\n offsets[${h-1}] = offset;\n\n isPad = false;\n for (var j = ${n-h}u; j < ${n}u; j++) {\n xIndices[j] = indices[j] * ${D(\"uniforms.strides\",`j - ${n-h}u`,h)}\n + offsets[j - ${n-h}u] - ${D(\"uniforms.pads\",\"j - 2u\",_)};\n ${y}\n }\n ${s}\n\n output[global_idx] = value;\n }`}},za=e=>`${e.format};${e.ceilMode};${e.autoPad};${e.kernelShape.length}`,Ic=e=>`${za(e)};${e.countIncludePad}`,Cc=e=>`${za(e)};${e.storageOrder};${e.dilations}`,Ba=e=>({format:e.format,autoPad:[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],ceilMode:e.ceil_mode,kernelShape:e.kernel_shape,strides:e.strides,pads:e.pads}),Da=(e,t,n,r)=>{let[o,i]=Ea(t,r,n),s=S(\"x\",t.dataType,t.dims.length),a=s.type.value,u=\"value += x_val;\",d=\"\";o.countIncludePad?d+=`value /= ${a}(uniforms.kernelSize);`:d+=`value /= ${a}(i32(uniforms.kernelSize) - pad);`;let[l,c,p,f,m]=ka(i,o);l.push(...P(t.dims,i));let h=[\"rank\"];return{name:e,shaderCache:{hint:`${r.cacheKey};${p};${f};${m}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:i,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(x.size(i)/64)},programUniforms:l}),getShaderSource:_=>Pa(_,s,t.dims.length,i.length,o,u,d,0,c,p,f,m)}},Oa=e=>{let t=e.count_include_pad!==0,n=Ba(e);if(n.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for AveragePool\");let r={countIncludePad:t,...n,cacheKey:\"\"};return{...r,cacheKey:Ic(r)}},Ma=(e,t)=>{mn(e.inputs),e.compute(Da(\"AveragePool\",e.inputs[0],!1,t))},Ua={autoPad:\"\",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},Ra=e=>{let t=e.format;return{format:t,...Ua,cacheKey:t}},Va=(e,t)=>{mn(e.inputs),e.compute(Da(\"GlobalAveragePool\",e.inputs[0],!0,t))},Na=(e,t,n,r)=>{let[o,i]=Ea(t,r,n),s=`\n value = max(x_val, value);\n `,a=\"\",u=S(\"x\",t.dataType,t.dims.length),d=[\"rank\"],[l,c,p,f,m]=ka(i,o);return l.push(...P(t.dims,i)),{name:e,shaderCache:{hint:`${r.cacheKey};${p};${f};${m}`,inputDependencies:d},getRunData:()=>({outputs:[{dims:i,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(x.size(i)/64)},programUniforms:l}),getShaderSource:h=>Pa(h,u,t.dims.length,i.length,o,s,a,t.dataType===10?-65504:-1e5,c,p,f,m)}},La=(e,t)=>{mn(e.inputs),e.compute(Na(\"MaxPool\",e.inputs[0],!1,t))},Wa=e=>{let t=e.storage_order,n=e.dilations,r=Ba(e);if(t!==0)throw new Error(\"column major storage order is not yet supported for MaxPool\");if(r.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for MaxPool\");let o={storageOrder:t,dilations:n,...r,cacheKey:\"\"};return{...o,cacheKey:Cc(o)}},Ga=e=>{let t=e.format;return{format:t,...Ua,cacheKey:t}},Ha=(e,t)=>{mn(e.inputs),e.compute(Na(\"GlobalMaxPool\",e.inputs[0],!0,t))}});var Ec,kc,qa,Ka,ja=k(()=>{\"use strict\";N();H();ue();q();Ec=(e,t)=>{if(e.length<2||e.length>3)throw new Error(\"DequantizeLinear requires 2 or 3 inputs.\");if(e.length===3&&e[1].dims===e[2].dims)throw new Error(\"x-scale and x-zero-point must have the same shape.\");if(e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"x and x-zero-point must have the same data type.\");if(e[1].dims.length!==0&&e[1].dims.length!==1&&e[1].dims.length!==e[0].dims.length)throw new Error(\"scale input must be a scalar, a 1D tensor, or have the same rank as the input tensor.\");if(e.length>2){if(e[0].dataType!==e[2].dataType)throw new Error(\"x and x-zero-point must have the same data type.\");if(e[1].dims.length!==e[2].dims.length)throw new Error(\"scale and zero-point inputs must have the same rank.\");if(!e[1].dims.map((n,r)=>n===e[2].dims[r]).reduce((n,r)=>n&&r,!0))throw new Error(\"scale and zero-point inputs must have the same shape.\")}if(t.blockSize>0){if(e[1].dims.length===0||e[1].dims.length===1&&e[1].dims[0]===1)throw new Error(\"blockSize must be set only for block quantization.\");if(!e[1].dims.map((o,i)=>i===t.axis||o===e[0].dims[i]).reduce((o,i)=>o&&i,!0))throw new Error(\"For block qunatization, scale input shape to match the input shape except for the axis\");if(e[1].dims.length!==e[0].dims.length)throw new Error(\"For block qunatization the scale input rank must be the same as the x rank.\");let n=e[0].dims[t.axis],r=e[1].dims[t.axis];if(t.blockSize<Math.ceil(n/r)||t.blockSize>Math.ceil(n/(r-1)-1))throw new Error(\"blockSize must be with in the range [ceil(dI / Si), ceil(dI / (Si - 1) - 1)].\")}},kc=(e,t)=>{let n=x.normalizeAxis(t.axis,e[0].dims.length),r=e[0].dataType,o=r===3,i=e[0].dims,s=e[1].dataType,a=x.size(i),u=r===3||r===2,d=u?[Math.ceil(x.size(e[0].dims)/4)]:e[0].dims,l=e[1].dims,c=e.length>2?e[2]:void 0,p=c?u?[Math.ceil(x.size(c.dims)/4)]:c.dims:void 0,f=l.length===0||l.length===1&&l[0]===1,m=f===!1&&l.length===1,h=J(a),_=f&&(!u||h===4),y=_?h:1,g=_&&!u?h:1,b=S(\"input\",u?12:r,d.length,g),w=S(\"scale\",s,l.length),v=c?S(\"zero_point\",u?12:r,p.length):void 0,$=C(\"output\",s,i.length,y),T=[b,w];v&&T.push(v);let I=[d,l];c&&I.push(p);let E=[{type:12,data:a/y},{type:12,data:n},{type:12,data:t.blockSize},...P(...I,i)],z=M=>{let O=[{name:\"output_size\",type:\"u32\"},{name:\"axis\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}];return`\n ${M.registerUniforms(O).declareVariables(...T,$)}\n ${M.mainStart()}\n ${M.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let output_indices = ${$.offsetToIndices(\"global_idx\")};\n\n // Set input x\n ${u?`\n let input = ${b.getByOffset(\"global_idx / 4\")};\n let x_vec = ${o?\"unpack4xI8(input)\":\"unpack4xU8(input)\"};\n let x_value = ${y===1?\"x_vec[global_idx % 4]\":\"x_vec\"};`:`let x_value = ${b.getByOffset(\"global_idx\")};`};\n\n // Set scale input\n ${f?`let scale_value= ${w.getByOffset(\"0\")}`:m?`\n let scale_index = ${$.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let scale_value= ${w.getByOffset(\"scale_index\")};`:`\n var scale_indices: ${w.type.indices} = output_indices;\n let index = ${w.indicesGet(\"scale_indices\",\"uniforms.axis\")} / uniforms.block_size;\n ${w.indicesSet(\"scale_indices\",\"uniforms.axis\",\"index\")};\n let scale_value= ${w.getByIndices(\"scale_indices\")};`};\n\n // Set zero-point input\n ${v?f?u?`\n let zero_point_input = ${v.getByOffset(\"0\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value= zero_point_vec[0]`:`let zero_point_value = ${v.getByOffset(\"0\")}`:m?u?`\n let zero_point_index = ${$.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let zero_point_input = ${v.getByOffset(\"zero_point_index / 4\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value = zero_point_vec[zero_point_index % 4]`:`\n let zero_point_index = ${$.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let zero_point_value = ${v.getByOffset(\"zero_point_index\")};`:u?`\n let zero_point_offset = ${w.indicesToOffset(\"scale_indices\")};\n let zero_point_input = ${v.getByOffset(\"zero_point_offset / 4\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value = zero_point_vec[zero_point_offset % 4];`:`let zero_point_value = ${v.getByIndices(\"scale_indices\")};`:`let zero_point_value = ${u?o?\"i32\":\"u32\":b.type.value}(0);`};\n // Compute and write output\n ${$.setByOffset(\"global_idx\",`${$.type.value}(x_value - zero_point_value) * scale_value`)};\n }`};return{name:\"DequantizeLinear\",shaderCache:{hint:t.cacheKey,inputDependencies:v?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getShaderSource:z,getRunData:()=>({outputs:[{dims:i,dataType:s}],dispatchGroup:{x:Math.ceil(a/y/64),y:1,z:1},programUniforms:E})}},qa=(e,t)=>{Ec(e.inputs,t),e.compute(kc(e.inputs,t))},Ka=e=>L({axis:e.axis,blockSize:e.blockSize})});var Pc,zc,Za,Qa=k(()=>{\"use strict\";we();N();q();Pc=(e,t,n)=>{let r=e===t,o=e<t&&n<0,i=e>t&&n>0;if(r||o||i)throw new Error(\"Range these inputs' contents are invalid.\")},zc=(e,t,n,r)=>{let o=Math.abs(Math.ceil((t-e)/n)),i=[o],s=o,a=[{type:12,data:s},{type:r,data:e},{type:r,data:n},...P(i)],u=d=>{let l=C(\"output\",r,i.length),c=l.type.value,p=[{name:\"outputSize\",type:\"u32\"},{name:\"start\",type:c},{name:\"delta\",type:c}];return`\n ${d.registerUniforms(p).declareVariables(l)}\n ${d.mainStart()}\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n output[global_idx] = uniforms.start + ${c}(global_idx) * uniforms.delta;\n }`};return{name:\"Range\",shaderCache:{hint:`${r}`},getShaderSource:u,getRunData:()=>({outputs:[{dims:i,dataType:r}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:a})}},Za=e=>{let t=0,n=0,r=0;e.inputs[0].dataType===6?(t=e.inputs[0].getInt32Array()[0],n=e.inputs[1].getInt32Array()[0],r=e.inputs[2].getInt32Array()[0]):e.inputs[0].dataType===1&&(t=e.inputs[0].getFloat32Array()[0],n=e.inputs[1].getFloat32Array()[0],r=e.inputs[2].getFloat32Array()[0]),te.webgpu.validateInputContent&&Pc(t,n,r),e.compute(zc(t,n,r,e.inputs[0].dataType),{inputs:[]})}});var Bc,Dc,Xa,Ya,Ja=k(()=>{\"use strict\";N();H();ue();q();Bc=(e,t,n,r)=>{if(e!==\"none\"&&r!==\"i32\"&&r!==\"u32\"&&r!==\"f32\")throw new Error(`Input ${r} is not supported with reduction ${e}.`);let o=`{\n var oldValue = 0;\n loop {\n let newValueF32 =`,i=`;\n let newValue = bitcast<i32>(newValueF32);\n let res = atomicCompareExchangeWeak(&${t}, oldValue, newValue);\n if res.exchanged {\n break;\n }\n oldValue = res.old_value;\n }\n }`;switch(e){case\"none\":return`${t}=${n};`;case\"add\":return r===\"i32\"||r===\"u32\"?`atomicAdd(&${t}, bitcast<${r}>(${n}));`:`\n ${o}bitcast<${r}>(oldValue) + (${n})${i}`;case\"max\":return r===\"i32\"||r===\"u32\"?`atomicMax(&${t}, bitcast<${r}>(${n}));`:`\n ${o}max(bitcast<f32>(oldValue), (${n}))${i}`;case\"min\":return r===\"i32\"||r===\"u32\"?`atomicMin(&${t}, bitcast<${r}>(${n}));`:`${o}min(bitcast<${r}>(oldValue), (${n}))${i}`;case\"mul\":return`${o}(bitcast<${r}>(oldValue) * (${n}))${i}`;default:throw new Error(`Reduction ${e} is not supported.`)}},Dc=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n,i=1,s=Math.ceil(x.sizeToDimension(r,r.length-1)/i),a=r[r.length-1],u=x.sizeFromDimension(n,a),d=[{type:12,data:s},{type:12,data:a},{type:12,data:u},...P(e[1].dims,e[2].dims,o)],l=c=>{let p=S(\"indices\",e[1].dataType,e[1].dims.length),f=S(\"updates\",e[2].dataType,e[2].dims.length,i),m=t.reduction!==\"none\"&&t.reduction!==\"\"?To(\"output\",e[0].dataType,o.length):C(\"output\",e[0].dataType,o.length,i);return`\n ${c.registerUniform(\"output_size\",\"u32\").registerUniform(\"last_index_dimension\",\"u32\").registerUniform(\"num_updates_elements\",\"u32\").declareVariables(p,f,m)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var data_offset = 0u;\n let indices_start = uniforms.last_index_dimension * global_idx;\n let indices_end = indices_start + uniforms.last_index_dimension;\n for (var i = indices_start; i < indices_end; i++) {\n var index = i32(indices[i].x);\n ${e[0].dims.length===1?`\n let element_count_dim = uniforms.output_strides;\n let dim_value = uniforms.output_shape;`:`\n let element_count_dim = uniforms.output_strides[i - indices_start];\n let dim_value = uniforms.output_shape[i - indices_start];`}\n if (index >= 0) {\n if (index >= i32(dim_value)) {\n index = i32(dim_value - 1);\n }\n } else {\n if (index < -i32(dim_value)) {\n index = 0;\n } else {\n index += i32(dim_value);\n }\n }\n data_offset += u32((u32(index) * element_count_dim));\n }\n\n for (var i = 0u; i < uniforms.num_updates_elements; i++) {\n let value = updates[uniforms.num_updates_elements * global_idx + i];\n ${Bc(t.reduction,\"output[data_offset + i]\",\"value\",m.type.value)}\n }\n\n }`};return{name:\"ScatterND\",shaderCache:{hint:`${t.cacheKey}_${t.reduction}`,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:d}),getShaderSource:l}},Xa=e=>L({reduction:e.reduction}),Ya=(e,t)=>{e.compute(Dc(e.inputs,t),{inputs:[e.inputs[1],e.inputs[2]],outputs:[]})}});var Oc,Mc,Uc,eu,Rc,Vc,Nc,Lc,Wc,Gc,Hc,Fc,tu,qc,Kc,jc,Zc,Qc,nu,ru,ou=k(()=>{\"use strict\";N();H();ue();q();Oc=(e,t)=>{if(e.every(n=>n>0||(()=>{throw new Error(\"Resize requires scales input values to be positive\")})),e.length>0){if(t.mode===\"linear\"){if(!(e.length===2||e.length===3||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1||e.length===5&&e[0]===1&&e[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and\n one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(t.mode===\"cubic\"&&!(e.length===2||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1))throw new Error(\"Resize requires scales input size to be 2 or 4 for cubic mode\")}},Mc=(e,t,n)=>{t.every(o=>o>=0&&o<n||(()=>{throw new Error(\"Resize requires axes input values to be positive and less than rank\")}));let r=new Array(n).fill(1);return t.forEach((o,i)=>r[o]=e[i]),r},Uc=(e,t,n,r,o,i)=>{let[s,a,u]=n>10?[1,2,3]:[-1,e.length>1?1:-1,-1],d=e[0].dims.length;if(s>0&&e.length>s&&e[s].dims.length>0)e[s].getFloat32Array().forEach(l=>i.push(l));else if(t.coordinateTransformMode===\"tf_crop_and_resize\")throw new Error(\"Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize\");if(a>0&&e.length>a&&e[a].dims.length===1&&e[a].dims[0]>0){if(e[a].getFloat32Array().forEach(l=>r.push(l)),r.length!==0&&r.length!==d&&n>=18&&r.length!==t.axes.length)throw new Error(\"Resize requires scales input size to be same as input rank or axes size for opset 18 and up\");Oc(r,t),t.axes.length>0&&Mc(r,t.axes,d).forEach((l,c)=>r[c]=l)}if(u>0&&e.length>u&&e[u].dims.length===1&&e[u].dims[0]>0&&(e[u].getBigInt64Array().forEach(l=>o.push(Number(l))),o.length!==0&&o.length!==d&&n>=18&&o.length!==t.axes.length))throw new Error(\"Resize requires sizes input size to be same as input rank or axes size for opset 18 and up\");if(t.axes.length>0){if(r.length!==0&&r.length!==t.axes.length)throw new Error('Resize requires \"scales\" input size to be of axes rank when axes attributes is specified');if(o.length!==0&&o.length!==t.axes.length)throw new Error('Resize requires \"sizes\" input size to be of rank axes rank when axes attributes is specified')}if(typeof r<\"u\"&&typeof o<\"u\"&&r.length>0&&o.length>d)throw new Error(\"Resize requires only of scales or sizes to be specified\")},eu=(e,t,n,r)=>`\n // The whole part and the fractional part are calculated separately due to inaccuracy of floating\n // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an\n // offset-by-one error later in floor().\n let big = (${e}) * (${t});\n let whole = ${r}(big / (${n}));\n let fract = ${r}(big % (${n})) / ${r}(${n});\n return whole + fract;\n`,Rc=(e,t)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,\n lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${t} { `+(()=>{switch(e){case\"asymmetric\":return`\n if (xScale < 1.0 || floor(xScale) != xScale) {\n return ${t}(xResized) / ${t}(xScale);\n } else {\n ${eu(\"xResized\",\"lengthOriginal\",\"lengthResized\",t)}\n }\n `;case\"pytorch_half_pixel\":return`if (lengthResized > 1) {\n return (${t}(xResized) + 0.5) / ${t}(xScale) - 0.5;\n } else {\n return 0.0;\n }`;case\"tf_half_pixel_for_nn\":return`return (${t}(xResized) + 0.5) / ${t}(xScale);`;case\"align_corners\":return`if (lengthResized == 1) {\n return 0.0;\n } else {\n ${eu(\"xResized\",\"lengthOriginal - 1\",\"lengthResized - 1\",t)}\n }`;case\"tf_crop_and_resize\":return`if (lengthResized > 1) {\n return ${t}(roiStart) * ${t}(lengthOriginal - 1) +\n (${t}(xResized) * ${t}(roiEnd - roiStart) * ${t}(lengthOriginal - 1)) /\n ${t}(lengthResized - 1);\n } else {\n return 0.5 * ${t}(roiStart + roiEnd) * ${t}(lengthOriginal - 1);\n }`;case\"half_pixel_symmetric\":return`const outputWidth = ${t}xScale * ${t}(lengthResized);\n const adjustment = ${t}(lengthResized) / outputWidth;\n const center = ${t}(lengthOriginal) / 2;\n const offset = center * (1 - adjustment);\n return offset + ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;case\"half_pixel\":return`return ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${e} is not supported`)}})()+\"}\",Vc=(e,t,n)=>`fn getNearestPixelFromOriginal(xOriginal: ${n}, isDownSample: bool) -> ${n} {`+(()=>{switch(e){case\"round_prefer_ceil\":return\"if (fract(xOriginal) == 0.5) { return ceil(xOriginal); } else { return round(xOriginal); }\";case\"floor\":return\"return floor(xOriginal);\";case\"ceil\":return\"return ceil(xOriginal);\";case\"round_prefer_floor\":return\"if (fract(xOriginal) == 0.5) { return floor(xOriginal); } else { return round(xOriginal); }\";case\"simple\":default:if(t<11)return\"if (isDownSample) { return ceil(xOriginal); } else { return xOriginal; }\";throw new Error(`Nearest mode ${e} is not supported`)}})()+\"}\",Nc=(e,t,n)=>{let r=new Array(n).fill(0).concat(new Array(n).fill(1)),o=e.length===0?r:e.slice();return t.length>0?(t.forEach((i,s)=>{r[i]=o[s],r[s+n]=o[t.length+s]}),r):o},Lc=(e,t,n,r)=>{let o=[];if(n.length>0)if(r.length>0){if(e.forEach(i=>o.push(i)),Math.max(...r)>e.length)throw new Error(\"axes is out of bound\");r.forEach((i,s)=>o[i]=n[s])}else n.forEach(i=>o.push(i));else{if(t.length===0)throw new Error(\"Resize requires either scales or sizes.\");o=e.map((i,s)=>Math.round(i*t[s]))}return o},Wc=(e,t,n)=>{let r=(()=>{switch(n.keepAspectRatioPolicy){case\"not_larger\":return n.axes.length>0?Math.min(...n.axes.map(i=>t[i]),Number.MAX_VALUE):Math.min(...t,Number.MAX_VALUE);case\"not_smaller\":return n.axes.length>0?Math.max(...n.axes.map(i=>t[i]),Number.MIN_VALUE):Math.max(...t,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${n.keepAspectRatioPolicy} is not supported`)}})();t.fill(1,0,t.length);let o=e.slice();return n.axes.length>0?(n.axes.forEach(i=>t[i]=r),n.axes.forEach(i=>o[i]=Math.round(e[i]*t[i]))):(t.fill(r,0,t.length),o.forEach((i,s)=>o[s]=Math.round(i*t[s]))),o},Gc=(e,t,n,r,o)=>`\n fn calculateOriginalIndicesFromOutputIndices(output_indices: ${e.type.indices}) -> array<${e.type.value}, ${n.length}> {\n var original_indices: array<${e.type.value}, ${n.length}>;\n for (var i:u32 = 0; i < ${n.length}; i++) {\n var output_index = ${e.indicesGet(\"output_indices\",\"i\")};\n var scale = ${D(\"uniforms.scales\",\"i\",r)};\n var roi_low = ${D(\"uniforms.roi\",\"i\",o)};\n var roi_hi = ${D(\"uniforms.roi\",`i + ${t.length}`,o)};\n if (scale == 1.0) {\n original_indices[i] = ${e.type.value}(output_index);\n } else {\n var input_shape_i = ${D(\"uniforms.input_shape\",\"i\",t.length)};\n var output_shape_i = ${D(\"uniforms.output_shape\",\"i\",n.length)};\n original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n }\n }\n return original_indices;\n }`,Hc=(e,t,n,r,o,i,s)=>`\n fn calculateInputIndicesFromOutputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n for (var i:u32 = 0; i < ${r.length}; i++) {\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index: u32;\n var scale = ${D(\"uniforms.scales\",\"i\",o)};\n if (scale == 1.0) {\n input_index = output_index;\n } else {\n var roi_low = ${D(\"uniforms.roi\",\"i\",i)};\n var roi_hi = ${D(\"uniforms.roi\",`i + ${n.length}`,i)};\n var input_shape_i = ${D(\"uniforms.input_shape\",\"i\",n.length)};\n var output_shape_i = ${D(\"uniforms.output_shape\",\"i\",r.length)};\n var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n if (!${s} || (original_idx >= 0 && original_idx < ${t.type.value}(input_shape_i))) {\n if (original_idx < 0) {\n input_index = 0;\n } else if (original_idx > ${t.type.value}(input_shape_i - 1)) {\n input_index = input_shape_i - 1;\n } else {\n input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));\n }\n } else {\n input_index = u32(original_idx);\n }\n }\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")}\n }\n return input_indices;\n }`,Fc=(e,t)=>`\n fn checkInputIndices(input_indices: ${e.type.indices}) -> bool {\n for (var i:u32 = 0; i < ${t.length}; i++) {\n var input_index = ${e.indicesGet(\"input_indices\",\"i\")};\n if (input_index < 0 || input_index >= ${D(\"uniforms.input_shape\",\"i\",t.length)}) {\n return false;\n }\n }\n return true;\n }`,tu=(e,t,n,r)=>e.rank>r?`\n ${e.indicesSet(\"input_indices\",t,\"channel\")};\n ${e.indicesSet(\"input_indices\",n,\"batch\")};\n`:\"\",qc=(e,t,n,r,o)=>{let[s,a,u,d]=n.length===2?[-1,0,1,-1]:[0,2,3,1],l=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${l} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",a,`max(0, min(row, ${n[a]} - 1))`)};\n ${e.indicesSet(\"input_indices\",u,`max(0, min(col, ${n[u]} - 1))`)};\n ${tu(e,d,s,2)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn bilinearInterpolation(output_indices: ${t.type.indices}) -> ${l} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var row:${l} = originalIndices[${a}];\n var col:${l} = originalIndices[${u}];\n ${r?`if (row < 0 || row > (${n[a]} - 1) || col < 0 || col > (${n[u]} - 1)) {\n return ${o};\n }`:\"\"};\n row = max(0, min(row, ${n[a]} - 1));\n col = max(0, min(col, ${n[u]} - 1));\n var row1: u32 = u32(row);\n var col1: u32 = u32(col);\n var row2: u32 = u32(row + 1);\n var col2: u32 = u32(col + 1);\n var channel: u32 = ${n.length>2?`u32(originalIndices[${d}])`:\"0\"};\n var batch: u32 = ${n.length>2?`u32(originalIndices[${s}])`:\"0\"};\n var x11: ${l} = getInputValue(batch, channel, row1, col1);\n var x12: ${l} = getInputValue(batch, channel, row1, col2);\n var x21: ${l} = getInputValue(batch, channel, row2, col1);\n var x22: ${l} = getInputValue(batch, channel, row2, col2);\n var dx1: ${l} = abs(row - ${l}(row1));\n var dx2: ${l} = abs(${l}(row2) - row);\n var dy1: ${l} = abs(col - ${l}(col1));\n var dy2: ${l} = abs(${l}(col2) - col);\n if (row1 == row2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (col1 == col2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);\n }`},Kc=(e,t,n,r,o,i,s,a,u,d)=>{let l=n.length===2,c=!0,[p,f]=l?[0,1]:c?[2,3]:[1,2],m=e.type.value,h=_=>{let y=_===p?\"row\":\"col\";return`\n fn ${y}CubicInterpolation(input_indices: ${e.type.indices}, output_indices: ${t.type.indices}) -> ${m} {\n var output_index = ${t.indicesGet(\"output_indices\",_)};\n var originalIdx: ${m} = getOriginalCoordinateFromResizedCoordinate(output_index, ${o[_]},\n ${r[_]}, ${n[_]}, ${i[_]}, ${i[_]} + ${n.length});\n var fractOriginalIdx: ${m} = originalIdx - floor(originalIdx);\n var coefs = getCubicInterpolationCoefs(fractOriginalIdx);\n\n if (${a} && (originalIdx < 0 || originalIdx > (${n[_]} - 1))) {\n return ${u};\n }\n var data: array<${m}, 4> = array<${m}, 4>(0.0, 0.0, 0.0, 0.0);\n for (var i: i32 = -1; i < 3; i++) {\n var ${y}: ${m} = originalIdx + ${m}(i);\n if (${y} < 0 || ${y} >= ${n[_]}) {\n ${d?`coefs[i + 1] = 0.0;\n continue;`:a?`return ${u};`:`${y} = max(0, min(${y}, ${n[_]} - 1));`};\n }\n var input_indices_copy: ${e.type.indices} = input_indices;\n ${e.indicesSet(\"input_indices_copy\",_,`u32(${y})`)};\n data[i + 1] = ${_===p?e.getByIndices(\"input_indices_copy\"):\"rowCubicInterpolation(input_indices_copy, output_indices)\"};\n }\n return cubicInterpolation1D(data, coefs);\n }`};return`\n ${h(p)};\n ${h(f)};\n fn getCubicInterpolationCoefs(s: ${m}) -> array<${m}, 4> {\n var absS = abs(s);\n var coeffs: array<${m}, 4> = array<${m}, 4>(0.0, 0.0, 0.0, 0.0);\n var oneMinusAbsS: ${m} = 1.0 - absS;\n var twoMinusAbsS: ${m} = 2.0 - absS;\n var onePlusAbsS: ${m} = 1.0 + absS;\n coeffs[0] = ((${s} * onePlusAbsS - 5 * ${s}) * onePlusAbsS + 8 * ${s}) * onePlusAbsS - 4 * ${s};\n coeffs[1] = ((${s} + 2) * absS - (${s} + 3)) * absS * absS + 1;\n coeffs[2] = ((${s} + 2) * oneMinusAbsS - (${s} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;\n coeffs[3] = ((${s} * twoMinusAbsS - 5 * ${s}) * twoMinusAbsS + 8 * ${s}) * twoMinusAbsS - 4 * ${s};\n return coeffs;\n }\n\n fn cubicInterpolation1D(x: array<${m}, 4>, coefs: array<${m}, 4>) -> ${m} {\n var coefsSum: ${m} = coefs[0] + coefs[1] + coefs[2] + coefs[3];\n return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;\n }\n\n fn bicubicInterpolation(output_indices: ${t.type.indices}) -> ${m} {\n var input_indices: ${e.type.indices} = output_indices;\n return colCubicInterpolation(input_indices, output_indices);\n }\n `},jc=(e,t,n,r,o)=>{let[s,a,u,d,l]=n.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],c=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${c} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",a,`max(0, min(depth, ${n[a]} - 1))`)};\n ${e.indicesSet(\"input_indices\",u,`max(0, min(height, ${n[u]} - 1))`)};\n ${e.indicesSet(\"input_indices\",d,`max(0, min(width, ${n[d]} - 1))`)};\n ${tu(e,l,s,3)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn trilinearInterpolation(output_indices: ${t.type.indices}) -> ${c} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var depth:${c} = originalIndices[${a}];\n var height:${c} = originalIndices[${u}];\n var width:${c} = originalIndices[${d}];\n ${r?`if (depth < 0 || depth > (${n[a]} - 1) || height < 0 || height > (${n[u]} - 1) || width < 0 || (width > ${n[d]} - 1)) {\n return ${o};\n }`:\"\"};\n\n depth = max(0, min(depth, ${n[a]} - 1));\n height = max(0, min(height, ${n[u]} - 1));\n width = max(0, min(width, ${n[d]} - 1));\n var depth1: u32 = u32(depth);\n var height1: u32 = u32(height);\n var width1: u32 = u32(width);\n var depth2: u32 = u32(depth + 1);\n var height2: u32 = u32(height + 1);\n var width2: u32 = u32(width + 1);\n var channel: u32 = ${n.length>3?`u32(originalIndices[${l}])`:\"0\"};\n var batch: u32 = ${n.length>3?`u32(originalIndices[${s}])`:\"0\"};\n\n var x111: ${c} = getInputValue(batch, channel, depth1, height1, width1);\n var x112: ${c} = getInputValue(batch, channel, depth1, height1, width2);\n var x121: ${c} = getInputValue(batch, channel, depth1, height2, width1);\n var x122: ${c} = getInputValue(batch, channel, depth1, height2, width2);\n var x211: ${c} = getInputValue(batch, channel, depth2, height1, width1);\n var x212: ${c} = getInputValue(batch, channel, depth2, height1, width2);\n var x221: ${c} = getInputValue(batch, channel, depth2, height2, width1);\n var x222: ${c} = getInputValue(batch, channel, depth2, height2, width2);\n var dx1: ${c} = abs(depth - ${c}(depth1));\n var dx2: ${c} = abs(${c}(depth2) - depth);\n var dy1: ${c} = abs(height - ${c}(height1));\n var dy2: ${c} = abs(${c}(height2) - height);\n var dz1: ${c} = abs(width - ${c}(width1));\n var dz2: ${c} = abs(${c}(width2) - width);\n if (depth1 == depth2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (height1 == height2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n if (width1 == width2) {\n dz1 = 0.5;\n dz2 = 0.5;\n }\n return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +\n x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);\n }`},Zc=(e,t,n,r,o,i)=>{let s=e.dims,a=Nc(i,t.axes,s.length),u=Lc(s,r,o,t.axes),d=r.slice();r.length===0&&(d=s.map((g,b)=>g===0?1:u[b]/g),t.keepAspectRatioPolicy!==\"stretch\"&&(u=Wc(s,d,t)));let l=C(\"output\",e.dataType,u.length),c=S(\"input\",e.dataType,s.length),p=x.size(u),f=s.length===u.length&&s.every((g,b)=>g===u[b]),m=t.coordinateTransformMode===\"tf_crop_and_resize\",h=t.extrapolationValue,_=c.type.value,y=g=>`\n ${f?\"\":`\n ${Rc(t.coordinateTransformMode,_)};\n ${(()=>{switch(t.mode){case\"nearest\":return`\n ${Fc(c,s)};\n ${Vc(t.nearestMode,n,_)};\n ${Hc(c,l,s,u,d.length,a.length,m)};\n `;case\"linear\":return`\n ${Gc(l,s,u,d.length,a.length)};\n ${(()=>{if(s.length===2||s.length===4)return`${qc(c,l,s,m,h)}`;if(s.length===3||s.length===5)return`${jc(c,l,s,m,h)}`;throw Error(\"Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.\")})()};\n `;case\"cubic\":return`\n ${(()=>{if(s.length===2||s.length===4)return`${Kc(c,l,s,u,d,a,t.cubicCoeffA,m,t.extrapolationValue,t.excludeOutside)}`;throw Error(\"Cubic mode only supports input dims 2 and 4 are supported in linear mode.\")})()};\n `;default:throw Error(\"Invalid resize mode\")}})()};\n `}\n ${g.registerUniform(\"output_size\",\"u32\").registerUniform(\"scales\",\"f32\",d.length).registerUniform(\"roi\",\"f32\",a.length).declareVariables(c,l)}\n ${g.mainStart()}\n ${g.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n ${f?\"output[global_idx] = input[global_idx];\":`\n let output_indices = ${l.offsetToIndices(\"global_idx\")};\n var input_indices: ${c.type.indices};\n ${(()=>{switch(t.mode){case\"nearest\":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);\n if (checkInputIndices(input_indices)) {\n output[global_idx] = ${c.getByIndices(\"input_indices\")};\n } else {\n output[global_idx] = ${t.extrapolationValue};\n }`;case\"linear\":return`output[global_idx] = ${s.length===2||s.length===4?\"bilinearInterpolation\":\"trilinearInterpolation\"}(output_indices);`;case\"cubic\":return\"output[global_idx] = bicubicInterpolation(output_indices);\";default:throw Error(`Unsupported resize mode: ${t.mode}`)}})()};\n`}\n }`;return{name:\"Resize\",shaderCache:{hint:`${t.cacheKey}|${n}|${d.length>0?t.mode===\"cubic\"?d:d.length:\"\"}|${o.length>0?o:\"\"}|${a.length>0?a:\"\"}|${f}|${t.mode===\"nearest\"?s.length:s}`,inputDependencies:[\"rank\"]},getShaderSource:y,getRunData:()=>({outputs:[{dims:u,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:[{type:12,data:p},{type:1,data:d},{type:1,data:a},...P(s,u)]})}},Qc=e=>{let t=e.customDataBuffer;return new Uint32Array(t,t.byteOffset,1)[0]},nu=(e,t)=>{let n=[],r=[],o=[],i=Qc(e);if(t.antialias!==0)throw Error(\"Only default value (0) for Antialias attribute is supported\");Uc(e.inputs,t,i,n,r,o),e.compute(Zc(e.inputs[0],t,i,n,r,o),{inputs:[0]})},ru=e=>{let t=e.antialias,n=e.axes,r=e.coordinateTransformMode,o=e.cubicCoeffA,i=e.excludeOutside!==0,s=e.extrapolationValue,a=e.keepAspectRatioPolicy,u=e.mode,d=e.nearestMode===\"\"?\"simple\":e.nearestMode;return L({antialias:t,axes:n,coordinateTransformMode:r,cubicCoeffA:o,excludeOutside:i,extrapolationValue:s,keepAspectRatioPolicy:a,mode:u,nearestMode:d})}});var Xc,Yc,iu,su=k(()=>{\"use strict\";N();H();q();Xc=e=>{if(!e||e.length<3)throw new Error(\"layerNorm requires at least 3 inputs.\");let t=e[0],n=e[1],r=e[2];if(t.dataType!==n.dataType||t.dataType!==r.dataType)throw new Error(\"All inputs must have the same data type\");if(t.dims.length!==3&&t.dims.length!==2)throw new Error(\"Input must be 2D or 3D\");if(n.dims.length!==3&&n.dims.length!==2)throw new Error(\"Skip must be 2D or 3D\");let o=t.dims[t.dims.length-1],i=t.dims[t.dims.length-2];if(n.dims[n.dims.length-1]!==o)throw new Error(\"Skip must have the same hidden size as input\");if(n.dims[n.dims.length-2]!==i)throw new Error(\"Skip must have the same sequence length as input\");if(r.dims.length!==1)throw new Error(\"Gamma must be 1D\");if(r.dims[r.dims.length-1]!==o)throw new Error(\"Gamma must have the same hidden size as input\");if(e.length>3){let s=e[3];if(s.dims.length!==1)throw new Error(\"Beta must be 1D\");if(s.dims[s.dims.length-1]!==o)throw new Error(\"Beta must have the same hidden size as input\")}if(e.length>4){let s=e[4];if(s.dims.length!==1)throw new Error(\"Bias must be 1D\");if(s.dims[s.dims.length-1]!==o)throw new Error(\"Bias must have the same hidden size as input\")}},Yc=(e,t,n,r)=>{let o=t.simplified,i=e[0].dims,s=x.size(i),a=i,u=s,d=i.slice(-1)[0],l=r?i.slice(0,-1).concat(1):[],c=!o&&e.length>3,p=e.length>4,f=r&&n>1,m=r&&n>2,h=n>3,_=64,y=J(d),g=[{type:12,data:u},{type:12,data:y},{type:12,data:d},{type:1,data:t.epsilon}],b=v=>{let $=[{name:\"output_size\",type:\"u32\"},{name:\"components\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}],T=[S(\"x\",e[0].dataType,e[0].dims,y),S(\"skip\",e[1].dataType,e[1].dims,y),S(\"gamma\",e[2].dataType,e[2].dims,y)];c&&T.push(S(\"beta\",e[3].dataType,e[3].dims,y)),p&&T.push(S(\"bias\",e[4].dataType,e[4].dims,y)),T.push(C(\"output\",e[0].dataType,a,y)),f&&T.push(C(\"mean_output\",1,l)),m&&T.push(C(\"inv_std_output\",1,l)),h&&T.push(C(\"input_skip_bias_sum\",e[0].dataType,a,y));let I=re(e[0].dataType),E=re(1,y);return`\n\n ${v.registerUniforms($).declareVariables(...T)}\n var<workgroup> sum_shared : array<${E}, ${_}>;\n var<workgroup> sum_squared_shared : array<${E}, ${_}>;\n\n ${v.mainStart([_,1,1])}\n let ix = local_id.x;\n let iy = global_id.x / ${_};\n\n let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;\n var stride = hidden_size_vectorized / ${_};\n let offset = ix * stride + iy * hidden_size_vectorized;\n let offset1d = stride * ix;\n if (ix == ${_-1}) {\n stride = hidden_size_vectorized - stride * ix;\n }\n for (var i: u32 = 0; i < stride; i++) {\n let skip_value = skip[offset + i];\n let bias_value = ${p?\"bias[offset1d + i]\":I+\"(0.0)\"};\n let input_value = x[offset + i];\n let value = input_value + skip_value + bias_value;\n ${h?\"input_skip_bias_sum[offset + i] = value;\":\"\"}\n output[offset + i] = value;\n let f32_value = ${et(I,y,\"value\")};\n sum_shared[ix] += f32_value;\n sum_squared_shared[ix] += f32_value * f32_value;\n }\n workgroupBarrier();\n\n var reduce_size : u32 = ${_};\n for (var curr_size = reduce_size >> 1; curr_size > 0; curr_size = reduce_size >> 1) {\n reduce_size = curr_size + (reduce_size & 1);\n if (ix < curr_size) {\n sum_shared[ix] += sum_shared[ix + reduce_size];\n sum_squared_shared[ix] += sum_squared_shared[ix + reduce_size];\n }\n workgroupBarrier();\n }\n\n let sum = sum_shared[0];\n let square_sum = sum_squared_shared[0];\n let mean = ${Ie(\"sum\",y)} / f32(uniforms.hidden_size);\n let inv_std_dev = inverseSqrt(${Ie(\"square_sum\",y)} / f32(uniforms.hidden_size) ${o?\"\":\"- mean * mean\"} + uniforms.epsilon);\n ${f?\"mean_output[global_idx] = mean;\":\"\"}\n ${m?\"inv_std_output[global_idx] = inv_std_dev;\":\"\"}\n\n for (var i: u32 = 0; i < stride; i++) {\n output[offset + i] = (output[offset + i] ${o?\"\":`- ${I}(mean)`}) *\n ${I}(inv_std_dev) * gamma[offset1d + i]\n ${c?\"+ beta[offset1d + i]\":\"\"};\n }\n }`},w=[{dims:a,dataType:e[0].dataType}];return n>1&&w.push({dims:l,dataType:1}),n>2&&w.push({dims:l,dataType:1}),n>3&&w.push({dims:i,dataType:e[0].dataType}),{name:\"SkipLayerNormalization\",shaderCache:{hint:`${y};${f};${m};${h}`,inputDependencies:e.map((v,$)=>\"type\")},getShaderSource:b,getRunData:()=>({outputs:w,dispatchGroup:{x:Math.ceil(u/d)},programUniforms:g})}},iu=(e,t)=>{Xc(e.inputs);let r=[0];e.outputCount>1&&r.push(-3),e.outputCount>2&&r.push(-3),e.outputCount>3&&r.push(3),e.compute(Yc(e.inputs,t,e.outputCount,!1),{outputs:r})}});var Jc,fn,ep,au,tp,np,uu,du,lu=k(()=>{\"use strict\";N();H();ue();q();Jc=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");if(t.axes.length!==0){if(t.axes.length!==t.starts.length||t.axes.length!==t.ends.length)throw new Error(\"axes, starts and ends must have the same length\")}else if(t.starts.length!==t.ends.length)throw new Error(\"starts and ends must have the same length\");e.slice(1).forEach((n,r)=>{if(e[r+1].dataType!==6&&e[r+1].dataType!==7)throw new Error(`Input ${r} must be an array of int32 or int64`)})},fn=(e,t)=>{let n=[];if(e.length>t)if(e[t].dataType===7)e[t].getBigInt64Array().forEach(r=>n.push(Number(r)));else if(e[t].dataType===6)e[t].getInt32Array().forEach(r=>n.push(Number(r)));else throw new Error(`Input ${t} must be an array of int32 or int64`);return n},ep=(e,t)=>{if(e.length>1){let n=fn(e,1),r=fn(e,2),o=fn(e,3);return o.length===0&&(o=[...Array(e[0].dims.length).keys()]),L({starts:n,ends:r,axes:o})}else return t},au=(e,t,n,r,o)=>{let i=e;return e<0&&(i+=n[r[t]]),o[t]<0?Math.max(0,Math.min(i,n[r[t]]-1)):Math.max(0,Math.min(i,n[r[t]]))},tp=(e,t,n)=>`fn calculateInputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n var carry = 0u;\n for (var i = ${n.length-1}; i >= 0; i--) {\n let input_shape_i = ${D(\"uniforms.input_shape\",\"i\",n.length)};\n let steps_i = ${D(\"uniforms.steps\",\"i\",n.length)};\n let signs_i = ${D(\"uniforms.signs\",\"i\",n.length)};\n let starts_i = ${D(\"uniforms.starts\",\"i\",n.length)};\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index = output_index * steps_i + starts_i + carry;\n carry = input_index / input_shape_i;\n input_index = input_index % input_shape_i;\n if (signs_i < 0) {\n input_index = input_shape_i - input_index - 1u + starts_i;\n }\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")};\n }\n return input_indices;\n }`,np=(e,t)=>{let n=e[0].dims,r=x.size(n),o=t.axes.length>0?x.normalizeAxes(t.axes,n.length):[...Array(n.length).keys()],i=fn(e,4);i.forEach(y=>y!==0||(()=>{throw new Error(\"step cannot be 0\")})),i.length===0&&(i=Array(o.length).fill(1));let s=t.starts.map((y,g)=>au(y,g,n,o,i)),a=t.ends.map((y,g)=>au(y,g,n,o,i));if(o.length!==s.length||o.length!==a.length)throw new Error(\"start, ends and axes should have the same number of elements\");if(o.length!==n.length)for(let y=0;y<n.length;++y)o.includes(y)||(s.splice(y,0,0),a.splice(y,0,n[y]),i.splice(y,0,1));let u=i.map(y=>Math.sign(y));i.forEach((y,g,b)=>{if(y<0){let w=(a[g]-s[g])/y,v=s[g],$=v+w*i[g];s[g]=$,a[g]=v,b[g]=-y}});let d=n.slice(0);o.forEach((y,g)=>{d[y]=Math.ceil((a[y]-s[y])/i[y])});let l={dims:d,dataType:e[0].dataType},c=C(\"output\",e[0].dataType,d.length),p=S(\"input\",e[0].dataType,e[0].dims.length),f=x.size(d),m=[{name:\"outputSize\",type:\"u32\"},{name:\"starts\",type:\"u32\",length:s.length},{name:\"signs\",type:\"i32\",length:u.length},{name:\"steps\",type:\"u32\",length:i.length}],h=[{type:12,data:f},{type:12,data:s},{type:6,data:u},{type:12,data:i},...P(e[0].dims,d)],_=y=>`\n ${y.registerUniforms(m).declareVariables(p,c)}\n ${tp(p,c,n)}\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let output_indices = ${c.offsetToIndices(\"global_idx\")};\n let input_indices = calculateInputIndices(output_indices);\n ${c.setByOffset(\"global_idx\",p.getByIndices(\"input_indices\"))}\n }`;return{name:\"Slice\",shaderCache:{hint:`${u.length}_${s.length}_${i.length}`,inputDependencies:[\"rank\"]},getShaderSource:_,getRunData:()=>({outputs:[l],dispatchGroup:{x:Math.ceil(r/64)},programUniforms:h})}},uu=(e,t)=>{Jc(e.inputs,t);let n=ep(e.inputs,t);e.compute(np(e.inputs,n),{inputs:[0]})},du=e=>{let t=e.starts,n=e.ends,r=e.axes;return L({starts:t,ends:n,axes:r})}});var rp,op,cu,pu,mu=k(()=>{\"use strict\";N();H();ue();Ne();q();rp=e=>{if(!e||e.length!==1)throw new Error(\"Softmax op requires 1 input.\")},op=(e,t)=>{let n=e.inputs[0],r=n.dims,o=x.size(r),i=r.length,s=x.normalizeAxis(t.axis,i),a=s<r.length-1,u,d=[];a?(d=Array.from({length:i},(T,I)=>I),d[s]=i-1,d[i-1]=s,u=e.compute(me(n,d),{inputs:[n],outputs:[-1]})[0]):u=n;let l=u.dims,c=l[i-1],p=o/c,f=J(c),m=c/f,h=64;p===1&&(h=256);let _=(T,I)=>I===4?`max(max(${T}.x, ${T}.y), max(${T}.z, ${T}.w))`:I===2?`max(${T}.x, ${T}.y)`:I===3?`max(max(${T}.x, ${T}.y), ${T}.z)`:T,y=S(\"x\",u.dataType,u.dims,f),g=C(\"result\",u.dataType,u.dims,f),b=y.type.value,w=re(u.dataType)===\"f32\"?`var threadMax = ${b}(-3.4028234663852886e+38f);`:`var threadMax = ${b}(-65504.0h);`,v=T=>`\n var<workgroup> rowMaxShared : ${b};\n var<workgroup> rowSumShared : ${b};\n var<workgroup> threadShared : array<${b}, ${h}>;\n\n fn getValue(row: i32, col: i32, row_stride: i32) -> ${b} {\n let index = row * row_stride + col;\n return x[index];\n }\n\n fn setValue(row: i32, col: i32, row_stride: i32, value: ${b}) {\n let index = row * row_stride + col;\n result[index] = value;\n }\n ${T.registerUniform(\"packedCols\",\"i32\").declareVariables(y,g)}\n ${T.mainStart(h)}\n let gindex = i32(global_idx);\n let lindex = i32(local_idx);\n const wg = ${h};\n let row = gindex / wg;\n let cols = uniforms.packedCols;\n let row_stride : i32 = uniforms.packedCols;\n\n // find the rows max\n ${w}\n for (var col = lindex; col < cols; col += wg) {\n let value = getValue(row, col, row_stride);\n threadMax = max(threadMax, value);\n }\n if (lindex < cols) {\n threadShared[lindex] = threadMax;\n }\n workgroupBarrier();\n\n var reduceSize = min(cols, wg);\n for (var currSize = reduceSize >> 1; currSize > 0; currSize = reduceSize >> 1) {\n reduceSize = currSize + (reduceSize & 1);\n if (lindex < currSize) {\n threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowMaxShared = ${b}(${_(\"threadShared[0]\",f)});\n }\n workgroupBarrier();\n\n // find the rows sum\n var threadSum = ${b}(0.0);\n for (var col = lindex; col < cols; col += wg) {\n let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);\n threadSum += subExp;\n }\n threadShared[lindex] = threadSum;\n workgroupBarrier();\n\n for (var currSize = wg >> 1; currSize > 0; currSize = currSize >> 1) {\n if (lindex < currSize) {\n threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowSumShared = ${b}(${Ie(\"threadShared[0]\",f)});\n }\n workgroupBarrier();\n\n // calculate final value for each element in the row\n for (var col = lindex; col < cols; col += wg) {\n var value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;\n // max operation protects against NaN since all values should be >=0\n value = max(value, ${b}(0.0));\n setValue(row, col, row_stride, value);\n }\n }`,$=e.compute({name:\"Softmax\",shaderCache:{hint:`${f};${h}`,inputDependencies:[\"type\"]},getRunData:()=>({outputs:[{dims:l,dataType:u.dataType}],dispatchGroup:{x:p},programUniforms:[{type:6,data:m}]}),getShaderSource:v},{inputs:[u],outputs:[a?-1:0]})[0];a&&e.compute(me($,d),{inputs:[$]})},cu=(e,t)=>{rp(e.inputs),op(e,t)},pu=e=>L({axis:e.axis})});var fu,ip,sp,ap,hu,gu=k(()=>{\"use strict\";N();H();q();fu=e=>Array.from(e.getBigInt64Array(),Number),ip=e=>{if(!e||e.length!==2)throw new Error(\"Tile requires 2 inputs.\");if(e[0].dataType!==1&&e[0].dataType!==10&&e[0].dataType!==6&&e[0].dataType!==12)throw new Error(\"Tile only support float, float16, int32, and uint32 data types\");if(e[1].dataType!==7)throw new Error(\"Tile `repeats` input should be of int64 data type\");if(e[1].dims.length!==1)throw new Error(\"Tile `repeats` input should be 1-D\");if(fu(e[1]).length!==e[0].dims.length)throw new Error(\"Tile `repeats` input should have same number of elements as rank of input data tensor\")},sp=(e,t)=>{let n=[];for(let r=0;r<e.length;++r)n.push(e[r]*t[r]);return n},ap=(e,t)=>{let n=e[0].dims,r=t??fu(e[1]),o=sp(n,r),i=x.size(o),s=e[0].dataType,a=S(\"input\",s,n.length),u=C(\"output\",s,o.length),d=l=>`\n const inputShape = ${a.indices(...n)};\n ${l.registerUniform(\"output_size\",\"u32\").declareVariables(a,u)}\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let output_indices = ${u.offsetToIndices(\"global_idx\")};\n var input_indices: ${a.type.indices};\n for (var i = 0; i < ${n.length}; i++) {\n let input_dim_i = ${a.indicesGet(\"uniforms.input_shape\",\"i\")};\n let input_dim_value = ${u.indicesGet(\"output_indices\",\"i\")} % input_dim_i;\n\n ${a.indicesSet(\"input_indices\",\"i\",\"input_dim_value\")}\n }\n ${u.setByOffset(\"global_idx\",a.getByIndices(\"input_indices\"))}\n }`;return{name:\"Tile\",shaderCache:{hint:`${r}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(i/64)},programUniforms:[{type:12,data:i},...P(e[0].dims,o)]}),getShaderSource:d}},hu=e=>{ip(e.inputs),e.compute(ap(e.inputs),{inputs:[0]})}});var up,dp,yu,bu=k(()=>{\"use strict\";N();H();q();up=(e,t,n,r,o)=>{let i=C(\"output_data\",o,n.length,4),s=S(\"a_data\",t[1].dataType,t[1].dims.length,4),a=S(\"b_data\",t[2].dataType,t[2].dims.length,4),u=S(\"c_data\",t[0].dataType,t[0].dims.length,4),d,l=(c,p,f)=>`select(${p}, ${c}, ${f})`;if(!r)d=i.setByOffset(\"global_idx\",l(s.getByOffset(\"global_idx\"),a.getByOffset(\"global_idx\"),u.getByOffset(\"global_idx\")));else{let c=(p,f,m=\"\")=>{let h=`a_data[index_a${f}][component_a${f}]`,_=`b_data[index_b${f}][component_b${f}]`,y=`bool(c_data[index_c${f}] & (0xffu << (component_c${f} * 8)))`;return`\n let output_indices${f} = ${i.offsetToIndices(`global_idx * 4u + ${f}u`)};\n let offset_a${f} = ${s.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let offset_b${f} = ${a.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let offset_c${f} = ${u.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let index_a${f} = offset_a${f} / 4u;\n let index_b${f} = offset_b${f} / 4u;\n let index_c${f} = offset_c${f} / 4u;\n let component_a${f} = offset_a${f} % 4u;\n let component_b${f} = offset_b${f} % 4u;\n let component_c${f} = offset_c${f} % 4u;\n ${p}[${f}] = ${m}(${l(h,_,y)});\n `};o===9?d=`\n var data = vec4<u32>(0);\n ${c(\"data\",0,\"u32\")}\n ${c(\"data\",1,\"u32\")}\n ${c(\"data\",2,\"u32\")}\n ${c(\"data\",3,\"u32\")}\n output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:d=`\n ${c(\"output_data[global_idx]\",0)}\n ${c(\"output_data[global_idx]\",1)}\n ${c(\"output_data[global_idx]\",2)}\n ${c(\"output_data[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(u,s,a,i)}\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${d}\n }`},dp=e=>{let t=e[1].dims,n=e[2].dims,r=e[0].dims,o=e[1].dataType,i=!(x.areEqual(t,n)&&x.areEqual(n,r)),s=t,a=x.size(t);if(i){let d=ze.calcShape(ze.calcShape(t,n,!1),r,!1);if(!d)throw new Error(\"Can't perform where op on the given tensors\");s=d,a=x.size(s)}let u=Math.ceil(a/4);return{name:\"Where\",shaderCache:{inputDependencies:[\"rank\",\"rank\",\"rank\"]},getShaderSource:d=>up(d,e,s,i,o),getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(a/64/4)},programUniforms:[{type:12,data:u},...P(r,t,n,s)]})}},yu=e=>{e.compute(dp(e.inputs))}});var _u,wu=k(()=>{\"use strict\";ei();tn();ri();ii();Hi();ts();os();ws();Cs();ks();Bs();Rs();Ls();Gs();qs();Zs();Ys();ta();oa();aa();ga();_a();$a();xa();Ia();ar();Aa();Fa();ja();Qa();Ja();Jt();ou();lr();su();lu();mu();dr();gu();Ne();rn();bu();_u=new Map([[\"Abs\",[si]],[\"Acos\",[ai]],[\"Acosh\",[ui]],[\"Add\",[Fi]],[\"ArgMax\",[Jo,jn]],[\"ArgMin\",[Yo,jn]],[\"Asin\",[di]],[\"Asinh\",[li]],[\"Atan\",[ci]],[\"Atanh\",[pi]],[\"Attention\",[ti]],[\"AveragePool\",[Ma,Oa]],[\"BatchNormalization\",[ni]],[\"BiasAdd\",[oi]],[\"BiasSplitGelu\",[Gi]],[\"Cast\",[fi,mi]],[\"Ceil\",[gi]],[\"Clip\",[hi]],[\"Concat\",[ns,rs]],[\"Conv\",[rr,nr]],[\"ConvTranspose\",[Is,Ss]],[\"Cos\",[yi]],[\"Cosh\",[bi]],[\"CumSum\",[As,Es]],[\"DepthToSpace\",[Ps,zs]],[\"DequantizeLinear\",[qa,Ka]],[\"Div\",[qi]],[\"Einsum\",[Ms,Us]],[\"Elu\",[_i,bt]],[\"Equal\",[Ki]],[\"Erf\",[wi]],[\"Exp\",[$i]],[\"Expand\",[Ns]],[\"FastGelu\",[Ws]],[\"Floor\",[vi]],[\"FusedConv\",[rr,nr]],[\"Gather\",[Fs,Hs]],[\"GatherElements\",[ea,Js]],[\"GatherBlockQuantized\",[Qs,Xs]],[\"GatherND\",[Ks,js]],[\"Gelu\",[xi]],[\"Gemm\",[ra,na]],[\"GlobalAveragePool\",[Va,Ra]],[\"GlobalMaxPool\",[Ha,Ga]],[\"Greater\",[Xi]],[\"GreaterOrEqual\",[Ji]],[\"GridSample\",[ia,sa]],[\"GroupQueryAttention\",[ha]],[\"HardSigmoid\",[Pi,ki]],[\"InstanceNormalization\",[ba]],[\"LayerNormalization\",[wa]],[\"LeakyRelu\",[Si,bt]],[\"Less\",[Yi]],[\"LessOrEqual\",[es]],[\"Log\",[Ni]],[\"MatMul\",[va]],[\"MatMulNBits\",[Sa,Ta]],[\"MaxPool\",[La,Wa]],[\"Mul\",[ji]],[\"MultiHeadAttention\",[la,da]],[\"Neg\",[Ii]],[\"Not\",[Ti]],[\"Pad\",[Ca]],[\"Pow\",[Zi]],[\"QuickGelu\",[Li,bt]],[\"Range\",[Za]],[\"Reciprocal\",[Ci]],[\"ReduceMin\",[qo]],[\"ReduceMean\",[Lo]],[\"ReduceMax\",[Fo]],[\"ReduceSum\",[jo]],[\"ReduceProd\",[Ko]],[\"ReduceL1\",[Wo]],[\"ReduceL2\",[Go]],[\"ReduceLogSum\",[Qo]],[\"ReduceLogSumExp\",[Ho]],[\"ReduceSumSquare\",[Zo]],[\"Relu\",[Ai]],[\"Resize\",[nu,ru]],[\"RotaryEmbedding\",[ma]],[\"ScatterND\",[Ya,Xa]],[\"Sigmoid\",[Ei]],[\"Sin\",[zi]],[\"Sinh\",[Bi]],[\"Slice\",[uu,du]],[\"SkipLayerNormalization\",[iu]],[\"Split\",[ca,pa]],[\"Sqrt\",[Di]],[\"Softmax\",[cu,pu]],[\"Sub\",[Qi]],[\"Tan\",[Oi]],[\"Tanh\",[Ui]],[\"ThresholdedRelu\",[Vi,bt]],[\"Tile\",[hu]],[\"Transpose\",[Ao,Eo]],[\"Where\",[yu]]])});var hn,$u=k(()=>{\"use strict\";we();Pe();q();hn=class{constructor(t){this.backend=t;this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,n){this.repo.set(t,n)}run(t,n,r,o,i){be(t.programInfo.name);let s=this.backend.device,a=this.backend.getComputePassEncoder();this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2);let u=[];for(let l of n)u.push({binding:u.length,resource:{buffer:l.buffer}});for(let l of r)u.push({binding:u.length,resource:{buffer:l.buffer}});i&&u.push({binding:u.length,resource:i});let d=s.createBindGroup({layout:t.computePipeline.getBindGroupLayout(0),entries:u,label:t.programInfo.name});if(this.backend.sessionStatus===\"capturing\"){let l={kernelId:this.backend.currentKernelId,computePipeline:t.computePipeline,bindGroup:d,dispatchGroup:o};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(l)}a.setPipeline(t.computePipeline),a.setBindGroup(0,d),a.dispatchWorkgroups(...o),this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType===\"at-passes\")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),ye(t.programInfo.name)}dispose(){}build(t,n){be(t.name);let r=this.backend.device,o=[];[{feature:\"shader-f16\",extension:\"f16\"},{feature:\"subgroups\",extension:\"subgroups\"}].forEach(c=>{r.features.has(c.feature)&&o.push(`enable ${c.extension};`)});let s=Io(n,this.backend.device.limits),a=t.getShaderSource(s),u=`${o.join(`\n`)}\n${s.additionalImplementations}\n${a}`,d=r.createShaderModule({code:u,label:t.name});Z(\"verbose\",()=>`[WebGPU] ${t.name} shader code: ${u}`);let l=r.createComputePipeline({compute:{module:d,entryPoint:\"main\"},layout:\"auto\",label:t.name});return ye(t.name),{programInfo:t,computePipeline:l,uniformVariablesInfo:s.variablesInfo}}normalizeDispatchGroupSize(t){let n=typeof t==\"number\"?t:t.x,r=typeof t==\"number\"?1:t.y||1,o=typeof t==\"number\"?1:t.z||1,i=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(n<=i&&r<=i&&o<=i)return[n,r,o];let s=n*r*o,a=Math.ceil(Math.sqrt(s));if(a>i){if(a=Math.ceil(Math.cbrt(s)),a>i)throw new Error(\"Total dispatch size exceeds WebGPU maximum.\");return[a,a,a]}else return[a,a,1]}}});var vu={};rt(vu,{WebGpuBackend:()=>pr});var lp,cp,cr,pr,xu=k(()=>{\"use strict\";we();N();Pe();Mn();So();wu();$u();lp=(e,t)=>{if(t.length!==e.length)throw new Error(`inputDependencies length ${t.length} is not equal to inputTensors length ${e.length}.`);let n=[];for(let r=0;r<e.length;++r){let o=e[r].dataType;switch(t[r]){case\"none\":{n.push(\"\");break}case\"type\":{n.push(`${o}`);break}case\"rank\":{let i=e[r].dims.length;n.push(`${o};${i}`);break}case\"dims\":{let i=e[r].dims.join(\",\");n.push(`${o};${i}`);break}default:throw new Error(`unsupported input dependency: ${t[r]}`)}}return n.join(\"|\")},cp=(e,t,n)=>{let r=e.name;return e.shaderCache?.hint&&(r+=\"[\"+e.shaderCache.hint+\"]\"),r+=\":\"+n+`:${lp(t,e.shaderCache?.inputDependencies??new Array(t.length).fill(\"dims\"))}`,r},cr=class{constructor(t){t&&(this.architecture=t.architecture,this.vendor=t.vendor)}isArchitecture(t){return this.architecture===t}isVendor(t){return this.vendor===t}},pr=class{constructor(){this.currentSessionId=null;this.currentKernelId=null;this.commandEncoder=null;this.computePassEncoder=null;this.maxDispatchNumber=16;this.pendingDispatchNumber=0;this.pendingKernels=[];this.pendingQueries=new Map;this.sessionStatus=\"default\";this.capturedCommandList=new Map;this.capturedPendingKernels=new Map;this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error(\"currentKernelCustomData(): currentKernelId is null. (should not happen)\");let t=this.kernelCustomData.get(this.currentKernelId);return t||(t={},this.kernelCustomData.set(this.currentKernelId,t)),t}async initialize(t,n){this.env=t;let r=[],o={requiredLimits:{maxComputeWorkgroupStorageSize:n.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:n.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:n.limits.maxStorageBufferBindingSize,maxBufferSize:n.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:n.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:n.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:n.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:n.limits.maxComputeWorkgroupSizeZ},requiredFeatures:r},i=s=>n.features.has(s)&&r.push(s)&&!0;i(\"chromium-experimental-timestamp-query-inside-passes\")||i(\"timestamp-query\"),i(\"shader-f16\"),i(\"subgroups\"),this.device=await n.requestDevice(o),this.adapterInfo=new cr(n.info||await n.requestAdapterInfo()),this.gpuDataManager=xo(this),this.programManager=new hn(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,Gt(t.logLevel,!!t.debug),this.device.onuncapturederror=s=>{s.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${s.error.message}`)},Object.defineProperty(this.env.webgpu,\"device\",{value:this.device,writable:!1,enumerable:!0,configurable:!0}),Object.defineProperty(this.env.webgpu,\"adapter\",{value:n,writable:!1,enumerable:!0,configurable:!1}),this.setQueryType()}dispose(){typeof this.querySet<\"u\"&&this.querySet.destroy(),this.gpuDataManager.dispose(),this.device&&this.env?.webgpu&&this.device.lost.then(()=>{delete this.env.webgpu.device})}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let t=this.getCommandEncoder(),n={};this.queryType===\"at-passes\"&&(n.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:this.pendingDispatchNumber*2,endOfPassWriteIndex:this.pendingDispatchNumber*2+1}),this.computePassEncoder=t.beginComputePass(n)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;be(),this.endComputePass();let t;this.queryType!==\"none\"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,this.pendingDispatchNumber*2,this.queryResolveBuffer,0),t=this.device.createBuffer({size:this.pendingDispatchNumber*2*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(t,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,t,0,this.pendingDispatchNumber*2*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!==\"none\"&&t.mapAsync(GPUMapMode.READ).then(()=>{let n=new BigUint64Array(t.getMappedRange()),r=this.pendingQueries.get(t);for(let o=0;o<n.length/2;o++){let i=r[o],s=i.kernelId,a=this.kernels.get(s),u=a.kernelType,d=a.kernelName,l=i.programName,c=i.inputTensorViews,p=i.outputTensorViews,f=n[o*2],m=n[o*2+1];typeof this.queryTimeBase>\"u\"&&(this.queryTimeBase=f);let h=Number(f-this.queryTimeBase),_=Number(m-this.queryTimeBase);if(!Number.isSafeInteger(h)||!Number.isSafeInteger(_))throw new RangeError(\"incorrect timestamp range\");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:c.map(y=>({dims:y.dims,dataType:ke(y.dataType)})),outputsMetadata:p.map(y=>({dims:y.dims,dataType:ke(y.dataType)})),kernelId:s,kernelType:u,kernelName:d,programName:l,startTime:h,endTime:_});else{let y=\"\";c.forEach((b,w)=>{y+=`input[${w}]: [${b.dims}] | ${ke(b.dataType)}, `});let g=\"\";p.forEach((b,w)=>{g+=`output[${w}]: [${b.dims}] | ${ke(b.dataType)}, `}),console.log(`[profiling] kernel \"${s}|${u}|${d}|${l}\" ${y}${g}start time: ${h} ns, execution time: ${_-h} ns`)}mt(\"GPU\",`${l}::${f}::${m}`)}t.unmap(),this.pendingQueries.delete(t)}),ye()}run(t,n,r,o,i,s){be(t.name);let a=[];for(let b=0;b<n.length;++b){let w=n[b].data;if(w===0)continue;let v=this.gpuDataManager.get(w);if(!v)throw new Error(`no GPU data for input: ${w}`);a.push(v)}let{outputs:u,dispatchGroup:d,programUniforms:l}=t.getRunData(n),c=r.length===0?u.map((b,w)=>w):r;if(c.length!==u.length)throw new Error(`Output size ${c.length} must be equal to ${u.length}.`);let p=[],f=[];for(let b=0;b<u.length;++b){if(!Number.isInteger(c[b])||c[b]<-3||c[b]>=s)throw new Error(`Invalid output index: ${c[b]}`);if(c[b]===-3)continue;let w=c[b]===-1,v=c[b]===-2,$=w||v?i(u[b].dataType,u[b].dims):o(c[b],u[b].dataType,u[b].dims);if(p.push($),$.data===0)continue;let T=this.gpuDataManager.get($.data);if(!T)throw new Error(`no GPU data for output: ${$.data}`);if(w&&this.temporaryData.push(T),v){let I=this.kernelPersistentData.get(this.currentKernelId);I||(I=[],this.kernelPersistentData.set(this.currentKernelId,I)),I.push(T)}f.push(T)}if(a.length!==n.length||f.length!==p.length){if(f.length===0)return ye(t.name),p;throw new Error(`Program ${t.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}let m;if(l){let b=0,w=[];l.forEach(I=>{let E=typeof I.data==\"number\"?[I.data]:I.data;if(E.length===0)return;let z=I.type===10?2:4,M,O;I.type===10?(O=E.length>4?16:E.length>2?8:E.length*z,M=E.length>4?16:z*E.length):(O=E.length<=2?E.length*z:16,M=16),b=Math.ceil(b/O)*O,w.push(b);let W=I.type===10?8:4;b+=E.length>4?Math.ceil(E.length/W)*M:E.length*z});let v=16;b=Math.ceil(b/v)*v;let $=new ArrayBuffer(b);l.forEach((I,E)=>{let z=w[E],M=typeof I.data==\"number\"?[I.data]:I.data;if(I.type===6)new Int32Array($,z,M.length).set(M);else if(I.type===12)new Uint32Array($,z,M.length).set(M);else if(I.type===10)new Uint16Array($,z,M.length).set(M);else if(I.type===1)new Float32Array($,z,M.length).set(M);else throw new Error(`Unsupported uniform type: ${ke(I.type)}`)});let T=this.gpuDataManager.create(b,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(T.buffer,0,$,0,b),this.gpuDataManager.release(T.id),m={offset:0,size:b,buffer:T.buffer}}let h=this.programManager.normalizeDispatchGroupSize(d),_=h[1]===1&&h[2]===1,y=cp(t,n,_),g=this.programManager.getArtifact(y);if(g||(g=this.programManager.build(t,h),this.programManager.setArtifact(y,g),Z(\"info\",()=>`[artifact] key: ${y}, programName: ${t.name}`)),l&&g.uniformVariablesInfo){if(l.length!==g.uniformVariablesInfo.length)throw new Error(`Uniform variables count mismatch: expect ${g.uniformVariablesInfo.length}, got ${l.length} in program \"${g.programInfo.name}\".`);for(let b=0;b<l.length;b++){let w=l[b],v=w.type,$=typeof w.data==\"number\"?1:w.data.length,[T,I]=g.uniformVariablesInfo[b];if(v!==T||$!==I)throw new Error(`Uniform variable ${b} mismatch: expect type ${T} with size ${I}, got type ${v} with size ${$} in program \"${g.programInfo.name}\".`)}}if(Z(\"info\",()=>`[ProgramManager] run \"${t.name}\" (key=${y}) with ${h[0]}x${h[1]}x${h[2]}`),this.queryType!==\"none\"||this.sessionStatus===\"capturing\"){let b={kernelId:this.currentKernelId,programName:g.programInfo.name,inputTensorViews:n,outputTensorViews:p};this.pendingKernels.push(b),this.sessionStatus===\"capturing\"&&this.capturedPendingKernels.get(this.currentSessionId).push(b)}return this.programManager.run(g,a,f,h,m),ye(t.name),p}upload(t,n){this.gpuDataManager.upload(t,n)}memcpy(t,n){this.gpuDataManager.memcpy(t,n)}async download(t,n){await this.gpuDataManager.download(t,n)}alloc(t){return this.gpuDataManager.create(t).id}free(t){return this.gpuDataManager.release(t)}createKernel(t,n,r,o){let i=_u.get(t);if(!i)throw new Error(`kernel not implemented: ${t}`);let s={kernelType:t,kernelName:o,kernelEntry:i[0],attributes:[i[1],r]};this.kernels.set(n,s)}releaseKernel(t){let n=this.kernelPersistentData.get(t);if(n){for(let r of n)this.gpuDataManager.release(r.id);this.kernelPersistentData.delete(t)}this.kernelCustomData.delete(t),this.kernels.delete(t)}computeKernel(t,n,r){let o=this.kernels.get(t);if(!o)throw new Error(`kernel not created: ${t}`);let i=o.kernelType,s=o.kernelName,a=o.kernelEntry,u=o.attributes;if(this.currentKernelId!==null)throw new Error(`kernel \"[${i}] ${s}\" is not allowed to be called recursively`);this.currentKernelId=t,u[0]&&(u[1]=u[0](u[1]),u[0]=void 0),Z(\"info\",()=>`[WebGPU] Start to run kernel \"[${i}] ${s}\"...`);let d=this.env.debug;this.temporaryData=[];try{return d&&this.device.pushErrorScope(\"validation\"),a(n,u[1]),0}catch(l){return r.push(Promise.resolve(`[WebGPU] Kernel \"[${i}] ${s}\" failed. ${l}`)),1}finally{d&&r.push(this.device.popErrorScope().then(l=>l?`GPU validation error for kernel \"[${i}] ${s}\": ${l.message}`:null));for(let l of this.temporaryData)this.gpuDataManager.release(l.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(t,n,r,o){let i=this.sessionExternalDataMapping.get(t);i||(i=new Map,this.sessionExternalDataMapping.set(t,i));let s=i.get(n),a=this.gpuDataManager.registerExternalBuffer(r,o,s);return i.set(n,[a,r]),a}unregisterBuffers(t){let n=this.sessionExternalDataMapping.get(t);n&&(n.forEach(r=>this.gpuDataManager.unregisterExternalBuffer(r[0])),this.sessionExternalDataMapping.delete(t))}getBuffer(t){let n=this.gpuDataManager.get(t);if(!n)throw new Error(`no GPU data for buffer: ${t}`);return n.buffer}createDownloader(t,n,r){return async()=>{let o=await Wn(this,t,n);return Ft(o.buffer,r)}}writeTimestamp(t){this.queryType===\"inside-passes\"&&this.computePassEncoder.writeTimestamp(this.querySet,t)}setQueryType(){this.queryType=\"none\",(this.env.webgpu.profiling?.mode===\"default\"||(typeof this.env.trace>\"u\"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?this.queryType=\"inside-passes\":this.device.features.has(\"timestamp-query\")&&(this.queryType=\"at-passes\"),this.queryType!==\"none\"&&typeof this.querySet>\"u\"&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:this.maxDispatchNumber*2}),this.queryResolveBuffer=this.device.createBuffer({size:this.maxDispatchNumber*2*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){Z(\"info\",\"captureBegin\"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus=\"capturing\"}captureEnd(){Z(\"info\",\"captureEnd\"),this.flush(),this.sessionStatus=\"default\"}replay(){Z(\"info\",\"replay\"),this.sessionStatus=\"replaying\";let t=this.capturedCommandList.get(this.currentSessionId),n=this.capturedPendingKernels.get(this.currentSessionId),r=t.length;this.pendingKernels=[];for(let o=0;o<r;o++){let i=this.getComputePassEncoder(),s=t[o];this.writeTimestamp(this.pendingDispatchNumber*2),i.setPipeline(s.computePipeline),i.setBindGroup(0,s.bindGroup),i.dispatchWorkgroups(...s.dispatchGroup),this.writeTimestamp(this.pendingDispatchNumber*2+1),this.pendingDispatchNumber++,this.queryType!==\"none\"&&this.pendingKernels.push(n[o]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType===\"at-passes\")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus=\"default\"}onCreateSession(){this.gpuDataManager.onCreateSession()}onReleaseSession(t){this.unregisterBuffers(t),this.capturedCommandList.has(t)&&this.capturedCommandList.delete(t),this.capturedPendingKernels.has(t)&&this.capturedPendingKernels.delete(t),this.gpuDataManager.onReleaseSession(t)}onRunStart(t){this.currentSessionId=t,this.setQueryType()}}});var Su={};rt(Su,{init:()=>pp});var vt,mr,pp,Tu=k(()=>{\"use strict\";N();Pe();H();_o();vt=class e{constructor(t,n,r,o){this.module=t;this.dataType=n;this.data=r;this.dims=o}getFloat32Array(){if(this.dataType!==1)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,t)}getBigInt64Array(){if(this.dataType!==7)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,t)}getInt32Array(){if(this.dataType!==6)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,t)}getUint16Array(){if(this.dataType!==10&&this.dataType!==4)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Uint16Array:new Uint16Array(this.module.HEAP8.buffer,this.data,t)}reshape(t){if(x.size(t)!==x.size(this.dims))throw new Error(\"Invalid new shape\");return new e(this.module,this.dataType,this.data,t)}},mr=class{constructor(t,n,r){this.module=t;this.backend=n;this.customDataOffset=0;this.customDataSize=0;this.adapterInfo=n.adapterInfo;let o=t.PTR_SIZE,i=r/t.PTR_SIZE,s=o===4?\"i32\":\"i64\";this.opKernelContext=Number(t.getValue(o*i++,s));let a=Number(t.getValue(o*i++,s));this.outputCount=Number(t.getValue(o*i++,s)),this.customDataOffset=Number(t.getValue(o*i++,\"*\")),this.customDataSize=Number(t.getValue(o*i++,s));let u=[];for(let d=0;d<a;d++){let l=Number(t.getValue(o*i++,s)),c=Number(t.getValue(o*i++,\"*\")),p=Number(t.getValue(o*i++,s)),f=[];for(let m=0;m<p;m++)f.push(Number(t.getValue(o*i++,s)));u.push(new vt(t,l,c,f))}this.inputs=u}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(t,n){let r=n?.inputs?.map(a=>typeof a==\"number\"?this.inputs[a]:a)??this.inputs,o=n?.outputs??[],i=(a,u,d)=>new vt(this.module,u,this.output(a,d),d),s=(a,u)=>{let d=qe(a,u);if(!d)throw new Error(`Unsupported data type: ${a}`);let l=d>0?this.backend.gpuDataManager.create(d).id:0;return new vt(this.module,a,l,u)};return this.backend.run(t,r,o,i,s,this.outputCount)}output(t,n){let r=this.module.stackSave();try{let o=this.module.PTR_SIZE,i=o===4?\"i32\":\"i64\",s=this.module.stackAlloc((1+n.length)*o);this.module.setValue(s,n.length,i);for(let a=0;a<n.length;a++)this.module.setValue(s+o*(a+1),n[a],i);return this.module._JsepOutput(this.opKernelContext,t,s)}catch(o){throw new Error(`Failed to generate kernel's output[${t}] with dims [${n}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${o}`)}finally{this.module.stackRestore(r)}}},pp=async(e,t,n,r)=>{let o=t.jsepInit;if(!o)throw new Error(\"Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.\");if(e===\"webgpu\"){let i=(xu(),ct(vu)).WebGpuBackend,s=new i;await s.initialize(n,r),o(\"webgpu\",[s,a=>s.alloc(Number(a)),a=>s.free(a),(a,u,d,l=!1)=>{if(l)Z(\"verbose\",()=>`[WebGPU] jsepCopyGpuToGpu: src=${Number(a)}, dst=${Number(u)}, size=${Number(d)}`),s.memcpy(Number(a),Number(u));else{Z(\"verbose\",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${Number(a)}, gpuDataId=${Number(u)}, size=${Number(d)}`);let c=t.HEAPU8.subarray(Number(a>>>0),Number(a>>>0)+Number(d));s.upload(Number(u),c)}},async(a,u,d)=>{Z(\"verbose\",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${a}, dataOffset=${u}, size=${d}`),await s.download(Number(a),()=>t.HEAPU8.subarray(Number(u)>>>0,Number(u+d)>>>0))},(a,u,d)=>s.createKernel(a,Number(u),d,t.UTF8ToString(t._JsepGetNodeName(Number(u)))),a=>s.releaseKernel(a),(a,u,d,l)=>{Z(\"verbose\",()=>`[WebGPU] jsepRun: sessionHandle=${d}, kernel=${a}, contextDataOffset=${u}`);let c=new mr(t,s,Number(u));return s.computeKernel(Number(a),c,l)},()=>s.captureBegin(),()=>s.captureEnd(),()=>s.replay()])}else{let i=new Zt(n);o(\"webnn\",[i,()=>i.reserveTensorId(),s=>i.releaseTensorId(s),async(s,a,u,d,l)=>i.ensureTensor(s,a,u,d,l),(s,a)=>{i.uploadTensor(s,a)},async(s,a)=>i.downloadTensor(s,a),(s,a)=>i.registerMLContext(s,a),!!n.trace])}}});var mp,Pt,zt,tt,fp,Iu,ft,Bt,Dt,Cu,Ot,Mt,Ut,En=k(()=>{\"use strict\";we();io();ao();N();He();Nt();Dn();mp=(e,t)=>{ne()._OrtInit(e,t)!==0&&Y(\"Can't initialize onnxruntime.\")},Pt=async e=>{mp(e.wasm.numThreads,gt(e.logLevel))},zt=async(e,t)=>{ne().asyncInit?.();let n=e.webgpu.adapter;if(t===\"webgpu\"){if(typeof navigator>\"u\"||!navigator.gpu)throw new Error(\"WebGPU is not supported in current environment\");if(n){if(typeof n.limits!=\"object\"||typeof n.features!=\"object\"||typeof n.requestDevice!=\"function\")throw new Error(\"Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.\")}else{let r=e.webgpu.powerPreference;if(r!==void 0&&r!==\"low-power\"&&r!==\"high-performance\")throw new Error(`Invalid powerPreference setting: \"${r}\"`);let o=e.webgpu.forceFallbackAdapter;if(o!==void 0&&typeof o!=\"boolean\")throw new Error(`Invalid forceFallbackAdapter setting: \"${o}\"`);if(n=await navigator.gpu.requestAdapter({powerPreference:r,forceFallbackAdapter:o}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag \"--enable-unsafe-webgpu\" if you are using Chrome.')}}if(t===\"webnn\"&&(typeof navigator>\"u\"||!navigator.ml))throw new Error(\"WebNN is not supported in current environment\");{let r=(Tu(),ct(Su)).init;t===\"webgpu\"&&await r(\"webgpu\",ne(),e,n),t===\"webnn\"&&await r(\"webnn\",ne(),e)}},tt=new Map,fp=e=>{let t=ne(),n=t.stackSave();try{let r=t.PTR_SIZE,o=t.stackAlloc(2*r);t._OrtGetInputOutputCount(e,o,o+r)!==0&&Y(\"Can't get session input/output count.\");let s=r===4?\"i32\":\"i64\";return[Number(t.getValue(o,s)),Number(t.getValue(o+r,s))]}finally{t.stackRestore(n)}},Iu=(e,t)=>{let n=ne(),r=n.stackSave(),o=0;try{let i=n.PTR_SIZE,s=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,s,s+i)!==0&&Y(\"Can't get session input/output metadata.\");let u=Number(n.getValue(s,\"*\"));o=Number(n.getValue(s+i,\"*\"));let d=n.HEAP32[o/4];if(d===0)return[u,0];let l=n.HEAPU32[o/4+1],c=[];for(let p=0;p<l;p++){let f=Number(n.getValue(o+8+p*i,\"*\"));c.push(f!==0?n.UTF8ToString(f):Number(n.getValue(o+8+(p+l)*i,\"*\")))}return[u,d,c]}finally{n.stackRestore(r),o!==0&&n._OrtFree(o)}},ft=e=>{let t=ne(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Bt=async(e,t)=>{let n,r,o=ne();Array.isArray(e)?[n,r]=e:e.buffer===o.HEAPU8.buffer?[n,r]=[e.byteOffset,e.byteLength]:[n,r]=ft(e);let i=0,s=0,a=0,u=[],d=[],l=[];try{if([s,u]=await so(t),t?.externalData&&o.mountExternalData){let w=[];for(let v of t.externalData){let $=typeof v==\"string\"?v:v.path;w.push(yt(typeof v==\"string\"?v:v.data).then(T=>{o.mountExternalData($,T)}))}await Promise.all(w)}for(let w of t?.executionProviders??[])if((typeof w==\"string\"?w:w.name)===\"webnn\"){if(o.shouldTransferToMLTensor=!1,typeof w!=\"string\"){let $=w,T=$?.context,I=$?.gpuDevice,E=$?.deviceType,z=$?.powerPreference;T?o.currentContext=T:I?o.currentContext=await o.webnnCreateMLContext(I):o.currentContext=await o.webnnCreateMLContext({deviceType:E,powerPreference:z})}else o.currentContext=await o.webnnCreateMLContext();break}i=await o._OrtCreateSession(n,r,s),o.webgpuOnCreateSession?.(i),i===0&&Y(\"Can't create a session.\"),o.jsepOnCreateSession?.(),o.currentContext&&(o.webnnRegisterMLContext(i,o.currentContext),o.currentContext=void 0,o.shouldTransferToMLTensor=!0);let[c,p]=fp(i),f=!!t?.enableGraphCapture,m=[],h=[],_=[],y=[],g=[];for(let w=0;w<c;w++){let[v,$,T]=Iu(i,w);v===0&&Y(\"Can't get an input name.\"),d.push(v);let I=o.UTF8ToString(v);m.push(I),_.push($===0?{name:I,isTensor:!1}:{name:I,isTensor:!0,type:ke($),shape:T})}for(let w=0;w<p;w++){let[v,$,T]=Iu(i,w+c);v===0&&Y(\"Can't get an output name.\"),l.push(v);let I=o.UTF8ToString(v);h.push(I),y.push($===0?{name:I,isTensor:!1}:{name:I,isTensor:!0,type:ke($),shape:T});{if(f&&t?.preferredOutputLocation===void 0){g.push(\"gpu-buffer\");continue}let E=typeof t?.preferredOutputLocation==\"string\"?t.preferredOutputLocation:t?.preferredOutputLocation?.[I]??\"cpu\",z=o.webnnIsGraphOutput;if(E===\"cpu\"&&z&&z(i,I)){g.push(\"ml-tensor-cpu-output\");continue}if(E!==\"cpu\"&&E!==\"cpu-pinned\"&&E!==\"gpu-buffer\"&&E!==\"ml-tensor\")throw new Error(`Not supported preferred output location: ${E}.`);if(f&&E!==\"gpu-buffer\")throw new Error(`Not supported preferred output location: ${E}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);g.push(E)}}let b=null;return g.some(w=>w===\"gpu-buffer\"||w===\"ml-tensor\"||w===\"ml-tensor-cpu-output\")&&(a=o._OrtCreateBinding(i),a===0&&Y(\"Can't create IO binding.\"),b={handle:a,outputPreferredLocations:g,outputPreferredLocationsEncoded:g.map(w=>w===\"ml-tensor-cpu-output\"?\"ml-tensor\":w).map(w=>Bn(w))}),tt.set(i,[i,d,l,b,f,!1]),[i,m,h,_,y]}catch(c){throw d.forEach(p=>o._OrtFree(p)),l.forEach(p=>o._OrtFree(p)),a!==0&&o._OrtReleaseBinding(a)!==0&&Y(\"Can't release IO binding.\"),i!==0&&o._OrtReleaseSession(i)!==0&&Y(\"Can't release session.\"),c}finally{o._free(n),s!==0&&o._OrtReleaseSessionOptions(s)!==0&&Y(\"Can't release session options.\"),u.forEach(c=>o._free(c)),o.unmountExternalData?.()}},Dt=e=>{let t=ne(),n=tt.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[r,o,i,s,a]=n;s&&(a&&t._OrtClearBoundOutputs(s.handle)!==0&&Y(\"Can't clear bound outputs.\"),t._OrtReleaseBinding(s.handle)!==0&&Y(\"Can't release IO binding.\")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),o.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(r)!==0&&Y(\"Can't release session.\"),tt.delete(e)},Cu=async(e,t,n,r,o,i,s=!1)=>{if(!e){t.push(0);return}let a=ne(),u=a.PTR_SIZE,d=e[0],l=e[1],c=e[3],p=c,f,m;if(d===\"string\"&&(c===\"gpu-buffer\"||c===\"ml-tensor\"))throw new Error(\"String tensor is not supported on GPU.\");if(s&&c!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(c===\"gpu-buffer\"){let y=e[2].gpuBuffer;m=qe(Fe(d),l);{let g=a.jsepRegisterBuffer;if(!g)throw new Error('Tensor location \"gpu-buffer\" is not supported without using WebGPU.');f=g(r,i,y,m)}}else if(c===\"ml-tensor\"){let y=e[2].mlTensor;m=qe(Fe(d),l);let g=a.webnnRegisterMLTensor;if(!g)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');f=g(r,y,Fe(d),l)}else{let y=e[2];if(Array.isArray(y)){m=u*y.length,f=a._malloc(m),n.push(f);for(let g=0;g<y.length;g++){if(typeof y[g]!=\"string\")throw new TypeError(`tensor data at index ${g} is not a string`);a.setValue(f+g*u,ve(y[g],n),\"*\")}}else{let g=a.webnnIsGraphInput,b=a.webnnIsGraphOutput;if(d!==\"string\"&&g&&b){let w=a.UTF8ToString(o);if(g(r,w)||b(r,w)){let v=Fe(d);m=qe(v,l),p=\"ml-tensor\";let $=a.webnnCreateTemporaryTensor,T=a.webnnUploadTensor;if(!$||!T)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');let I=await $(r,v,l);T(I,new Uint8Array(y.buffer,y.byteOffset,y.byteLength)),f=I}else m=y.byteLength,f=a._malloc(m),n.push(f),a.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,m),f)}else m=y.byteLength,f=a._malloc(m),n.push(f),a.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,m),f)}}let h=a.stackSave(),_=a.stackAlloc(4*l.length);try{l.forEach((g,b)=>a.setValue(_+b*u,g,u===4?\"i32\":\"i64\"));let y=a._OrtCreateTensor(Fe(d),f,m,_,l.length,Bn(p));y===0&&Y(`Can't create tensor for input/output. session=${r}, index=${i}.`),t.push(y)}finally{a.stackRestore(h)}},Ot=async(e,t,n,r,o,i)=>{let s=ne(),a=s.PTR_SIZE,u=tt.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let d=u[0],l=u[1],c=u[2],p=u[3],f=u[4],m=u[5],h=t.length,_=r.length,y=0,g=[],b=[],w=[],v=[],$=[],T=s.stackSave(),I=s.stackAlloc(h*a),E=s.stackAlloc(h*a),z=s.stackAlloc(_*a),M=s.stackAlloc(_*a);try{[y,g]=oo(i),Re(\"wasm prepareInputOutputTensor\");for(let U=0;U<h;U++)await Cu(n[U],b,v,e,l[t[U]],t[U],f);for(let U=0;U<_;U++)await Cu(o[U],w,v,e,c[r[U]],h+r[U],f);Ve(\"wasm prepareInputOutputTensor\");for(let U=0;U<h;U++)s.setValue(I+U*a,b[U],\"*\"),s.setValue(E+U*a,l[t[U]],\"*\");for(let U=0;U<_;U++)s.setValue(z+U*a,w[U],\"*\"),s.setValue(M+U*a,c[r[U]],\"*\");if(p&&!m){let{handle:U,outputPreferredLocations:R,outputPreferredLocationsEncoded:G}=p;if(l.length!==h)throw new Error(`input count from feeds (${h}) is expected to be always equal to model's input count (${l.length}).`);Re(\"wasm bindInputsOutputs\");for(let V=0;V<h;V++){let j=t[V];await s._OrtBindInput(U,l[j],b[V])!==0&&Y(`Can't bind input[${V}] for session=${e}.`)}for(let V=0;V<_;V++){let j=r[V];o[V]?.[3]?($.push(w[V]),s._OrtBindOutput(U,c[j],w[V],0)!==0&&Y(`Can't bind pre-allocated output[${V}] for session=${e}.`)):s._OrtBindOutput(U,c[j],0,G[j])!==0&&Y(`Can't bind output[${V}] to ${R[V]} for session=${e}.`)}Ve(\"wasm bindInputsOutputs\"),tt.set(e,[d,l,c,p,f,!0])}s.jsepOnRunStart?.(d),s.webnnOnRunStart?.(d);let O;p?O=await s._OrtRunWithBinding(d,p.handle,_,z,y):O=await s._OrtRun(d,E,I,h,M,_,z,y),O!==0&&Y(\"failed to call OrtRun().\");let W=[],K=[];Re(\"wasm ProcessOutputTensor\");for(let U=0;U<_;U++){let R=Number(s.getValue(z+U*a,\"*\"));if(R===w[U]||$.includes(w[U])){W.push(o[U]),R!==w[U]&&s._OrtReleaseTensor(R)!==0&&Y(\"Can't release tensor.\");continue}let G=s.stackSave(),V=s.stackAlloc(4*a),j=!1,Q,X=0;try{s._OrtGetTensorData(R,V,V+a,V+2*a,V+3*a)!==0&&Y(`Can't access output tensor data on index ${U}.`);let se=a===4?\"i32\":\"i64\",A=Number(s.getValue(V,se));X=s.getValue(V+a,\"*\");let B=s.getValue(V+a*2,\"*\"),oe=Number(s.getValue(V+a*3,se)),he=[];for(let ie=0;ie<oe;ie++)he.push(Number(s.getValue(B+ie*a,se)));s._OrtFree(B)!==0&&Y(\"Can't free memory for tensor dims.\");let ae=he.reduce((ie,de)=>ie*de,1);Q=ke(A);let ge=p?.outputPreferredLocations[r[U]];if(Q===\"string\"){if(ge===\"gpu-buffer\"||ge===\"ml-tensor\")throw new Error(\"String tensor is not supported on GPU.\");let ie=[];for(let de=0;de<ae;de++){let We=s.getValue(X+de*a,\"*\"),St=s.getValue(X+(de+1)*a,\"*\"),yr=de===ae-1?void 0:St-We;ie.push(s.UTF8ToString(We,yr))}W.push([Q,he,ie,\"cpu\"])}else if(ge===\"gpu-buffer\"&&ae>0){let ie=s.jsepGetBuffer;if(!ie)throw new Error('preferredLocation \"gpu-buffer\" is not supported without using WebGPU.');let de=ie(X),We=qe(A,ae);if(We===void 0||!Lt(Q))throw new Error(`Unsupported data type: ${Q}`);j=!0,W.push([Q,he,{gpuBuffer:de,download:s.jsepCreateDownloader(de,We,Q),dispose:()=>{s._OrtReleaseTensor(R)!==0&&Y(\"Can't release tensor.\")}},\"gpu-buffer\"])}else if(ge===\"ml-tensor\"&&ae>0){let ie=s.webnnEnsureTensor,de=s.webnnIsGraphInputOutputTypeSupported;if(!ie||!de)throw new Error('preferredLocation \"ml-tensor\" is not supported without using WebNN.');if(qe(A,ae)===void 0||!Wt(Q))throw new Error(`Unsupported data type: ${Q}`);if(!de(e,Q,!1))throw new Error(`preferredLocation \"ml-tensor\" for ${Q} output is not supported by current WebNN Context.`);let St=await ie(e,X,A,he,!1);j=!0,W.push([Q,he,{mlTensor:St,download:s.webnnCreateMLTensorDownloader(X,Q),dispose:()=>{s.webnnReleaseTensorId(X),s._OrtReleaseTensor(R)}},\"ml-tensor\"])}else if(ge===\"ml-tensor-cpu-output\"&&ae>0){let ie=s.webnnCreateMLTensorDownloader(X,Q)(),de=W.length;j=!0,K.push((async()=>{let We=[de,await ie];return s.webnnReleaseTensorId(X),s._OrtReleaseTensor(R),We})()),W.push([Q,he,[],\"cpu\"])}else{let ie=it(Q),de=new ie(ae);new Uint8Array(de.buffer,de.byteOffset,de.byteLength).set(s.HEAPU8.subarray(X,X+de.byteLength)),W.push([Q,he,de,\"cpu\"])}}finally{s.stackRestore(G),Q===\"string\"&&X&&s._free(X),j||s._OrtReleaseTensor(R)}}p&&!f&&(s._OrtClearBoundOutputs(p.handle)!==0&&Y(\"Can't clear bound outputs.\"),tt.set(e,[d,l,c,p,f,!1]));for(let[U,R]of await Promise.all(K))W[U][2]=R;return Ve(\"wasm ProcessOutputTensor\"),W}finally{s.webnnOnRunEnd?.(d),s.stackRestore(T),b.forEach(O=>s._OrtReleaseTensor(O)),w.forEach(O=>s._OrtReleaseTensor(O)),v.forEach(O=>s._free(O)),y!==0&&s._OrtReleaseRunOptions(y),g.forEach(O=>s._free(O))}},Mt=e=>{let t=ne(),n=tt.get(e);if(!n)throw new Error(\"invalid session id\");let r=n[0],o=t._OrtEndProfiling(r);o===0&&Y(\"Can't get an profile file name.\"),t._OrtFree(o)},Ut=e=>{let t=[];for(let n of e){let r=n[2];!Array.isArray(r)&&\"buffer\"in r&&t.push(r.buffer)}return t}});var nt,Se,xt,yn,bn,gn,fr,hr,dt,lt,gp,Au,Eu,ku,Pu,zu,Bu,Du,gr=k(()=>{\"use strict\";we();En();He();Et();nt=()=>!!te.wasm.proxy&&typeof document<\"u\",xt=!1,yn=!1,bn=!1,hr=new Map,dt=(e,t)=>{let n=hr.get(e);n?n.push(t):hr.set(e,[t])},lt=()=>{if(xt||!yn||bn||!Se)throw new Error(\"worker not ready\")},gp=e=>{switch(e.data.type){case\"init-wasm\":xt=!1,e.data.err?(bn=!0,fr[1](e.data.err)):(yn=!0,fr[0]()),gn&&(URL.revokeObjectURL(gn),gn=void 0);break;case\"init-ep\":case\"copy-from\":case\"create\":case\"release\":case\"run\":case\"end-profiling\":{let t=hr.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},Au=async()=>{if(!yn){if(xt)throw new Error(\"multiple calls to 'initWasm()' detected.\");if(bn)throw new Error(\"previous call to 'initWasm()' failed.\");if(xt=!0,nt())return new Promise((e,t)=>{Se?.terminate(),to().then(([n,r])=>{try{Se=r,Se.onerror=i=>t(i),Se.onmessage=gp,fr=[e,t];let o={type:\"init-wasm\",in:te};if(!o.in.wasm.wasmPaths&&n){let i=Rt();i&&(o.in.wasm.wasmPaths=i)}Se.postMessage(o),gn=n}catch(o){t(o)}},t)});try{await kt(te.wasm),await Pt(te),yn=!0}catch(e){throw bn=!0,e}finally{xt=!1}}},Eu=async e=>{if(nt())return lt(),new Promise((t,n)=>{dt(\"init-ep\",[t,n]);let r={type:\"init-ep\",in:{epName:e,env:te}};Se.postMessage(r)});await zt(te,e)},ku=async e=>nt()?(lt(),new Promise((t,n)=>{dt(\"copy-from\",[t,n]);let r={type:\"copy-from\",in:{buffer:e}};Se.postMessage(r,[e.buffer])})):ft(e),Pu=async(e,t)=>{if(nt()){if(t?.preferredOutputLocation)throw new Error('session option \"preferredOutputLocation\" is not supported for proxy.');return lt(),new Promise((n,r)=>{dt(\"create\",[n,r]);let o={type:\"create\",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),Se.postMessage(o,i)})}else return Bt(e,t)},zu=async e=>{if(nt())return lt(),new Promise((t,n)=>{dt(\"release\",[t,n]);let r={type:\"release\",in:e};Se.postMessage(r)});Dt(e)},Bu=async(e,t,n,r,o,i)=>{if(nt()){if(n.some(s=>s[3]!==\"cpu\"))throw new Error(\"input tensor on GPU is not supported for proxy.\");if(o.some(s=>s))throw new Error(\"pre-allocated output tensor is not supported for proxy.\");return lt(),new Promise((s,a)=>{dt(\"run\",[s,a]);let u=n,d={type:\"run\",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:r,options:i}};Se.postMessage(d,Ut(u))})}else return Ot(e,t,n,r,o,i)},Du=async e=>{if(nt())return lt(),new Promise((t,n)=>{dt(\"end-profiling\",[t,n]);let r={type:\"end-profiling\",in:e};Se.postMessage(r)});Mt(e)}});var Ou,yp,_n,Mu=k(()=>{\"use strict\";we();gr();N();At();Dn();Ou=(e,t)=>{switch(e.location){case\"cpu\":return[e.type,e.dims,e.data,\"cpu\"];case\"gpu-buffer\":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},\"gpu-buffer\"];case\"ml-tensor\":return[e.type,e.dims,{mlTensor:e.mlTensor},\"ml-tensor\"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},yp=e=>{switch(e[3]){case\"cpu\":return new xe(e[0],e[2],e[1]);case\"gpu-buffer\":{let t=e[0];if(!Lt(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:r,dispose:o}=e[2];return xe.fromGpuBuffer(n,{dataType:t,dims:e[1],download:r,dispose:o})}case\"ml-tensor\":{let t=e[0];if(!Wt(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:r,dispose:o}=e[2];return xe.fromMLTensor(n,{dataType:t,dims:e[1],download:r,dispose:o})}default:throw new Error(`invalid data location: ${e[3]}`)}},_n=class{async fetchModelAndCopyToWasmMemory(t){return ku(await yt(t))}async loadModel(t,n){be();let r;typeof t==\"string\"?r=await this.fetchModelAndCopyToWasmMemory(t):r=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Pu(r,n),ye()}async dispose(){return zu(this.sessionId)}async run(t,n,r){be();let o=[],i=[];Object.entries(t).forEach(p=>{let f=p[0],m=p[1],h=this.inputNames.indexOf(f);if(h===-1)throw new Error(`invalid input '${f}'`);o.push(m),i.push(h)});let s=[],a=[];Object.entries(n).forEach(p=>{let f=p[0],m=p[1],h=this.outputNames.indexOf(f);if(h===-1)throw new Error(`invalid output '${f}'`);s.push(m),a.push(h)});let u=o.map((p,f)=>Ou(p,()=>`input \"${this.inputNames[i[f]]}\"`)),d=s.map((p,f)=>p?Ou(p,()=>`output \"${this.outputNames[a[f]]}\"`):null),l=await Bu(this.sessionId,i,u,a,d,r),c={};for(let p=0;p<l.length;p++)c[this.outputNames[a[p]]]=s[p]??yp(l[p]);return ye(),c}startProfiling(){}endProfiling(){Du(this.sessionId)}}});var Ru={};rt(Ru,{OnnxruntimeWebAssemblyBackend:()=>wn,initializeFlags:()=>Uu,wasmBackend:()=>bp});var Uu,wn,bp,Vu=k(()=>{\"use strict\";we();gr();Mu();Uu=()=>{(typeof te.wasm.initTimeout!=\"number\"||te.wasm.initTimeout<0)&&(te.wasm.initTimeout=0);let e=te.wasm.simd;if(typeof e!=\"boolean\"&&e!==void 0&&e!==\"fixed\"&&e!==\"relaxed\"&&(console.warn(`Property \"env.wasm.simd\" is set to unknown value \"${e}\". Reset it to \\`false\\` and ignore SIMD feature checking.`),te.wasm.simd=!1),typeof te.wasm.proxy!=\"boolean\"&&(te.wasm.proxy=!1),typeof te.wasm.trace!=\"boolean\"&&(te.wasm.trace=!1),typeof te.wasm.numThreads!=\"number\"||!Number.isInteger(te.wasm.numThreads)||te.wasm.numThreads<=0)if(typeof self<\"u\"&&!self.crossOriginIsolated)te.wasm.numThreads=1;else{let t=typeof navigator>\"u\"?vn(\"node:os\").cpus().length:navigator.hardwareConcurrency;te.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},wn=class{async init(t){Uu(),await Au(),await Eu(t)}async createInferenceSessionHandler(t,n){let r=new _n;return await r.loadModel(t,n),r}},bp=new wn});var wp={};rt(wp,{InferenceSession:()=>Lr,TRACE:()=>mt,TRACE_EVENT_BEGIN:()=>Re,TRACE_EVENT_END:()=>Ve,TRACE_FUNC_BEGIN:()=>be,TRACE_FUNC_END:()=>ye,Tensor:()=>xe,default:()=>_p,env:()=>te,registerBackend:()=>Ge});we();we();we();var Kr=\"1.26.0\";var _p=An;{let e=(Vu(),ct(Ru)).wasmBackend;Ge(\"webgpu\",e,5),Ge(\"webnn\",e,5),Ge(\"cpu\",e,10),Ge(\"wasm\",e,10)}Object.defineProperty(te.versions,\"web\",{value:Kr,enumerable:!0});return ct(wp);})();\n/**\n * @license\n * Copyright 2021 Google LLC. All Rights Reserved.\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 */\n/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\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 */\n/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\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 */\ntypeof exports==\"object\"&&typeof module==\"object\"&&(module.exports=ort);\n//# sourceMappingURL=ort.min.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=common.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SileroLegacy = void 0;\nconst logging_1 = require(\"../logging\");\nclass SileroLegacy {\n constructor(ortInstance, _session, _h, _c, _sr) {\n this.ortInstance = ortInstance;\n this._session = _session;\n this._h = _h;\n this._c = _c;\n this._sr = _sr;\n this.reset_state = () => {\n const zeroes = Array(2 * 64).fill(0);\n this._h = new this.ortInstance.Tensor(\"float32\", zeroes, [2, 1, 64]);\n this._c = new this.ortInstance.Tensor(\"float32\", zeroes, [2, 1, 64]);\n };\n this.process = async (audioFrame) => {\n const t = new this.ortInstance.Tensor(\"float32\", audioFrame, [\n 1,\n audioFrame.length,\n ]);\n const inputs = {\n input: t,\n h: this._h,\n c: this._c,\n sr: this._sr,\n };\n const out = await this._session.run(inputs);\n this._h = out[\"hn\"];\n this._c = out[\"cn\"];\n const [isSpeech] = out[\"output\"]?.data;\n const notSpeech = 1 - isSpeech;\n return { notSpeech, isSpeech };\n };\n this.release = async () => {\n await this._session.release();\n this._h.dispose();\n this._c.dispose();\n this._sr.dispose();\n };\n }\n}\nexports.SileroLegacy = SileroLegacy;\n_a = SileroLegacy;\nSileroLegacy.new = async (ortInstance, modelFetcher) => {\n logging_1.log.debug(\"initializing vad\");\n const modelArrayBuffer = await modelFetcher();\n const _session = await ortInstance.InferenceSession.create(modelArrayBuffer);\n const _sr = new ortInstance.Tensor(\"int64\", [16000n]);\n const zeroes = Array(2 * 64).fill(0);\n const _h = new ortInstance.Tensor(\"float32\", zeroes, [2, 1, 64]);\n const _c = new ortInstance.Tensor(\"float32\", zeroes, [2, 1, 64]);\n logging_1.log.debug(\"vad is initialized\");\n const model = new _a(ortInstance, _session, _h, _c, _sr);\n return model;\n};\n//# sourceMappingURL=legacy.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SileroV5 = void 0;\nconst logging_1 = require(\"../logging\");\nfunction getNewState(ortInstance) {\n const zeroes = Array(2 * 128).fill(0);\n return new ortInstance.Tensor(\"float32\", zeroes, [2, 1, 128]);\n}\nclass SileroV5 {\n constructor(_session, _state, _sr, ortInstance) {\n this._session = _session;\n this._state = _state;\n this._sr = _sr;\n this.ortInstance = ortInstance;\n this.reset_state = () => {\n this._state = getNewState(this.ortInstance);\n };\n this.process = async (audioFrame) => {\n const t = new this.ortInstance.Tensor(\"float32\", audioFrame, [\n 1,\n audioFrame.length,\n ]);\n const inputs = {\n input: t,\n state: this._state,\n sr: this._sr,\n };\n const out = await this._session.run(inputs);\n if (!out[\"stateN\"]) {\n throw new Error(\"No state from model\");\n }\n this._state = out[\"stateN\"];\n if (!out[\"output\"]?.data) {\n throw new Error(\"No output from model\");\n }\n const isSpeech = out[\"output\"].data[0];\n if (typeof isSpeech != \"number\") {\n throw new Error(\"Weird output data\");\n }\n const notSpeech = 1 - isSpeech;\n return { notSpeech, isSpeech };\n };\n this.release = async () => {\n await this._session.release();\n this._state.dispose();\n this._sr.dispose();\n };\n }\n}\nexports.SileroV5 = SileroV5;\n_a = SileroV5;\nSileroV5.new = async (ortInstance, modelFetcher) => {\n logging_1.log.debug(\"Loading VAD...\");\n const modelArrayBuffer = await modelFetcher();\n const _session = await ortInstance.InferenceSession.create(modelArrayBuffer);\n const _sr = new ortInstance.Tensor(\"int64\", [16000n]);\n const _state = getNewState(ortInstance);\n logging_1.log.debug(\"...finished loading VAD\");\n return new _a(_session, _state, _sr, ortInstance);\n};\n//# sourceMappingURL=v5.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 __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.SileroV5 = exports.SileroLegacy = void 0;\n__exportStar(require(\"./common\"), exports);\nvar legacy_1 = require(\"./legacy\");\nObject.defineProperty(exports, \"SileroLegacy\", { enumerable: true, get: function () { return legacy_1.SileroLegacy; } });\nvar v5_1 = require(\"./v5\");\nObject.defineProperty(exports, \"SileroV5\", { enumerable: true, get: function () { return v5_1.SileroV5; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Resampler = void 0;\nconst logging_1 = require(\"./logging\");\nclass Resampler {\n constructor(options) {\n this.options = options;\n this.process = (audioFrame) => {\n const outputFrames = [];\n for (const sample of audioFrame) {\n this.inputBuffer.push(sample);\n while (this.hasEnoughDataForFrame()) {\n const outputFrame = this.generateOutputFrame();\n outputFrames.push(outputFrame);\n }\n }\n return outputFrames;\n };\n if (options.nativeSampleRate < 16000) {\n logging_1.log.error(\"nativeSampleRate is too low. Should have 16000 = targetSampleRate <= nativeSampleRate\");\n }\n this.inputBuffer = [];\n }\n async *stream(audioInput) {\n for (const sample of audioInput) {\n this.inputBuffer.push(sample);\n while (this.hasEnoughDataForFrame()) {\n const outputFrame = this.generateOutputFrame();\n yield outputFrame;\n }\n }\n }\n hasEnoughDataForFrame() {\n return ((this.inputBuffer.length * this.options.targetSampleRate) /\n this.options.nativeSampleRate >=\n this.options.targetFrameSize);\n }\n generateOutputFrame() {\n const outputFrame = new Float32Array(this.options.targetFrameSize);\n let outputIndex = 0;\n let inputIndex = 0;\n while (outputIndex < this.options.targetFrameSize) {\n let sum = 0;\n let num = 0;\n while (inputIndex <\n Math.min(this.inputBuffer.length, ((outputIndex + 1) * this.options.nativeSampleRate) /\n this.options.targetSampleRate)) {\n const value = this.inputBuffer[inputIndex];\n if (value !== undefined) {\n sum += value;\n num++;\n }\n inputIndex++;\n }\n outputFrame[outputIndex] = sum / num;\n outputIndex++;\n }\n this.inputBuffer = this.inputBuffer.slice(inputIndex);\n return outputFrame;\n }\n}\nexports.Resampler = Resampler;\n//# sourceMappingURL=resampler.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.NonRealTimeVAD = exports.defaultNonRealTimeVADOptions = void 0;\nconst ortInstance = __importStar(require(\"onnxruntime-web\"));\nconst asset_path_1 = require(\"./asset-path\");\nconst default_model_fetcher_1 = require(\"./default-model-fetcher\");\nconst frame_processor_1 = require(\"./frame-processor\");\nconst messages_1 = require(\"./messages\");\nconst models_1 = require(\"./models\");\nconst resampler_1 = require(\"./resampler\");\nexports.defaultNonRealTimeVADOptions = {\n ...frame_processor_1.defaultFrameProcessorOptions,\n modelURL: asset_path_1.baseAssetPath + \"silero_vad_legacy.onnx\",\n modelFetcher: default_model_fetcher_1.defaultModelFetcher,\n};\nclass NonRealTimeVAD {\n static async new(options = {}) {\n const fullOptions = {\n ...exports.defaultNonRealTimeVADOptions,\n ...options,\n };\n (0, frame_processor_1.validateOptions)(fullOptions);\n if (fullOptions.ortConfig !== undefined) {\n fullOptions.ortConfig(ortInstance);\n }\n const modelFetcher = () => fullOptions.modelFetcher(fullOptions.modelURL);\n const model = await models_1.SileroLegacy.new(ortInstance, modelFetcher);\n const frameProcessor = new frame_processor_1.FrameProcessor(model.process, model.reset_state, {\n positiveSpeechThreshold: fullOptions.positiveSpeechThreshold,\n negativeSpeechThreshold: fullOptions.negativeSpeechThreshold,\n redemptionMs: fullOptions.redemptionMs,\n preSpeechPadMs: fullOptions.preSpeechPadMs,\n minSpeechMs: fullOptions.minSpeechMs,\n submitUserSpeechOnPause: fullOptions.submitUserSpeechOnPause,\n }, 1536 / 16);\n frameProcessor.resume();\n const vad = new this(modelFetcher, ortInstance, fullOptions, frameProcessor);\n return vad;\n }\n constructor(modelFetcher, ort, options, frameProcessor) {\n this.modelFetcher = modelFetcher;\n this.ort = ort;\n this.options = options;\n this.frameProcessor = frameProcessor;\n this.frameSamples = 1536;\n }\n async *run(inputAudio, sampleRate) {\n const resamplerOptions = {\n nativeSampleRate: sampleRate,\n targetSampleRate: 16000,\n targetFrameSize: this.frameSamples,\n };\n const resampler = new resampler_1.Resampler(resamplerOptions);\n let start = 0;\n let end = 0;\n let frameIndex = 0;\n for await (const frame of resampler.stream(inputAudio)) {\n const messageContainer = [];\n await this.frameProcessor.process(frame, (event) => {\n messageContainer.push(event);\n });\n for (const event of messageContainer) {\n switch (event.msg) {\n case messages_1.Message.SpeechStart:\n start = (frameIndex * this.frameSamples) / 16;\n break;\n case messages_1.Message.SpeechEnd:\n end = ((frameIndex + 1) * this.frameSamples) / 16;\n yield { audio: event.audio, start, end };\n break;\n default:\n break;\n }\n }\n frameIndex++;\n }\n const messageContainer = [];\n this.frameProcessor.endSegment((event) => {\n messageContainer.push(event);\n });\n for (const event of messageContainer) {\n switch (event.msg) {\n case messages_1.Message.SpeechEnd:\n yield {\n audio: event.audio,\n start,\n end: (frameIndex * this.frameSamples) / 16,\n };\n }\n }\n }\n}\nexports.NonRealTimeVAD = NonRealTimeVAD;\n//# sourceMappingURL=non-real-time-vad.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.audioFileToArray = exports.encodeWAV = exports.arrayBufferToBase64 = exports.minFramesForTargetMS = void 0;\nfunction minFramesForTargetMS(targetDuration, frameSamples, sr = 16000) {\n return Math.ceil((targetDuration * sr) / 1000 / frameSamples);\n}\nexports.minFramesForTargetMS = minFramesForTargetMS;\nfunction arrayBufferToBase64(buffer) {\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n const binary = new Array(len);\n for (let i = 0; i < len; i++) {\n const byte = bytes[i];\n if (byte === undefined) {\n break;\n }\n binary[i] = String.fromCharCode(byte);\n }\n return btoa(binary.join(\"\"));\n}\nexports.arrayBufferToBase64 = arrayBufferToBase64;\n/*\nThis rest of this was mostly copied from https://github.com/linto-ai/WebVoiceSDK\n*/\nfunction encodeWAV(samples, format = 3, sampleRate = 16000, numChannels = 1, bitDepth = 32) {\n const bytesPerSample = bitDepth / 8;\n const blockAlign = numChannels * bytesPerSample;\n const buffer = new ArrayBuffer(44 + samples.length * bytesPerSample);\n const view = new DataView(buffer);\n /* RIFF identifier */\n writeString(view, 0, \"RIFF\");\n /* RIFF chunk length */\n view.setUint32(4, 36 + samples.length * bytesPerSample, true);\n /* RIFF type */\n writeString(view, 8, \"WAVE\");\n /* format chunk identifier */\n writeString(view, 12, \"fmt \");\n /* format chunk length */\n view.setUint32(16, 16, true);\n /* sample format (raw) */\n view.setUint16(20, format, true);\n /* channel count */\n view.setUint16(22, numChannels, true);\n /* sample rate */\n view.setUint32(24, sampleRate, true);\n /* byte rate (sample rate * block align) */\n view.setUint32(28, sampleRate * blockAlign, true);\n /* block align (channel count * bytes per sample) */\n view.setUint16(32, blockAlign, true);\n /* bits per sample */\n view.setUint16(34, bitDepth, true);\n /* data chunk identifier */\n writeString(view, 36, \"data\");\n /* data chunk length */\n view.setUint32(40, samples.length * bytesPerSample, true);\n if (format === 1) {\n // Raw PCM\n floatTo16BitPCM(view, 44, samples);\n }\n else {\n writeFloat32(view, 44, samples);\n }\n return buffer;\n}\nexports.encodeWAV = encodeWAV;\nfunction writeFloat32(output, offset, input) {\n for (let i = 0; i < input.length; i++, offset += 4) {\n output.setFloat32(offset, input[i], true);\n }\n}\nfunction floatTo16BitPCM(output, offset, input) {\n for (let i = 0; i < input.length; i++, offset += 2) {\n const s = Math.max(-1, Math.min(1, input[i]));\n output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n}\nfunction writeString(view, offset, string) {\n for (let i = 0; i < string.length; i++) {\n view.setUint8(offset + i, string.charCodeAt(i));\n }\n}\nasync function audioFileToArray(audioFileData) {\n const ctx = new OfflineAudioContext(1, 1, 44100);\n const reader = new FileReader();\n let audioBuffer = null;\n await new Promise((res) => {\n reader.addEventListener(\"loadend\", () => {\n const audioData = reader.result;\n void ctx.decodeAudioData(audioData, (buffer) => {\n audioBuffer = buffer;\n ctx\n .startRendering()\n .then(() => {\n console.log(\"Rendering completed successfully\");\n res();\n })\n .catch((err) => {\n console.error(\"Rendering failed: \", err);\n });\n }, (e) => {\n console.log(\"Error with decoding audio data: \", e);\n });\n });\n reader.readAsArrayBuffer(audioFileData);\n });\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (audioBuffer === null) {\n throw Error(\"some shit\");\n }\n const _audioBuffer = audioBuffer;\n const out = new Float32Array(_audioBuffer.length);\n for (let i = 0; i < _audioBuffer.length; i++) {\n for (let j = 0; j < _audioBuffer.numberOfChannels; j++) {\n const sample = _audioBuffer.getChannelData(j)[i];\n const current = out[i];\n if (sample === undefined || current === undefined) {\n throw new Error(\"sample or out[i] is undefined\");\n }\n out[i] = current + sample;\n }\n }\n return { audio: out, sampleRate: _audioBuffer.sampleRate };\n}\nexports.audioFileToArray = audioFileToArray;\n//# sourceMappingURL=utils.js.map","/*!\n * ONNX Runtime Web v1.26.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\"use strict\";var ort=(()=>{var Je=Object.defineProperty;var Bn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var Pn=Object.prototype.hasOwnProperty;var qe=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var Se=(e,t)=>{for(var n in t)Je(e,n,{get:t[n],enumerable:!0})},_n=(e,t,n,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let r of Ln(t))!Pn.call(e,r)&&r!==n&&Je(e,r,{get:()=>t[r],enumerable:!(o=Bn(t,r))||o.enumerable});return e};var Ye=e=>_n(Je({},\"__esModule\",{value:!0}),e);var Te,K,se,Dn,bt,Ze=E(()=>{\"use strict\";Te=new Map,K=[],se=(e,t,n)=>{if(t&&typeof t.init==\"function\"&&typeof t.createInferenceSessionHandler==\"function\"){let o=Te.get(e);if(o===void 0)Te.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend \"${e}\" using priority ${n}`)}if(n>=0){let r=K.indexOf(e);r!==-1&&K.splice(r,1);for(let i=0;i<K.length;i++)if(Te.get(K[i]).priority<=n){K.splice(i,0,e);return}K.push(e)}return}throw new TypeError(\"not a valid backend\")},Dn=async e=>{let t=Te.get(e);if(!t)return\"backend not found.\";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},bt=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u==\"string\"?u:u.name),o=n.length===0?K:n,r,i=[],s=new Set;for(let u of o){let f=await Dn(u);typeof f==\"string\"?i.push({name:u,err:f}):(r||(r=f),r===f&&s.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(\", \")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider \"${u}\" from session options because it is not available: ${f}`);let a=t.filter(u=>s.has(typeof u==\"string\"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f===\"executionProviders\"?a:Reflect.get(u,f)})]}});var yt=E(()=>{\"use strict\";Ze()});var gt,Et=E(()=>{\"use strict\";gt=\"1.26.0\"});var St,_,Xe=E(()=>{\"use strict\";Et();St=\"warning\",_={wasm:{},webgl:{},webgpu:{},versions:{common:gt},set logLevel(e){if(e!==void 0){if(typeof e!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);St=e}},get logLevel(){return St}};Object.defineProperty(_,\"logLevel\",{enumerable:!0})});var A,Tt=E(()=>{\"use strict\";Xe();A=_});var It,At,Ot=E(()=>{\"use strict\";It=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext(\"2d\");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let s=t?.format!==void 0?t.format:\"RGB\",a=t?.norm,u,f;a===void 0||a.mean===void 0?u=[255,255,255,255]:typeof a.mean==\"number\"?u=[a.mean,a.mean,a.mean,a.mean]:(u=[a.mean[0],a.mean[1],a.mean[2],0],a.mean[3]!==void 0&&(u[3]=a.mean[3])),a===void 0||a.bias===void 0?f=[0,0,0,0]:typeof a.bias==\"number\"?f=[a.bias,a.bias,a.bias,a.bias]:(f=[a.bias[0],a.bias[1],a.bias[2],0],a.bias[3]!==void 0&&(f[3]=a.bias[3]));let l=i*r,c=0,d=l,p=l*2,h=-1;s===\"RGBA\"?(c=0,d=l,p=l*2,h=l*3):s===\"RGB\"?(c=0,d=l,p=l*2):s===\"RBG\"&&(c=0,p=l,d=l*2);for(let y=0;y<i;y++)for(let O=0;O<r;O++){let m=(e.data[c++]-f[0])*u[0],w=(e.data[d++]-f[1])*u[1],B=(e.data[p++]-f[2])*u[2],g=h===-1?255:(e.data[h++]-f[3])*u[3];o.fillStyle=\"rgba(\"+m+\",\"+w+\",\"+B+\",\"+g+\")\",o.fillRect(O,y,1,1)}if(\"toDataURL\"in n)return n.toDataURL();throw new Error(\"toDataURL is not supported\")}else throw new Error(\"Can not access image data\")},At=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\").getContext(\"2d\"):new OffscreenCanvas(1,1).getContext(\"2d\"),o;if(n!=null){let r,i,s;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(r=e.dims[2],i=e.dims[1],s=e.dims[3]):(r=e.dims[3],i=e.dims[2],s=e.dims[1]);let a=t!==void 0&&t.format!==void 0?t.format:\"RGB\",u=t?.norm,f,l;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean==\"number\"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?l=[0,0,0,0]:typeof u.bias==\"number\"?l=[u.bias,u.bias,u.bias,u.bias]:(l=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(l[3]=u.bias[3]));let c=i*r;if(t!==void 0&&(t.format!==void 0&&s===4&&t.format!==\"RGBA\"||s===3&&t.format!==\"RGB\"&&t.format!==\"BGR\"))throw new Error(\"Tensor format doesn't match input tensor dims\");let d=4,p=0,h=1,y=2,O=3,m=0,w=c,B=c*2,g=-1;a===\"RGBA\"?(m=0,w=c,B=c*2,g=c*3):a===\"RGB\"?(m=0,w=c,B=c*2):a===\"RBG\"&&(m=0,B=c,w=c*2),o=n.createImageData(r,i);for(let T=0;T<i*r;p+=d,h+=d,y+=d,O+=d,T++)o.data[p]=(e.data[m++]-l[0])*f[0],o.data[h]=(e.data[w++]-l[1])*f[1],o.data[y]=(e.data[B++]-l[2])*f[2],o.data[O]=g===-1?255:(e.data[g++]-l[3])*f[3]}else throw new Error(\"Can not access image data\");return o}});var Ke,Bt,Lt,Pt,_t,Dt,Ut=E(()=>{\"use strict\";Ie();Ke=(e,t)=>{if(e===void 0)throw new Error(\"Image buffer must be defined\");if(t.height===void 0||t.width===void 0)throw new Error(\"Image height and width must be defined\");if(t.tensorLayout===\"NHWC\")throw new Error(\"NHWC Tensor layout is not supported yet\");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,s;typeof r.mean==\"number\"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias==\"number\"?s=[r.bias,r.bias,r.bias,r.bias]:s=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let a=t.format!==void 0?t.format:\"RGBA\",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:\"RGB\",f=n*o,l=u===\"RGBA\"?new Float32Array(f*4):new Float32Array(f*3),c=4,d=0,p=1,h=2,y=3,O=0,m=f,w=f*2,B=-1;a===\"RGB\"&&(c=3,d=0,p=1,h=2,y=-1),u===\"RGBA\"?B=f*3:u===\"RBG\"?(O=0,w=f,m=f*2):u===\"BGR\"&&(w=0,m=f,O=f*2);for(let T=0;T<f;T++,d+=c,h+=c,p+=c,y+=c)l[O++]=(e[d]+s[0])/i[0],l[m++]=(e[p]+s[1])/i[1],l[w++]=(e[h]+s[2])/i[2],B!==-1&&y!==-1&&(l[B++]=(e[y]+s[3])/i[3]);return u===\"RGBA\"?new x(\"float32\",l,[1,4,n,o]):new x(\"float32\",l,[1,3,n,o])},Bt=async(e,t)=>{let n=typeof HTMLImageElement<\"u\"&&e instanceof HTMLImageElement,o=typeof ImageData<\"u\"&&e instanceof ImageData,r=typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap,i=typeof e==\"string\",s,a=t??{},u=()=>{if(typeof document<\"u\")return document.createElement(\"canvas\");if(typeof OffscreenCanvas<\"u\")return new OffscreenCanvas(1,1);throw new Error(\"Canvas is not supported\")},f=l=>typeof HTMLCanvasElement<\"u\"&&l instanceof HTMLCanvasElement||l instanceof OffscreenCanvas?l.getContext(\"2d\"):null;if(n){let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(a=t,t.tensorFormat!==void 0)throw new Error(\"Image input config format must be RGBA for HTMLImageElement\");a.tensorFormat=\"RGBA\",a.height=d,a.width=p}else a.tensorFormat=\"RGBA\",a.height=d,a.width=p;c.drawImage(e,0,0),s=c.getImageData(0,0,p,d).data}else throw new Error(\"Can not access image data\")}else if(o){let l,c;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(l=t.resizedHeight,c=t.resizedWidth):(l=e.height,c=e.width),t!==void 0&&(a=t),a.format=\"RGBA\",a.height=l,a.width=c,t!==void 0){let d=u();d.width=c,d.height=l;let p=f(d);if(p!=null)p.putImageData(e,0,0),s=p.getImageData(0,0,c,l).data;else throw new Error(\"Can not access image data\")}else s=e.data}else if(r){if(t===void 0)throw new Error(\"Please provide image config with format for Imagebitmap\");let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;return c.drawImage(e,0,0,p,d),s=c.getImageData(0,0,p,d).data,a.height=d,a.width=p,Ke(s,a)}else throw new Error(\"Can not access image data\")}else{if(i)return new Promise((l,c)=>{let d=u(),p=f(d);if(!e||!p)return c();let h=new Image;h.crossOrigin=\"Anonymous\",h.src=e,h.onload=()=>{d.width=h.width,d.height=h.height,p.drawImage(h,0,0,d.width,d.height);let y=p.getImageData(0,0,d.width,d.height);a.height=d.height,a.width=d.width,l(Ke(y.data,a))}});throw new Error(\"Input data provided is not supported - aborted tensor creation\")}if(s!==void 0)return Ke(s,a);throw new Error(\"Input data provided is not supported - aborted tensor creation\")},Lt=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,s=[1,o,n,4];return new x({location:\"texture\",type:\"float32\",texture:e,dims:s,download:r,dispose:i})},Pt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new x({location:\"gpu-buffer\",type:n??\"float32\",gpuBuffer:e,dims:o,download:r,dispose:i})},_t=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new x({location:\"ml-tensor\",type:n??\"float32\",mlTensor:e,dims:o,download:r,dispose:i})},Dt=(e,t,n)=>new x({location:\"cpu-pinned\",type:e,data:t,dims:n??[t.length]})});var Q,me,xt,vt,Ct=E(()=>{\"use strict\";Q=new Map([[\"float32\",Float32Array],[\"uint8\",Uint8Array],[\"int8\",Int8Array],[\"uint16\",Uint16Array],[\"int16\",Int16Array],[\"int32\",Int32Array],[\"bool\",Uint8Array],[\"float64\",Float64Array],[\"uint32\",Uint32Array],[\"int4\",Uint8Array],[\"uint4\",Uint8Array]]),me=new Map([[Float32Array,\"float32\"],[Uint8Array,\"uint8\"],[Int8Array,\"int8\"],[Uint16Array,\"uint16\"],[Int16Array,\"int16\"],[Int32Array,\"int32\"],[Float64Array,\"float64\"],[Uint32Array,\"uint32\"]]),xt=!1,vt=()=>{if(!xt){xt=!0;let e=typeof BigInt64Array<\"u\"&&BigInt64Array.from,t=typeof BigUint64Array<\"u\"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<\"u\"&&n.from;e&&(Q.set(\"int64\",BigInt64Array),me.set(BigInt64Array,\"int64\")),t&&(Q.set(\"uint64\",BigUint64Array),me.set(BigUint64Array,\"uint64\")),o?(Q.set(\"float16\",n),me.set(n,\"float16\")):Q.set(\"float16\",Uint16Array)}}});var Mt,Rt,Ft=E(()=>{\"use strict\";Ie();Mt=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!=\"number\"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},Rt=(e,t)=>{switch(e.location){case\"cpu\":return new x(e.type,e.data,t);case\"cpu-pinned\":return new x({location:\"cpu-pinned\",data:e.data,type:e.type,dims:t});case\"texture\":return new x({location:\"texture\",texture:e.texture,type:e.type,dims:t});case\"gpu-buffer\":return new x({location:\"gpu-buffer\",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case\"ml-tensor\":return new x({location:\"ml-tensor\",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var x,Ie=E(()=>{\"use strict\";Ot();Ut();Ct();Ft();x=class{constructor(t,n,o){vt();let r,i;if(typeof t==\"object\"&&\"location\"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case\"cpu-pinned\":{let a=Q.get(r);if(!a)throw new TypeError(`unsupported type \"${r}\" to create tensor from pinned buffer`);if(!(t.data instanceof a))throw new TypeError(`buffer should be of type ${a.name}`);this.cpuData=t.data;break}case\"texture\":{if(r!==\"float32\")throw new TypeError(`unsupported type \"${r}\" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case\"gpu-buffer\":{if(r!==\"float32\"&&r!==\"float16\"&&r!==\"int32\"&&r!==\"int64\"&&r!==\"uint32\"&&r!==\"uint8\"&&r!==\"bool\"&&r!==\"uint4\"&&r!==\"int4\")throw new TypeError(`unsupported type \"${r}\" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case\"ml-tensor\":{if(r!==\"float32\"&&r!==\"float16\"&&r!==\"int32\"&&r!==\"int64\"&&r!==\"uint32\"&&r!==\"uint64\"&&r!==\"int8\"&&r!==\"uint8\"&&r!==\"bool\"&&r!==\"uint4\"&&r!==\"int4\")throw new TypeError(`unsupported type \"${r}\" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,u;if(typeof t==\"string\")if(r=t,u=o,t===\"string\"){if(!Array.isArray(n))throw new TypeError(\"A string tensor's data must be a string array.\");a=n}else{let f=Q.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t===\"float16\"&&f===Uint16Array||t===\"uint4\"||t===\"int4\")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t===\"uint64\"||t===\"int64\"?a=f.from(n,BigInt):a=f.from(n)}else if(n instanceof f)a=n;else if(n instanceof Uint8ClampedArray)if(t===\"uint8\")a=Uint8Array.from(n);else throw new TypeError(\"A Uint8ClampedArray tensor's data must be type of uint8\");else if(t===\"float16\"&&n instanceof Uint16Array&&f!==Uint16Array)a=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError(\"Tensor type cannot be inferred from an empty array.\");let f=typeof t[0];if(f===\"string\")r=\"string\",a=t;else if(f===\"boolean\")r=\"bool\",a=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r=\"uint8\",a=Uint8Array.from(t);else{let f=me.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,a=t}if(u===void 0)u=[a.length];else if(!Array.isArray(u))throw new TypeError(\"A tensor's dims must be a number array\");i=u,this.cpuData=a,this.dataLocation=\"cpu\"}let s=Mt(i);if(this.cpuData&&s!==this.cpuData.length&&!((r===\"uint4\"||r===\"int4\")&&Math.ceil(s/2)===this.cpuData.length))throw new Error(`Tensor's size(${s}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=s}static async fromImage(t,n){return Bt(t,n)}static fromTexture(t,n){return Lt(t,n)}static fromGpuBuffer(t,n){return Pt(t,n)}static fromMLTensor(t,n){return _t(t,n)}static fromPinnedBuffer(t,n,o){return Dt(t,n,o)}toDataURL(t){return It(this,t)}toImageData(t){return At(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error(\"The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.\");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error(\"The data is not stored as a WebGL texture.\");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error(\"The data is not stored as a WebGPU buffer.\");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error(\"The data is not stored as a WebNN MLTensor.\");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case\"cpu\":case\"cpu-pinned\":return this.data;case\"texture\":case\"gpu-buffer\":case\"ml-tensor\":{if(!this.downloader)throw new Error(\"The current tensor is not created with a specified data downloader.\");if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation=\"cpu\",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=\"none\"}ensureValid(){if(this.dataLocation===\"none\")throw new Error(\"The tensor is disposed.\")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error(\"Cannot reshape a tensor that owns GPU resource.\");return Rt(this,t)}}});var k,Qe=E(()=>{\"use strict\";Ie();k=x});var et,Nt,J,q,Y,Z,tt=E(()=>{\"use strict\";Xe();et=(e,t)=>{(typeof _.trace>\"u\"?!_.wasm.trace:!_.trace)||console.timeStamp(`${e}::ORT::${t}`)},Nt=(e,t)=>{let n=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes(\"TRACE_FUNC\")){let i=`FUNC_${e}::${n[r].trim().split(\" \")[1]}`;t&&(i+=`::${t}`),et(\"CPU\",i);return}n[r].includes(\"TRACE_FUNC\")&&(o=!0)}},J=e=>{(typeof _.trace>\"u\"?!_.wasm.trace:!_.trace)||Nt(\"BEGIN\",e)},q=e=>{(typeof _.trace>\"u\"?!_.wasm.trace:!_.trace)||Nt(\"END\",e)},Y=e=>{(typeof _.trace>\"u\"?!_.wasm.trace:!_.trace)||console.time(`ORT::${e}`)},Z=e=>{(typeof _.trace>\"u\"?!_.wasm.trace:!_.trace)||console.timeEnd(`ORT::${e}`)}});var Ae,kt=E(()=>{\"use strict\";Ze();Qe();tt();Ae=class e{constructor(t){this.handler=t}async run(t,n,o){J(),Y(\"InferenceSession.run\");let r={},i={};if(typeof t!=\"object\"||t===null||t instanceof k||Array.isArray(t))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let s=!0;if(typeof n==\"object\"){if(n===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(n instanceof k)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(n)){if(n.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");s=!1;for(let f of n){if(typeof f!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o==\"object\"&&o!==null)i=o;else if(typeof o<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let f=!1,l=Object.getOwnPropertyNames(n);for(let c of this.outputNames)if(l.indexOf(c)!==-1){let d=n[c];(d===null||d instanceof k)&&(f=!0,s=!1,r[c]=d)}if(f){if(typeof o==\"object\"&&o!==null)i=o;else if(typeof o<\"u\")throw new TypeError(\"'options' must be an object.\")}else i=n}}else if(typeof n<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let f of this.inputNames)if(typeof t[f]>\"u\")throw new Error(`input '${f}' is missing in 'feeds'.`);if(s)for(let f of this.outputNames)r[f]=null;let a=await this.handler.run(t,r,i),u={};for(let f in a)if(Object.hasOwnProperty.call(a,f)){let l=a[f];l instanceof k?u[f]=l:u[f]=new k(l.type,l.data,l.dims)}return Z(\"InferenceSession.run\"),q(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){J(),Y(\"InferenceSession.create\");let i,s={};if(typeof t==\"string\"){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof Uint8Array){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&t instanceof SharedArrayBuffer){let l=t,c=0,d=t.byteLength;if(typeof n==\"object\"&&n!==null)s=n;else if(typeof n==\"number\"){if(c=n,!Number.isSafeInteger(c))throw new RangeError(\"'byteOffset' must be an integer.\");if(c<0||c>=l.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${l.byteLength}).`);if(d=t.byteLength-c,typeof o==\"number\"){if(d=o,!Number.isSafeInteger(d))throw new RangeError(\"'byteLength' must be an integer.\");if(d<=0||c+d>l.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${l.byteLength-c}].`);if(typeof r==\"object\"&&r!==null)s=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(typeof o<\"u\")throw new TypeError(\"'byteLength' must be a number.\")}else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\");i=new Uint8Array(l,c,d)}else throw new TypeError(\"Unexpected argument[0]: must be 'path' or 'buffer'.\");let[a,u]=await bt(s),f=await a.createInferenceSessionHandler(i,u);return Z(\"InferenceSession.create\"),q(),new e(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Wt,Gt=E(()=>{\"use strict\";kt();Wt=Ae});var $t=E(()=>{\"use strict\"});var zt=E(()=>{\"use strict\"});var Ht=E(()=>{\"use strict\"});var jt=E(()=>{\"use strict\"});var nt={};Se(nt,{InferenceSession:()=>Wt,TRACE:()=>et,TRACE_EVENT_BEGIN:()=>Y,TRACE_EVENT_END:()=>Z,TRACE_FUNC_BEGIN:()=>J,TRACE_FUNC_END:()=>q,Tensor:()=>k,env:()=>A,registerBackend:()=>se});var X=E(()=>{\"use strict\";yt();Tt();Gt();Qe();$t();zt();tt();Ht();jt()});var Oe=E(()=>{\"use strict\"});var Yt={};Se(Yt,{default:()=>Un});var Jt,qt,Un,Zt=E(()=>{\"use strict\";rt();ee();Be();Jt=\"ort-wasm-proxy-worker\",qt=globalThis.self?.name===Jt;qt&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case\"init-wasm\":Le(n.wasm).then(()=>{Pe(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case\"init-ep\":{let{epName:o,env:r}=n;_e(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case\"copy-from\":{let{buffer:o}=n,r=we(o);postMessage({type:t,out:r});break}case\"create\":{let{model:o,options:r}=n;De(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case\"release\":Ue(n),postMessage({type:t});break;case\"run\":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:s,options:a}=n;xe(o,r,i,s,new Array(s.length).fill(null),a).then(u=>{u.some(f=>f[3]!==\"cpu\")?postMessage({type:t,err:\"Proxy does not support non-cpu tensor location.\"}):postMessage({type:t,out:u},Ce([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case\"end-profiling\":ve(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});Un=qt?null:e=>new Worker(e??R,{type:\"classic\",name:Jt})});var xn,vn,R,Me,ot,Cn,Mn,Qt,Rn,Xt,en,Kt,tn,Be=E(()=>{\"use strict\";Oe();xn=typeof location>\"u\"?void 0:location.origin,vn=()=>{if(!!1)return typeof document<\"u\"?document.currentScript?.src:typeof self<\"u\"?self.location?.href:void 0},R=vn(),Me=()=>{if(R&&!R.startsWith(\"blob:\"))return R.substring(0,R.lastIndexOf(\"/\")+1)},ot=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===xn}catch{return!1}},Cn=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Mn=(e,t)=>`${t??\"./\"}${e}`,Qt=async e=>{let n=await(await fetch(e,{credentials:\"same-origin\"})).blob();return URL.createObjectURL(n)},Rn=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Xt=(Zt(),Ye(Yt)).default,en=async()=>{if(!R)throw new Error(\"Failed to load proxy worker: cannot determine the script source URL.\");if(ot(R))return[void 0,Xt()];let e=await Qt(R);return[e,Xt(e)]},Kt=void 0,tn=async(e,t,n,o)=>{let r=Kt&&!(e||t);if(r)if(R)r=ot(R)||o&&!n;else if(o&&!n)r=!0;else throw new Error(\"cannot determine the script source URL.\");if(r)return[void 0,Kt];{let i=\"ort-wasm-simd-threaded.mjs\",s=e??Cn(i,t),a=!!1&&n&&s&&!ot(s,t),u=a?await Qt(s):s??Mn(i,t);return[a?u:void 0,await Rn(u)]}}});var st,it,Re,nn,Fn,Nn,kn,Le,I,ee=E(()=>{\"use strict\";Be();it=!1,Re=!1,nn=!1,Fn=()=>{if(typeof SharedArrayBuffer>\"u\")return!1;try{return typeof MessageChannel<\"u\"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Nn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},kn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Le=async e=>{if(it)return Promise.resolve();if(Re)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(nn)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");Re=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===\"relaxed\"){if(!kn())throw new Error(\"Relaxed WebAssembly SIMD is not supported in the current environment.\")}else if(!Nn())throw new Error(\"WebAssembly SIMD is not supported in the current environment.\")}let o=Fn();n>1&&!o&&(typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+n+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),console.warn(\"WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading.\"),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r==\"string\"?r:void 0,s=r?.mjs,a=s?.href??s,u=r?.wasm,f=u?.href??u,l=e.wasmBinary,[c,d]=await tn(a,i,n>1,!!l||!!f),p=!1,h=[];if(t>0&&h.push(new Promise(y=>{setTimeout(()=>{p=!0,y()},t)})),h.push(new Promise((y,O)=>{let m={numThreads:n};if(l)m.wasmBinary=l,m.locateFile=w=>w;else if(f||i)m.locateFile=w=>f??i+w;else if(a&&a.indexOf(\"blob:\")!==0)m.locateFile=w=>new URL(w,a).href;else if(c){let w=Me();w&&(m.locateFile=B=>w+B)}d(m).then(w=>{Re=!1,it=!0,st=w,y(),c&&URL.revokeObjectURL(c)},w=>{Re=!1,nn=!0,O(w)})})),await Promise.race(h),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},I=()=>{if(it&&st)return st;throw new Error(\"WebAssembly is not initialized yet.\")}});var F,he,S,Fe=E(()=>{\"use strict\";ee();F=(e,t)=>{let n=I(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},he=(e,t,n,o)=>{if(typeof e==\"object\"&&e!==null){if(n.has(e))throw new Error(\"Circular reference in options\");n.add(e)}Object.entries(e).forEach(([r,i])=>{let s=t?t+r:r;if(typeof i==\"object\")he(i,s+\".\",n,o);else if(typeof i==\"string\"||typeof i==\"number\")o(s,i.toString());else if(typeof i==\"boolean\")o(s,i?\"1\":\"0\");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},S=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?\"i32\":\"i64\")),s=t.getValue(r+o,\"*\"),a=s?t.UTF8ToString(s):\"\";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{t.stackRestore(n)}}});var rn,on=E(()=>{\"use strict\";ee();Fe();rn=e=>{let t=I(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=\"number\"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=\"number\"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=F(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&S(\"Can't create run options.\"),e?.extra!==void 0&&he(e.extra,\"\",new WeakSet,(s,a)=>{let u=F(s,o),f=F(a,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&S(`Can't set a run config entry: ${s} - ${a}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),i}}});var Wn,Gn,$n,ie,zn,sn,an=E(()=>{\"use strict\";ee();Fe();Wn=e=>{switch(e){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"layout\":return 3;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Gn=e=>{switch(e){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},$n=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly=\"1\"),e.executionProviders&&e.executionProviders.some(n=>(typeof n==\"string\"?n:n.name)===\"webgpu\")&&(e.enableMemPattern=!1)},ie=(e,t,n,o)=>{let r=F(t,o),i=F(n,o);I()._OrtAddSessionConfigEntry(e,r,i)!==0&&S(`Can't set a session config entry: ${t} - ${n}.`)},zn=async(e,t,n)=>{let o=t.executionProviders;for(let r of o){let i=typeof r==\"string\"?r:r.name,s=[];switch(i){case\"webnn\":if(i=\"WEBNN\",ie(e,\"session.disable_quant_qdq\",\"1\",n),ie(e,\"session.disable_qdq_constant_folding\",\"1\",n),typeof r!=\"string\"){let d=r?.deviceType;d&&ie(e,\"deviceType\",d,n)}break;case\"webgpu\":if(i=\"JS\",typeof r!=\"string\"){let c=r;if(c?.preferredLayout){if(c.preferredLayout!==\"NCHW\"&&c.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);ie(e,\"preferredLayout\",c.preferredLayout,n)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${i}`)}let a=F(i,n),u=s.length,f=0,l=0;if(u>0){f=I()._malloc(u*I().PTR_SIZE),n.push(f),l=I()._malloc(u*I().PTR_SIZE),n.push(l);for(let c=0;c<u;c++)I().setValue(f+c*I().PTR_SIZE,s[c][0],\"*\"),I().setValue(l+c*I().PTR_SIZE,s[c][1],\"*\")}await I()._OrtAppendExecutionProvider(e,a,f,l,u)!==0&&S(`Can't append execution provider: ${i}.`)}},sn=async e=>{let t=I(),n=0,o=[],r=e||{};$n(r);try{let i=Wn(r.graphOptimizationLevel??\"all\"),s=Gn(r.executionMode??\"sequential\"),a=typeof r.logId==\"string\"?F(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let l=typeof r.optimizedModelFilePath==\"string\"?F(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,a,u,f,l),n===0&&S(\"Can't create session options.\"),r.executionProviders&&await zn(n,r,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);ie(n,\"enableGraphCapture\",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[c,d]of Object.entries(r.freeDimensionOverrides)){if(typeof c!=\"string\")throw new Error(`free dimension override name must be a string: ${c}`);if(typeof d!=\"number\"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=F(c,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&S(`Can't set a free dimension override: ${c} - ${d}.`)}return r.extra!==void 0&&he(r.extra,\"\",new WeakSet,(c,d)=>{ie(n,c,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&S(\"Can't release session options.\"),o.forEach(s=>t._free(s)),i}}});var ae,Ne,ue,un,fn,ke,We,cn,at=E(()=>{\"use strict\";ae=e=>{switch(e){case\"int8\":return 3;case\"uint8\":return 2;case\"bool\":return 9;case\"int16\":return 5;case\"uint16\":return 4;case\"int32\":return 6;case\"uint32\":return 12;case\"float16\":return 10;case\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;case\"int4\":return 22;case\"uint4\":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Ne=e=>{switch(e){case 3:return\"int8\";case 2:return\"uint8\";case 9:return\"bool\";case 5:return\"int16\";case 4:return\"uint16\";case 6:return\"int32\";case 12:return\"uint32\";case 10:return\"float16\";case 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";case 22:return\"int4\";case 21:return\"uint4\";default:throw new Error(`unsupported data type: ${e}`)}},ue=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t==\"number\"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},un=e=>{switch(e){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?Float16Array:Uint16Array;case\"float32\":return Float32Array;case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"bool\":return Uint8Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},fn=e=>{switch(e){case\"verbose\":return 0;case\"info\":return 1;case\"warning\":return 2;case\"error\":return 3;case\"fatal\":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},ke=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",We=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint64\"||e===\"int8\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",cn=e=>{switch(e){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;case\"ml-tensor\":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var be,ut=E(()=>{\"use strict\";Oe();be=async e=>{if(typeof e==\"string\")if(!1)try{let{readFile:t}=qe(\"node:fs/promises\");return new Uint8Array(await t(e))}catch(t){if(t.code===\"ERR_FS_FILE_TOO_LARGE\"){let{createReadStream:n}=qe(\"node:fs\"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get(\"Content-Length\"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(a){if(a instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw a}let s=0;for(;;){let{done:a,value:u}=await r.read();if(a)break;let f=u.byteLength;new Uint8Array(i,s,f).set(u),s+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var Hn,Pe,_e,fe,jn,dn,we,De,Ue,ln,xe,ve,Ce,rt=E(()=>{\"use strict\";X();on();an();at();ee();Fe();ut();Hn=(e,t)=>{I()._OrtInit(e,t)!==0&&S(\"Can't initialize onnxruntime.\")},Pe=async e=>{Hn(e.wasm.numThreads,fn(e.logLevel))},_e=async(e,t)=>{I().asyncInit?.();let n=e.webgpu.adapter;if(t===\"webgpu\"){if(typeof navigator>\"u\"||!navigator.gpu)throw new Error(\"WebGPU is not supported in current environment\");if(n){if(typeof n.limits!=\"object\"||typeof n.features!=\"object\"||typeof n.requestDevice!=\"function\")throw new Error(\"Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.\")}else{let o=e.webgpu.powerPreference;if(o!==void 0&&o!==\"low-power\"&&o!==\"high-performance\")throw new Error(`Invalid powerPreference setting: \"${o}\"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!=\"boolean\")throw new Error(`Invalid forceFallbackAdapter setting: \"${r}\"`);if(n=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:r}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag \"--enable-unsafe-webgpu\" if you are using Chrome.')}}if(t===\"webnn\"&&(typeof navigator>\"u\"||!navigator.ml))throw new Error(\"WebNN is not supported in current environment\")},fe=new Map,jn=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&S(\"Can't get session input/output count.\");let s=o===4?\"i32\":\"i64\";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},dn=(e,t)=>{let n=I(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,s=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,s,s+i)!==0&&S(\"Can't get session input/output metadata.\");let u=Number(n.getValue(s,\"*\"));r=Number(n.getValue(s+i,\"*\"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let l=n.HEAPU32[r/4+1],c=[];for(let d=0;d<l;d++){let p=Number(n.getValue(r+8+d*i,\"*\"));c.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+l)*i,\"*\")))}return[u,f,c]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},we=e=>{let t=I(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},De=async(e,t)=>{let n,o,r=I();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=we(e);let i=0,s=0,a=0,u=[],f=[],l=[];try{if([s,u]=await sn(t),t?.externalData&&r.mountExternalData){let g=[];for(let T of t.externalData){let U=typeof T==\"string\"?T:T.path;g.push(be(typeof T==\"string\"?T:T.data).then(M=>{r.mountExternalData(U,M)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g==\"string\"?g:g.name)===\"webnn\"){if(r.shouldTransferToMLTensor=!1,typeof g!=\"string\"){let U=g,M=U?.context,v=U?.gpuDevice,le=U?.deviceType,re=U?.powerPreference;M?r.currentContext=M:v?r.currentContext=await r.webnnCreateMLContext(v):r.currentContext=await r.webnnCreateMLContext({deviceType:le,powerPreference:re})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(i),i===0&&S(\"Can't create a session.\"),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[c,d]=jn(i),p=!!t?.enableGraphCapture,h=[],y=[],O=[],m=[],w=[];for(let g=0;g<c;g++){let[T,U,M]=dn(i,g);T===0&&S(\"Can't get an input name.\"),f.push(T);let v=r.UTF8ToString(T);h.push(v),O.push(U===0?{name:v,isTensor:!1}:{name:v,isTensor:!0,type:Ne(U),shape:M})}for(let g=0;g<d;g++){let[T,U,M]=dn(i,g+c);T===0&&S(\"Can't get an output name.\"),l.push(T);let v=r.UTF8ToString(T);y.push(v),m.push(U===0?{name:v,isTensor:!1}:{name:v,isTensor:!0,type:Ne(U),shape:M})}return fe.set(i,[i,f,l,null,p,!1]),[i,h,y,O,m]}catch(c){throw f.forEach(d=>r._OrtFree(d)),l.forEach(d=>r._OrtFree(d)),a!==0&&r._OrtReleaseBinding(a)!==0&&S(\"Can't release IO binding.\"),i!==0&&r._OrtReleaseSession(i)!==0&&S(\"Can't release session.\"),c}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&S(\"Can't release session options.\"),u.forEach(c=>r._free(c)),r.unmountExternalData?.()}},Ue=e=>{let t=I(),n=fe.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,s,a]=n;s&&(a&&t._OrtClearBoundOutputs(s.handle)!==0&&S(\"Can't clear bound outputs.\"),t._OrtReleaseBinding(s.handle)!==0&&S(\"Can't release IO binding.\")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&S(\"Can't release session.\"),fe.delete(e)},ln=async(e,t,n,o,r,i,s=!1)=>{if(!e){t.push(0);return}let a=I(),u=a.PTR_SIZE,f=e[0],l=e[1],c=e[3],d=c,p,h;if(f===\"string\"&&(c===\"gpu-buffer\"||c===\"ml-tensor\"))throw new Error(\"String tensor is not supported on GPU.\");if(s&&c!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(c===\"gpu-buffer\"){let m=e[2].gpuBuffer;h=ue(ae(f),l);{let w=a.jsepRegisterBuffer;if(!w)throw new Error('Tensor location \"gpu-buffer\" is not supported without using WebGPU.');p=w(o,i,m,h)}}else if(c===\"ml-tensor\"){let m=e[2].mlTensor;h=ue(ae(f),l);let w=a.webnnRegisterMLTensor;if(!w)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');p=w(o,m,ae(f),l)}else{let m=e[2];if(Array.isArray(m)){h=u*m.length,p=a._malloc(h),n.push(p);for(let w=0;w<m.length;w++){if(typeof m[w]!=\"string\")throw new TypeError(`tensor data at index ${w} is not a string`);a.setValue(p+w*u,F(m[w],n),\"*\")}}else{let w=a.webnnIsGraphInput,B=a.webnnIsGraphOutput;if(f!==\"string\"&&w&&B){let g=a.UTF8ToString(r);if(w(o,g)||B(o,g)){let T=ae(f);h=ue(T,l),d=\"ml-tensor\";let U=a.webnnCreateTemporaryTensor,M=a.webnnUploadTensor;if(!U||!M)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');let v=await U(o,T,l);M(v,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=v}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}}let y=a.stackSave(),O=a.stackAlloc(4*l.length);try{l.forEach((w,B)=>a.setValue(O+B*u,w,u===4?\"i32\":\"i64\"));let m=a._OrtCreateTensor(ae(f),p,h,O,l.length,cn(d));m===0&&S(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{a.stackRestore(y)}},xe=async(e,t,n,o,r,i)=>{let s=I(),a=s.PTR_SIZE,u=fe.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],l=u[1],c=u[2],d=u[3],p=u[4],h=u[5],y=t.length,O=o.length,m=0,w=[],B=[],g=[],T=[],U=[],M=s.stackSave(),v=s.stackAlloc(y*a),le=s.stackAlloc(y*a),re=s.stackAlloc(O*a),lt=s.stackAlloc(O*a);try{[m,w]=rn(i),Y(\"wasm prepareInputOutputTensor\");for(let b=0;b<y;b++)await ln(n[b],B,T,e,l[t[b]],t[b],p);for(let b=0;b<O;b++)await ln(r[b],g,T,e,c[o[b]],y+o[b],p);Z(\"wasm prepareInputOutputTensor\");for(let b=0;b<y;b++)s.setValue(v+b*a,B[b],\"*\"),s.setValue(le+b*a,l[t[b]],\"*\");for(let b=0;b<O;b++)s.setValue(re+b*a,g[b],\"*\"),s.setValue(lt+b*a,c[o[b]],\"*\");s.jsepOnRunStart?.(f),s.webnnOnRunStart?.(f);let N;N=await s._OrtRun(f,le,v,y,lt,O,re,m),N!==0&&S(\"failed to call OrtRun().\");let z=[],pt=[];Y(\"wasm ProcessOutputTensor\");for(let b=0;b<O;b++){let G=Number(s.getValue(re+b*a,\"*\"));if(G===g[b]||U.includes(g[b])){z.push(r[b]),G!==g[b]&&s._OrtReleaseTensor(G)!==0&&S(\"Can't release tensor.\");continue}let mt=s.stackSave(),$=s.stackAlloc(4*a),oe=!1,P,C=0;try{s._OrtGetTensorData(G,$,$+a,$+2*a,$+3*a)!==0&&S(`Can't access output tensor data on index ${b}.`);let Ve=a===4?\"i32\":\"i64\",ge=Number(s.getValue($,Ve));C=s.getValue($+a,\"*\");let wt=s.getValue($+a*2,\"*\"),On=Number(s.getValue($+a*3,Ve)),H=[];for(let D=0;D<On;D++)H.push(Number(s.getValue(wt+D*a,Ve)));s._OrtFree(wt)!==0&&S(\"Can't free memory for tensor dims.\");let j=H.reduce((D,L)=>D*L,1);P=Ne(ge);let pe=d?.outputPreferredLocations[o[b]];if(P===\"string\"){if(pe===\"gpu-buffer\"||pe===\"ml-tensor\")throw new Error(\"String tensor is not supported on GPU.\");let D=[];for(let L=0;L<j;L++){let V=s.getValue(C+L*a,\"*\"),Ee=s.getValue(C+(L+1)*a,\"*\"),ht=L===j-1?void 0:Ee-V;D.push(s.UTF8ToString(V,ht))}z.push([P,H,D,\"cpu\"])}else if(pe===\"gpu-buffer\"&&j>0){let D=s.jsepGetBuffer;if(!D)throw new Error('preferredLocation \"gpu-buffer\" is not supported without using WebGPU.');let L=D(C),V=ue(ge,j);if(V===void 0||!ke(P))throw new Error(`Unsupported data type: ${P}`);oe=!0,z.push([P,H,{gpuBuffer:L,download:s.jsepCreateDownloader(L,V,P),dispose:()=>{s._OrtReleaseTensor(G)!==0&&S(\"Can't release tensor.\")}},\"gpu-buffer\"])}else if(pe===\"ml-tensor\"&&j>0){let D=s.webnnEnsureTensor,L=s.webnnIsGraphInputOutputTypeSupported;if(!D||!L)throw new Error('preferredLocation \"ml-tensor\" is not supported without using WebNN.');if(ue(ge,j)===void 0||!We(P))throw new Error(`Unsupported data type: ${P}`);if(!L(e,P,!1))throw new Error(`preferredLocation \"ml-tensor\" for ${P} output is not supported by current WebNN Context.`);let Ee=await D(e,C,ge,H,!1);oe=!0,z.push([P,H,{mlTensor:Ee,download:s.webnnCreateMLTensorDownloader(C,P),dispose:()=>{s.webnnReleaseTensorId(C),s._OrtReleaseTensor(G)}},\"ml-tensor\"])}else if(pe===\"ml-tensor-cpu-output\"&&j>0){let D=s.webnnCreateMLTensorDownloader(C,P)(),L=z.length;oe=!0,pt.push((async()=>{let V=[L,await D];return s.webnnReleaseTensorId(C),s._OrtReleaseTensor(G),V})()),z.push([P,H,[],\"cpu\"])}else{let D=un(P),L=new D(j);new Uint8Array(L.buffer,L.byteOffset,L.byteLength).set(s.HEAPU8.subarray(C,C+L.byteLength)),z.push([P,H,L,\"cpu\"])}}finally{s.stackRestore(mt),P===\"string\"&&C&&s._free(C),oe||s._OrtReleaseTensor(G)}}d&&!p&&(s._OrtClearBoundOutputs(d.handle)!==0&&S(\"Can't clear bound outputs.\"),fe.set(e,[f,l,c,d,p,!1]));for(let[b,G]of await Promise.all(pt))z[b][2]=G;return Z(\"wasm ProcessOutputTensor\"),z}finally{s.webnnOnRunEnd?.(f),s.stackRestore(M),B.forEach(N=>s._OrtReleaseTensor(N)),g.forEach(N=>s._OrtReleaseTensor(N)),T.forEach(N=>s._free(N)),m!==0&&s._OrtReleaseRunOptions(m),w.forEach(N=>s._free(N))}},ve=e=>{let t=I(),n=fe.get(e);if(!n)throw new Error(\"invalid session id\");let o=n[0],r=t._OrtEndProfiling(o);r===0&&S(\"Can't get an profile file name.\"),t._OrtFree(r)},Ce=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&\"buffer\"in o&&t.push(o.buffer)}return t}});var ne,W,ye,$e,ze,Ge,ft,ct,ce,de,Jn,pn,mn,wn,hn,bn,yn,gn,dt=E(()=>{\"use strict\";X();rt();ee();Be();ne=()=>!!A.wasm.proxy&&typeof document<\"u\",ye=!1,$e=!1,ze=!1,ct=new Map,ce=(e,t)=>{let n=ct.get(e);n?n.push(t):ct.set(e,[t])},de=()=>{if(ye||!$e||ze||!W)throw new Error(\"worker not ready\")},Jn=e=>{switch(e.data.type){case\"init-wasm\":ye=!1,e.data.err?(ze=!0,ft[1](e.data.err)):($e=!0,ft[0]()),Ge&&(URL.revokeObjectURL(Ge),Ge=void 0);break;case\"init-ep\":case\"copy-from\":case\"create\":case\"release\":case\"run\":case\"end-profiling\":{let t=ct.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},pn=async()=>{if(!$e){if(ye)throw new Error(\"multiple calls to 'initWasm()' detected.\");if(ze)throw new Error(\"previous call to 'initWasm()' failed.\");if(ye=!0,ne())return new Promise((e,t)=>{W?.terminate(),en().then(([n,o])=>{try{W=o,W.onerror=i=>t(i),W.onmessage=Jn,ft=[e,t];let r={type:\"init-wasm\",in:A};if(!r.in.wasm.wasmPaths&&n){let i=Me();i&&(r.in.wasm.wasmPaths=i)}W.postMessage(r),Ge=n}catch(r){t(r)}},t)});try{await Le(A.wasm),await Pe(A),$e=!0}catch(e){throw ze=!0,e}finally{ye=!1}}},mn=async e=>{if(ne())return de(),new Promise((t,n)=>{ce(\"init-ep\",[t,n]);let o={type:\"init-ep\",in:{epName:e,env:A}};W.postMessage(o)});await _e(A,e)},wn=async e=>ne()?(de(),new Promise((t,n)=>{ce(\"copy-from\",[t,n]);let o={type:\"copy-from\",in:{buffer:e}};W.postMessage(o,[e.buffer])})):we(e),hn=async(e,t)=>{if(ne()){if(t?.preferredOutputLocation)throw new Error('session option \"preferredOutputLocation\" is not supported for proxy.');return de(),new Promise((n,o)=>{ce(\"create\",[n,o]);let r={type:\"create\",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),W.postMessage(r,i)})}else return De(e,t)},bn=async e=>{if(ne())return de(),new Promise((t,n)=>{ce(\"release\",[t,n]);let o={type:\"release\",in:e};W.postMessage(o)});Ue(e)},yn=async(e,t,n,o,r,i)=>{if(ne()){if(n.some(s=>s[3]!==\"cpu\"))throw new Error(\"input tensor on GPU is not supported for proxy.\");if(r.some(s=>s))throw new Error(\"pre-allocated output tensor is not supported for proxy.\");return de(),new Promise((s,a)=>{ce(\"run\",[s,a]);let u=n,f={type:\"run\",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};W.postMessage(f,Ce(u))})}else return xe(e,t,n,o,r,i)},gn=async e=>{if(ne())return de(),new Promise((t,n)=>{ce(\"end-profiling\",[t,n]);let o={type:\"end-profiling\",in:e};W.postMessage(o)});ve(e)}});var En,qn,He,Sn=E(()=>{\"use strict\";X();dt();at();Oe();ut();En=(e,t)=>{switch(e.location){case\"cpu\":return[e.type,e.dims,e.data,\"cpu\"];case\"gpu-buffer\":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},\"gpu-buffer\"];case\"ml-tensor\":return[e.type,e.dims,{mlTensor:e.mlTensor},\"ml-tensor\"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},qn=e=>{switch(e[3]){case\"cpu\":return new k(e[0],e[2],e[1]);case\"gpu-buffer\":{let t=e[0];if(!ke(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return k.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case\"ml-tensor\":{let t=e[0];if(!We(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return k.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},He=class{async fetchModelAndCopyToWasmMemory(t){return wn(await be(t))}async loadModel(t,n){J();let o;typeof t==\"string\"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await hn(o,n),q()}async dispose(){return bn(this.sessionId)}async run(t,n,o){J();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],h=d[1],y=this.inputNames.indexOf(p);if(y===-1)throw new Error(`invalid input '${p}'`);r.push(h),i.push(y)});let s=[],a=[];Object.entries(n).forEach(d=>{let p=d[0],h=d[1],y=this.outputNames.indexOf(p);if(y===-1)throw new Error(`invalid output '${p}'`);s.push(h),a.push(y)});let u=r.map((d,p)=>En(d,()=>`input \"${this.inputNames[i[p]]}\"`)),f=s.map((d,p)=>d?En(d,()=>`output \"${this.outputNames[a[p]]}\"`):null),l=await yn(this.sessionId,i,u,a,f,o),c={};for(let d=0;d<l.length;d++)c[this.outputNames[a[d]]]=s[d]??qn(l[d]);return q(),c}startProfiling(){}endProfiling(){gn(this.sessionId)}}});var In={};Se(In,{OnnxruntimeWebAssemblyBackend:()=>je,initializeFlags:()=>Tn,wasmBackend:()=>Yn});var Tn,je,Yn,An=E(()=>{\"use strict\";X();dt();Sn();Tn=()=>{(typeof A.wasm.initTimeout!=\"number\"||A.wasm.initTimeout<0)&&(A.wasm.initTimeout=0);let e=A.wasm.simd;if(typeof e!=\"boolean\"&&e!==void 0&&e!==\"fixed\"&&e!==\"relaxed\"&&(console.warn(`Property \"env.wasm.simd\" is set to unknown value \"${e}\". Reset it to \\`false\\` and ignore SIMD feature checking.`),A.wasm.simd=!1),typeof A.wasm.proxy!=\"boolean\"&&(A.wasm.proxy=!1),typeof A.wasm.trace!=\"boolean\"&&(A.wasm.trace=!1),typeof A.wasm.numThreads!=\"number\"||!Number.isInteger(A.wasm.numThreads)||A.wasm.numThreads<=0)if(typeof self<\"u\"&&!self.crossOriginIsolated)A.wasm.numThreads=1;else{let t=typeof navigator>\"u\"?qe(\"node:os\").cpus().length:navigator.hardwareConcurrency;A.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},je=class{async init(t){Tn(),await pn(),await mn(t)}async createInferenceSessionHandler(t,n){let o=new He;return await o.loadModel(t,n),o}},Yn=new je});var Xn={};Se(Xn,{InferenceSession:()=>Wt,TRACE:()=>et,TRACE_EVENT_BEGIN:()=>Y,TRACE_EVENT_END:()=>Z,TRACE_FUNC_BEGIN:()=>J,TRACE_FUNC_END:()=>q,Tensor:()=>k,default:()=>Zn,env:()=>A,registerBackend:()=>se});X();X();X();var Vt=\"1.26.0\";var Zn=nt;{let e=(An(),Ye(In)).wasmBackend;se(\"cpu\",e,10),se(\"wasm\",e,10)}Object.defineProperty(A.versions,\"web\",{value:Vt,enumerable:!0});return Ye(Xn);})();\ntypeof exports==\"object\"&&typeof module==\"object\"&&(module.exports=ort);\n//# sourceMappingURL=ort.wasm.min.js.map\n","\"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.MicVAD = exports.getDefaultRealTimeVADOptions = exports.ort = exports.DEFAULT_MODEL = void 0;\nconst ortInstance = __importStar(require(\"onnxruntime-web/wasm\"));\nconst default_model_fetcher_1 = require(\"./default-model-fetcher\");\nconst frame_processor_1 = require(\"./frame-processor\");\nconst logging_1 = require(\"./logging\");\nconst messages_1 = require(\"./messages\");\nconst models_1 = require(\"./models\");\nconst resampler_1 = require(\"./resampler\");\nexports.DEFAULT_MODEL = \"legacy\";\nexports.ort = ortInstance;\nconst workletFile = \"vad.worklet.bundle.min.js\";\nconst sileroV5File = \"silero_vad_v5.onnx\";\nconst sileroLegacyFile = \"silero_vad_legacy.onnx\";\nconst getDefaultRealTimeVADOptions = (model) => {\n return {\n ...frame_processor_1.defaultFrameProcessorOptions,\n onFrameProcessed: () => { },\n onVADMisfire: () => {\n logging_1.log.debug(\"VAD misfire\");\n },\n onSpeechStart: () => {\n logging_1.log.debug(\"Detected speech start\");\n },\n onSpeechEnd: () => {\n logging_1.log.debug(\"Detected speech end\");\n },\n onSpeechRealStart: () => {\n logging_1.log.debug(\"Detected real speech start\");\n },\n baseAssetPath: \"./\",\n onnxWASMBasePath: \"./\",\n model: model,\n workletOptions: {},\n getStream: async () => {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: {\n channelCount: 1,\n echoCancellation: true,\n autoGainControl: true,\n noiseSuppression: true,\n },\n });\n return stream;\n },\n pauseStream: async (_stream) => {\n _stream.getTracks().forEach((track) => {\n track.stop();\n });\n },\n resumeStream: async () => {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: {\n channelCount: 1,\n echoCancellation: true,\n autoGainControl: true,\n noiseSuppression: true,\n },\n });\n return stream;\n },\n ortConfig: (ort) => {\n ort.env.logLevel = \"error\";\n },\n startOnLoad: true,\n processorType: \"auto\",\n };\n};\nexports.getDefaultRealTimeVADOptions = getDefaultRealTimeVADOptions;\nconst detectProcessorType = (ctx) => {\n if (\"audioWorklet\" in ctx && typeof AudioWorkletNode === \"function\") {\n return \"AudioWorklet\";\n }\n return \"ScriptProcessor\";\n};\nasync function getVADNodeAsWorklet(workletURL, workletOptions, audioContext, frameSamples, processFrame) {\n await audioContext.audioWorklet.addModule(workletURL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n workletOptions.processorOptions = {\n ...(workletOptions.processorOptions ?? {}),\n frameSamples: frameSamples,\n };\n const audioNode = new AudioWorkletNode(audioContext, \"vad-helper-worklet\", workletOptions);\n audioNode.port.onmessage = async (ev) => {\n const data = ev.data;\n if (!(typeof data === \"object\" && data && \"message\" in data)) {\n console.error(\"Invalid message event\", data);\n return;\n }\n switch (data.message) {\n case messages_1.Message.AudioFrame: {\n if (!(\"data\" in data && data.data instanceof ArrayBuffer)) {\n console.log(\"Audio frame message has no data\");\n return;\n }\n const frame = new Float32Array(data.data);\n await processFrame(frame);\n break;\n }\n }\n };\n return audioNode;\n}\nasync function getVADNodeAsScriptProcessor(audioContext, frameSamples, processFrame) {\n const resampler = new resampler_1.Resampler({\n nativeSampleRate: audioContext.sampleRate,\n targetSampleRate: 16000,\n targetFrameSize: frameSamples,\n });\n logging_1.log.debug(\"using script processor\");\n // Fallback to ScriptProcessor\n const bufferSize = 4096; // Increased for more stable processing\n const audioNode = audioContext.createScriptProcessor(bufferSize, 1, 1);\n let processingAudio = false;\n audioNode.onaudioprocess = async (e) => {\n if (processingAudio)\n return;\n processingAudio = true;\n try {\n const input = e.inputBuffer.getChannelData(0);\n const output = e.outputBuffer.getChannelData(0);\n output.fill(0);\n // Process through resampler\n const frames = resampler.process(input);\n for (const frame of frames) {\n await processFrame(frame);\n }\n }\n catch (error) {\n console.error(\"Error processing audio:\", error);\n }\n finally {\n processingAudio = false;\n }\n };\n // https://github.com/WebAudio/web-audio-api/issues/345\n // -> we need to connect an output or will not work due to chrome bug\n audioNode.connect(audioContext.destination);\n return audioNode;\n}\nclass MicVAD {\n constructor(options, frameProcessor, model, frameSamples, listening = false, errored = null, _stream = null, _audioContext = null, _vadNode = null, _mediaStreamAudioSourceNode = null, _audioProcessorAdapterType = null, initializationState = \"uninitialized\", ownsAudioContext = false) {\n this.options = options;\n this.frameProcessor = frameProcessor;\n this.model = model;\n this.frameSamples = frameSamples;\n this.listening = listening;\n this.errored = errored;\n this._stream = _stream;\n this._audioContext = _audioContext;\n this._vadNode = _vadNode;\n this._mediaStreamAudioSourceNode = _mediaStreamAudioSourceNode;\n this._audioProcessorAdapterType = _audioProcessorAdapterType;\n this.initializationState = initializationState;\n this.ownsAudioContext = ownsAudioContext;\n this.getAudioInstances = () => {\n if (this._stream === null ||\n this._audioContext === null ||\n this._vadNode == null ||\n this._mediaStreamAudioSourceNode == null) {\n throw new Error(\"MicVAD has null stream, audio context, or processor adapter\");\n }\n return {\n stream: this._stream,\n audioContext: this._audioContext,\n vadNode: this._vadNode,\n mediaStreamAudioSourceNode: this._mediaStreamAudioSourceNode,\n };\n };\n this.setErrored = (error) => {\n this.initializationState = \"errored\";\n this.errored = error;\n };\n this.start = async () => {\n switch (this.initializationState) {\n case \"uninitialized\": {\n logging_1.log.debug(\"initializing micVAD\");\n this.initializationState = \"initializing\";\n this.frameProcessor.resume();\n try {\n this._stream = await this.options.getStream();\n }\n catch (error) {\n if (error instanceof Error) {\n this.setErrored(error.message);\n }\n else {\n this.setErrored(String(error));\n }\n throw error;\n }\n if (this.options.audioContext) {\n console.log(\"using custom audio context\");\n this._audioContext = this.options.audioContext;\n }\n else {\n console.log(\"using default audio context\");\n this._audioContext = new AudioContext();\n this.ownsAudioContext = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!this._audioContext) {\n this.setErrored(\"Audio context is null\");\n throw Error(\"Audio context is null\");\n }\n this._audioProcessorAdapterType =\n this.options.processorType == \"auto\"\n ? detectProcessorType(this._audioContext)\n : this.options.processorType;\n switch (this._audioProcessorAdapterType) {\n case \"AudioWorklet\":\n {\n this._vadNode = await getVADNodeAsWorklet(this.options.baseAssetPath + workletFile, this.options.workletOptions, this._audioContext, this.frameSamples, this.processFrame);\n }\n break;\n case \"ScriptProcessor\":\n {\n this._vadNode = await getVADNodeAsScriptProcessor(this._audioContext, this.frameSamples, this.processFrame);\n }\n break;\n default: {\n throw new Error(\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `Unsupported audio processor adapter type: ${this._audioProcessorAdapterType}`);\n }\n }\n this._mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(this._audioContext, {\n mediaStream: this._stream,\n });\n this._mediaStreamAudioSourceNode.connect(this._vadNode);\n logging_1.log.debug(\"started micVAD\");\n this.listening = true;\n this.initializationState = \"initialized\";\n break;\n }\n case \"initializing\": {\n logging_1.log.warn(\"start called while initializing\");\n break;\n }\n case \"initialized\": {\n if (this.listening) {\n return;\n }\n this.listening = true;\n this.frameProcessor.resume();\n const { stream, audioContext, vadNode } = this.getAudioInstances();\n this._stream = await this.options.resumeStream(stream);\n const mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(audioContext, { mediaStream: this._stream });\n this._mediaStreamAudioSourceNode = mediaStreamAudioSourceNode;\n mediaStreamAudioSourceNode.connect(vadNode);\n break;\n }\n case \"destroyed\": {\n logging_1.log.warn(\"start called after destroyed\");\n break;\n }\n case \"errored\": {\n logging_1.log.error(\"start called after errored\");\n break;\n }\n default: {\n logging_1.log.warn(\"weird initialization state\");\n break;\n }\n }\n };\n this.pause = async () => {\n if (!this.listening) {\n return;\n }\n this.listening = false;\n const { stream, mediaStreamAudioSourceNode } = this.getAudioInstances();\n await this.options.pauseStream(stream);\n mediaStreamAudioSourceNode.disconnect();\n this.frameProcessor.pause(this.handleFrameProcessorEvent);\n };\n this.destroy = async () => {\n logging_1.log.debug(\"destroy called\");\n this.initializationState = \"destroyed\";\n const { vadNode } = this.getAudioInstances();\n if (vadNode instanceof AudioWorkletNode) {\n vadNode.port.postMessage(messages_1.Message.SpeechStop);\n }\n if (this.listening) {\n await this.pause();\n }\n await this.model.release();\n if (this.ownsAudioContext) {\n await this._audioContext?.close();\n }\n };\n this.setOptions = (update) => {\n this.frameProcessor.setOptions(update);\n };\n this.processFrame = async (frame) => {\n await this.frameProcessor.process(frame, this.handleFrameProcessorEvent);\n };\n this.handleFrameProcessorEvent = (ev) => {\n switch (ev.msg) {\n case messages_1.Message.FrameProcessed:\n void this.options.onFrameProcessed(ev.probs, ev.frame);\n break;\n case messages_1.Message.SpeechStart:\n void this.options.onSpeechStart();\n break;\n case messages_1.Message.SpeechRealStart:\n void this.options.onSpeechRealStart();\n break;\n case messages_1.Message.VADMisfire:\n void this.options.onVADMisfire();\n break;\n case messages_1.Message.SpeechEnd:\n void this.options.onSpeechEnd(ev.audio);\n break;\n }\n };\n }\n static async new(options = {}) {\n const fullOptions = {\n ...(0, exports.getDefaultRealTimeVADOptions)(options.model ?? exports.DEFAULT_MODEL),\n ...options,\n };\n (0, frame_processor_1.validateOptions)(fullOptions);\n exports.ort.env.wasm.wasmPaths = fullOptions.onnxWASMBasePath;\n if (fullOptions.ortConfig !== undefined) {\n fullOptions.ortConfig(exports.ort);\n }\n const modelFile = fullOptions.model === \"v5\" ? sileroV5File : sileroLegacyFile;\n const modelURL = fullOptions.baseAssetPath + modelFile;\n const modelFactory = fullOptions.model === \"v5\" ? models_1.SileroV5.new : models_1.SileroLegacy.new;\n let model;\n try {\n model = await modelFactory(exports.ort, () => (0, default_model_fetcher_1.defaultModelFetcher)(modelURL));\n }\n catch (e) {\n console.error(`Encountered an error while loading model file ${modelURL}`);\n throw e;\n }\n const frameSamples = fullOptions.model === \"v5\" ? 512 : 1536;\n const msPerFrame = frameSamples / 16;\n const frameProcessor = new frame_processor_1.FrameProcessor(model.process, model.reset_state, {\n positiveSpeechThreshold: fullOptions.positiveSpeechThreshold,\n negativeSpeechThreshold: fullOptions.negativeSpeechThreshold,\n redemptionMs: fullOptions.redemptionMs,\n preSpeechPadMs: fullOptions.preSpeechPadMs,\n minSpeechMs: fullOptions.minSpeechMs,\n submitUserSpeechOnPause: fullOptions.submitUserSpeechOnPause,\n }, msPerFrame);\n const micVad = new MicVAD(fullOptions, frameProcessor, model, frameSamples);\n // things would be simpler if we didn't have to startOnLoad by default, but we are locked in\n if (fullOptions.startOnLoad) {\n try {\n await micVad.start();\n }\n catch (e) {\n console.error(\"Error starting micVad\", e);\n throw e;\n }\n }\n return micVad;\n }\n}\nexports.MicVAD = MicVAD;\n//# sourceMappingURL=real-time-vad.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRealTimeVADOptions = exports.MicVAD = exports.DEFAULT_MODEL = exports.utils = exports.NonRealTimeVAD = exports.Message = exports.FrameProcessor = exports.defaultModelFetcher = exports.baseAssetPath = void 0;\nvar asset_path_1 = require(\"./asset-path\");\nObject.defineProperty(exports, \"baseAssetPath\", { enumerable: true, get: function () { return asset_path_1.baseAssetPath; } });\nvar default_model_fetcher_1 = require(\"./default-model-fetcher\");\nObject.defineProperty(exports, \"defaultModelFetcher\", { enumerable: true, get: function () { return default_model_fetcher_1.defaultModelFetcher; } });\nvar frame_processor_1 = require(\"./frame-processor\");\nObject.defineProperty(exports, \"FrameProcessor\", { enumerable: true, get: function () { return frame_processor_1.FrameProcessor; } });\nvar messages_1 = require(\"./messages\");\nObject.defineProperty(exports, \"Message\", { enumerable: true, get: function () { return messages_1.Message; } });\nvar non_real_time_vad_1 = require(\"./non-real-time-vad\");\nObject.defineProperty(exports, \"NonRealTimeVAD\", { enumerable: true, get: function () { return non_real_time_vad_1.NonRealTimeVAD; } });\nconst utils_1 = require(\"./utils\");\nexports.utils = {\n audioFileToArray: utils_1.audioFileToArray,\n minFramesForTargetMS: utils_1.minFramesForTargetMS,\n arrayBufferToBase64: utils_1.arrayBufferToBase64,\n encodeWAV: utils_1.encodeWAV,\n};\nvar real_time_vad_1 = require(\"./real-time-vad\");\nObject.defineProperty(exports, \"DEFAULT_MODEL\", { enumerable: true, get: function () { return real_time_vad_1.DEFAULT_MODEL; } });\nObject.defineProperty(exports, \"MicVAD\", { enumerable: true, get: function () { return real_time_vad_1.MicVAD; } });\nObject.defineProperty(exports, \"getDefaultRealTimeVADOptions\", { enumerable: true, get: function () { return real_time_vad_1.getDefaultRealTimeVADOptions; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useMicVAD = exports.getDefaultReactRealTimeVADOptions = exports.utils = void 0;\nconst vad_web_1 = require(\"@ricky0123/vad-web\");\nconst react_1 = require(\"react\");\nvar vad_web_2 = require(\"@ricky0123/vad-web\");\nObject.defineProperty(exports, \"utils\", { enumerable: true, get: function () { return vad_web_2.utils; } });\nconst defaultReactOptions = {\n userSpeakingThreshold: 0.6,\n};\nconst getDefaultReactRealTimeVADOptions = (model) => {\n return {\n ...(0, vad_web_1.getDefaultRealTimeVADOptions)(model),\n ...defaultReactOptions,\n };\n};\nexports.getDefaultReactRealTimeVADOptions = getDefaultReactRealTimeVADOptions;\nfunction useOptions(options) {\n const model = options.model ?? vad_web_1.DEFAULT_MODEL;\n const fullOptions = {\n ...(0, exports.getDefaultReactRealTimeVADOptions)(model),\n ...options,\n };\n const reactOptions = {\n userSpeakingThreshold: fullOptions.userSpeakingThreshold,\n };\n const vadOptions = {\n positiveSpeechThreshold: fullOptions.positiveSpeechThreshold,\n negativeSpeechThreshold: fullOptions.negativeSpeechThreshold,\n redemptionMs: fullOptions.redemptionMs,\n preSpeechPadMs: fullOptions.preSpeechPadMs,\n minSpeechMs: fullOptions.minSpeechMs,\n submitUserSpeechOnPause: fullOptions.submitUserSpeechOnPause,\n onFrameProcessed: fullOptions.onFrameProcessed,\n onVADMisfire: fullOptions.onVADMisfire,\n onSpeechStart: fullOptions.onSpeechStart,\n onSpeechEnd: fullOptions.onSpeechEnd,\n onSpeechRealStart: fullOptions.onSpeechRealStart,\n baseAssetPath: fullOptions.baseAssetPath,\n onnxWASMBasePath: fullOptions.onnxWASMBasePath,\n model: fullOptions.model,\n workletOptions: fullOptions.workletOptions,\n getStream: fullOptions.getStream,\n pauseStream: fullOptions.pauseStream,\n resumeStream: fullOptions.resumeStream,\n startOnLoad: fullOptions.startOnLoad,\n processorType: fullOptions.processorType,\n };\n if (fullOptions.ortConfig) {\n vadOptions.ortConfig = fullOptions.ortConfig;\n }\n if (fullOptions.audioContext) {\n vadOptions.audioContext = fullOptions.audioContext;\n }\n return [reactOptions, vadOptions];\n}\nfunction useMicVAD(options) {\n const [reactOptions, vadOptions] = useOptions(options);\n const model = options[\"model\"] ?? vad_web_1.DEFAULT_MODEL;\n const [userSpeaking, updateUserSpeaking] = (0, react_1.useState)(false);\n const [loading, setLoading] = (0, react_1.useState)(true);\n const [errored, setErrored] = (0, react_1.useState)(false);\n const [listening, setListening] = (0, react_1.useState)(false);\n const [vad, setVAD] = (0, react_1.useState)(null);\n // Use refs to store the latest callbacks so they can be called without recreating the VAD\n const onFrameProcessedRef = (0, react_1.useRef)(vadOptions.onFrameProcessed);\n const onSpeechEndRef = (0, react_1.useRef)(vadOptions.onSpeechEnd);\n const onSpeechStartRef = (0, react_1.useRef)(vadOptions.onSpeechStart);\n const onSpeechRealStartRef = (0, react_1.useRef)(vadOptions.onSpeechRealStart);\n const onVADMisfireRef = (0, react_1.useRef)(vadOptions.onVADMisfire);\n const getStreamRef = (0, react_1.useRef)(vadOptions.getStream);\n // Update refs when callbacks change\n (0, react_1.useEffect)(() => {\n onFrameProcessedRef.current = vadOptions.onFrameProcessed;\n onSpeechEndRef.current = vadOptions.onSpeechEnd;\n onSpeechStartRef.current = vadOptions.onSpeechStart;\n onSpeechRealStartRef.current = vadOptions.onSpeechRealStart;\n onVADMisfireRef.current = vadOptions.onVADMisfire;\n }, [\n vadOptions.onFrameProcessed,\n vadOptions.onSpeechEnd,\n vadOptions.onSpeechStart,\n vadOptions.onSpeechRealStart,\n vadOptions.onVADMisfire,\n ]);\n // Update getStream ref - this is the key fix!\n (0, react_1.useEffect)(() => {\n getStreamRef.current = vadOptions.getStream;\n }, [vadOptions.getStream]);\n // Serialize getStream function to detect changes\n // We use a simple approach: convert function to string\n const getStreamKey = vadOptions.getStream.toString();\n (0, react_1.useEffect)(() => {\n let myvad = null;\n let canceled = false;\n const setup = async () => {\n try {\n setLoading(true);\n setErrored(false);\n // Create VAD options with stable callback wrappers\n const finalVadOptions = {\n ...vadOptions,\n onFrameProcessed: (probs, frame) => {\n const isSpeaking = probs.isSpeech > reactOptions.userSpeakingThreshold;\n updateUserSpeaking(isSpeaking);\n void onFrameProcessedRef.current(probs, frame);\n },\n onSpeechEnd: (audio) => {\n void onSpeechEndRef.current(audio);\n },\n onSpeechStart: () => {\n void onSpeechStartRef.current();\n },\n onSpeechRealStart: () => {\n void onSpeechRealStartRef.current();\n },\n onVADMisfire: () => {\n void onVADMisfireRef.current();\n },\n getStream: () => {\n return getStreamRef.current();\n },\n };\n myvad = await vad_web_1.MicVAD.new(finalVadOptions);\n if (canceled) {\n await myvad.destroy();\n return;\n }\n setVAD(myvad);\n if (vadOptions.startOnLoad) {\n await myvad.start();\n setListening(true);\n }\n setLoading(false);\n }\n catch (e) {\n setLoading(false);\n if (e instanceof Error) {\n setErrored(e.message);\n }\n else {\n setErrored(String(e));\n }\n }\n };\n setup().catch(() => {\n // Error already handled in setup function\n });\n return function cleanUp() {\n canceled = true;\n if (myvad) {\n void myvad.destroy();\n }\n if (!loading && !errored) {\n setListening(false);\n }\n };\n }, [getStreamKey, model]); // Recreate when getStream changes or model changes\n const pause = (0, react_1.useCallback)(async () => {\n if (!loading && !errored) {\n await vad?.pause();\n setListening(false);\n }\n }, [loading, errored, vad]);\n const start = (0, react_1.useCallback)(async () => {\n if (!loading && !errored) {\n await vad?.start();\n setListening(true);\n }\n }, [loading, errored, vad]);\n const toggle = (0, react_1.useCallback)(async () => {\n if (listening) {\n await pause();\n }\n else {\n await start();\n }\n }, [listening, pause, start]);\n return {\n listening,\n errored,\n loading,\n userSpeaking,\n pause,\n start,\n toggle,\n };\n}\nexports.useMicVAD = useMicVAD;\n//# sourceMappingURL=index.js.map","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useMicVAD } from '@ricky0123/vad-react';\nimport { useRqmiiAgentContext } from '../provider/RqmiiAgentProvider';\nimport type { UseRqmiiVADOptions, UseRqmiiVADReturn } from '../types';\n\nconst MIC_CONSTRAINTS: MediaTrackConstraints = {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n};\n\nconst VAD_SAMPLE_RATE = 16000;\nconst FRAME_SAMPLES = 512;\nconst PRE_SPEECH_PAD_MS = 700;\nconst SPEECH_END_DELAY_MS = 300;\nconst FRAME_DURATION_MS = (FRAME_SAMPLES / VAD_SAMPLE_RATE) * 1000;\nconst RING_BUFFER_SIZE = Math.ceil(PRE_SPEECH_PAD_MS / FRAME_DURATION_MS);\n\nexport function useRqmiiVAD(options: UseRqmiiVADOptions = {}): UseRqmiiVADReturn {\n const {\n onAudioChunk,\n onAudioEnd,\n onSpeechStart,\n onSpeechEnd,\n onVADMisfire,\n onError,\n enabled = true,\n interruptOnSpeechStart = true,\n forceAudioMp4 = false,\n preloadStream = true,\n } = options;\n\n const { sendAudioChunk, endAudioStream, interrupt } = useRqmiiAgentContext();\n\n const [isSpeaking, setIsSpeaking] = useState(false);\n const [micError, setMicError] = useState<string | null>(null);\n\n const streamRef = useRef<MediaStream | null>(null);\n const mediaRecorderRef = useRef<MediaRecorder | null>(null);\n const mixCtxRef = useRef<AudioContext | null>(null);\n const cooldownRef = useRef(false);\n const speechEndTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const pcmRingRef = useRef<Float32Array[]>([]);\n\n const unlockedRef = useRef(false);\n\n const unlockAudioContext = useCallback(() => {\n if (typeof window === 'undefined') return;\n if (!mixCtxRef.current) {\n const AudioCtx = window.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext;\n if (!AudioCtx) return;\n mixCtxRef.current = new AudioCtx({ sampleRate: VAD_SAMPLE_RATE });\n }\n if (mixCtxRef.current.state === 'suspended') {\n mixCtxRef.current.resume().catch(() => {});\n }\n unlockedRef.current = true;\n }, []);\n\n useEffect(() => {\n if (!enabled || !preloadStream) return undefined;\n if (typeof navigator === 'undefined' || !navigator.mediaDevices?.getUserMedia) {\n return undefined;\n }\n\n navigator.mediaDevices\n .getUserMedia({ audio: MIC_CONSTRAINTS })\n .then((stream) => {\n streamRef.current = stream;\n setMicError(null);\n })\n .catch((error) => {\n setMicError('permission_denied');\n onError?.(error);\n });\n\n return undefined;\n }, [enabled, onError, preloadStream]);\n\n const getStream = useCallback(async (): Promise<MediaStream> => {\n if (typeof navigator === 'undefined' || !navigator.mediaDevices?.getUserMedia) {\n throw new Error('Microphone APIs are unavailable in this browser');\n }\n if (streamRef.current && streamRef.current.getTracks()[0]?.readyState === 'live') {\n return streamRef.current;\n }\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: MIC_CONSTRAINTS,\n });\n streamRef.current = stream;\n setMicError(null);\n return stream;\n }, []);\n\n const pauseStream = useCallback(async (stream: MediaStream) => {\n stream.getTracks().forEach((track) => {\n track.enabled = false;\n });\n }, []);\n\n const resumeStream = useCallback(async (): Promise<MediaStream> => {\n if (streamRef.current && streamRef.current.getTracks()[0]?.readyState === 'live') {\n streamRef.current.getTracks().forEach((track) => {\n track.enabled = true;\n });\n return streamRef.current;\n }\n return getStream();\n }, [getStream]);\n\n const drainRingBuffer = useCallback(() => {\n const frames = pcmRingRef.current;\n if (!frames.length) return { samples: new Float32Array(0), duration: 0 };\n\n const totalSamples = frames.reduce((sum, frame) => sum + frame.length, 0);\n const samples = new Float32Array(totalSamples);\n let offset = 0;\n for (const frame of frames) {\n samples.set(frame, offset);\n offset += frame.length;\n }\n return { samples, duration: totalSamples / VAD_SAMPLE_RATE };\n }, []);\n\n const startMixedRecorder = useCallback(() => {\n const micStream = streamRef.current;\n const ctx = mixCtxRef.current;\n if (!micStream || !ctx || mediaRecorderRef.current) return;\n\n const { samples, duration } = drainRingBuffer();\n pcmRingRef.current = [];\n\n const mimeType =\n !forceAudioMp4 && MediaRecorder.isTypeSupported('audio/webm;codecs=opus')\n ? 'audio/webm;codecs=opus'\n : MediaRecorder.isTypeSupported('audio/mp4')\n ? 'audio/mp4'\n : '';\n\n try {\n const destination = ctx.createMediaStreamDestination();\n\n if (samples.length > 0) {\n const audioBuffer = ctx.createBuffer(1, samples.length, VAD_SAMPLE_RATE);\n audioBuffer.getChannelData(0).set(samples);\n const source = ctx.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(destination);\n source.start(0);\n }\n\n const micSource = ctx.createMediaStreamSource(micStream);\n if (duration > 0) {\n const delayNode = ctx.createDelay(duration + 0.1);\n delayNode.delayTime.value = duration;\n micSource.connect(delayNode).connect(destination);\n } else {\n micSource.connect(destination);\n }\n\n const recorder = new MediaRecorder(destination.stream, mimeType ? { mimeType } : {});\n recorder.ondataavailable = async (event) => {\n if (!event.data || event.data.size <= 0) return;\n const chunkBuffer = await event.data.arrayBuffer();\n if (onAudioChunk) onAudioChunk(chunkBuffer);\n else sendAudioChunk(chunkBuffer);\n };\n\n mediaRecorderRef.current = recorder;\n recorder.start(100);\n } catch (error) {\n onError?.(error);\n }\n }, [drainRingBuffer, forceAudioMp4, onAudioChunk, onError, sendAudioChunk]);\n\n const stopMediaRecorder = useCallback(() => {\n const recorder = mediaRecorderRef.current;\n if (!recorder) return;\n mediaRecorderRef.current = null;\n\n if (recorder.state === 'inactive') {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n return;\n }\n\n recorder.onstop = () => {\n if (onAudioEnd) onAudioEnd();\n else endAudioStream();\n };\n\n recorder.stop();\n }, [endAudioStream, onAudioEnd]);\n\n const discardMediaRecorder = useCallback(() => {\n const recorder = mediaRecorderRef.current;\n if (!recorder) return;\n mediaRecorderRef.current = null;\n if (recorder.state !== 'inactive') {\n try {\n recorder.stop();\n } catch {\n // best effort cleanup\n }\n }\n }, []);\n\n const cleanupMixContext = useCallback(() => {\n if (!mixCtxRef.current) return;\n mixCtxRef.current.close().catch(() => {});\n mixCtxRef.current = null;\n }, []);\n\n const cleanupStream = useCallback(() => {\n if (!streamRef.current) return;\n streamRef.current.getTracks().forEach((track) => track.stop());\n streamRef.current = null;\n }, []);\n\n if (!enabled) {\n return {\n isListening: false,\n isLoading: false,\n isErrored: false,\n isSpeaking: false,\n micError: null,\n toggle: async () => false,\n prepare: async () => null,\n start: async () => false,\n stop: async () => false,\n pause: async () => {},\n userSpeaking: false,\n };\n }\n\n const vad = useMicVAD({\n model: 'v5',\n startOnLoad: false,\n processorType: 'auto',\n positiveSpeechThreshold: 0.5,\n negativeSpeechThreshold: 0.3,\n redemptionMs: 800,\n preSpeechPadMs: PRE_SPEECH_PAD_MS,\n minSpeechMs: 150,\n submitUserSpeechOnPause: false,\n userSpeakingThreshold: 0.7,\n workletOptions: { processorOptions: { frameSamples: FRAME_SAMPLES } },\n baseAssetPath: 'https://cdn.jsdelivr.net/npm/@ricky0123/vad-web@0.0.30/dist/',\n onnxWASMBasePath: 'https://cdn.jsdelivr.net/npm/onnxruntime-web@1.24.1/dist/',\n ortConfig: (ort: any) => {\n ort.env.wasm.numThreads = 1;\n ort.env.logLevel = 'error';\n },\n getStream,\n pauseStream,\n resumeStream,\n onFrameProcessed: (_probs: unknown, frame: Float32Array | undefined) => {\n if (!frame) return;\n const ringBuffer = pcmRingRef.current;\n ringBuffer.push(new Float32Array(frame));\n if (ringBuffer.length > RING_BUFFER_SIZE) ringBuffer.shift();\n },\n onSpeechStart: () => {\n if (cooldownRef.current) return;\n if (speechEndTimerRef.current) {\n clearTimeout(speechEndTimerRef.current);\n speechEndTimerRef.current = null;\n }\n\n setIsSpeaking(true);\n if (interruptOnSpeechStart) {\n interrupt();\n }\n startMixedRecorder();\n onSpeechStart?.();\n },\n onSpeechEnd: () => {\n speechEndTimerRef.current = setTimeout(() => {\n setIsSpeaking(false);\n stopMediaRecorder();\n cooldownRef.current = true;\n setTimeout(() => {\n cooldownRef.current = false;\n }, 300);\n onSpeechEnd?.();\n }, SPEECH_END_DELAY_MS);\n },\n onVADMisfire: () => {\n if (speechEndTimerRef.current) {\n clearTimeout(speechEndTimerRef.current);\n speechEndTimerRef.current = null;\n }\n setIsSpeaking(false);\n discardMediaRecorder();\n onVADMisfire?.();\n },\n });\n\n const stop = useCallback(async (): Promise<boolean> => {\n if (!enabled || vad.loading || vad.errored) return false;\n if (!vad.listening) return true;\n if (speechEndTimerRef.current) {\n clearTimeout(speechEndTimerRef.current);\n speechEndTimerRef.current = null;\n }\n setIsSpeaking(false);\n stopMediaRecorder();\n await vad.pause();\n return true;\n }, [enabled, stopMediaRecorder, vad]);\n\n const safeVadStart = useCallback(async () => {\n try {\n await vad.start();\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n if (msg.includes('null stream') || msg.includes('audio context') || msg.includes('processor adapter')) {\n await new Promise((r) => setTimeout(r, 100));\n await vad.start();\n } else {\n throw e;\n }\n }\n }, [vad]);\n\n const toggle = useCallback(async (): Promise<boolean> => {\n if (!enabled || vad.loading || vad.errored) return false;\n unlockAudioContext();\n if (vad.listening) {\n if (speechEndTimerRef.current) {\n clearTimeout(speechEndTimerRef.current);\n speechEndTimerRef.current = null;\n }\n setIsSpeaking(false);\n stopMediaRecorder();\n await vad.pause();\n } else {\n await safeVadStart();\n }\n return true;\n }, [enabled, stopMediaRecorder, unlockAudioContext, safeVadStart]);\n\n const prepare = useCallback(async (): Promise<MediaStream | null> => {\n if (!enabled) return null;\n unlockAudioContext();\n return getStream();\n }, [enabled, getStream, unlockAudioContext]);\n\n const start = useCallback(async (): Promise<boolean> => {\n if (!enabled || vad.loading || vad.errored) return false;\n if (vad.listening) return true;\n unlockAudioContext();\n await safeVadStart();\n return true;\n }, [enabled, unlockAudioContext, safeVadStart]);\n\n useEffect(() => {\n return () => {\n if (speechEndTimerRef.current) {\n clearTimeout(speechEndTimerRef.current);\n }\n discardMediaRecorder();\n cleanupMixContext();\n cleanupStream();\n };\n }, [cleanupMixContext, cleanupStream, discardMediaRecorder]);\n\n return {\n isListening: vad.listening,\n isLoading: vad.loading,\n isErrored: !!vad.errored,\n isSpeaking,\n micError,\n toggle,\n prepare,\n start,\n stop,\n pause: vad.pause,\n userSpeaking: vad.userSpeaking,\n };\n}\n","import React, { useEffect, useRef, type ReactNode } from 'react';\nimport { RqmiiAgentProvider } from '../provider/RqmiiAgentProvider';\nimport { useRqmiiConnection } from '../hooks/use-rqmii-connection';\nimport type { RqmiiAgentRoomProps, RqmiiAgentRoomSession, SessionData } from '../types';\n\nfunction AutoConnector({\n connect = true,\n session,\n onError,\n onInitialized,\n children,\n}: {\n connect?: boolean;\n session?: RqmiiAgentRoomSession;\n onError?: (error: unknown) => void;\n onInitialized?: (data: SessionData) => void;\n children: ReactNode;\n}) {\n const { initializeSession, joinDesktopSession, disconnect } = useRqmiiConnection();\n const startedRef = useRef(false);\n const failedRef = useRef(false);\n\n const initializeSessionRef = useRef(initializeSession);\n const joinDesktopSessionRef = useRef(joinDesktopSession);\n const disconnectRef = useRef(disconnect);\n const onErrorRef = useRef(onError);\n const onInitializedRef = useRef(onInitialized);\n\n useEffect(() => { initializeSessionRef.current = initializeSession; });\n useEffect(() => { joinDesktopSessionRef.current = joinDesktopSession; });\n useEffect(() => { disconnectRef.current = disconnect; });\n useEffect(() => { onErrorRef.current = onError; });\n useEffect(() => { onInitializedRef.current = onInitialized; });\n\n useEffect(() => {\n if (!connect || startedRef.current) return;\n startedRef.current = true;\n failedRef.current = false;\n\n let cancelled = false;\n\n const run = async () => {\n try {\n if (session?.mode === 'join_desktop') {\n const result = await joinDesktopSessionRef.current({ uniqueId: session.uniqueId });\n if (!cancelled) onInitializedRef.current?.(result);\n return;\n }\n\n const result = await initializeSessionRef.current({\n apiKey: (session as { apiKey?: string })?.apiKey,\n publicChatId: (session as { publicChatId?: string })?.publicChatId,\n agentId: (session as { agentId?: string })?.agentId,\n language: (session as { language?: string })?.language || 'en',\n });\n if (!cancelled) onInitializedRef.current?.(result);\n } catch (error) {\n if (!cancelled) {\n failedRef.current = true;\n onErrorRef.current?.(error);\n }\n }\n };\n\n void run();\n\n return () => {\n cancelled = true;\n if (failedRef.current) return;\n disconnectRef.current();\n startedRef.current = false;\n };\n }, [connect, session]);\n\n return <>{children}</>;\n}\n\nexport function RqmiiAgentRoom({\n children,\n wsUrl,\n restUrl,\n session,\n connect = true,\n reconnectOptions,\n enableAudio = true,\n pcmOptions,\n debug = false,\n withCredentials = false,\n onError,\n onInitialized,\n}: RqmiiAgentRoomProps) {\n return (\n <RqmiiAgentProvider\n wsUrl={wsUrl}\n restUrl={restUrl}\n reconnectOptions={reconnectOptions}\n enableAudio={enableAudio}\n pcmOptions={pcmOptions}\n debug={debug}\n withCredentials={withCredentials}\n >\n <AutoConnector\n connect={connect}\n session={session}\n onError={onError}\n onInitialized={onInitialized}\n >\n {children}\n </AutoConnector>\n </RqmiiAgentProvider>\n );\n}\n","/* eslint-env node */\n'use strict';\n\n// SDP helpers.\nconst SDPUtils = {};\n\n// Generate an alphanumeric identifier for cname or mids.\n// TODO: use UUIDs instead? https://gist.github.com/jed/982883\nSDPUtils.generateIdentifier = function() {\n return Math.random().toString(36).substring(2, 12);\n};\n\n// The RTCP CNAME used by all peerconnections from the same JS.\nSDPUtils.localCName = SDPUtils.generateIdentifier();\n\n// Splits SDP into lines, dealing with both CRLF and LF.\nSDPUtils.splitLines = function(blob) {\n return blob.trim().split('\\n').map(line => line.trim());\n};\n// Splits SDP into sessionpart and mediasections. Ensures CRLF.\nSDPUtils.splitSections = function(blob) {\n const parts = blob.split('\\nm=');\n return parts.map((part, index) => (index > 0 ?\n 'm=' + part : part).trim() + '\\r\\n');\n};\n\n// Returns the session description.\nSDPUtils.getDescription = function(blob) {\n const sections = SDPUtils.splitSections(blob);\n return sections && sections[0];\n};\n\n// Returns the individual media sections.\nSDPUtils.getMediaSections = function(blob) {\n const sections = SDPUtils.splitSections(blob);\n sections.shift();\n return sections;\n};\n\n// Returns lines that start with a certain prefix.\nSDPUtils.matchPrefix = function(blob, prefix) {\n return SDPUtils.splitLines(blob).filter(line => line.indexOf(prefix) === 0);\n};\n\n// Parses an ICE candidate line. Sample input:\n// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8\n// rport 55996\"\n// Input can be prefixed with a=.\nSDPUtils.parseCandidate = function(line) {\n let parts;\n // Parse both variants.\n if (line.indexOf('a=candidate:') === 0) {\n parts = line.substring(12).split(' ');\n } else {\n parts = line.substring(10).split(' ');\n }\n\n const candidate = {\n foundation: parts[0],\n component: {1: 'rtp', 2: 'rtcp'}[parts[1]] || parts[1],\n protocol: parts[2].toLowerCase(),\n priority: parseInt(parts[3], 10),\n ip: parts[4],\n address: parts[4], // address is an alias for ip.\n port: parseInt(parts[5], 10),\n // skip parts[6] == 'typ'\n type: parts[7],\n };\n\n for (let i = 8; i < parts.length; i += 2) {\n switch (parts[i]) {\n case 'raddr':\n candidate.relatedAddress = parts[i + 1];\n break;\n case 'rport':\n candidate.relatedPort = parseInt(parts[i + 1], 10);\n break;\n case 'tcptype':\n candidate.tcpType = parts[i + 1];\n break;\n case 'ufrag':\n candidate.ufrag = parts[i + 1]; // for backward compatibility.\n candidate.usernameFragment = parts[i + 1];\n break;\n default: // extension handling, in particular ufrag. Don't overwrite.\n if (candidate[parts[i]] === undefined) {\n candidate[parts[i]] = parts[i + 1];\n }\n break;\n }\n }\n return candidate;\n};\n\n// Translates a candidate object into SDP candidate attribute.\n// This does not include the a= prefix!\nSDPUtils.writeCandidate = function(candidate) {\n const sdp = [];\n sdp.push(candidate.foundation);\n\n const component = candidate.component;\n if (component === 'rtp') {\n sdp.push(1);\n } else if (component === 'rtcp') {\n sdp.push(2);\n } else {\n sdp.push(component);\n }\n sdp.push(candidate.protocol.toUpperCase());\n sdp.push(candidate.priority);\n sdp.push(candidate.address || candidate.ip);\n sdp.push(candidate.port);\n\n const type = candidate.type;\n sdp.push('typ');\n sdp.push(type);\n if (type !== 'host' && candidate.relatedAddress &&\n candidate.relatedPort !== undefined) {\n sdp.push('raddr');\n sdp.push(candidate.relatedAddress);\n sdp.push('rport');\n sdp.push(candidate.relatedPort);\n }\n if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') {\n sdp.push('tcptype');\n sdp.push(candidate.tcpType);\n }\n if (candidate.usernameFragment || candidate.ufrag) {\n sdp.push('ufrag');\n sdp.push(candidate.usernameFragment || candidate.ufrag);\n }\n return 'candidate:' + sdp.join(' ');\n};\n\n// Parses an ice-options line, returns an array of option tags.\n// Sample input:\n// a=ice-options:foo bar\nSDPUtils.parseIceOptions = function(line) {\n return line.substring(14).split(' ');\n};\n\n// Parses a rtpmap line, returns RTCRtpCoddecParameters. Sample input:\n// a=rtpmap:111 opus/48000/2\nSDPUtils.parseRtpMap = function(line) {\n let parts = line.substring(9).split(' ');\n const parsed = {\n payloadType: parseInt(parts.shift(), 10), // was: id\n };\n\n parts = parts[0].split('/');\n\n parsed.name = parts[0];\n parsed.clockRate = parseInt(parts[1], 10); // was: clockrate\n parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1;\n // legacy alias, got renamed back to channels in ORTC.\n parsed.numChannels = parsed.channels;\n return parsed;\n};\n\n// Generates a rtpmap line from RTCRtpCodecCapability or\n// RTCRtpCodecParameters.\nSDPUtils.writeRtpMap = function(codec) {\n let pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n const channels = codec.channels || codec.numChannels || 1;\n return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +\n (channels !== 1 ? '/' + channels : '') + '\\r\\n';\n};\n\n// Parses a extmap line (headerextension from RFC 5285). Sample input:\n// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\n// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset\nSDPUtils.parseExtmap = function(line) {\n const parts = line.substring(9).split(' ');\n return {\n id: parseInt(parts[0], 10),\n direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv',\n uri: parts[1],\n attributes: parts.slice(2).join(' '),\n };\n};\n\n// Generates an extmap line from RTCRtpHeaderExtensionParameters or\n// RTCRtpHeaderExtension.\nSDPUtils.writeExtmap = function(headerExtension) {\n return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) +\n (headerExtension.direction && headerExtension.direction !== 'sendrecv'\n ? '/' + headerExtension.direction\n : '') +\n ' ' + headerExtension.uri +\n (headerExtension.attributes ? ' ' + headerExtension.attributes : '') +\n '\\r\\n';\n};\n\n// Parses a fmtp line, returns dictionary. Sample input:\n// a=fmtp:96 vbr=on;cng=on\n// Also deals with vbr=on; cng=on\n// Non-key-value such as telephone-events `0-15` get parsed as\n// {`0-15`:undefined}\nSDPUtils.parseFmtp = function(line) {\n const parsed = {};\n let kv;\n const parts = line.substring(line.indexOf(' ') + 1).split(';');\n for (let j = 0; j < parts.length; j++) {\n kv = parts[j].trim().split('=');\n parsed[kv[0].trim()] = kv[1];\n }\n return parsed;\n};\n\n// Generates a fmtp line from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeFmtp = function(codec) {\n let line = '';\n let pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n if (codec.parameters && Object.keys(codec.parameters).length) {\n const params = [];\n Object.keys(codec.parameters).forEach(param => {\n if (codec.parameters[param] !== undefined) {\n params.push(param + '=' + codec.parameters[param]);\n } else {\n params.push(param);\n }\n });\n line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\\r\\n';\n }\n return line;\n};\n\n// Parses a rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:\n// a=rtcp-fb:98 nack rpsi\nSDPUtils.parseRtcpFb = function(line) {\n const parts = line.substring(line.indexOf(' ') + 1).split(' ');\n return {\n type: parts.shift(),\n parameter: parts.join(' '),\n };\n};\n\n// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeRtcpFb = function(codec) {\n let lines = '';\n let pt = codec.payloadType;\n if (codec.preferredPayloadType !== undefined) {\n pt = codec.preferredPayloadType;\n }\n if (codec.rtcpFeedback && codec.rtcpFeedback.length) {\n // FIXME: special handling for trr-int?\n codec.rtcpFeedback.forEach(fb => {\n lines += 'a=rtcp-fb:' + pt + ' ' + fb.type +\n (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') +\n '\\r\\n';\n });\n }\n return lines;\n};\n\n// Parses a RFC 5576 ssrc media attribute. Sample input:\n// a=ssrc:3735928559 cname:something\nSDPUtils.parseSsrcMedia = function(line) {\n const sp = line.indexOf(' ');\n const parts = {\n ssrc: parseInt(line.substring(7, sp), 10),\n };\n const colon = line.indexOf(':', sp);\n if (colon > -1) {\n parts.attribute = line.substring(sp + 1, colon);\n parts.value = line.substring(colon + 1);\n } else {\n parts.attribute = line.substring(sp + 1);\n }\n return parts;\n};\n\n// Parse a ssrc-group line (see RFC 5576). Sample input:\n// a=ssrc-group:semantics 12 34\nSDPUtils.parseSsrcGroup = function(line) {\n const parts = line.substring(13).split(' ');\n return {\n semantics: parts.shift(),\n ssrcs: parts.map(ssrc => parseInt(ssrc, 10)),\n };\n};\n\n// Extracts the MID (RFC 5888) from a media section.\n// Returns the MID or undefined if no mid line was found.\nSDPUtils.getMid = function(mediaSection) {\n const mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0];\n if (mid) {\n return mid.substring(6);\n }\n};\n\n// Parses a fingerprint line for DTLS-SRTP.\nSDPUtils.parseFingerprint = function(line) {\n const parts = line.substring(14).split(' ');\n return {\n algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge.\n value: parts[1].toUpperCase(), // the definition is upper-case in RFC 4572.\n };\n};\n\n// Extracts DTLS parameters from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n// get the fingerprint line as input. See also getIceParameters.\nSDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {\n const lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=fingerprint:');\n // Note: a=setup line is ignored since we use the 'auto' role in Edge.\n return {\n role: 'auto',\n fingerprints: lines.map(SDPUtils.parseFingerprint),\n };\n};\n\n// Serializes DTLS parameters to SDP.\nSDPUtils.writeDtlsParameters = function(params, setupType) {\n let sdp = 'a=setup:' + setupType + '\\r\\n';\n params.fingerprints.forEach(fp => {\n sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\\r\\n';\n });\n return sdp;\n};\n\n// Parses a=crypto lines into\n// https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#dictionary-rtcsrtpsdesparameters-members\nSDPUtils.parseCryptoLine = function(line) {\n const parts = line.substring(9).split(' ');\n return {\n tag: parseInt(parts[0], 10),\n cryptoSuite: parts[1],\n keyParams: parts[2],\n sessionParams: parts.slice(3),\n };\n};\n\nSDPUtils.writeCryptoLine = function(parameters) {\n return 'a=crypto:' + parameters.tag + ' ' +\n parameters.cryptoSuite + ' ' +\n (typeof parameters.keyParams === 'object'\n ? SDPUtils.writeCryptoKeyParams(parameters.keyParams)\n : parameters.keyParams) +\n (parameters.sessionParams ? ' ' + parameters.sessionParams.join(' ') : '') +\n '\\r\\n';\n};\n\n// Parses the crypto key parameters into\n// https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#rtcsrtpkeyparam*\nSDPUtils.parseCryptoKeyParams = function(keyParams) {\n if (keyParams.indexOf('inline:') !== 0) {\n return null;\n }\n const parts = keyParams.substring(7).split('|');\n return {\n keyMethod: 'inline',\n keySalt: parts[0],\n lifeTime: parts[1],\n mkiValue: parts[2] ? parts[2].split(':')[0] : undefined,\n mkiLength: parts[2] ? parts[2].split(':')[1] : undefined,\n };\n};\n\nSDPUtils.writeCryptoKeyParams = function(keyParams) {\n return keyParams.keyMethod + ':'\n + keyParams.keySalt +\n (keyParams.lifeTime ? '|' + keyParams.lifeTime : '') +\n (keyParams.mkiValue && keyParams.mkiLength\n ? '|' + keyParams.mkiValue + ':' + keyParams.mkiLength\n : '');\n};\n\n// Extracts all SDES parameters.\nSDPUtils.getCryptoParameters = function(mediaSection, sessionpart) {\n const lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=crypto:');\n return lines.map(SDPUtils.parseCryptoLine);\n};\n\n// Parses ICE information from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n// get the ice-ufrag and ice-pwd lines as input.\nSDPUtils.getIceParameters = function(mediaSection, sessionpart) {\n const ufrag = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=ice-ufrag:')[0];\n const pwd = SDPUtils.matchPrefix(mediaSection + sessionpart,\n 'a=ice-pwd:')[0];\n if (!(ufrag && pwd)) {\n return null;\n }\n return {\n usernameFragment: ufrag.substring(12),\n password: pwd.substring(10),\n };\n};\n\n// Serializes ICE parameters to SDP.\nSDPUtils.writeIceParameters = function(params) {\n let sdp = 'a=ice-ufrag:' + params.usernameFragment + '\\r\\n' +\n 'a=ice-pwd:' + params.password + '\\r\\n';\n if (params.iceLite) {\n sdp += 'a=ice-lite\\r\\n';\n }\n return sdp;\n};\n\n// Parses the SDP media section and returns RTCRtpParameters.\nSDPUtils.parseRtpParameters = function(mediaSection) {\n const description = {\n codecs: [],\n headerExtensions: [],\n fecMechanisms: [],\n rtcp: [],\n };\n const lines = SDPUtils.splitLines(mediaSection);\n const mline = lines[0].split(' ');\n description.profile = mline[2];\n for (let i = 3; i < mline.length; i++) { // find all codecs from mline[3..]\n const pt = mline[i];\n const rtpmapline = SDPUtils.matchPrefix(\n mediaSection, 'a=rtpmap:' + pt + ' ')[0];\n if (rtpmapline) {\n const codec = SDPUtils.parseRtpMap(rtpmapline);\n const fmtps = SDPUtils.matchPrefix(\n mediaSection, 'a=fmtp:' + pt + ' ');\n // Only the first a=fmtp:<pt> is considered.\n codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};\n codec.rtcpFeedback = SDPUtils.matchPrefix(\n mediaSection, 'a=rtcp-fb:' + pt + ' ')\n .map(SDPUtils.parseRtcpFb);\n description.codecs.push(codec);\n // parse FEC mechanisms from rtpmap lines.\n switch (codec.name.toUpperCase()) {\n case 'RED':\n case 'ULPFEC':\n description.fecMechanisms.push(codec.name.toUpperCase());\n break;\n default: // only RED and ULPFEC are recognized as FEC mechanisms.\n break;\n }\n }\n }\n SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(line => {\n description.headerExtensions.push(SDPUtils.parseExtmap(line));\n });\n const wildcardRtcpFb = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-fb:* ')\n .map(SDPUtils.parseRtcpFb);\n description.codecs.forEach(codec => {\n wildcardRtcpFb.forEach(fb=> {\n const duplicate = codec.rtcpFeedback.find(existingFeedback => {\n return existingFeedback.type === fb.type &&\n existingFeedback.parameter === fb.parameter;\n });\n if (!duplicate) {\n codec.rtcpFeedback.push(fb);\n }\n });\n });\n // FIXME: parse rtcp.\n return description;\n};\n\n// Generates parts of the SDP media section describing the capabilities /\n// parameters.\nSDPUtils.writeRtpDescription = function(kind, caps) {\n let sdp = '';\n\n // Build the mline.\n sdp += 'm=' + kind + ' ';\n sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs.\n sdp += ' ' + (caps.profile || 'UDP/TLS/RTP/SAVPF') + ' ';\n sdp += caps.codecs.map(codec => {\n if (codec.preferredPayloadType !== undefined) {\n return codec.preferredPayloadType;\n }\n return codec.payloadType;\n }).join(' ') + '\\r\\n';\n\n sdp += 'c=IN IP4 0.0.0.0\\r\\n';\n sdp += 'a=rtcp:9 IN IP4 0.0.0.0\\r\\n';\n\n // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.\n caps.codecs.forEach(codec => {\n sdp += SDPUtils.writeRtpMap(codec);\n sdp += SDPUtils.writeFmtp(codec);\n sdp += SDPUtils.writeRtcpFb(codec);\n });\n let maxptime = 0;\n caps.codecs.forEach(codec => {\n if (codec.maxptime > maxptime) {\n maxptime = codec.maxptime;\n }\n });\n if (maxptime > 0) {\n sdp += 'a=maxptime:' + maxptime + '\\r\\n';\n }\n\n if (caps.headerExtensions) {\n caps.headerExtensions.forEach(extension => {\n sdp += SDPUtils.writeExtmap(extension);\n });\n }\n // FIXME: write fecMechanisms.\n return sdp;\n};\n\n// Parses the SDP media section and returns an array of\n// RTCRtpEncodingParameters.\nSDPUtils.parseRtpEncodingParameters = function(mediaSection) {\n const encodingParameters = [];\n const description = SDPUtils.parseRtpParameters(mediaSection);\n const hasRed = description.fecMechanisms.indexOf('RED') !== -1;\n const hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1;\n\n // filter a=ssrc:... cname:, ignore PlanB-msid\n const ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(line => SDPUtils.parseSsrcMedia(line))\n .filter(parts => parts.attribute === 'cname');\n const primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc;\n let secondarySsrc;\n\n const flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID')\n .map(line => {\n const parts = line.substring(17).split(' ');\n return parts.map(part => parseInt(part, 10));\n });\n if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) {\n secondarySsrc = flows[0][1];\n }\n\n description.codecs.forEach(codec => {\n if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) {\n let encParam = {\n ssrc: primarySsrc,\n codecPayloadType: parseInt(codec.parameters.apt, 10),\n };\n if (primarySsrc && secondarySsrc) {\n encParam.rtx = {ssrc: secondarySsrc};\n }\n encodingParameters.push(encParam);\n if (hasRed) {\n encParam = JSON.parse(JSON.stringify(encParam));\n encParam.fec = {\n ssrc: primarySsrc,\n mechanism: hasUlpfec ? 'red+ulpfec' : 'red',\n };\n encodingParameters.push(encParam);\n }\n }\n });\n if (encodingParameters.length === 0 && primarySsrc) {\n encodingParameters.push({\n ssrc: primarySsrc,\n });\n }\n\n // we support both b=AS and b=TIAS but interpret AS as TIAS.\n let bandwidth = SDPUtils.matchPrefix(mediaSection, 'b=');\n if (bandwidth.length) {\n if (bandwidth[0].indexOf('b=TIAS:') === 0) {\n bandwidth = parseInt(bandwidth[0].substring(7), 10);\n } else if (bandwidth[0].indexOf('b=AS:') === 0) {\n // use formula from JSEP to convert b=AS to TIAS value.\n bandwidth = parseInt(bandwidth[0].substring(5), 10) * 1000 * 0.95\n - (50 * 40 * 8);\n } else {\n bandwidth = undefined;\n }\n encodingParameters.forEach(params => {\n params.maxBitrate = bandwidth;\n });\n }\n return encodingParameters;\n};\n\n// parses http://draft.ortc.org/#rtcrtcpparameters*\nSDPUtils.parseRtcpParameters = function(mediaSection) {\n const rtcpParameters = {};\n\n // Gets the first SSRC. Note that with RTX there might be multiple\n // SSRCs.\n const remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(line => SDPUtils.parseSsrcMedia(line))\n .filter(obj => obj.attribute === 'cname')[0];\n if (remoteSsrc) {\n rtcpParameters.cname = remoteSsrc.value;\n rtcpParameters.ssrc = remoteSsrc.ssrc;\n }\n\n // Edge uses the compound attribute instead of reducedSize\n // compound is !reducedSize\n const rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize');\n rtcpParameters.reducedSize = rsize.length > 0;\n rtcpParameters.compound = rsize.length === 0;\n\n // parses the rtcp-mux attrіbute.\n // Note that Edge does not support unmuxed RTCP.\n const mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux');\n rtcpParameters.mux = mux.length > 0;\n\n return rtcpParameters;\n};\n\nSDPUtils.writeRtcpParameters = function(rtcpParameters) {\n let sdp = '';\n if (rtcpParameters.reducedSize) {\n sdp += 'a=rtcp-rsize\\r\\n';\n }\n if (rtcpParameters.mux) {\n sdp += 'a=rtcp-mux\\r\\n';\n }\n if (rtcpParameters.ssrc !== undefined && rtcpParameters.cname) {\n sdp += 'a=ssrc:' + rtcpParameters.ssrc +\n ' cname:' + rtcpParameters.cname + '\\r\\n';\n }\n return sdp;\n};\n\n\n// parses either a=msid: or a=ssrc:... msid lines and returns\n// the id of the MediaStream and MediaStreamTrack.\nSDPUtils.parseMsid = function(mediaSection) {\n let parts;\n const spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');\n if (spec.length === 1) {\n parts = spec[0].substring(7).split(' ');\n return {stream: parts[0], track: parts[1]};\n }\n const planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n .map(line => SDPUtils.parseSsrcMedia(line))\n .filter(msidParts => msidParts.attribute === 'msid');\n if (planB.length > 0) {\n parts = planB[0].value.split(' ');\n return {stream: parts[0], track: parts[1]};\n }\n};\n\n// SCTP\n// parses draft-ietf-mmusic-sctp-sdp-26 first and falls back\n// to draft-ietf-mmusic-sctp-sdp-05\nSDPUtils.parseSctpDescription = function(mediaSection) {\n const mline = SDPUtils.parseMLine(mediaSection);\n const maxSizeLine = SDPUtils.matchPrefix(mediaSection, 'a=max-message-size:');\n let maxMessageSize;\n if (maxSizeLine.length > 0) {\n maxMessageSize = parseInt(maxSizeLine[0].substring(19), 10);\n }\n if (isNaN(maxMessageSize)) {\n maxMessageSize = 65536;\n }\n const sctpPort = SDPUtils.matchPrefix(mediaSection, 'a=sctp-port:');\n if (sctpPort.length > 0) {\n return {\n port: parseInt(sctpPort[0].substring(12), 10),\n protocol: mline.fmt,\n maxMessageSize,\n };\n }\n const sctpMapLines = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:');\n if (sctpMapLines.length > 0) {\n const parts = sctpMapLines[0]\n .substring(10)\n .split(' ');\n return {\n port: parseInt(parts[0], 10),\n protocol: parts[1],\n maxMessageSize,\n };\n }\n};\n\n// SCTP\n// outputs the draft-ietf-mmusic-sctp-sdp-26 version that all browsers\n// support by now receiving in this format, unless we originally parsed\n// as the draft-ietf-mmusic-sctp-sdp-05 format (indicated by the m-line\n// protocol of DTLS/SCTP -- without UDP/ or TCP/)\nSDPUtils.writeSctpDescription = function(media, sctp) {\n let output = [];\n if (media.protocol !== 'DTLS/SCTP') {\n output = [\n 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.protocol + '\\r\\n',\n 'c=IN IP4 0.0.0.0\\r\\n',\n 'a=sctp-port:' + sctp.port + '\\r\\n',\n ];\n } else {\n output = [\n 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.port + '\\r\\n',\n 'c=IN IP4 0.0.0.0\\r\\n',\n 'a=sctpmap:' + sctp.port + ' ' + sctp.protocol + ' 65535\\r\\n',\n ];\n }\n if (sctp.maxMessageSize !== undefined) {\n output.push('a=max-message-size:' + sctp.maxMessageSize + '\\r\\n');\n }\n return output.join('');\n};\n\n// Generate a session ID for SDP.\n// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1\n// recommends using a cryptographically random +ve 64-bit value\n// but right now this should be acceptable and within the right range\nSDPUtils.generateSessionId = function() {\n return Math.random().toString().substr(2, 22);\n};\n\n// Write boiler plate for start of SDP\n// sessId argument is optional - if not supplied it will\n// be generated randomly\n// sessVersion is optional and defaults to 2\n// sessUser is optional and defaults to 'thisisadapterortc'\nSDPUtils.writeSessionBoilerplate = function(sessId, sessVer, sessUser) {\n let sessionId;\n const version = sessVer !== undefined ? sessVer : 2;\n if (sessId) {\n sessionId = sessId;\n } else {\n sessionId = SDPUtils.generateSessionId();\n }\n const user = sessUser || 'thisisadapterortc';\n // FIXME: sess-id should be an NTP timestamp.\n return 'v=0\\r\\n' +\n 'o=' + user + ' ' + sessionId + ' ' + version +\n ' IN IP4 127.0.0.1\\r\\n' +\n 's=-\\r\\n' +\n 't=0 0\\r\\n';\n};\n\n// Gets the direction from the mediaSection or the sessionpart.\nSDPUtils.getDirection = function(mediaSection, sessionpart) {\n // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.\n const lines = SDPUtils.splitLines(mediaSection);\n for (let i = 0; i < lines.length; i++) {\n switch (lines[i]) {\n case 'a=sendrecv':\n case 'a=sendonly':\n case 'a=recvonly':\n case 'a=inactive':\n return lines[i].substring(2);\n default:\n // FIXME: What should happen here?\n }\n }\n if (sessionpart) {\n return SDPUtils.getDirection(sessionpart);\n }\n return 'sendrecv';\n};\n\nSDPUtils.getKind = function(mediaSection) {\n const lines = SDPUtils.splitLines(mediaSection);\n const mline = lines[0].split(' ');\n return mline[0].substring(2);\n};\n\nSDPUtils.isRejected = function(mediaSection) {\n return mediaSection.split(' ', 2)[1] === '0';\n};\n\nSDPUtils.parseMLine = function(mediaSection) {\n const lines = SDPUtils.splitLines(mediaSection);\n const parts = lines[0].substring(2).split(' ');\n return {\n kind: parts[0],\n port: parseInt(parts[1], 10),\n protocol: parts[2],\n fmt: parts.slice(3).join(' '),\n };\n};\n\nSDPUtils.parseOLine = function(mediaSection) {\n const line = SDPUtils.matchPrefix(mediaSection, 'o=')[0];\n const parts = line.substring(2).split(' ');\n return {\n username: parts[0],\n sessionId: parts[1],\n sessionVersion: parseInt(parts[2], 10),\n netType: parts[3],\n addressType: parts[4],\n address: parts[5],\n };\n};\n\n// a very naive interpretation of a valid SDP.\nSDPUtils.isValidSDP = function(blob) {\n if (typeof blob !== 'string' || blob.length === 0) {\n return false;\n }\n const lines = SDPUtils.splitLines(blob);\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].length < 2 || lines[i].charAt(1) !== '=') {\n return false;\n }\n // TODO: check the modifier a bit more.\n }\n return true;\n};\n\n// Expose public methods.\nif (typeof module === 'object') {\n module.exports = SDPUtils;\n}\n","import*as e from\"sdp\";var t,s,n={d:(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r={};n.d(r,{Dz:()=>ye,g$:()=>A,Lt:()=>k,Q9:()=>x,qf:()=>L,hV:()=>Ae,z$:()=>wt,J0:()=>Pe,De:()=>Te,$C:()=>Ee,al:()=>_,_W:()=>V,Gv:()=>se,m:()=>ne,tz:()=>z,Nu:()=>Re,zg:()=>He,vp:()=>he,vU:()=>ue,wF:()=>J,rv:()=>we,Nh:()=>be,ss:()=>_e,qW:()=>re,QL:()=>te,cf:()=>Ne,eM:()=>j,Yd:()=>i,Tk:()=>Ge,iM:()=>S,qy:()=>a,ce:()=>v,sK:()=>me,Ok:()=>Ce,q5:()=>ke,g:()=>Mt,xl:()=>q,I:()=>$,bx:()=>X,dD:()=>de,Ib:()=>M,Az:()=>w,Iw:()=>b,qY:()=>P,db:()=>R,mR:()=>ie,Tn:()=>C,rV:()=>Y,gh:()=>W,Mi:()=>N,j:()=>K,YB:()=>Q,Yt:()=>ee,i5:()=>Z,x_:()=>Se,Am:()=>pt,eR:()=>F,r8:()=>H,u3:()=>We,vd:()=>O,iV:()=>U,jZ:()=>I,SW:()=>B,ZH:()=>G,Ni:()=>vt,lh:()=>D,ZP:()=>ce,bq:()=>f,$f:()=>ft,eu:()=>le,Ax:()=>oe,Mc:()=>ae});class i{static GetStackTrace(){const e=new Error;let t=\"No Stack Available for this browser\";return e.stack&&(t=e.stack.toString().replace(/Error/g,\"\")),t}static SetLoggerVerbosity(e){null!=this.verboseLogLevel&&(this.verboseLogLevel=e)}static Log(e,t,s){if(s>this.verboseLogLevel)return;const n=`Level: Log\\nMsg: ${t}\\nCaller: ${e}`;console.log(n)}static Info(e,t,s){if(s>this.verboseLogLevel)return;const n=`Level: Info\\nMsg: ${t}`;console.info(n)}static Error(e,t){const s=`Level: Error\\nMsg: ${t}\\nCaller: ${e}`;console.error(s)}static Warning(e,t){const s=`Level: Warning\\nCaller: ${e}\\nMsg: ${t}`;console.warn(s)}}i.verboseLogLevel=5,function(e){e.LIST_STREAMERS=\"listStreamers\",e.SUBSCRIBE=\"subscribe\",e.UNSUBSCRIBE=\"unsubscribe\",e.ICE_CANDIDATE=\"iceCandidate\",e.OFFER=\"offer\",e.ANSWER=\"answer\",e.DATACHANNELREQUEST=\"dataChannelRequest\",e.SFURECVDATACHANNELREADY=\"peerDataChannelsReady\",e.PONG=\"pong\"}(t||(t={}));class a{sendFilter(e,t){return t}payload(){return i.Log(i.GetStackTrace(),\"Sending => \\n\"+JSON.stringify(this,this.sendFilter,4),6),JSON.stringify(this,this.sendFilter)}}class o extends a{constructor(){super(),this.type=t.LIST_STREAMERS}}class l extends a{constructor(e){super(),this.type=t.SUBSCRIBE,this.streamerId=e}}class d extends a{constructor(){super(),this.type=t.UNSUBSCRIBE}}class c extends a{constructor(e){super(),this.type=t.PONG,this.time=e}}class h extends a{constructor(e,s){super(),this.type=t.OFFER,this.minBitrate=0,this.maxBitrate=0,e&&(this.type=e.type,this.sdp=e.sdp,this.minBitrate=s.minBitrateBps,this.maxBitrate=s.maxBitrateBps)}sendFilter(e,t){if(\"minBitrate\"!=e&&\"maxBitrate\"!=e||!(t<=0))return t}}class u extends a{constructor(e,s){super(),this.type=t.ANSWER,this.minBitrate=0,this.maxBitrate=0,e&&(this.type=e.type,this.sdp=e.sdp,this.minBitrate=s.minBitrateBps,this.maxBitrate=s.maxBitrateBps)}sendFilter(e,t){if(\"minBitrate\"!=e&&\"maxBitrate\"!=e||!(t<=0))return t}}class g extends a{constructor(){super(),this.type=t.DATACHANNELREQUEST}}class m extends a{constructor(){super(),this.type=t.SFURECVDATACHANNELREADY}}class p{constructor(e){this.type=t.ICE_CANDIDATE,this.candidate=e}payload(){return i.Log(i.GetStackTrace(),\"Sending => \\n\"+JSON.stringify(this,void 0,4),6),JSON.stringify(this)}}!function(e){e.CONFIG=\"config\",e.STREAMER_LIST=\"streamerList\",e.STREAMER_ID_CHANGED=\"streamerIDChanged\",e.PLAYER_COUNT=\"playerCount\",e.OFFER=\"offer\",e.ANSWER=\"answer\",e.ICE_CANDIDATE=\"iceCandidate\",e.PEER_DATA_CHANNELS=\"peerDataChannels\",e.PING=\"ping\",e.WARNING=\"warning\"}(s||(s={}));class S{}class v extends S{}class C{constructor(){this.FromUEMessageHandlers=new Map}addMessageHandler(e,t){this.FromUEMessageHandlers.set(e,t)}handleMessage(e,t){this.FromUEMessageHandlers.has(e)?this.FromUEMessageHandlers.get(e)(t):i.Error(i.GetStackTrace(),`Message type of ${e} does not have a message handler registered on the frontend - ignoring message.`)}static setupDefaultHandlers(e){e.signallingProtocol.addMessageHandler(s.PING,(t=>{const n=new c((new Date).getTime()).payload();i.Log(i.GetStackTrace(),s.PING+\": \"+t,6),e.webSocket.send(n)})),e.signallingProtocol.addMessageHandler(s.CONFIG,(t=>{i.Log(i.GetStackTrace(),s.CONFIG,6);const n=JSON.parse(t);e.onConfig(n)})),e.signallingProtocol.addMessageHandler(s.STREAMER_LIST,(t=>{i.Log(i.GetStackTrace(),s.STREAMER_LIST,6);const n=JSON.parse(t);e.onStreamerList(n)})),e.signallingProtocol.addMessageHandler(s.STREAMER_ID_CHANGED,(t=>{i.Log(i.GetStackTrace(),s.STREAMER_ID_CHANGED,6);const n=JSON.parse(t);e.onStreamerIDChanged(n)})),e.signallingProtocol.addMessageHandler(s.PLAYER_COUNT,(t=>{i.Log(i.GetStackTrace(),s.PLAYER_COUNT,6);const n=JSON.parse(t);i.Log(i.GetStackTrace(),\"Player Count: \"+n.count,6),e.onPlayerCount(n)})),e.signallingProtocol.addMessageHandler(s.ANSWER,(t=>{i.Log(i.GetStackTrace(),s.ANSWER,6);const n=JSON.parse(t);e.onWebRtcAnswer(n)})),e.signallingProtocol.addMessageHandler(s.OFFER,(t=>{i.Log(i.GetStackTrace(),s.OFFER,6);const n=JSON.parse(t);e.onWebRtcOffer(n)})),e.signallingProtocol.addMessageHandler(s.ICE_CANDIDATE,(t=>{i.Log(i.GetStackTrace(),s.ICE_CANDIDATE,6);const n=JSON.parse(t);e.onIceCandidate(n.candidate)})),e.signallingProtocol.addMessageHandler(s.WARNING,(e=>{i.Warning(i.GetStackTrace(),`Warning received: ${e}`)})),e.signallingProtocol.addMessageHandler(s.PEER_DATA_CHANNELS,(t=>{i.Log(i.GetStackTrace(),s.PEER_DATA_CHANNELS,6);const n=JSON.parse(t);e.onWebRtcPeerDataChannels(n)}))}}class f{constructor(){this.WS_OPEN_STATE=1,this.onOpen=new EventTarget,this.onClose=new EventTarget,this.signallingProtocol=new C,C.setupDefaultHandlers(this)}connect(e){i.Log(i.GetStackTrace(),e,6);try{return this.webSocket=new WebSocket(e),this.webSocket.onopen=e=>this.handleOnOpen(e),this.webSocket.onerror=()=>this.handleOnError(),this.webSocket.onclose=e=>this.handleOnClose(e),this.webSocket.onmessage=e=>this.handleOnMessage(e),this.webSocket.onmessagebinary=e=>this.handleOnMessageBinary(e),!0}catch(e){return i.Error(e,e),!1}}handleOnMessageBinary(e){e&&e.data&&e.data.text().then((e=>{const t=new MessageEvent(\"messageFromBinary\",{data:e});this.handleOnMessage(t)})).catch((e=>{i.Error(i.GetStackTrace(),`Failed to parse binary blob from websocket, reason: ${e}`)}))}handleOnMessage(e){if(e.data&&e.data instanceof Blob)return void this.handleOnMessageBinary(e);const t=JSON.parse(e.data);i.Log(i.GetStackTrace(),\"received => \\n\"+JSON.stringify(JSON.parse(e.data),void 0,4),6),this.signallingProtocol.handleMessage(t.type,e.data)}handleOnOpen(e){i.Log(i.GetStackTrace(),\"Connected to the signalling server via WebSocket\",6),this.onOpen.dispatchEvent(new Event(\"open\"))}handleOnError(){i.Error(i.GetStackTrace(),\"WebSocket error\")}handleOnClose(e){i.Log(i.GetStackTrace(),\"Disconnected to the signalling server via WebSocket: \"+JSON.stringify(e.code)+\" - \"+e.reason),this.onClose.dispatchEvent(new CustomEvent(\"close\",{detail:e}))}requestStreamerList(){const e=new o;this.webSocket.send(e.payload())}sendSubscribe(e){const t=new l(e);this.webSocket.send(t.payload())}sendUnsubscribe(){const e=new d;this.webSocket.send(e.payload())}sendWebRtcOffer(e,t){const s=new h(e,t);this.webSocket.send(s.payload())}sendWebRtcAnswer(e,t){const s=new u(e,t);this.webSocket.send(s.payload())}sendWebRtcDatachannelRequest(){const e=new g;this.webSocket.send(e.payload())}sendSFURecvDataChannelReady(){const e=new m;this.webSocket.send(e.payload())}sendIceCandidate(e){if(i.Log(i.GetStackTrace(),\"Sending Ice Candidate\"),this.webSocket&&this.webSocket.readyState===this.WS_OPEN_STATE){const t=new p(e);this.webSocket.send(t.payload())}}close(){var e;null===(e=this.webSocket)||void 0===e||e.close()}onConfig(e){}onStreamerList(e){}onStreamerIDChanged(e){}onIceCandidate(e){}onWebRtcAnswer(e){}onWebRtcOffer(e){}onWebRtcPeerDataChannels(e){}onPlayerCount(e){}}class T{constructor(e){this.videoElementProvider=e,this.audioElement=document.createElement(\"Audio\"),this.videoElementProvider.setAudioElement(this.audioElement)}handleOnTrack(e){if(i.Log(i.GetStackTrace(),\"handleOnTrack \"+JSON.stringify(e.streams),6),\"probator\"==e.track.id)return;const t=this.videoElementProvider.getVideoElement();if(e.track&&i.Log(i.GetStackTrace(),\"Got track - \"+e.track.kind+\" id=\"+e.track.id+\" readyState=\"+e.track.readyState,6),\"audio\"!=e.track.kind)return\"video\"==e.track.kind&&t.srcObject!==e.streams[0]?(t.srcObject=e.streams[0],void i.Log(i.GetStackTrace(),\"Set video source from video track ontrack.\")):void 0;this.CreateAudioTrack(e.streams[0])}CreateAudioTrack(e){const t=this.videoElementProvider.getVideoElement();t.srcObject!=e&&t.srcObject&&t.srcObject!==e&&(this.audioElement.srcObject=e,i.Log(i.GetStackTrace(),\"Created new audio element to play separate audio stream.\"))}}class E{constructor(e){this.freezeFrameHeight=0,this.freezeFrameWidth=0,this.rootDiv=e,this.rootElement=document.createElement(\"div\"),this.rootElement.id=\"freezeFrame\",this.rootElement.style.display=\"none\",this.rootElement.style.pointerEvents=\"none\",this.rootElement.style.position=\"absolute\",this.rootElement.style.zIndex=\"20\",this.imageElement=document.createElement(\"img\"),this.imageElement.style.position=\"absolute\",this.rootElement.appendChild(this.imageElement),this.rootDiv.appendChild(this.rootElement)}setElementForShow(){this.rootElement.style.display=\"block\"}setElementForHide(){this.rootElement.style.display=\"none\"}updateImageElementSource(e){const t=btoa(e.reduce(((e,t)=>e+String.fromCharCode(t)),\"\"));this.imageElement.src=\"data:image/jpeg;base64,\"+t}setDimensionsFromElementAndResize(){this.freezeFrameHeight=this.imageElement.naturalHeight,this.freezeFrameWidth=this.imageElement.naturalWidth,this.resize()}resize(){if(0!==this.freezeFrameWidth&&0!==this.freezeFrameHeight){let e=0,t=0,s=0,n=0;const r=this.rootDiv.clientWidth/this.rootDiv.clientHeight,i=this.freezeFrameWidth/this.freezeFrameHeight;r<i?(e=this.rootDiv.clientWidth,t=Math.floor(this.rootDiv.clientWidth/i),s=Math.floor(.5*(this.rootDiv.clientHeight-t)),n=0):(e=Math.floor(this.rootDiv.clientHeight*i),t=this.rootDiv.clientHeight,s=0,n=Math.floor(.5*(this.rootDiv.clientWidth-e))),this.rootElement.style.width=this.rootDiv.offsetWidth+\"px\",this.rootElement.style.height=this.rootDiv.offsetHeight+\"px\",this.rootElement.style.left=\"0px\",this.rootElement.style.top=\"0px\",this.imageElement.style.width=e+\"px\",this.imageElement.style.height=t+\"px\",this.imageElement.style.left=n+\"px\",this.imageElement.style.top=s+\"px\"}}}class y{constructor(e){this.receiving=!1,this.size=0,this.jpeg=void 0,this.valid=!1,this.freezeFrameDelay=50,this.freezeFrame=new E(e)}showFreezeFrame(){this.valid&&this.freezeFrame.setElementForShow()}hideFreezeFrame(){this.valid=!1,this.freezeFrame.setElementForHide()}updateFreezeFrameAndShow(e,t){this.freezeFrame.updateImageElementSource(e),this.freezeFrame.imageElement.onload=()=>{this.freezeFrame.setDimensionsFromElementAndResize(),t()}}processFreezeFrameMessage(e,t){this.receiving||(this.receiving=!0,this.valid=!1,this.size=0,this.jpeg=void 0),this.size=new DataView(e.slice(1,5).buffer).getInt32(0,!0);const s=e.slice(5);if(this.jpeg){const e=new Uint8Array(this.jpeg.length+s.length);e.set(this.jpeg,0),e.set(s,this.jpeg.length),this.jpeg=e}else this.jpeg=s,this.receiving=!0,i.Log(i.GetStackTrace(),`received first chunk of freeze frame: ${this.jpeg.length}/${this.size}`,6);this.jpeg.length===this.size?(this.receiving=!1,this.valid=!0,i.Log(i.GetStackTrace(),`received complete freeze frame ${this.size}`,6),this.updateFreezeFrameAndShow(this.jpeg,t)):this.jpeg.length>this.size&&(i.Error(i.GetStackTrace(),`received bigger freeze frame than advertised: ${this.jpeg.length}/${this.size}`),this.jpeg=void 0,this.receiving=!1)}}class M{constructor(e,t,s,n,r=(()=>{})){this.onChange=r,this.onChangeEmit=()=>{},this.id=e,this.description=s,this.label=t,this.value=n}set label(e){this._label=e,this.onChangeEmit(this._value)}get label(){return this._label}get value(){return this._value}set value(e){this._value=e,this.onChange(this._value,this),this.onChangeEmit(this._value)}}class w extends M{constructor(e,t,s,n,r,i=(()=>{})){super(e,t,s,n,i);const a=new URLSearchParams(window.location.search);if(r&&a.has(this.id)){const e=this.getUrlParamFlag();this.flag=e}else this.flag=n;this.useUrlParams=r}getUrlParamFlag(){const e=new URLSearchParams(window.location.search);return!!e.has(this.id)&&\"false\"!==e.get(this.id)&&\"False\"!==e.get(this.id)}updateURLParams(){if(this.useUrlParams){const e=new URLSearchParams(window.location.search);!0===this.flag?e.set(this.id,\"true\"):e.set(this.id,\"false\"),window.history.replaceState({},\"\",\"\"!==e.toString()?`${location.pathname}?${e}`:`${location.pathname}`)}}enable(){this.flag=!0}get flag(){return!!this.value}set flag(e){this.value=e}}class b extends M{constructor(e,t,s,n,r,i,a,o=(()=>{})){super(e,t,s,i,o),this._min=n,this._max=r;const l=new URLSearchParams(window.location.search);if(a&&l.has(this.id)){const e=Number.parseFloat(l.get(this.id));this.number=Number.isNaN(e)?i:e}else this.number=i;this.useUrlParams=a}updateURLParams(){if(this.useUrlParams){const e=new URLSearchParams(window.location.search);e.set(this.id,this.number.toString()),window.history.replaceState({},\"\",\"\"!==e.toString()?`${location.pathname}?${e}`:`${location.pathname}`)}}set number(e){this.value=this.clamp(e)}get number(){return this.value}clamp(e){return null==this._min&&null==this._max?e:null==this._min?Math.min(this._max,e):null==this._max?Math.max(this._min,e):Math.max(Math.min(this._max,e),this._min)}get min(){return this._min}get max(){return this._max}addOnChangedListener(e){this.onChange=e}}class R extends M{constructor(e,t,s,n,r,i=(()=>{})){super(e,t,s,n,i);const a=new URLSearchParams(window.location.search);if(r&&a.has(this.id)){const e=this.getUrlParamText();this.text=e}else this.text=n;this.useUrlParams=r}getUrlParamText(){var e;const t=new URLSearchParams(window.location.search);return t.has(this.id)&&null!==(e=t.get(this.id))&&void 0!==e?e:\"\"}updateURLParams(){if(this.useUrlParams){const e=new URLSearchParams(window.location.search);e.set(this.id,this.text),window.history.replaceState({},\"\",\"\"!==e.toString()?`${location.pathname}?${e}`:`${location.pathname}`)}}get text(){return this.value}set text(e){this.value=e}}class P extends M{constructor(e,t,s,n,r,i,a=(()=>{})){super(e,t,s,n,a),this.options=r;const o=new URLSearchParams(window.location.search),l=i&&o.has(this.id)?this.getUrlParamText():n;this.selected=l,this.useUrlParams=i}getUrlParamText(){var e;const t=new URLSearchParams(window.location.search);return t.has(this.id)&&null!==(e=t.get(this.id))&&void 0!==e?e:\"\"}updateURLParams(){if(this.useUrlParams){const e=new URLSearchParams(window.location.search);e.set(this.id,this.selected),window.history.replaceState({},\"\",\"\"!==e.toString()?`${location.pathname}?${e}`:`${location.pathname}`)}}addOnChangedListener(e){this.onChange=e}get options(){return this._options}set options(e){this._options=e,this.onChangeEmit(this.selected)}get selected(){return this.value}set selected(e){let t=this.options.filter((t=>-1!==t.indexOf(e)));t.length?this.value=t[0]:(t=this.options.filter((t=>-1!==t.indexOf(e.split(\" \")[0]))),t.length&&(this.value=t[0]))}}class k extends Event{constructor(e){super(\"afkWarningActivate\"),this.data=e}}class L extends Event{constructor(e){super(\"afkWarningUpdate\"),this.data=e}}class x extends Event{constructor(){super(\"afkWarningDeactivate\")}}class A extends Event{constructor(){super(\"afkTimedOut\")}}class F extends Event{constructor(e){super(\"videoEncoderAvgQP\"),this.data=e}}class D extends Event{constructor(){super(\"webRtcSdp\")}}class O extends Event{constructor(){super(\"webRtcAutoConnect\")}}class I extends Event{constructor(){super(\"webRtcConnecting\")}}class U extends Event{constructor(){super(\"webRtcConnected\")}}class G extends Event{constructor(){super(\"webRtcFailed\")}}class B extends Event{constructor(e){super(\"webRtcDisconnected\"),this.data=e}}class z extends Event{constructor(e){super(\"dataChannelOpen\"),this.data=e}}class _ extends Event{constructor(e){super(\"dataChannelClose\"),this.data=e}}class V extends Event{constructor(e){super(\"dataChannelError\"),this.data=e}}class H extends Event{constructor(){super(\"videoInitialized\")}}class W extends Event{constructor(){super(\"streamLoading\")}}class N extends Event{constructor(){super(\"streamConnect\")}}class K extends Event{constructor(){super(\"streamDisconnect\")}}class Q extends Event{constructor(){super(\"streamReconnect\")}}class q extends Event{constructor(e){super(\"playStreamError\"),this.data=e}}class $ extends Event{constructor(){super(\"playStream\")}}class X extends Event{constructor(e){super(\"playStreamRejected\"),this.data=e}}class j extends Event{constructor(e){super(\"loadFreezeFrame\"),this.data=e}}class J extends Event{constructor(){super(\"hideFreezeFrame\")}}class Y extends Event{constructor(e){super(\"statsReceived\"),this.data=e}}class Z extends Event{constructor(e){super(\"streamerListMessage\"),this.data=e}}class ee extends Event{constructor(e){super(\"StreamerIDChangedMessage\"),this.data=e}}class te extends Event{constructor(e){super(\"latencyTestResult\"),this.data=e}}class se extends Event{constructor(e){super(\"dataChannelLatencyTestResponse\"),this.data=e}}class ne extends Event{constructor(e){super(\"dataChannelLatencyTestResult\"),this.data=e}}class re extends Event{constructor(e){super(\"initialSettings\"),this.data=e}}class ie extends Event{constructor(e){super(\"settingsChanged\"),this.data=e}}class ae extends Event{constructor(){super(\"xrSessionStarted\")}}class oe extends Event{constructor(){super(\"xrSessionEnded\")}}class le extends Event{constructor(e){super(\"xrFrame\"),this.data=e}}class de extends Event{constructor(e){super(\"playerCount\"),this.data=e}}class ce extends Event{constructor(){super(\"webRtcTCPRelayDetected\")}}class he extends EventTarget{dispatchEvent(e){return super.dispatchEvent(e)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}}class ue{}ue.AutoConnect=\"AutoConnect\",ue.AutoPlayVideo=\"AutoPlayVideo\",ue.AFKDetection=\"TimeoutIfIdle\",ue.BrowserSendOffer=\"OfferToReceive\",ue.HoveringMouseMode=\"HoveringMouse\",ue.ForceMonoAudio=\"ForceMonoAudio\",ue.ForceTURN=\"ForceTURN\",ue.FakeMouseWithTouches=\"FakeMouseWithTouches\",ue.IsQualityController=\"ControlsQuality\",ue.MatchViewportResolution=\"MatchViewportRes\",ue.StartVideoMuted=\"StartVideoMuted\",ue.SuppressBrowserKeys=\"SuppressBrowserKeys\",ue.UseMic=\"UseMic\",ue.KeyboardInput=\"KeyboardInput\",ue.MouseInput=\"MouseInput\",ue.TouchInput=\"TouchInput\",ue.GamepadInput=\"GamepadInput\",ue.XRControllerInput=\"XRControllerInput\",ue.WaitForStreamer=\"WaitForStreamer\",ue.HideUI=\"HideUI\";const ge=e=>Object.getOwnPropertyNames(ue).some((t=>ue[t]===e));class me{}me.AFKTimeoutSecs=\"AFKTimeout\",me.AFKCountdownSecs=\"AFKCountdown\",me.MinQP=\"MinQP\",me.MaxQP=\"MaxQP\",me.WebRTCFPS=\"WebRTCFPS\",me.WebRTCMinBitrate=\"WebRTCMinBitrate\",me.WebRTCMaxBitrate=\"WebRTCMaxBitrate\",me.MaxReconnectAttempts=\"MaxReconnectAttempts\",me.StreamerAutoJoinInterval=\"StreamerAutoJoinInterval\";const pe=e=>Object.getOwnPropertyNames(me).some((t=>me[t]===e));class Se{}Se.SignallingServerUrl=\"ss\";const ve=e=>Object.getOwnPropertyNames(Se).some((t=>Se[t]===e));class Ce{}Ce.PreferredCodec=\"PreferredCodec\",Ce.StreamerId=\"StreamerId\";const fe=e=>Object.getOwnPropertyNames(Ce).some((t=>Ce[t]===e));class Te{constructor(e={}){this.flags=new Map,this.numericParameters=new Map,this.textParameters=new Map,this.optionParameters=new Map;const{initialSettings:t,useUrlParams:s}=e;this._useUrlParams=!!s,this.populateDefaultSettings(this._useUrlParams,t)}get useUrlParams(){return this._useUrlParams}populateDefaultSettings(e,t){this.textParameters.set(Se.SignallingServerUrl,new R(Se.SignallingServerUrl,\"Signalling url\",\"Url of the signalling server\",t&&t.hasOwnProperty(Se.SignallingServerUrl)?t[Se.SignallingServerUrl]:(\"https:\"===location.protocol?\"wss://\":\"ws://\")+window.location.hostname+(\"80\"===window.location.port||\"\"===window.location.port?\"\":`:${window.location.port}`),e)),this.optionParameters.set(Ce.StreamerId,new P(Ce.StreamerId,\"Streamer ID\",\"The ID of the streamer to stream.\",t&&t.hasOwnProperty(Ce.StreamerId)?t[Ce.StreamerId]:\"\",[],e)),this.optionParameters.set(Ce.PreferredCodec,new P(Ce.PreferredCodec,\"Preferred Codec\",\"The preferred codec to be used during codec negotiation\",\"H264 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\",t&&t.hasOwnProperty(Ce.PreferredCodec)?[t[Ce.PreferredCodec]]:function(){const e=[];if(!RTCRtpReceiver.getCapabilities)return e.push(\"Only available on Chrome\"),e;const t=/(VP\\d|H26\\d|AV1).*/;return RTCRtpReceiver.getCapabilities(\"video\").codecs.forEach((s=>{const n=s.mimeType.split(\"/\")[1]+\" \"+(s.sdpFmtpLine||\"\");null!==t.exec(n)&&e.push(n)})),e}(),e)),this.flags.set(ue.AutoConnect,new w(ue.AutoConnect,\"Auto connect to stream\",\"Whether we should attempt to auto connect to the signalling server or show a click to start prompt.\",!(!t||!t.hasOwnProperty(ue.AutoConnect))&&t[ue.AutoConnect],e)),this.flags.set(ue.AutoPlayVideo,new w(ue.AutoPlayVideo,\"Auto play video\",\"When video is ready automatically start playing it as opposed to showing a play button.\",!t||!t.hasOwnProperty(ue.AutoPlayVideo)||t[ue.AutoPlayVideo],e)),this.flags.set(ue.BrowserSendOffer,new w(ue.BrowserSendOffer,\"Browser send offer\",\"Browser will initiate the WebRTC handshake by sending the offer to the streamer\",!(!t||!t.hasOwnProperty(ue.BrowserSendOffer))&&t[ue.BrowserSendOffer],e)),this.flags.set(ue.UseMic,new w(ue.UseMic,\"Use microphone\",\"Make browser request microphone access and open an input audio track.\",!(!t||!t.hasOwnProperty(ue.UseMic))&&t[ue.UseMic],e)),this.flags.set(ue.StartVideoMuted,new w(ue.StartVideoMuted,\"Start video muted\",\"Video will start muted if true.\",!(!t||!t.hasOwnProperty(ue.StartVideoMuted))&&t[ue.StartVideoMuted],e)),this.flags.set(ue.SuppressBrowserKeys,new w(ue.SuppressBrowserKeys,\"Suppress browser keys\",\"Suppress certain browser keys that we use in UE, for example F5 to show shader complexity instead of refresh the page.\",!t||!t.hasOwnProperty(ue.SuppressBrowserKeys)||t[ue.SuppressBrowserKeys],e)),this.flags.set(ue.IsQualityController,new w(ue.IsQualityController,\"Is quality controller?\",\"True if this peer controls stream quality\",!t||!t.hasOwnProperty(ue.IsQualityController)||t[ue.IsQualityController],e)),this.flags.set(ue.ForceMonoAudio,new w(ue.ForceMonoAudio,\"Force mono audio\",\"Force browser to request mono audio in the SDP\",!(!t||!t.hasOwnProperty(ue.ForceMonoAudio))&&t[ue.ForceMonoAudio],e)),this.flags.set(ue.ForceTURN,new w(ue.ForceTURN,\"Force TURN\",\"Only generate TURN/Relayed ICE candidates.\",!(!t||!t.hasOwnProperty(ue.ForceTURN))&&t[ue.ForceTURN],e)),this.flags.set(ue.AFKDetection,new w(ue.AFKDetection,\"AFK if idle\",\"Timeout the experience if user is AFK for a period.\",!(!t||!t.hasOwnProperty(ue.AFKDetection))&&t[ue.AFKDetection],e)),this.flags.set(ue.MatchViewportResolution,new w(ue.MatchViewportResolution,\"Match viewport resolution\",\"Pixel Streaming will be instructed to dynamically resize the video stream to match the size of the video element.\",!(!t||!t.hasOwnProperty(ue.MatchViewportResolution))&&t[ue.MatchViewportResolution],e)),this.flags.set(ue.HoveringMouseMode,new w(ue.HoveringMouseMode,\"Control Scheme: Locked Mouse\",\"Either locked mouse, where the pointer is consumed by the video and locked to it, or hovering mouse, where the mouse is not consumed.\",!(!t||!t.hasOwnProperty(ue.HoveringMouseMode))&&t[ue.HoveringMouseMode],e,((e,t)=>{t.label=`Control Scheme: ${e?\"Hovering\":\"Locked\"} Mouse`}))),this.flags.set(ue.FakeMouseWithTouches,new w(ue.FakeMouseWithTouches,\"Fake mouse with touches\",\"A single finger touch is converted into a mouse event. This allows a non-touch application to be controlled partially via a touch device.\",!(!t||!t.hasOwnProperty(ue.FakeMouseWithTouches))&&t[ue.FakeMouseWithTouches],e)),this.flags.set(ue.KeyboardInput,new w(ue.KeyboardInput,\"Keyboard input\",\"If enabled, send keyboard events to streamer\",!t||!t.hasOwnProperty(ue.KeyboardInput)||t[ue.KeyboardInput],e)),this.flags.set(ue.MouseInput,new w(ue.MouseInput,\"Mouse input\",\"If enabled, send mouse events to streamer\",!t||!t.hasOwnProperty(ue.MouseInput)||t[ue.MouseInput],e)),this.flags.set(ue.TouchInput,new w(ue.TouchInput,\"Touch input\",\"If enabled, send touch events to streamer\",!t||!t.hasOwnProperty(ue.TouchInput)||t[ue.TouchInput],e)),this.flags.set(ue.GamepadInput,new w(ue.GamepadInput,\"Gamepad input\",\"If enabled, send gamepad events to streamer\",!t||!t.hasOwnProperty(ue.GamepadInput)||t[ue.GamepadInput],e)),this.flags.set(ue.XRControllerInput,new w(ue.XRControllerInput,\"XR controller input\",\"If enabled, send XR controller events to streamer\",!t||!t.hasOwnProperty(ue.XRControllerInput)||t[ue.XRControllerInput],e)),this.flags.set(ue.WaitForStreamer,new w(ue.WaitForStreamer,\"Wait for streamer\",\"Will continue trying to connect to the first streamer available.\",!t||!t.hasOwnProperty(ue.WaitForStreamer)||t[ue.WaitForStreamer],e)),this.flags.set(ue.HideUI,new w(ue.HideUI,\"Hide the UI overlay\",\"Will hide all UI overlay details\",!(!t||!t.hasOwnProperty(ue.HideUI))&&t[ue.HideUI],e)),this.numericParameters.set(me.AFKTimeoutSecs,new b(me.AFKTimeoutSecs,\"AFK timeout\",\"The time (in seconds) it takes for the application to time out if AFK timeout is enabled.\",0,null,t&&t.hasOwnProperty(me.AFKTimeoutSecs)?t[me.AFKTimeoutSecs]:120,e)),this.numericParameters.set(me.AFKCountdownSecs,new b(me.AFKCountdownSecs,\"AFK countdown\",\"The time (in seconds) for a user to respond before the stream is ended after an AFK timeout.\",10,null,10,e)),this.numericParameters.set(me.MaxReconnectAttempts,new b(me.MaxReconnectAttempts,\"Max Reconnects\",\"Maximum number of reconnects the application will attempt when a streamer disconnects.\",0,999,t&&t.hasOwnProperty(me.MaxReconnectAttempts)?t[me.MaxReconnectAttempts]:3,e)),this.numericParameters.set(me.MinQP,new b(me.MinQP,\"Min QP\",\"The lower bound for the quantization parameter (QP) of the encoder. 0 = Best quality, 51 = worst quality.\",0,51,t&&t.hasOwnProperty(me.MinQP)?t[me.MinQP]:0,e)),this.numericParameters.set(me.MaxQP,new b(me.MaxQP,\"Max QP\",\"The upper bound for the quantization parameter (QP) of the encoder. 0 = Best quality, 51 = worst quality.\",0,51,t&&t.hasOwnProperty(me.MaxQP)?t[me.MaxQP]:51,e)),this.numericParameters.set(me.WebRTCFPS,new b(me.WebRTCFPS,\"Max FPS\",\"The maximum FPS that WebRTC will try to transmit frames at.\",1,999,t&&t.hasOwnProperty(me.WebRTCFPS)?t[me.WebRTCFPS]:60,e)),this.numericParameters.set(me.WebRTCMinBitrate,new b(me.WebRTCMinBitrate,\"Min Bitrate (kbps)\",\"The minimum bitrate that WebRTC should use.\",0,5e5,t&&t.hasOwnProperty(me.WebRTCMinBitrate)?t[me.WebRTCMinBitrate]:0,e)),this.numericParameters.set(me.WebRTCMaxBitrate,new b(me.WebRTCMaxBitrate,\"Max Bitrate (kbps)\",\"The maximum bitrate that WebRTC should use.\",0,5e5,t&&t.hasOwnProperty(me.WebRTCMaxBitrate)?t[me.WebRTCMaxBitrate]:0,e)),this.numericParameters.set(me.StreamerAutoJoinInterval,new b(me.StreamerAutoJoinInterval,\"Streamer Auto Join Interval (ms)\",\"Delay between retries when waiting for an available streamer.\",500,9e5,t&&t.hasOwnProperty(me.StreamerAutoJoinInterval)?t[me.StreamerAutoJoinInterval]:3e3,e))}_addOnNumericSettingChangedListener(e,t){this.numericParameters.has(e)&&this.numericParameters.get(e).addOnChangedListener(t)}_addOnOptionSettingChangedListener(e,t){this.optionParameters.has(e)&&this.optionParameters.get(e).addOnChangedListener(t)}getNumericSettingValue(e){if(this.numericParameters.has(e))return this.numericParameters.get(e).number;throw new Error(`There is no numeric setting with the id of ${e}`)}getTextSettingValue(e){if(this.textParameters.has(e))return this.textParameters.get(e).value;throw new Error(`There is no numeric setting with the id of ${e}`)}setNumericSetting(e,t){if(!this.numericParameters.has(e))throw new Error(`There is no numeric setting with the id of ${e}`);this.numericParameters.get(e).number=t}_addOnSettingChangedListener(e,t){this.flags.has(e)&&(this.flags.get(e).onChange=t)}_addOnTextSettingChangedListener(e,t){this.textParameters.has(e)&&(this.textParameters.get(e).onChange=t)}getSettingOption(e){return this.optionParameters.get(e)}isFlagEnabled(e){return this.flags.get(e).flag}setFlagEnabled(e,t){this.flags.has(e)?this.flags.get(e).flag=t:i.Warning(i.GetStackTrace(),`Cannot toggle flag called ${e} - it does not exist in the Config.flags map.`)}setTextSetting(e,t){this.textParameters.has(e)?this.textParameters.get(e).text=t:i.Warning(i.GetStackTrace(),`Cannot set text setting called ${e} - it does not exist in the Config.textParameters map.`)}setOptionSettingOptions(e,t){this.optionParameters.has(e)?this.optionParameters.get(e).options=t:i.Warning(i.GetStackTrace(),`Cannot set text setting called ${e} - it does not exist in the Config.optionParameters map.`)}setOptionSettingValue(e,t){if(this.optionParameters.has(e)){const s=this.optionParameters.get(e),n=s.options;n.includes(t)||(n.push(t),s.options=n),s.selected=t}else i.Warning(i.GetStackTrace(),`Cannot set text setting called ${e} - it does not exist in the Config.enumParameters map.`)}setFlagLabel(e,t){this.flags.has(e)?this.flags.get(e).label=t:i.Warning(i.GetStackTrace(),`Cannot set label for flag called ${e} - it does not exist in the Config.flags map.`)}setSettings(e){for(const t of Object.keys(e))ge(t)?this.setFlagEnabled(t,e[t]):pe(t)?this.setNumericSetting(t,e[t]):ve(t)?this.setTextSetting(t,e[t]):fe(t)&&this.setOptionSettingValue(t,e[t])}getSettings(){const e={};for(const[t,s]of this.flags.entries())e[t]=s.flag;for(const[t,s]of this.numericParameters.entries())e[t]=s.number;for(const[t,s]of this.textParameters.entries())e[t]=s.text;for(const[t,s]of this.optionParameters.entries())e[t]=s.selected;return e}getFlags(){return Array.from(this.flags.values())}getTextSettings(){return Array.from(this.textParameters.values())}getNumericSettings(){return Array.from(this.numericParameters.values())}getOptionSettings(){return Array.from(this.optionParameters.values())}_registerOnChangeEvents(e){for(const t of this.flags.keys()){const s=this.flags.get(t);s&&(s.onChangeEmit=t=>e.dispatchEvent(new ie({id:s.id,type:\"flag\",value:t,target:s})))}for(const t of this.numericParameters.keys()){const s=this.numericParameters.get(t);s&&(s.onChangeEmit=t=>e.dispatchEvent(new ie({id:s.id,type:\"number\",value:t,target:s})))}for(const t of this.textParameters.keys()){const s=this.textParameters.get(t);s&&(s.onChangeEmit=t=>e.dispatchEvent(new ie({id:s.id,type:\"text\",value:t,target:s})))}for(const t of this.optionParameters.keys()){const s=this.optionParameters.get(t);s&&(s.onChangeEmit=t=>e.dispatchEvent(new ie({id:s.id,type:\"option\",value:t,target:s})))}}}var Ee;!function(e){e[e.LockedMouse=0]=\"LockedMouse\",e[e.HoveringMouse=1]=\"HoveringMouse\"}(Ee||(Ee={}));class ye{constructor(e,t,s){this.active=!1,this.countdownActive=!1,this.warnTimer=void 0,this.countDown=0,this.countDownTimer=void 0,this.config=e,this.pixelStreaming=t,this.onDismissAfk=s,this.onAFKTimedOutCallback=()=>{console.log(\"AFK timed out, did you want to override this callback?\")}}onAfkClick(){clearInterval(this.countDownTimer),(this.active||this.countdownActive)&&(this.startAfkWarningTimer(),this.pixelStreaming.dispatchEvent(new x))}startAfkWarningTimer(){this.config.getNumericSettingValue(me.AFKTimeoutSecs)>0&&this.config.isFlagEnabled(ue.AFKDetection)?this.active=!0:this.active=!1,this.resetAfkWarningTimer()}stopAfkWarningTimer(){this.active=!1,this.countdownActive=!1,clearTimeout(this.warnTimer),clearInterval(this.countDownTimer)}pauseAfkWarningTimer(){this.active=!1}resetAfkWarningTimer(){this.active&&this.config.isFlagEnabled(ue.AFKDetection)&&(clearTimeout(this.warnTimer),this.warnTimer=setTimeout((()=>this.activateAfkEvent()),1e3*this.config.getNumericSettingValue(me.AFKTimeoutSecs)))}activateAfkEvent(){this.pauseAfkWarningTimer(),this.pixelStreaming.dispatchEvent(new k({countDown:this.countDown,dismissAfk:this.onDismissAfk})),this.countDown=this.config.getNumericSettingValue(me.AFKCountdownSecs),this.countdownActive=!0,this.pixelStreaming.dispatchEvent(new L({countDown:this.countDown})),this.config.isFlagEnabled(ue.HoveringMouseMode)||document.exitPointerLock&&document.exitPointerLock(),this.countDownTimer=setInterval((()=>{this.countDown--,0==this.countDown?(this.pixelStreaming.dispatchEvent(new A),this.onAFKTimedOutCallback(),i.Log(i.GetStackTrace(),\"You have been disconnected due to inactivity\"),this.stopAfkWarningTimer()):this.pixelStreaming.dispatchEvent(new L({countDown:this.countDown}))}),1e3)}}class Me{constructor(){this.isReceivingFreezeFrame=!1}getDataChannelInstance(){return this}createDataChannel(e,t,s){this.peerConnection=e,this.label=t,this.datachannelOptions=s,null==s&&(this.datachannelOptions={},this.datachannelOptions.ordered=!0),this.dataChannel=this.peerConnection.createDataChannel(this.label,this.datachannelOptions),this.setupDataChannel()}setupDataChannel(){this.dataChannel.binaryType=\"arraybuffer\",this.dataChannel.onopen=e=>this.handleOnOpen(e),this.dataChannel.onclose=e=>this.handleOnClose(e),this.dataChannel.onmessage=e=>this.handleOnMessage(e),this.dataChannel.onerror=e=>this.handleOnError(e)}handleOnOpen(e){var t;i.Log(i.GetStackTrace(),`Data Channel (${this.label}) opened.`,7),this.onOpen(null===(t=this.dataChannel)||void 0===t?void 0:t.label,e)}handleOnClose(e){var t;i.Log(i.GetStackTrace(),`Data Channel (${this.label}) closed.`,7),this.onClose(null===(t=this.dataChannel)||void 0===t?void 0:t.label,e)}handleOnMessage(e){i.Log(i.GetStackTrace(),`Data Channel (${this.label}) message: ${e}`,8)}handleOnError(e){var t;i.Log(i.GetStackTrace(),`Data Channel (${this.label}) error: ${e}`,7),this.onError(null===(t=this.dataChannel)||void 0===t?void 0:t.label,e)}onOpen(e,t){}onClose(e,t){}onError(e,t){}}class we{}class be{}class Re{}class Pe{}class ke{}class Le{}class xe{}class Ae{constructor(){this.inboundVideoStats=new be,this.inboundAudioStats=new we,this.DataChannelStats=new Re,this.outBoundVideoStats=new ke,this.sessionStats=new Le,this.streamStats=new xe,this.codecs=new Map}processStats(e){this.localCandidates=new Array,this.remoteCandidates=new Array,this.candidatePairs=new Array,e.forEach((e=>{switch(e.type){case\"candidate-pair\":this.handleCandidatePair(e);break;case\"certificate\":case\"media-source\":case\"media-playout\":case\"outbound-rtp\":case\"peer-connection\":case\"remote-inbound-rtp\":break;case\"codec\":this.handleCodec(e);break;case\"data-channel\":this.handleDataChannel(e);break;case\"inbound-rtp\":this.handleInBoundRTP(e);break;case\"local-candidate\":this.handleLocalCandidate(e);break;case\"remote-candidate\":this.handleRemoteCandidate(e);break;case\"remote-outbound-rtp\":this.handleRemoteOutBound(e);break;case\"track\":this.handleTrack(e);break;case\"transport\":this.handleTransport(e);break;case\"stream\":this.handleStream(e);break;default:i.Error(i.GetStackTrace(),\"unhandled Stat Type\"),i.Log(i.GetStackTrace(),e)}}))}handleStream(e){this.streamStats=e}handleCandidatePair(e){this.candidatePairs.push(e)}handleDataChannel(e){this.DataChannelStats.bytesReceived=e.bytesReceived,this.DataChannelStats.bytesSent=e.bytesSent,this.DataChannelStats.dataChannelIdentifier=e.dataChannelIdentifier,this.DataChannelStats.id=e.id,this.DataChannelStats.label=e.label,this.DataChannelStats.messagesReceived=e.messagesReceived,this.DataChannelStats.messagesSent=e.messagesSent,this.DataChannelStats.protocol=e.protocol,this.DataChannelStats.state=e.state,this.DataChannelStats.timestamp=e.timestamp}handleLocalCandidate(e){const t=new Pe;t.label=\"local-candidate\",t.address=e.address,t.port=e.port,t.protocol=e.protocol,t.candidateType=e.candidateType,t.id=e.id,t.relayProtocol=e.relayProtocol,t.transportId=e.transportId,this.localCandidates.push(t)}handleRemoteCandidate(e){const t=new Pe;t.label=\"remote-candidate\",t.address=e.address,t.port=e.port,t.protocol=e.protocol,t.id=e.id,t.candidateType=e.candidateType,t.relayProtocol=e.relayProtocol,t.transportId=e.transportId,this.remoteCandidates.push(t)}handleInBoundRTP(e){switch(e.kind){case\"video\":this.inboundVideoStats=e,null!=this.lastVideoStats&&(this.inboundVideoStats.bitrate=8*(this.inboundVideoStats.bytesReceived-this.lastVideoStats.bytesReceived)/(this.inboundVideoStats.timestamp-this.lastVideoStats.timestamp),this.inboundVideoStats.bitrate=Math.floor(this.inboundVideoStats.bitrate)),this.lastVideoStats=Object.assign({},this.inboundVideoStats);break;case\"audio\":this.inboundAudioStats=e,null!=this.lastAudioStats&&(this.inboundAudioStats.bitrate=8*(this.inboundAudioStats.bytesReceived-this.lastAudioStats.bytesReceived)/(this.inboundAudioStats.timestamp-this.lastAudioStats.timestamp),this.inboundAudioStats.bitrate=Math.floor(this.inboundAudioStats.bitrate)),this.lastAudioStats=Object.assign({},this.inboundAudioStats);break;default:i.Log(i.GetStackTrace(),\"Kind is not handled\")}}handleRemoteOutBound(e){\"video\"===e.kind&&(this.outBoundVideoStats.bytesSent=e.bytesSent,this.outBoundVideoStats.id=e.id,this.outBoundVideoStats.localId=e.localId,this.outBoundVideoStats.packetsSent=e.packetsSent,this.outBoundVideoStats.remoteTimestamp=e.remoteTimestamp,this.outBoundVideoStats.timestamp=e.timestamp)}handleTrack(e){\"track\"!==e.type||\"video_label\"!==e.trackIdentifier&&\"video\"!==e.kind||(this.inboundVideoStats.framesDropped=e.framesDropped,this.inboundVideoStats.framesReceived=e.framesReceived,this.inboundVideoStats.frameHeight=e.frameHeight,this.inboundVideoStats.frameWidth=e.frameWidth)}handleTransport(e){this.transportStats=e}handleCodec(e){const t=e.id,s=`${e.mimeType.replace(\"video/\",\"\").replace(\"audio/\",\"\")}${e.sdpFmtpLine?` ${e.sdpFmtpLine}`:\"\"}`;this.codecs.set(t,s)}handleSessionStatistics(e,t,s){const n=Date.now()-e;this.sessionStats.runTime=new Date(n).toISOString().substr(11,8).toString();const r=null===t?\"Not sent yet\":t?\"true\":\"false\";this.sessionStats.controlsStreamInput=r,this.sessionStats.videoEncoderAvgQP=s}isNumber(e){return\"number\"==typeof e&&isFinite(e)}getActiveCandidatePair(){return this.transportStats?this.candidatePairs.find((e=>e.id===this.transportStats.selectedCandidatePairId),null):this.candidatePairs.find((e=>e.selected),null)}}const Fe=(De={parseRtpParameters:()=>e.parseRtpParameters,splitSections:()=>e.splitSections},Oe={},n.d(Oe,De),Oe);var De,Oe;class Ie{static isVideoTransciever(e){return this.canTransceiverReceiveVideo(e)||this.canTransceiverSendVideo(e)}static canTransceiverReceiveVideo(e){return!!e&&(\"sendrecv\"===e.direction||\"recvonly\"===e.direction)&&e.receiver&&e.receiver.track&&\"video\"===e.receiver.track.kind}static canTransceiverSendVideo(e){return!!e&&(\"sendrecv\"===e.direction||\"sendonly\"===e.direction)&&e.sender&&e.sender.track&&\"video\"===e.sender.track.kind}static isAudioTransciever(e){return this.canTransceiverReceiveAudio(e)||this.canTransceiverSendAudio(e)}static canTransceiverReceiveAudio(e){return!!e&&(\"sendrecv\"===e.direction||\"recvonly\"===e.direction)&&e.receiver&&e.receiver.track&&\"audio\"===e.receiver.track.kind}static canTransceiverSendAudio(e){return!!e&&(\"sendrecv\"===e.direction||\"sendonly\"===e.direction)&&e.sender&&e.sender.track&&\"audio\"===e.sender.track.kind}}var Ue,Ge,Be=function(e,t,s,n){return new(s||(s=Promise))((function(r,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function o(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}l((n=n.apply(e,t||[])).next())}))};class ze{constructor(e,t,s){this.config=t,this.createPeerConnection(e,s)}createPeerConnection(e,t){this.config.isFlagEnabled(ue.ForceTURN)&&(e.iceTransportPolicy=\"relay\",i.Log(i.GetStackTrace(),\"Forcing TURN usage by setting ICE Transport Policy in peer connection config.\")),this.peerConnection=new RTCPeerConnection(e),this.peerConnection.onsignalingstatechange=e=>this.handleSignalStateChange(e),this.peerConnection.oniceconnectionstatechange=e=>this.handleIceConnectionStateChange(e),this.peerConnection.onicegatheringstatechange=e=>this.handleIceGatheringStateChange(e),this.peerConnection.ontrack=e=>this.handleOnTrack(e),this.peerConnection.onicecandidate=e=>this.handleIceCandidate(e),this.peerConnection.ondatachannel=e=>this.handleDataChannel(e),this.aggregatedStats=new Ae,this.preferredCodec=t,this.updateCodecSelection=!0}createOffer(e,t){return Be(this,void 0,void 0,(function*(){i.Log(i.GetStackTrace(),\"Create Offer\",6);const s=\"localhost\"===location.hostname||\"127.0.0.1\"===location.hostname,n=\"https:\"===location.protocol;let r=t.isFlagEnabled(ue.UseMic);!r||s||n||(r=!1,i.Error(i.GetStackTrace(),\"Microphone access in the browser will not work if you are not on HTTPS or localhost. Disabling mic access.\"),i.Error(i.GetStackTrace(),\"For testing you can enable HTTP microphone access Chrome by visiting chrome://flags/ and enabling 'unsafely-treat-insecure-origin-as-secure'\")),this.setupTransceiversAsync(r).finally((()=>{var t;null===(t=this.peerConnection)||void 0===t||t.createOffer(e).then((e=>{var t;this.showTextOverlayConnecting(),e.sdp=this.mungeSDP(e.sdp,r),null===(t=this.peerConnection)||void 0===t||t.setLocalDescription(e),this.onSendWebRTCOffer(e)})).catch((()=>{this.showTextOverlaySetupFailure()}))}))}))}receiveOffer(e,t){var s;return Be(this,void 0,void 0,(function*(){i.Log(i.GetStackTrace(),\"Receive Offer\",6),null===(s=this.peerConnection)||void 0===s||s.setRemoteDescription(e).then((()=>{const s=\"localhost\"===location.hostname||\"127.0.0.1\"===location.hostname,n=\"https:\"===location.protocol;let r=t.isFlagEnabled(ue.UseMic);!r||s||n||(r=!1,i.Error(i.GetStackTrace(),\"Microphone access in the browser will not work if you are not on HTTPS or localhost. Disabling mic access.\"),i.Error(i.GetStackTrace(),\"For testing you can enable HTTP microphone access Chrome by visiting chrome://flags/ and enabling 'unsafely-treat-insecure-origin-as-secure'\")),this.config.setOptionSettingOptions(Ce.PreferredCodec,this.fuzzyIntersectUEAndBrowserCodecs(e)),this.setupTransceiversAsync(r).finally((()=>{var e;null===(e=this.peerConnection)||void 0===e||e.createAnswer().then((e=>{var t;return e.sdp=this.mungeSDP(e.sdp,r),null===(t=this.peerConnection)||void 0===t?void 0:t.setLocalDescription(e)})).then((()=>{var e;this.onSendWebRTCAnswer(null===(e=this.peerConnection)||void 0===e?void 0:e.currentLocalDescription)})).catch((()=>{i.Error(i.GetStackTrace(),\"createAnswer() failed\")}))}))}))}))}receiveAnswer(e){var t;null===(t=this.peerConnection)||void 0===t||t.setRemoteDescription(e),this.config.setOptionSettingOptions(Ce.PreferredCodec,this.fuzzyIntersectUEAndBrowserCodecs(e))}generateStats(){var e;null===(e=this.peerConnection)||void 0===e||e.getStats(null).then((e=>{this.aggregatedStats.processStats(e),this.onVideoStats(this.aggregatedStats),this.updateCodecSelection&&this.aggregatedStats.inboundVideoStats.codecId&&this.config.setOptionSettingValue(Ce.PreferredCodec,this.aggregatedStats.codecs.get(this.aggregatedStats.inboundVideoStats.codecId))}))}close(){this.peerConnection&&(this.peerConnection.close(),this.peerConnection=null)}mungeSDP(e,t){let s=e.replace(/(a=fmtp:\\d+ .*level-asymmetry-allowed=.*)\\r\\n/gm,\"$1;x-google-start-bitrate=10000;x-google-max-bitrate=100000\\r\\n\"),n=\"maxaveragebitrate=510000;\";return t&&(n+=\"sprop-maxcapturerate=48000;\"),n+=this.config.isFlagEnabled(ue.ForceMonoAudio)?\"stereo=0;\":\"stereo=1;\",n+=\"useinbandfec=1\",s=s.replace(\"useinbandfec=1\",n),s}handleOnIce(e){var t;i.Log(i.GetStackTrace(),\"peerconnection handleOnIce\",6),this.config.isFlagEnabled(ue.ForceTURN)&&e.candidate.indexOf(\"relay\")<0?i.Info(i.GetStackTrace(),`Dropping candidate because it was not TURN relay. | Type= ${e.type} | Protocol= ${e.protocol} | Address=${e.address} | Port=${e.port} |`,6):null===(t=this.peerConnection)||void 0===t||t.addIceCandidate(e)}handleSignalStateChange(e){i.Log(i.GetStackTrace(),\"signaling state change: \"+e,6)}handleIceConnectionStateChange(e){i.Log(i.GetStackTrace(),\"ice connection state change: \"+e,6),this.onIceConnectionStateChange(e)}handleIceGatheringStateChange(e){i.Log(i.GetStackTrace(),\"ice gathering state change: \"+JSON.stringify(e),6)}handleOnTrack(e){this.onTrack(e)}handleIceCandidate(e){this.onPeerIceCandidate(e)}handleDataChannel(e){this.onDataChannel(e)}onTrack(e){}onIceConnectionStateChange(e){}onPeerIceCandidate(e){}onDataChannel(e){}fuzzyIntersectUEAndBrowserCodecs(e){const t=new Array,s=this.parseAvailableCodecs(e),n=this.config.getSettingOption(Ce.PreferredCodec).options;for(const e of s)if(n.includes(e))t.push(e);else{const s=e.split(\" \")[0];for(const e of n)if(e.includes(s)){t.push(e);break}}return t}setupTransceiversAsync(e){var t,s,n,r,i,a,o,l,d,c,h,u;return Be(this,void 0,void 0,(function*(){let g=!1;for(const e of null!==(s=null===(t=this.peerConnection)||void 0===t?void 0:t.getTransceivers())&&void 0!==s?s:[])if(e&&e.receiver&&e.receiver.track&&\"video\"===e.receiver.track.kind){g=!0;break}if(g||null===(n=this.peerConnection)||void 0===n||n.addTransceiver(\"video\",{direction:\"recvonly\"}),RTCRtpReceiver.getCapabilities&&\"\"!=this.preferredCodec)for(const e of null!==(i=null===(r=this.peerConnection)||void 0===r?void 0:r.getTransceivers())&&void 0!==i?i:[])if(e&&e.receiver&&e.receiver.track&&\"video\"===e.receiver.track.kind&&e.setCodecPreferences){const t=this.preferredCodec.split(\" \"),s={mimeType:\"video/\"+t[0],clockRate:9e4,sdpFmtpLine:t[1]?t[1]:\"\"},n=[s];RTCRtpReceiver.getCapabilities(\"video\").codecs.forEach((e=>{(e.mimeType!=s.mimeType||(null==e?void 0:e.sdpFmtpLine)!=(null==s?void 0:s.sdpFmtpLine))&&n.push(e)}));for(const e of n)void 0!==(null==e?void 0:e.sdpFmtpLine)&&\"\"!==e.sdpFmtpLine||delete e.sdpFmtpLine;e.setCodecPreferences(n)}let m=!1;for(const e of null!==(o=null===(a=this.peerConnection)||void 0===a?void 0:a.getTransceivers())&&void 0!==o?o:[])if(e&&e.receiver&&e.receiver.track&&\"audio\"===e.receiver.track.kind){m=!0;break}if(e){const e={video:!1,audio:{autoGainControl:!1,channelCount:1,echoCancellation:!1,latency:0,noiseSuppression:!1,sampleRate:48e3,sampleSize:16,volume:1}},t=yield navigator.mediaDevices.getUserMedia(e);if(t)if(m){for(const e of null!==(c=null===(d=this.peerConnection)||void 0===d?void 0:d.getTransceivers())&&void 0!==c?c:[])if(Ie.canTransceiverReceiveAudio(e))for(const s of t.getTracks())s.kind&&\"audio\"==s.kind&&(e.sender.replaceTrack(s),e.direction=\"sendrecv\")}else for(const e of t.getTracks())e.kind&&\"audio\"==e.kind&&(null===(h=this.peerConnection)||void 0===h||h.addTransceiver(e,{direction:\"sendrecv\"}));else m||null===(u=this.peerConnection)||void 0===u||u.addTransceiver(\"audio\",{direction:\"recvonly\"})}else m||null===(l=this.peerConnection)||void 0===l||l.addTransceiver(\"audio\",{direction:\"recvonly\"})}))}onVideoStats(e){}onSendWebRTCOffer(e){}onSendWebRTCAnswer(e){}showTextOverlayConnecting(){}showTextOverlaySetupFailure(){}parseAvailableCodecs(e){if(!RTCRtpReceiver.getCapabilities)return[\"Only available on Chrome\"];const t=[],s=(0,Fe.splitSections)(e.sdp);return s.shift(),s.forEach((e=>{const{codecs:s}=(0,Fe.parseRtpParameters)(e),n=/(VP\\d|H26\\d|AV1).*/;s.forEach((e=>{const s=e.name+\" \"+Object.keys(e.parameters||{}).map((t=>t+\"=\"+e.parameters[t])).join(\";\");if(null!==n.exec(s)){\"VP9\"==e.name&&(e.parameters={\"profile-id\":\"0\"});const s=e.name+\" \"+Object.keys(e.parameters||{}).map((t=>t+\"=\"+e.parameters[t])).join(\";\");t.push(s)}}))})),t}}class _e{constructor(){this.PixelStreamingSettings=new Ve,this.EncoderSettings=new He,this.WebRTCSettings=new We}ueCompatible(){null!=this.WebRTCSettings.MaxFPS&&(this.WebRTCSettings.FPS=this.WebRTCSettings.MaxFPS)}}class Ve{}class He{}class We{}class Ne{constructor(){this.ReceiptTimeMs=null,this.TransmissionTimeMs=null,this.PreCaptureTimeMs=null,this.PostCaptureTimeMs=null,this.PreEncodeTimeMs=null,this.PostEncodeTimeMs=null,this.EncodeMs=null,this.CaptureToSendMs=null,this.testStartTimeMs=0,this.browserReceiptTimeMs=0,this.latencyExcludingDecode=0,this.testDuration=0,this.networkLatency=0,this.browserSendLatency=0,this.frameDisplayDeltaTimeMs=0,this.endToEndLatency=0,this.encodeLatency=0}setFrameDisplayDeltaTime(e){0==this.frameDisplayDeltaTimeMs&&(this.frameDisplayDeltaTimeMs=Math.round(e))}processFields(){null!=this.EncodeMs||null==this.PreEncodeTimeMs&&null==this.PostEncodeTimeMs||(i.Log(i.GetStackTrace(),`Setting Encode Ms \\n ${this.PostEncodeTimeMs} \\n ${this.PreEncodeTimeMs}`,6),this.EncodeMs=this.PostEncodeTimeMs-this.PreEncodeTimeMs),null!=this.CaptureToSendMs||null==this.PreCaptureTimeMs&&null==this.PostCaptureTimeMs||(i.Log(i.GetStackTrace(),`Setting CaptureToSendMs Ms \\n ${this.PostCaptureTimeMs} \\n ${this.PreCaptureTimeMs}`,6),this.CaptureToSendMs=this.PostCaptureTimeMs-this.PreCaptureTimeMs)}}class Ke{static setExtensionFromBytes(e,t){t.receiving||(t.mimetype=\"\",t.extension=\"\",t.receiving=!0,t.valid=!1,t.chunks=0,t.data=[],t.timestampStart=(new Date).getTime(),i.Log(i.GetStackTrace(),\"Received first chunk of file\",6));const s=new TextDecoder(\"utf-16\").decode(e.slice(1));i.Log(i.GetStackTrace(),s,6),t.extension=s}static setMimeTypeFromBytes(e,t){t.receiving||(t.mimetype=\"\",t.extension=\"\",t.receiving=!0,t.valid=!1,t.chunks=0,t.data=[],t.timestampStart=(new Date).getTime(),i.Log(i.GetStackTrace(),\"Received first chunk of file\",6));const s=new TextDecoder(\"utf-16\").decode(e.slice(1));i.Log(i.GetStackTrace(),s,6),t.mimetype=s}static setContentsFromBytes(e,t){if(!t.receiving)return;t.chunks=Math.ceil(new DataView(e.slice(1,5).buffer).getInt32(0,!0)/16379);const s=e.slice(5);if(t.data.push(s),i.Log(i.GetStackTrace(),`Received file chunk: ${t.data.length}/${t.chunks}`,6),t.data.length===t.chunks){t.receiving=!1,t.valid=!0,i.Log(i.GetStackTrace(),\"Received complete file\",6);const e=(new Date).getTime()-t.timestampStart,s=Math.round(16384*t.chunks/e);i.Log(i.GetStackTrace(),`Average transfer bitrate: ${s}kb/s over ${e/1e3} seconds`,6);const n=new Blob(t.data,{type:t.mimetype}),r=document.createElement(\"a\");r.setAttribute(\"href\",URL.createObjectURL(n)),r.setAttribute(\"download\",`transfer.${t.extension}`),document.body.append(r),r.remove()}else t.data.length>t.chunks&&(t.receiving=!1,i.Error(i.GetStackTrace(),`Received bigger file than advertised: ${t.data.length}/${t.chunks}`))}}class Qe{constructor(){this.mimetype=\"\",this.extension=\"\",this.receiving=!1,this.chunks=0,this.data=[],this.valid=!1}}class qe{}qe.mainButton=0,qe.auxiliaryButton=1,qe.secondaryButton=2,qe.fourthButton=3,qe.fifthButton=4;class $e{}$e.primaryButton=1,$e.secondaryButton=2,$e.auxiliaryButton=4,$e.fourthButton=8,$e.fifthButton=16;class Xe{constructor(){this.unregisterCallbacks=[]}addUnregisterCallback(e){this.unregisterCallbacks.push(e)}unregisterAll(){for(const e of this.unregisterCallbacks)e();this.unregisterCallbacks=[]}}class je{constructor(e,t,s){this.touchEventListenerTracker=new Xe,this.toStreamerMessagesProvider=e,this.videoElementProvider=t,this.coordinateConverter=s;const n=e=>this.onTouchStart(e),r=e=>this.onTouchEnd(e),i=e=>this.onTouchMove(e);document.addEventListener(\"touchstart\",n,{passive:!1}),document.addEventListener(\"touchend\",r,{passive:!1}),document.addEventListener(\"touchmove\",i,{passive:!1}),this.touchEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"touchstart\",n))),this.touchEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"touchend\",r))),this.touchEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"touchmove\",i)))}unregisterTouchEvents(){this.touchEventListenerTracker.unregisterAll()}setVideoElementParentClientRect(e){this.videoElementParentClientRect=e}onTouchStart(e){if(this.videoElementProvider.isVideoReady()&&e.target===this.videoElementProvider.getVideoElement()){if(null==this.fakeTouchFinger){const t=e.changedTouches[0];this.fakeTouchFinger=new Je(t.identifier,t.clientX-this.videoElementParentClientRect.left,t.clientY-this.videoElementParentClientRect.top);const s=this.videoElementProvider.getVideoParentElement(),n=new MouseEvent(\"mouseenter\",t);s.dispatchEvent(n);const r=this.coordinateConverter.normalizeAndQuantizeUnsigned(this.fakeTouchFinger.x,this.fakeTouchFinger.y);this.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDown\")([qe.mainButton,r.x,r.y])}e.preventDefault()}}onTouchEnd(e){if(!this.videoElementProvider.isVideoReady()||null==this.fakeTouchFinger)return;const t=this.videoElementProvider.getVideoParentElement(),s=this.toStreamerMessagesProvider.toStreamerHandlers;for(let n=0;n<e.changedTouches.length;n++){const r=e.changedTouches[n];if(r.identifier===this.fakeTouchFinger.id){const e=r.clientX-this.videoElementParentClientRect.left,n=r.clientY-this.videoElementParentClientRect.top,i=this.coordinateConverter.normalizeAndQuantizeUnsigned(e,n);s.get(\"MouseUp\")([qe.mainButton,i.x,i.y]);const a=new MouseEvent(\"mouseleave\",r);t.dispatchEvent(a),this.fakeTouchFinger=null;break}}e.preventDefault()}onTouchMove(e){if(!this.videoElementProvider.isVideoReady()||null==this.fakeTouchFinger)return;const t=this.toStreamerMessagesProvider.toStreamerHandlers;for(let s=0;s<e.touches.length;s++){const n=e.touches[s];if(n.identifier===this.fakeTouchFinger.id){const e=n.clientX-this.videoElementParentClientRect.left,s=n.clientY-this.videoElementParentClientRect.top,r=this.coordinateConverter.normalizeAndQuantizeUnsigned(e,s),i=this.coordinateConverter.normalizeAndQuantizeSigned(e-this.fakeTouchFinger.x,s-this.fakeTouchFinger.y);t.get(\"MouseMove\")([r.x,r.y,i.x,i.y]),this.fakeTouchFinger.x=e,this.fakeTouchFinger.y=s;break}}e.preventDefault()}}class Je{constructor(e,t,s){this.id=e,this.x=t,this.y=s}}class Ye{}Ye.backSpace=8,Ye.shift=16,Ye.control=17,Ye.alt=18,Ye.rightShift=253,Ye.rightControl=254,Ye.rightAlt=255;class Ze{constructor(e,t,s){this.keyboardEventListenerTracker=new Xe,this.CodeToKeyCode={Escape:27,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,Minus:173,Equal:187,Backspace:8,Tab:9,KeyQ:81,KeyW:87,KeyE:69,KeyR:82,KeyT:84,KeyY:89,KeyU:85,KeyI:73,KeyO:79,KeyP:80,BracketLeft:219,BracketRight:221,Enter:13,ControlLeft:17,KeyA:65,KeyS:83,KeyD:68,KeyF:70,KeyG:71,KeyH:72,KeyJ:74,KeyK:75,KeyL:76,Semicolon:186,Quote:222,Backquote:192,ShiftLeft:16,Backslash:220,KeyZ:90,KeyX:88,KeyC:67,KeyV:86,KeyB:66,KeyN:78,KeyM:77,Comma:188,Period:190,Slash:191,ShiftRight:253,AltLeft:18,Space:32,CapsLock:20,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,Pause:19,ScrollLock:145,NumpadDivide:111,NumpadMultiply:106,NumpadSubtract:109,NumpadAdd:107,NumpadDecimal:110,Numpad9:105,Numpad8:104,Numpad7:103,Numpad6:102,Numpad5:101,Numpad4:100,Numpad3:99,Numpad2:98,Numpad1:97,Numpad0:96,NumLock:144,ControlRight:254,AltRight:255,Home:36,End:35,ArrowUp:38,ArrowLeft:37,ArrowRight:39,ArrowDown:40,PageUp:33,PageDown:34,Insert:45,Delete:46,ContextMenu:93},this.toStreamerMessagesProvider=e,this.config=t,this.activeKeysProvider=s}registerKeyBoardEvents(){const e=e=>this.handleOnCompositionEnd(e),t=e=>this.handleOnKeyDown(e),s=e=>this.handleOnKeyUp(e),n=e=>this.handleOnKeyPress(e);document.addEventListener(\"compositionend\",e),document.addEventListener(\"keydown\",t),document.addEventListener(\"keyup\",s),document.addEventListener(\"keypress\",n),this.keyboardEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"compositionend\",e))),this.keyboardEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"keydown\",t))),this.keyboardEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"keyup\",s))),this.keyboardEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"keypress\",n)))}unregisterKeyBoardEvents(){this.keyboardEventListenerTracker.unregisterAll()}handleOnKeyDown(e){const t=this.getKeycode(e);t&&229!==t&&(i.Log(i.GetStackTrace(),`key down ${t}, repeat = ${e.repeat}`,6),this.toStreamerMessagesProvider.toStreamerHandlers.get(\"KeyDown\")([this.getKeycode(e),e.repeat?1:0]),this.activeKeysProvider.getActiveKeys().push(t),t===Ye.backSpace&&document.dispatchEvent(new KeyboardEvent(\"keypress\",{charCode:Ye.backSpace})),this.config.isFlagEnabled(ue.SuppressBrowserKeys)&&this.isKeyCodeBrowserKey(t)&&e.preventDefault())}handleOnKeyUp(e){const t=this.getKeycode(e);t&&(i.Log(i.GetStackTrace(),`key up ${t}`,6),this.toStreamerMessagesProvider.toStreamerHandlers.get(\"KeyUp\")([t]),this.config.isFlagEnabled(ue.SuppressBrowserKeys)&&this.isKeyCodeBrowserKey(t)&&e.preventDefault())}handleOnKeyPress(e){if(!(\"charCode\"in e))return void i.Warning(i.GetStackTrace(),\"KeyboardEvent.charCode is deprecated in this browser, cannot send key press.\");const t=e.charCode;i.Log(i.GetStackTrace(),`key press ${t}`,6),this.toStreamerMessagesProvider.toStreamerHandlers.get(\"KeyPress\")([t])}handleOnCompositionEnd(e){e.data&&e.data.length&&e.data.split(\"\").forEach((e=>{this.handleOnKeyDown(new KeyboardEvent(\"keydown\",{keyCode:e.toUpperCase().charCodeAt(0),charCode:e.charCodeAt(0)})),this.handleOnKeyPress(new KeyboardEvent(\"keypress\",{keyCode:e.toUpperCase().charCodeAt(0),charCode:e.charCodeAt(0)})),this.handleOnKeyUp(new KeyboardEvent(\"keyup\",{keyCode:e.toUpperCase().charCodeAt(0),charCode:e.charCodeAt(0)}))}))}getKeycode(e){if(!(\"keyCode\"in e)){const t=e;return t.code in this.CodeToKeyCode?this.CodeToKeyCode[t.code]:(i.Warning(i.GetStackTrace(),`Keyboard code of ${t.code} is not supported in our mapping, ignoring this key.`),null)}return e.keyCode===Ye.shift&&\"ShiftRight\"===e.code?Ye.rightShift:e.keyCode===Ye.control&&\"ControlRight\"===e.code?Ye.rightControl:e.keyCode===Ye.alt&&\"AltRight\"===e.code?Ye.rightAlt:e.keyCode}isKeyCodeBrowserKey(e){return e>=112&&e<=123||9===e}}class et{constructor(e,t,s){this.x=0,this.y=0,this.updateMouseMovePositionEvent=e=>{this.updateMouseMovePosition(e)},this.mouseEventListenerTracker=new Xe,this.videoElementProvider=e,this.mouseController=t,this.activeKeysProvider=s;const n=this.videoElementProvider.getVideoParentElement();this.x=n.getBoundingClientRect().width/2,this.y=n.getBoundingClientRect().height/2,this.coord=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(this.x,this.y)}unregisterMouseEvents(){this.mouseEventListenerTracker.unregisterAll()}lockStateChange(){const e=this.videoElementProvider.getVideoParentElement(),t=this.mouseController.toStreamerMessagesProvider.toStreamerHandlers;if(document.pointerLockElement===e||document.mozPointerLockElement===e)i.Log(i.GetStackTrace(),\"Pointer locked\",6),document.addEventListener(\"mousemove\",this.updateMouseMovePositionEvent,!1),this.mouseEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"mousemove\",this.updateMouseMovePositionEvent,!1)));else{i.Log(i.GetStackTrace(),\"The pointer lock status is now unlocked\",6),document.removeEventListener(\"mousemove\",this.updateMouseMovePositionEvent,!1);let e=this.activeKeysProvider.getActiveKeys();const s=new Set(e),n=[];s.forEach((e=>{n[e]})),n.forEach((e=>{t.get(\"KeyUp\")([e])})),e=[]}}updateMouseMovePosition(e){if(!this.videoElementProvider.isVideoReady())return;const t=this.mouseController.toStreamerMessagesProvider.toStreamerHandlers,s=this.videoElementProvider.getVideoParentElement().clientWidth,n=this.videoElementProvider.getVideoParentElement().clientHeight;this.x+=e.movementX,this.y+=e.movementY,this.x>s&&(this.x-=s),this.y>n&&(this.y-=n),this.x<0&&(this.x=s+this.x),this.y<0&&(this.y=n-this.y),this.coord=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(this.x,this.y);const r=this.mouseController.coordinateConverter.normalizeAndQuantizeSigned(e.movementX,e.movementY);t.get(\"MouseMove\")([this.coord.x,this.coord.y,r.x,r.y])}handleMouseDown(e){this.videoElementProvider.isVideoReady()&&this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDown\")([e.button,this.coord.x,this.coord.y])}handleMouseUp(e){this.videoElementProvider.isVideoReady()&&this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseUp\")([e.button,this.coord.x,this.coord.y])}handleMouseWheel(e){this.videoElementProvider.isVideoReady()&&this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseWheel\")([e.wheelDelta,this.coord.x,this.coord.y])}handleMouseDouble(e){this.videoElementProvider.isVideoReady()&&this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDouble\")([e.button,this.coord.x,this.coord.y])}handlePressMouseButtons(e){this.videoElementProvider.isVideoReady()&&this.mouseController.pressMouseButtons(e.buttons,this.x,this.y)}handleReleaseMouseButtons(e){this.videoElementProvider.isVideoReady()&&this.mouseController.releaseMouseButtons(e.buttons,this.x,this.y)}}class tt{constructor(e){this.mouseController=e}unregisterMouseEvents(){}updateMouseMovePosition(e){if(!this.mouseController.videoElementProvider.isVideoReady())return;i.Log(i.GetStackTrace(),\"MouseMove\",6);const t=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(e.offsetX,e.offsetY),s=this.mouseController.coordinateConverter.normalizeAndQuantizeSigned(e.movementX,e.movementY);this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseMove\")([t.x,t.y,s.x,s.y]),e.preventDefault()}handleMouseDown(e){if(!this.mouseController.videoElementProvider.isVideoReady())return;i.Log(i.GetStackTrace(),\"onMouse Down\",6);const t=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(e.offsetX,e.offsetY);this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDown\")([e.button,t.x,t.y]),e.preventDefault()}handleMouseUp(e){if(!this.mouseController.videoElementProvider.isVideoReady())return;i.Log(i.GetStackTrace(),\"onMouse Up\",6);const t=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(e.offsetX,e.offsetY);this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseUp\")([e.button,t.x,t.y]),e.preventDefault()}handleContextMenu(e){this.mouseController.videoElementProvider.isVideoReady()&&e.preventDefault()}handleMouseWheel(e){if(!this.mouseController.videoElementProvider.isVideoReady())return;const t=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(e.offsetX,e.offsetY);this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseWheel\")([e.wheelDelta,t.x,t.y]),e.preventDefault()}handleMouseDouble(e){if(!this.mouseController.videoElementProvider.isVideoReady())return;const t=this.mouseController.coordinateConverter.normalizeAndQuantizeUnsigned(e.offsetX,e.offsetY);this.mouseController.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDouble\")([e.button,t.x,t.y])}handlePressMouseButtons(e){this.mouseController.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),\"onMouse press\",6),this.mouseController.pressMouseButtons(e.buttons,e.offsetX,e.offsetY))}handleReleaseMouseButtons(e){this.mouseController.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),\"onMouse release\",6),this.mouseController.releaseMouseButtons(e.buttons,e.offsetX,e.offsetY))}}class st{constructor(e,t,s,n){this.mouseEventListenerTracker=new Xe,this.toStreamerMessagesProvider=e,this.coordinateConverter=s,this.videoElementProvider=t,this.activeKeysProvider=n,this.registerMouseEnterAndLeaveEvents()}unregisterMouseEvents(){this.mouseEventListenerTracker.unregisterAll()}registerLockedMouseEvents(e){const t=this.videoElementProvider.getVideoParentElement(),s=new et(this.videoElementProvider,e,this.activeKeysProvider);if(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock,document.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock,t.requestPointerLock){const e=()=>{t.requestPointerLock()};t.addEventListener(\"click\",e),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"click\",e)))}const n=()=>s.lockStateChange();document.addEventListener(\"pointerlockchange\",n,!1),document.addEventListener(\"mozpointerlockchange\",n,!1),this.mouseEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"pointerlockchange\",n,!1))),this.mouseEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"mozpointerlockchange\",n,!1)));const r=e=>s.handleMouseDown(e),i=e=>s.handleMouseUp(e),a=e=>s.handleMouseWheel(e),o=e=>s.handleMouseDouble(e);t.addEventListener(\"mousedown\",r),t.addEventListener(\"mouseup\",i),t.addEventListener(\"wheel\",a),t.addEventListener(\"dblclick\",o),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"mousedown\",r))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"mouseup\",i))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"wheel\",a))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"dblclick\",o))),this.mouseEventListenerTracker.addUnregisterCallback((()=>s.unregisterMouseEvents())),this.mouseEventListenerTracker.addUnregisterCallback((()=>{!document.exitPointerLock||document.pointerLockElement!==t&&document.mozPointerLockElement!==t||document.exitPointerLock()}))}registerHoveringMouseEvents(e){const t=this.videoElementProvider.getVideoParentElement(),s=new tt(e),n=e=>s.updateMouseMovePosition(e),r=e=>s.handleMouseDown(e),i=e=>s.handleMouseUp(e),a=e=>s.handleContextMenu(e),o=e=>s.handleMouseWheel(e),l=e=>s.handleMouseDouble(e);t.addEventListener(\"mousemove\",n),t.addEventListener(\"mousedown\",r),t.addEventListener(\"mouseup\",i),t.addEventListener(\"contextmenu\",a),t.addEventListener(\"wheel\",o),t.addEventListener(\"dblclick\",l),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"mousemove\",n))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"mousedown\",r))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"mouseup\",i))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"contextmenu\",a))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"wheel\",o))),this.mouseEventListenerTracker.addUnregisterCallback((()=>t.removeEventListener(\"dblclick\",l))),this.mouseEventListenerTracker.addUnregisterCallback((()=>s.unregisterMouseEvents()))}registerMouseEnterAndLeaveEvents(){const e=this.videoElementProvider.getVideoParentElement(),t=e=>{this.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),\"Mouse Entered\",6),this.sendMouseEnter(),this.pressMouseButtons(e.buttons,e.x,e.y))},s=e=>{this.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),\"Mouse Left\",6),this.sendMouseLeave(),this.releaseMouseButtons(e.buttons,e.x,e.y))};e.addEventListener(\"mouseenter\",t),e.addEventListener(\"mouseleave\",s),this.mouseEventListenerTracker.addUnregisterCallback((()=>e.removeEventListener(\"mouseenter\",t))),this.mouseEventListenerTracker.addUnregisterCallback((()=>e.removeEventListener(\"mouseleave\",s)))}releaseMouseButtons(e,t,s){const n=this.coordinateConverter.normalizeAndQuantizeUnsigned(t,s);e&$e.primaryButton&&this.sendMouseUp(qe.mainButton,n.x,n.y),e&$e.secondaryButton&&this.sendMouseUp(qe.secondaryButton,n.x,n.y),e&$e.auxiliaryButton&&this.sendMouseUp(qe.auxiliaryButton,n.x,n.y),e&$e.fourthButton&&this.sendMouseUp(qe.fourthButton,n.x,n.y),e&$e.fifthButton&&this.sendMouseUp(qe.fifthButton,n.x,n.y)}pressMouseButtons(e,t,s){if(!this.videoElementProvider.isVideoReady())return;const n=this.coordinateConverter.normalizeAndQuantizeUnsigned(t,s);e&$e.primaryButton&&this.sendMouseDown(qe.mainButton,n.x,n.y),e&$e.secondaryButton&&this.sendMouseDown(qe.secondaryButton,n.x,n.y),e&$e.auxiliaryButton&&this.sendMouseDown(qe.auxiliaryButton,n.x,n.y),e&$e.fourthButton&&this.sendMouseDown(qe.fourthButton,n.x,n.y),e&$e.fifthButton&&this.sendMouseDown(qe.fifthButton,n.x,n.y)}sendMouseEnter(){this.videoElementProvider.isVideoReady()&&this.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseEnter\")()}sendMouseLeave(){this.videoElementProvider.isVideoReady()&&this.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseLeave\")()}sendMouseDown(e,t,s){this.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),`mouse button ${e} down at (${t}, ${s})`,6),this.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseDown\")([e,t,s]))}sendMouseUp(e,t,s){if(!this.videoElementProvider.isVideoReady())return;i.Log(i.GetStackTrace(),`mouse button ${e} up at (${t}, ${s})`,6);const n=this.coordinateConverter.normalizeAndQuantizeUnsigned(t,s);this.toStreamerMessagesProvider.toStreamerHandlers.get(\"MouseUp\")([e,n.x,n.y])}}class nt{constructor(e,t,s){this.fingers=[9,8,7,6,5,4,3,2,1,0],this.fingerIds=new Map,this.maxByteValue=255,this.touchEventListenerTracker=new Xe,this.toStreamerMessagesProvider=e,this.videoElementProvider=t,this.coordinateConverter=s,this.videoElementParent=t.getVideoElement();const n=e=>this.onTouchStart(e),r=e=>this.onTouchEnd(e),a=e=>this.onTouchMove(e);this.videoElementParent.addEventListener(\"touchstart\",n),this.videoElementParent.addEventListener(\"touchend\",r),this.videoElementParent.addEventListener(\"touchmove\",a),this.touchEventListenerTracker.addUnregisterCallback((()=>this.videoElementParent.removeEventListener(\"touchstart\",n))),this.touchEventListenerTracker.addUnregisterCallback((()=>this.videoElementParent.removeEventListener(\"touchend\",r))),this.touchEventListenerTracker.addUnregisterCallback((()=>this.videoElementParent.removeEventListener(\"touchmove\",a))),i.Log(i.GetStackTrace(),\"Touch Events Registered\",6);const o=e=>{e.preventDefault()};document.addEventListener(\"touchmove\",o),this.touchEventListenerTracker.addUnregisterCallback((()=>document.removeEventListener(\"touchmove\",o)))}unregisterTouchEvents(){this.touchEventListenerTracker.unregisterAll()}rememberTouch(e){const t=this.fingers.pop();void 0===t&&i.Log(i.GetStackTrace(),\"exhausted touch identifiers\",6),this.fingerIds.set(e.identifier,t)}forgetTouch(e){this.fingers.push(this.fingerIds.get(e.identifier)),this.fingers.sort((function(e,t){return t-e})),this.fingerIds.delete(e.identifier)}onTouchStart(e){if(this.videoElementProvider.isVideoReady()){for(let t=0;t<e.changedTouches.length;t++)this.rememberTouch(e.changedTouches[t]);i.Log(i.GetStackTrace(),\"touch start\",6),this.emitTouchData(\"TouchStart\",e.changedTouches),e.preventDefault()}}onTouchEnd(e){if(this.videoElementProvider.isVideoReady()){i.Log(i.GetStackTrace(),\"touch end\",6),this.emitTouchData(\"TouchEnd\",e.changedTouches);for(let t=0;t<e.changedTouches.length;t++)this.forgetTouch(e.changedTouches[t]);e.preventDefault()}}onTouchMove(e){this.videoElementProvider.isVideoReady()&&(i.Log(i.GetStackTrace(),\"touch move\",6),this.emitTouchData(\"TouchMove\",e.touches),e.preventDefault())}emitTouchData(e,t){if(!this.videoElementProvider.isVideoReady())return;const s=this.videoElementProvider.getVideoParentElement().getBoundingClientRect(),n=this.toStreamerMessagesProvider.toStreamerHandlers;for(let r=0;r<t.length;r++){const a=1,o=t[r],l=o.clientX-s.left,d=o.clientY-s.top;i.Log(i.GetStackTrace(),`F${this.fingerIds.get(o.identifier)}=(${l}, ${d})`,6);const c=this.coordinateConverter.normalizeAndQuantizeUnsigned(l,d);switch(e){case\"TouchStart\":n.get(\"TouchStart\")([a,c.x,c.y,this.fingerIds.get(o.identifier),this.maxByteValue*(o.force>0?o.force:1),c.inRange?1:0]);break;case\"TouchEnd\":n.get(\"TouchEnd\")([a,c.x,c.y,this.fingerIds.get(o.identifier),this.maxByteValue*o.force,c.inRange?1:0]);break;case\"TouchMove\":n.get(\"TouchMove\")([a,c.x,c.y,this.fingerIds.get(o.identifier),this.maxByteValue*(o.force>0?o.force:1),c.inRange?1:0])}}}}class rt{constructor(e){this.gamePadEventListenerTracker=new Xe,this.toStreamerMessagesProvider=e,this.requestAnimationFrame=(window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame).bind(window);const t=window;if(window.addEventListener(\"beforeunload\",(e=>this.onBeforeUnload(e))),\"GamepadEvent\"in t){const e=e=>this.gamePadConnectHandler(e),t=e=>this.gamePadDisconnectHandler(e);window.addEventListener(\"gamepadconnected\",e),window.addEventListener(\"gamepaddisconnected\",t),this.gamePadEventListenerTracker.addUnregisterCallback((()=>window.removeEventListener(\"gamepadconnected\",e))),this.gamePadEventListenerTracker.addUnregisterCallback((()=>window.removeEventListener(\"gamepaddisconnected\",t)))}else if(\"WebKitGamepadEvent\"in t){const e=e=>this.gamePadConnectHandler(e),t=e=>this.gamePadDisconnectHandler(e);window.addEventListener(\"webkitgamepadconnected\",e),window.addEventListener(\"webkitgamepaddisconnected\",t),this.gamePadEventListenerTracker.addUnregisterCallback((()=>window.removeEventListener(\"webkitgamepadconnected\",e))),this.gamePadEventListenerTracker.addUnregisterCallback((()=>window.removeEventListener(\"webkitgamepaddisconnected\",t)))}if(this.controllers=[],navigator.getGamepads)for(const e of navigator.getGamepads())e&&this.gamePadConnectHandler(new GamepadEvent(\"gamepadconnected\",{gamepad:e}))}unregisterGamePadEvents(){this.gamePadEventListenerTracker.unregisterAll();for(const e of this.controllers)void 0!==e.id&&this.onGamepadDisconnected(e.id);this.controllers=[],this.onGamepadConnected=()=>{},this.onGamepadDisconnected=()=>{}}gamePadConnectHandler(e){i.Log(i.GetStackTrace(),\"Gamepad connect handler\",6);const t=e.gamepad,s={currentState:t,prevState:t,id:void 0};this.controllers.push(s),this.controllers[t.index].currentState=t,this.controllers[t.index].prevState=t,i.Log(i.GetStackTrace(),\"gamepad: \"+t.id+\" connected\",6),window.requestAnimationFrame((()=>this.updateStatus())),this.onGamepadConnected()}gamePadDisconnectHandler(e){i.Log(i.GetStackTrace(),\"Gamepad disconnect handler\",6),i.Log(i.GetStackTrace(),\"gamepad: \"+e.gamepad.id+\" disconnected\",6);const t=this.controllers[e.gamepad.index];delete this.controllers[e.gamepad.index],this.controllers=this.controllers.filter((e=>void 0!==e)),this.onGamepadDisconnected(t.id)}scanGamePads(){const e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():[];for(let t=0;t<e.length;t++)e[t]&&e[t].index in this.controllers&&(this.controllers[e[t].index].currentState=e[t])}updateStatus(){this.scanGamePads();const e=this.toStreamerMessagesProvider.toStreamerHandlers;for(const t of this.controllers){const s=void 0===t.id?this.controllers.indexOf(t):t.id,n=t.currentState;for(let n=0;n<t.currentState.buttons.length;n++){const r=t.currentState.buttons[n],i=t.prevState.buttons[n];r.pressed?n==Ue.LeftTrigger?e.get(\"GamepadAnalog\")([s,5,r.value]):n==Ue.RightTrigger?e.get(\"GamepadAnalog\")([s,6,r.value]):e.get(\"GamepadButtonPressed\")([s,n,i.pressed?1:0]):!r.pressed&&i.pressed&&(n==Ue.LeftTrigger?e.get(\"GamepadAnalog\")([s,5,0]):n==Ue.RightTrigger?e.get(\"GamepadAnalog\")([s,6,0]):e.get(\"GamepadButtonReleased\")([s,n,0]))}for(let t=0;t<n.axes.length;t+=2){const r=parseFloat(n.axes[t].toFixed(4)),i=-parseFloat(n.axes[t+1].toFixed(4));e.get(\"GamepadAnalog\")([s,t+1,r]),e.get(\"GamepadAnalog\")([s,t+2,i])}this.controllers[s].prevState=n}this.controllers.length>0&&this.requestAnimationFrame((()=>this.updateStatus()))}onGamepadResponseReceived(e){for(const t of this.controllers)if(void 0===t.id){t.id=e;break}}onGamepadConnected(){}onGamepadDisconnected(e){}onBeforeUnload(e){for(const e of this.controllers)this.onGamepadDisconnected(e.id)}}!function(e){e[e.RightClusterBottomButton=0]=\"RightClusterBottomButton\",e[e.RightClusterRightButton=1]=\"RightClusterRightButton\",e[e.RightClusterLeftButton=2]=\"RightClusterLeftButton\",e[e.RightClusterTopButton=3]=\"RightClusterTopButton\",e[e.LeftShoulder=4]=\"LeftShoulder\",e[e.RightShoulder=5]=\"RightShoulder\",e[e.LeftTrigger=6]=\"LeftTrigger\",e[e.RightTrigger=7]=\"RightTrigger\",e[e.SelectOrBack=8]=\"SelectOrBack\",e[e.StartOrForward=9]=\"StartOrForward\",e[e.LeftAnalogPress=10]=\"LeftAnalogPress\",e[e.RightAnalogPress=11]=\"RightAnalogPress\",e[e.LeftClusterTopButton=12]=\"LeftClusterTopButton\",e[e.LeftClusterBottomButton=13]=\"LeftClusterBottomButton\",e[e.LeftClusterLeftButton=14]=\"LeftClusterLeftButton\",e[e.LeftClusterRightButton=15]=\"LeftClusterRightButton\",e[e.CentreButton=16]=\"CentreButton\",e[e.LeftStickHorizontal=0]=\"LeftStickHorizontal\",e[e.LeftStickVertical=1]=\"LeftStickVertical\",e[e.RightStickHorizontal=2]=\"RightStickHorizontal\",e[e.RightStickVertical=3]=\"RightStickVertical\"}(Ue||(Ue={}));class it{constructor(e,t,s){this.activeKeys=new at,this.toStreamerMessagesProvider=e,this.videoElementProvider=t,this.coordinateConverter=s}registerKeyBoard(e){i.Log(i.GetStackTrace(),\"Register Keyboard Events\",7);const t=new Ze(this.toStreamerMessagesProvider,e,this.activeKeys);return t.registerKeyBoardEvents(),t}registerMouse(e){i.Log(i.GetStackTrace(),\"Register Mouse Events\",7);const t=new st(this.toStreamerMessagesProvider,this.videoElementProvider,this.coordinateConverter,this.activeKeys);switch(e){case Ee.LockedMouse:t.registerLockedMouseEvents(t);break;case Ee.HoveringMouse:t.registerHoveringMouseEvents(t);break;default:i.Info(i.GetStackTrace(),\"unknown Control Scheme Type Defaulting to Locked Mouse Events\"),t.registerLockedMouseEvents(t)}return t}registerTouch(e,t){if(i.Log(i.GetStackTrace(),\"Registering Touch\",6),e){const e=new je(this.toStreamerMessagesProvider,this.videoElementProvider,this.coordinateConverter);return e.setVideoElementParentClientRect(t),e}return new nt(this.toStreamerMessagesProvider,this.videoElementProvider,this.coordinateConverter)}registerGamePad(){return i.Log(i.GetStackTrace(),\"Register Game Pad\",7),new rt(this.toStreamerMessagesProvider)}}class at{constructor(){this.activeKeys=[],this.activeKeys=[]}getActiveKeys(){return this.activeKeys}}class ot{constructor(e,t){this.lastTimeResized=(new Date).getTime(),this.videoElement=document.createElement(\"video\"),this.config=t,this.videoElement.id=\"streamingVideo\",this.videoElement.disablePictureInPicture=!0,this.videoElement.playsInline=!0,this.videoElement.style.width=\"100%\",this.videoElement.style.height=\"100%\",this.videoElement.style.position=\"absolute\",this.videoElement.style.pointerEvents=\"all\",e.appendChild(this.videoElement),this.onResizePlayerCallback=()=>{console.log(\"Resolution changed, restyling player, did you forget to override this function?\")},this.onMatchViewportResolutionCallback=()=>{console.log(\"Resolution changed and match viewport resolution is turned on, did you forget to override this function?\")},this.videoElement.onclick=()=>{null!=this.audioElement&&this.audioElement.paused&&this.audioElement.play(),this.videoElement.paused&&this.videoElement.play()},this.videoElement.onloadedmetadata=()=>{this.onVideoInitialized()},window.addEventListener(\"resize\",(()=>this.resizePlayerStyle()),!0),window.addEventListener(\"orientationchange\",(()=>this.onOrientationChange()))}setAudioElement(e){this.audioElement=e}play(){return this.videoElement.muted=this.config.isFlagEnabled(ue.StartVideoMuted),this.videoElement.autoplay=this.config.isFlagEnabled(ue.AutoPlayVideo),this.videoElement.play()}isPaused(){return this.videoElement.paused}isVideoReady(){return void 0!==this.videoElement.readyState&&this.videoElement.readyState>0}hasVideoSource(){return void 0!==this.videoElement.srcObject&&null!==this.videoElement.srcObject}getVideoElement(){return this.videoElement}getVideoParentElement(){return this.videoElement.parentElement}setVideoEnabled(e){this.videoElement.srcObject.getTracks().forEach((t=>t.enabled=e))}onVideoInitialized(){}onOrientationChange(){clearTimeout(this.orientationChangeTimeout),this.orientationChangeTimeout=window.setTimeout((()=>{this.resizePlayerStyle()}),500)}resizePlayerStyle(){const e=this.getVideoParentElement();e&&(this.updateVideoStreamSize(),e.classList.contains(\"fixed-size\")||this.resizePlayerStyleToFillParentElement(),this.onResizePlayerCallback())}resizePlayerStyleToFillParentElement(){this.getVideoParentElement().setAttribute(\"style\",\"top: 0px; left: 0px; width: 100%; height: 100%; cursor: default;\")}updateVideoStreamSize(){if(this.config.isFlagEnabled(ue.MatchViewportResolution))if((new Date).getTime()-this.lastTimeResized>300){const e=this.getVideoParentElement();if(!e)return;this.onMatchViewportResolutionCallback(e.clientWidth,e.clientHeight),this.lastTimeResized=(new Date).getTime()}else i.Log(i.GetStackTrace(),\"Resizing too often - skipping\",6),clearTimeout(this.resizeTimeoutHandle),this.resizeTimeoutHandle=window.setTimeout((()=>this.updateVideoStreamSize()),100)}}class lt{constructor(){this.toStreamerHandlers=new Map,this.fromStreamerHandlers=new Map,this.toStreamerMessages=new Map,this.fromStreamerMessages=new Map}populateDefaultProtocol(){this.toStreamerMessages.set(\"IFrameRequest\",{id:0,structure:[]}),this.toStreamerMessages.set(\"RequestQualityControl\",{id:1,structure:[]}),this.toStreamerMessages.set(\"FpsRequest\",{id:2,structure:[]}),this.toStreamerMessages.set(\"AverageBitrateRequest\",{id:3,structure:[]}),this.toStreamerMessages.set(\"StartStreaming\",{id:4,structure:[]}),this.toStreamerMessages.set(\"StopStreaming\",{id:5,structure:[]}),this.toStreamerMessages.set(\"LatencyTest\",{id:6,structure:[\"string\"]}),this.toStreamerMessages.set(\"RequestInitialSettings\",{id:7,structure:[]}),this.toStreamerMessages.set(\"TestEcho\",{id:8,structure:[]}),this.toStreamerMessages.set(\"DataChannelLatencyTest\",{id:9,structure:[]}),this.toStreamerMessages.set(\"UIInteraction\",{id:50,structure:[\"string\"]}),this.toStreamerMessages.set(\"Command\",{id:51,structure:[\"string\"]}),this.toStreamerMessages.set(\"KeyDown\",{id:60,structure:[\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"KeyUp\",{id:61,structure:[\"uint8\"]}),this.toStreamerMessages.set(\"KeyPress\",{id:62,structure:[\"uint16\"]}),this.toStreamerMessages.set(\"MouseEnter\",{id:70,structure:[]}),this.toStreamerMessages.set(\"MouseLeave\",{id:71,structure:[]}),this.toStreamerMessages.set(\"MouseDown\",{id:72,structure:[\"uint8\",\"uint16\",\"uint16\"]}),this.toStreamerMessages.set(\"MouseUp\",{id:73,structure:[\"uint8\",\"uint16\",\"uint16\"]}),this.toStreamerMessages.set(\"MouseMove\",{id:74,structure:[\"uint16\",\"uint16\",\"int16\",\"int16\"]}),this.toStreamerMessages.set(\"MouseWheel\",{id:75,structure:[\"int16\",\"uint16\",\"uint16\"]}),this.toStreamerMessages.set(\"MouseDouble\",{id:76,structure:[\"uint8\",\"uint16\",\"uint16\"]}),this.toStreamerMessages.set(\"TouchStart\",{id:80,structure:[\"uint8\",\"uint16\",\"uint16\",\"uint8\",\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"TouchEnd\",{id:81,structure:[\"uint8\",\"uint16\",\"uint16\",\"uint8\",\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"TouchMove\",{id:82,structure:[\"uint8\",\"uint16\",\"uint16\",\"uint8\",\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"GamepadConnected\",{id:93,structure:[]}),this.toStreamerMessages.set(\"GamepadButtonPressed\",{id:90,structure:[\"uint8\",\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"GamepadButtonReleased\",{id:91,structure:[\"uint8\",\"uint8\",\"uint8\"]}),this.toStreamerMessages.set(\"GamepadAnalog\",{id:92,structure:[\"uint8\",\"uint8\",\"double\"]}),this.toStreamerMessages.set(\"GamepadDisconnected\",{id:94,structure:[\"uint8\"]}),this.fromStreamerMessages.set(0,\"QualityControlOwnership\"),this.fromStreamerMessages.set(1,\"Response\"),this.fromStreamerMessages.set(2,\"Command\"),this.fromStreamerMessages.set(3,\"FreezeFrame\"),this.fromStreamerMessages.set(4,\"UnfreezeFrame\"),this.fromStreamerMessages.set(5,\"VideoEncoderAvgQP\"),this.fromStreamerMessages.set(6,\"LatencyTest\"),this.fromStreamerMessages.set(7,\"InitialSettings\"),this.fromStreamerMessages.set(8,\"FileExtension\"),this.fromStreamerMessages.set(9,\"FileMimeType\"),this.fromStreamerMessages.set(10,\"FileContents\"),this.fromStreamerMessages.set(11,\"TestEcho\"),this.fromStreamerMessages.set(12,\"InputControlOwnership\"),this.fromStreamerMessages.set(13,\"GamepadResponse\"),this.fromStreamerMessages.set(14,\"DataChannelLatencyTest\"),this.fromStreamerMessages.set(255,\"Protocol\")}registerMessageHandler(e,t,s){switch(e){case Ge.ToStreamer:this.toStreamerHandlers.set(t,s);break;case Ge.FromStreamer:this.fromStreamerHandlers.set(t,s);break;default:i.Log(i.GetStackTrace(),`Unknown message direction ${e}`)}}}!function(e){e[e.ToStreamer=0]=\"ToStreamer\",e[e.FromStreamer=1]=\"FromStreamer\"}(Ge||(Ge={}));class dt{constructor(){this.responseEventListeners=new Map}addResponseEventListener(e,t){this.responseEventListeners.set(e,t)}removeResponseEventListener(e){this.responseEventListeners.delete(e)}onResponse(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.Response\",6);const t=new TextDecoder(\"utf-16\").decode(e.slice(1));i.Log(i.GetStackTrace(),t,6),this.responseEventListeners.forEach((e=>{e(t)}))}}class ct{constructor(e,t){this.dataChannelSender=e,this.toStreamerMessagesMapProvider=t}sendMessageToStreamer(e,t){void 0===t&&(t=[]);const s=this.toStreamerMessagesMapProvider.toStreamerMessages.get(e);if(void 0===s)return void i.Error(i.GetStackTrace(),`Attempted to send a message to the streamer with message type: ${e}, but the frontend hasn't been configured to send such a message. Check you've added the message type in your cpp`);if(s.structure&&t&&s.structure.length!==t.length)return void i.Error(i.GetStackTrace(),`Provided message data doesn't match expected layout. Expected [ ${s.structure.map((e=>{switch(e){case\"uint8\":case\"uint16\":case\"int16\":case\"float\":case\"double\":return\"number\";case\"string\":return\"string\"}})).toString()} ] but received [ ${t.map((e=>typeof e)).toString()} ]`);let n=0;const r=new TextEncoder;t.forEach(((e,t)=>{switch(s.structure[t]){case\"uint8\":n+=1;break;case\"uint16\":case\"int16\":n+=2;break;case\"float\":n+=4;break;case\"double\":n+=8;break;case\"string\":n+=2,n+=2*r.encode(e).length}}));const a=new DataView(new ArrayBuffer(n+1));a.setUint8(0,s.id);let o=1;t.forEach(((e,t)=>{switch(s.structure[t]){case\"uint8\":a.setUint8(o,e),o+=1;break;case\"uint16\":a.setUint16(o,e,!0),o+=2;break;case\"int16\":a.setInt16(o,e,!0),o+=2;break;case\"float\":a.setFloat32(o,e,!0),o+=4;break;case\"double\":a.setFloat64(o,e,!0),o+=8;break;case\"string\":a.setUint16(o,e.length,!0),o+=2;for(let t=0;t<e.length;t++)a.setUint16(o,e.charCodeAt(t),!0),o+=2}})),this.dataChannelSender.canSend()?this.dataChannelSender.sendData(a.buffer):i.Info(i.GetStackTrace(),`Data channel cannot send yet, skipping sending message: ${e} - ${new Uint8Array(a.buffer)}`)}}class ht{constructor(e){this.sendMessageController=e}SendRequestQualityControl(){this.sendMessageController.sendMessageToStreamer(\"RequestQualityControl\")}SendMaxFpsRequest(){this.sendMessageController.sendMessageToStreamer(\"FpsRequest\")}SendAverageBitrateRequest(){this.sendMessageController.sendMessageToStreamer(\"AverageBitrateRequest\")}SendStartStreaming(){this.sendMessageController.sendMessageToStreamer(\"StartStreaming\")}SendStopStreaming(){this.sendMessageController.sendMessageToStreamer(\"StopStreaming\")}SendRequestInitialSettings(){this.sendMessageController.sendMessageToStreamer(\"RequestInitialSettings\")}}class ut{constructor(e){this.dataChannelProvider=e}canSend(){return void 0!==this.dataChannelProvider.getDataChannelInstance().dataChannel&&\"open\"==this.dataChannelProvider.getDataChannelInstance().dataChannel.readyState}sendData(e){const t=this.dataChannelProvider.getDataChannelInstance();\"open\"==t.dataChannel.readyState?(t.dataChannel.send(e),i.Log(i.GetStackTrace(),`Message Sent: ${new Uint8Array(e)}`,6),this.resetAfkWarningTimerOnDataSend()):i.Error(i.GetStackTrace(),`Message Failed: ${new Uint8Array(e)}`)}resetAfkWarningTimerOnDataSend(){}}class gt{constructor(e){this.videoElementProvider=e,this.normalizeAndQuantizeUnsignedFunc=()=>{throw new Error(\"Normalize and quantize unsigned, method not implemented.\")},this.normalizeAndQuantizeSignedFunc=()=>{throw new Error(\"Normalize and unquantize signed, method not implemented.\")},this.denormalizeAndUnquantizeUnsignedFunc=()=>{throw new Error(\"Denormalize and unquantize unsigned, method not implemented.\")}}normalizeAndQuantizeUnsigned(e,t){return this.normalizeAndQuantizeUnsignedFunc(e,t)}unquantizeAndDenormalizeUnsigned(e,t){return this.denormalizeAndUnquantizeUnsignedFunc(e,t)}normalizeAndQuantizeSigned(e,t){return this.normalizeAndQuantizeSignedFunc(e,t)}setupNormalizeAndQuantize(){if(this.videoElementParent=this.videoElementProvider.getVideoParentElement(),this.videoElement=this.videoElementProvider.getVideoElement(),this.videoElementParent&&this.videoElement){const e=this.videoElementParent.clientWidth||1,t=this.videoElementParent.clientHeight||1,s=this.videoElement.videoWidth||1,n=t/e,r=(this.videoElement.videoHeight||1)/s;n>r?(i.Log(i.GetStackTrace(),\"Setup Normalize and Quantize for playerAspectRatio > videoAspectRatio\",6),this.ratio=n/r,this.normalizeAndQuantizeUnsignedFunc=(e,t)=>this.normalizeAndQuantizeUnsignedPlayerBigger(e,t),this.normalizeAndQuantizeSignedFunc=(e,t)=>this.normalizeAndQuantizeSignedPlayerBigger(e,t),this.denormalizeAndUnquantizeUnsignedFunc=(e,t)=>this.denormalizeAndUnquantizeUnsignedPlayerBigger(e,t)):(i.Log(i.GetStackTrace(),\"Setup Normalize and Quantize for playerAspectRatio <= videoAspectRatio\",6),this.ratio=r/n,this.normalizeAndQuantizeUnsignedFunc=(e,t)=>this.normalizeAndQuantizeUnsignedPlayerSmaller(e,t),this.normalizeAndQuantizeSignedFunc=(e,t)=>this.normalizeAndQuantizeSignedPlayerSmaller(e,t),this.denormalizeAndUnquantizeUnsignedFunc=(e,t)=>this.denormalizeAndUnquantizeUnsignedPlayerSmaller(e,t))}}normalizeAndQuantizeUnsignedPlayerBigger(e,t){const s=e/this.videoElementParent.clientWidth,n=this.ratio*(t/this.videoElementParent.clientHeight-.5)+.5;return s<0||s>1||n<0||n>1?new mt(!1,65535,65535):new mt(!0,65536*s,65536*n)}denormalizeAndUnquantizeUnsignedPlayerBigger(e,t){const s=e/65536,n=(t/65536-.5)/this.ratio+.5;return new pt(s*this.videoElementParent.clientWidth,n*this.videoElementParent.clientHeight)}normalizeAndQuantizeSignedPlayerBigger(e,t){const s=e/(.5*this.videoElementParent.clientWidth),n=this.ratio*t/(.5*this.videoElementParent.clientHeight);return new St(32767*s,32767*n)}normalizeAndQuantizeUnsignedPlayerSmaller(e,t){const s=this.ratio*(e/this.videoElementParent.clientWidth-.5)+.5,n=t/this.videoElementParent.clientHeight;return s<0||s>1||n<0||n>1?new mt(!1,65535,65535):new mt(!0,65536*s,65536*n)}denormalizeAndUnquantizeUnsignedPlayerSmaller(e,t){const s=(e/65536-.5)/this.ratio+.5,n=t/65536;return new pt(s*this.videoElementParent.clientWidth,n*this.videoElementParent.clientHeight)}normalizeAndQuantizeSignedPlayerSmaller(e,t){const s=this.ratio*e/(.5*this.videoElementParent.clientWidth),n=t/(.5*this.videoElementParent.clientHeight);return new St(32767*s,32767*n)}}class mt{constructor(e,t,s){this.inRange=e,this.x=t,this.y=s}}class pt{constructor(e,t){this.x=e,this.y=t}}class St{constructor(e,t){this.x=e,this.y=t}}class vt{constructor(e,t){this.shouldShowPlayOverlay=!0,this.autoJoinTimer=void 0,this.config=e,this.pixelStreaming=t,this.responseController=new dt,this.file=new Qe,this.sdpConstraints={offerToReceiveAudio:!0,offerToReceiveVideo:!0},this.afkController=new ye(this.config,this.pixelStreaming,this.onAfkTriggered.bind(this)),this.afkController.onAFKTimedOutCallback=()=>{this.closeSignalingServer(\"You have been disconnected due to inactivity\")},this.freezeFrameController=new y(this.pixelStreaming.videoElementParent),this.videoPlayer=new ot(this.pixelStreaming.videoElementParent,this.config),this.videoPlayer.onVideoInitialized=()=>this.handleVideoInitialized(),this.videoPlayer.onMatchViewportResolutionCallback=(e,t)=>{const s={\"Resolution.Width\":e,\"Resolution.Height\":t};this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify(s)])},this.videoPlayer.onResizePlayerCallback=()=>{this.setUpMouseAndFreezeFrame()},this.streamController=new T(this.videoPlayer),this.coordinateConverter=new gt(this.videoPlayer),this.sendrecvDataChannelController=new Me,this.recvDataChannelController=new Me,this.registerDataChannelEventEmitters(this.sendrecvDataChannelController),this.registerDataChannelEventEmitters(this.recvDataChannelController),this.dataChannelSender=new ut(this.sendrecvDataChannelController),this.dataChannelSender.resetAfkWarningTimerOnDataSend=()=>this.afkController.resetAfkWarningTimer(),this.streamMessageController=new lt,this.webSocketController=new f,this.webSocketController.onConfig=e=>this.handleOnConfigMessage(e),this.webSocketController.onStreamerList=e=>this.handleStreamerListMessage(e),this.webSocketController.onStreamerIDChanged=e=>this.handleStreamerIDChangedMessage(e),this.webSocketController.onPlayerCount=e=>{this.pixelStreaming._onPlayerCount(e.count)},this.webSocketController.onOpen.addEventListener(\"open\",(()=>{this.config.isFlagEnabled(ue.BrowserSendOffer)||this.webSocketController.requestStreamerList()})),this.webSocketController.onClose.addEventListener(\"close\",(e=>{const t=this.shouldReconnect&&1001!=e.detail.code&&this.config.getNumericSettingValue(me.MaxReconnectAttempts)>0,s=this.disconnectMessage?this.disconnectMessage:e.detail.reason;this.pixelStreaming._onDisconnect(s,!t&&!this.isReconnecting),this.afkController.stopAfkWarningTimer(),this.statsTimerHandle&&void 0!==this.statsTimerHandle&&window.clearInterval(this.statsTimerHandle),this.setVideoEncoderAvgQP(0),this.setTouchInputEnabled(!1),this.setMouseInputEnabled(!1),this.setKeyboardInputEnabled(!1),this.setGamePadInputEnabled(!1),t&&setTimeout((()=>{this.isReconnecting=!0,this.reconnectAttempt++,this.tryReconnect(e.detail.reason)}),2e3)})),this.sendMessageController=new ct(this.dataChannelSender,this.streamMessageController),this.toStreamerMessagesController=new ht(this.sendMessageController),this.registerMessageHandlers(),this.streamMessageController.populateDefaultProtocol(),this.inputClassesFactory=new it(this.streamMessageController,this.videoPlayer,this.coordinateConverter),this.isUsingSFU=!1,this.isQualityController=!1,this.preferredCodec=\"\",this.shouldReconnect=!0,this.isReconnecting=!1,this.reconnectAttempt=0,this.config._addOnOptionSettingChangedListener(Ce.StreamerId,(e=>{\"\"!==e&&(this.peerConnectionController.peerConnection.close(),this.peerConnectionController.createPeerConnection(this.peerConfig,this.preferredCodec),this.subscribedStream=e,this.webSocketController.sendSubscribe(e))})),this.setVideoEncoderAvgQP(-1),this.signallingUrlBuilder=()=>{let e=this.config.getTextSettingValue(Se.SignallingServerUrl);return this.config.isFlagEnabled(ue.BrowserSendOffer)&&(e+=\"?\"+ue.BrowserSendOffer+\"=true\"),e}}requestUnquantizedAndDenormalizeUnsigned(e,t){return this.coordinateConverter.unquantizeAndDenormalizeUnsigned(e,t)}handleOnMessage(e){const t=new Uint8Array(e.data);i.Log(i.GetStackTrace(),\"Message incoming:\"+t,6);const s=this.streamMessageController.fromStreamerMessages.get(t[0]);this.streamMessageController.fromStreamerHandlers.get(s)(e.data)}registerMessageHandlers(){this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"QualityControlOwnership\",(e=>this.onQualityControlOwnership(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"Response\",(e=>this.responseController.onResponse(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"Command\",(e=>{this.onCommand(e)})),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"FreezeFrame\",(e=>this.onFreezeFrameMessage(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"UnfreezeFrame\",(()=>this.invalidateFreezeFrameAndEnableVideo())),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"VideoEncoderAvgQP\",(e=>this.handleVideoEncoderAvgQP(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"LatencyTest\",(e=>this.handleLatencyTestResult(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"DataChannelLatencyTest\",(e=>this.handleDataChannelLatencyTestResponse(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"InitialSettings\",(e=>this.handleInitialSettings(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"FileExtension\",(e=>this.onFileExtension(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"FileMimeType\",(e=>this.onFileMimeType(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"FileContents\",(e=>this.onFileContents(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"TestEcho\",(()=>{})),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"InputControlOwnership\",(e=>this.onInputControlOwnership(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"GamepadResponse\",(e=>this.onGamepadResponse(e))),this.streamMessageController.registerMessageHandler(Ge.FromStreamer,\"Protocol\",(e=>this.onProtocolMessage(e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"IFrameRequest\",(()=>this.sendMessageController.sendMessageToStreamer(\"IFrameRequest\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"RequestQualityControl\",(()=>this.sendMessageController.sendMessageToStreamer(\"RequestQualityControl\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"FpsRequest\",(()=>this.sendMessageController.sendMessageToStreamer(\"FpsRequest\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"AverageBitrateRequest\",(()=>this.sendMessageController.sendMessageToStreamer(\"AverageBitrateRequest\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"StartStreaming\",(()=>this.sendMessageController.sendMessageToStreamer(\"StartStreaming\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"StopStreaming\",(()=>this.sendMessageController.sendMessageToStreamer(\"StopStreaming\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"LatencyTest\",(e=>this.sendMessageController.sendMessageToStreamer(\"LatencyTest\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"RequestInitialSettings\",(()=>this.sendMessageController.sendMessageToStreamer(\"RequestInitialSettings\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"TestEcho\",(()=>{})),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"UIInteraction\",(e=>this.sendMessageController.sendMessageToStreamer(\"UIInteraction\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"Command\",(e=>this.sendMessageController.sendMessageToStreamer(\"Command\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"TextboxEntry\",(e=>this.sendMessageController.sendMessageToStreamer(\"TextboxEntry\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"KeyDown\",(e=>this.sendMessageController.sendMessageToStreamer(\"KeyDown\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"KeyUp\",(e=>this.sendMessageController.sendMessageToStreamer(\"KeyUp\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"KeyPress\",(e=>this.sendMessageController.sendMessageToStreamer(\"KeyPress\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseEnter\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseEnter\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseLeave\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseLeave\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseDown\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseDown\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseUp\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseUp\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseMove\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseMove\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseWheel\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseWheel\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"MouseDouble\",(e=>this.sendMessageController.sendMessageToStreamer(\"MouseDouble\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"TouchStart\",(e=>this.sendMessageController.sendMessageToStreamer(\"TouchStart\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"TouchEnd\",(e=>this.sendMessageController.sendMessageToStreamer(\"TouchEnd\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"TouchMove\",(e=>this.sendMessageController.sendMessageToStreamer(\"TouchMove\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"GamepadConnected\",(()=>this.sendMessageController.sendMessageToStreamer(\"GamepadConnected\"))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"GamepadButtonPressed\",(e=>this.sendMessageController.sendMessageToStreamer(\"GamepadButtonPressed\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"GamepadButtonReleased\",(e=>this.sendMessageController.sendMessageToStreamer(\"GamepadButtonReleased\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"GamepadAnalog\",(e=>this.sendMessageController.sendMessageToStreamer(\"GamepadAnalog\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"GamepadDisconnected\",(e=>this.sendMessageController.sendMessageToStreamer(\"GamepadDisconnected\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XREyeViews\",(e=>this.sendMessageController.sendMessageToStreamer(\"XREyeViews\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRHMDTransform\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRHMDTransform\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRControllerTransform\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRControllerTransform\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRSystem\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRSystem\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRButtonTouched\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRButtonTouched\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRButtonTouchReleased\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRButtonTouchReleased\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRButtonPressed\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRButtonPressed\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRButtonReleased\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRButtonReleased\",e))),this.streamMessageController.registerMessageHandler(Ge.ToStreamer,\"XRAnalog\",(e=>this.sendMessageController.sendMessageToStreamer(\"XRAnalog\",e)))}onCommand(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.Command\",6);const t=new TextDecoder(\"utf-16\").decode(e.slice(1));i.Log(i.GetStackTrace(),\"Data Channel Command: \"+t,6);const s=JSON.parse(t);\"onScreenKeyboard\"===s.command&&this.pixelStreaming._activateOnScreenKeyboard(s)}onProtocolMessage(e){try{const t=new TextDecoder(\"utf-16\").decode(e.slice(1)),s=JSON.parse(t);Object.prototype.hasOwnProperty.call(s,\"Direction\")||i.Error(i.GetStackTrace(),\"Malformed protocol received. Ensure the protocol message contains a direction\");const n=s.Direction;delete s.Direction,i.Log(i.GetStackTrace(),`Received new ${n==Ge.FromStreamer?\"FromStreamer\":\"ToStreamer\"} protocol. Updating existing protocol...`),Object.keys(s).forEach((e=>{const t=s[e];switch(n){case Ge.ToStreamer:if(!Object.prototype.hasOwnProperty.call(t,\"id\"))return void i.Error(i.GetStackTrace(),`ToStreamer->${e} protocol definition was malformed as it didn't contain at least an id\\n\\n Definition was: ${JSON.stringify(t,null,2)}`);if(\"UIInteraction\"===e||\"Command\"===e||\"LatencyTest\"===e)return;this.streamMessageController.toStreamerHandlers.get(e)?this.streamMessageController.toStreamerMessages.set(e,t):i.Error(i.GetStackTrace(),`There was no registered handler for \"${e}\" - try adding one using registerMessageHandler(MessageDirection.ToStreamer, \"${e}\", myHandler)`);break;case Ge.FromStreamer:if(!Object.prototype.hasOwnProperty.call(t,\"id\"))return void i.Error(i.GetStackTrace(),`FromStreamer->${e} protocol definition was malformed as it didn't contain at least an id\\n\\n Definition was: ${JSON.stringify(t,null,2)}`);this.streamMessageController.fromStreamerHandlers.get(e)?this.streamMessageController.fromStreamerMessages.set(t.id,e):i.Error(i.GetStackTrace(),`There was no registered handler for \"${t}\" - try adding one using registerMessageHandler(MessageDirection.FromStreamer, \"${e}\", myHandler)`);break;default:i.Error(i.GetStackTrace(),`Unknown direction: ${n}`)}})),this.toStreamerMessagesController.SendRequestInitialSettings(),this.toStreamerMessagesController.SendRequestQualityControl()}catch(e){i.Log(i.GetStackTrace(),e)}}onInputControlOwnership(e){const t=new Uint8Array(e);i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.InputControlOwnership\",6);const s=new Boolean(t[1]).valueOf();i.Log(i.GetStackTrace(),`Received input controller message - will your input control the stream: ${s}`),this.pixelStreaming._onInputControlOwnership(s)}onGamepadResponse(e){const t=new TextDecoder(\"utf-16\").decode(e.slice(1)),s=JSON.parse(t);this.gamePadController.onGamepadResponseReceived(s.controllerId)}onAfkTriggered(){this.afkController.onAfkClick(),this.videoPlayer.isPaused()&&this.videoPlayer.hasVideoSource()&&this.playStream()}setAfkEnabled(e){e?this.onAfkTriggered():this.afkController.stopAfkWarningTimer()}tryReconnect(e){this.webSocketController?(this.isReconnecting=!0,this.webSocketController.webSocket&&this.webSocketController.webSocket.readyState!=WebSocket.CLOSED?(this.closeSignalingServer(`${e} Restarting stream...`),setTimeout((()=>{this.tryReconnect(e)}),3e3)):(this.pixelStreaming._onWebRtcAutoConnect(),this.connectToSignallingServer())):i.Log(i.GetStackTrace(),\"The Web Socket Controller does not exist so this will not work right now.\")}loadFreezeFrameOrShowPlayOverlay(){this.pixelStreaming.dispatchEvent(new j({shouldShowPlayOverlay:this.shouldShowPlayOverlay,isValid:this.freezeFrameController.valid,jpegData:this.freezeFrameController.jpeg})),!0===this.shouldShowPlayOverlay?(i.Log(i.GetStackTrace(),\"showing play overlay\"),this.resizePlayerStyle()):(i.Log(i.GetStackTrace(),\"showing freeze frame\"),this.freezeFrameController.showFreezeFrame()),setTimeout((()=>{this.videoPlayer.setVideoEnabled(!1)}),this.freezeFrameController.freezeFrameDelay)}onFreezeFrameMessage(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.FreezeFrame\",6);const t=new Uint8Array(e);this.freezeFrameController.processFreezeFrameMessage(t,(()=>this.loadFreezeFrameOrShowPlayOverlay()))}invalidateFreezeFrameAndEnableVideo(){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.FreezeFrame\",6),setTimeout((()=>{this.pixelStreaming.dispatchEvent(new J),this.freezeFrameController.hideFreezeFrame()}),this.freezeFrameController.freezeFrameDelay),this.videoPlayer.getVideoElement()&&this.videoPlayer.setVideoEnabled(!0)}onFileExtension(e){const t=new Uint8Array(e);Ke.setExtensionFromBytes(t,this.file)}onFileMimeType(e){const t=new Uint8Array(e);Ke.setMimeTypeFromBytes(t,this.file)}onFileContents(e){const t=new Uint8Array(e);Ke.setContentsFromBytes(t,this.file)}playStream(){if(!this.videoPlayer.getVideoElement()){const e=\"Could not play video stream because the video player was not initialized correctly.\";return this.pixelStreaming.dispatchEvent(new q({message:e})),i.Error(i.GetStackTrace(),e),void this.closeSignalingServer(\"Stream not initialized correctly\")}if(this.videoPlayer.hasVideoSource()){if(this.setTouchInputEnabled(this.config.isFlagEnabled(ue.TouchInput)),this.pixelStreaming.dispatchEvent(new $),this.streamController.audioElement.srcObject){const e=this.config.isFlagEnabled(ue.StartVideoMuted);this.streamController.audioElement.muted=e,e?this.playVideo():this.streamController.audioElement.play().then((()=>{this.playVideo()})).catch((e=>{i.Log(i.GetStackTrace(),e),i.Log(i.GetStackTrace(),\"Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.\"),this.pixelStreaming.dispatchEvent(new X({reason:e}))}))}else this.playVideo();this.shouldShowPlayOverlay=!1,this.freezeFrameController.showFreezeFrame()}else i.Warning(i.GetStackTrace(),\"Cannot play stream, the video element has no srcObject to play.\")}playVideo(){this.videoPlayer.play().catch((e=>{this.streamController.audioElement.srcObject&&this.streamController.audioElement.pause(),i.Log(i.GetStackTrace(),e),i.Log(i.GetStackTrace(),\"Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.\"),this.pixelStreaming.dispatchEvent(new X({reason:e}))}))}autoPlayVideoOrSetUpPlayOverlay(){this.config.isFlagEnabled(ue.AutoPlayVideo)&&this.playStream(),this.resizePlayerStyle()}connectToSignallingServer(){this.locallyClosed=!1,this.shouldReconnect=!0,this.disconnectMessage=null;const e=this.signallingUrlBuilder();this.webSocketController.connect(e)}startSession(e){if(this.peerConfig=e,this.config.isFlagEnabled(ue.ForceTURN)&&!this.checkTurnServerAvailability(e))return i.Info(i.GetStackTrace(),\"No turn server was found in the Peer Connection Options. TURN cannot be forced, closing connection. Please use STUN instead\"),void this.closeSignalingServer(\"TURN cannot be forced, closing connection. Please use STUN instead.\");this.peerConnectionController=new ze(this.peerConfig,this.config,this.preferredCodec),this.peerConnectionController.onVideoStats=e=>this.handleVideoStats(e),this.peerConnectionController.onSendWebRTCOffer=e=>this.handleSendWebRTCOffer(e),this.peerConnectionController.onSendWebRTCAnswer=e=>this.handleSendWebRTCAnswer(e),this.peerConnectionController.onPeerIceCandidate=e=>this.handleSendIceCandidate(e),this.peerConnectionController.onDataChannel=e=>this.handleDataChannel(e),this.peerConnectionController.showTextOverlayConnecting=()=>this.pixelStreaming._onWebRtcConnecting(),this.peerConnectionController.showTextOverlaySetupFailure=()=>this.pixelStreaming._onWebRtcFailed();let t=!1;this.peerConnectionController.onIceConnectionStateChange=()=>{!t&&[\"connected\",\"completed\"].includes(this.peerConnectionController.peerConnection.iceConnectionState)&&(this.pixelStreaming._onWebRtcConnected(),t=!0)},this.peerConnectionController.onTrack=e=>this.streamController.handleOnTrack(e),this.config.isFlagEnabled(ue.BrowserSendOffer)&&(this.sendrecvDataChannelController.createDataChannel(this.peerConnectionController.peerConnection,\"cirrus\",this.datachannelOptions),this.sendrecvDataChannelController.handleOnMessage=e=>this.handleOnMessage(e),this.peerConnectionController.createOffer(this.sdpConstraints,this.config))}checkTurnServerAvailability(e){if(!e.iceServers)return i.Info(i.GetStackTrace(),\"A turn sever was not found\"),!1;for(const t of e.iceServers)for(const e of t.urls)if(e.includes(\"turn\"))return i.Log(i.GetStackTrace(),`A turn sever was found at ${e}`),!0;return i.Info(i.GetStackTrace(),\"A turn sever was not found\"),!1}handleOnConfigMessage(e){this.resizePlayerStyle(),this.startSession(e.peerConnectionOptions),this.webSocketController.onWebRtcAnswer=e=>this.handleWebRtcAnswer(e),this.webSocketController.onWebRtcOffer=e=>this.handleWebRtcOffer(e),this.webSocketController.onWebRtcPeerDataChannels=e=>this.handleWebRtcSFUPeerDatachannels(e),this.webSocketController.onIceCandidate=e=>this.handleIceCandidate(e)}handleStreamerListMessage(e){i.Log(i.GetStackTrace(),`Got streamer list ${e.ids}`,6);let t=null;var s=this.config.getSettingOption(Ce.StreamerId);s.selected.toString().trim()&&(t=s.selected);const n=[...e.ids];n.unshift(\"\"),this.config.setOptionSettingOptions(Ce.StreamerId,n);let r=null;const a=this.config.isFlagEnabled(ue.WaitForStreamer),o=this.config.getNumericSettingValue(me.MaxReconnectAttempts),l=this.config.getNumericSettingValue(me.StreamerAutoJoinInterval),d=this.config.useUrlParams,c=new URLSearchParams(window.location.search);d&&c.has(Ce.StreamerId)?t=c.get(Ce.StreamerId):this.subscribedStream&&(t=this.subscribedStream),t&&e.ids.includes(t)?r=t:t&&a||1!=e.ids.length||(r=e.ids[0]),r?(this.isReconnecting=!1,this.reconnectAttempt=0,this.config.setOptionSettingValue(Ce.StreamerId,r)):a&&(this.reconnectAttempt<o?(this.isReconnecting=!0,this.reconnectAttempt++,setTimeout((()=>{this.webSocketController.requestStreamerList()}),l)):(this.reconnectAttempt=0,this.isReconnecting=!1,this.shouldReconnect=!1)),this.pixelStreaming.dispatchEvent(new Z({messageStreamerList:e,autoSelectedStreamerId:r,wantedStreamerId:t}))}handleStreamerIDChangedMessage(e){const t=e.newID;var s=this.config.getSettingOption(Ce.StreamerId),n=s.onChange;s.onChange=()=>{};for(var r=s.options,i=0;i<r.length;++i)if(r[i]==this.subscribedStream){r[i]=t;break}s.options=r,s.selected=t,s.onChange=n,this.subscribedStream=e.newID,this.pixelStreaming.dispatchEvent(new ee({newID:t}))}handleWebRtcAnswer(e){i.Log(i.GetStackTrace(),`Got answer sdp ${e.sdp}`,6);const t={sdp:e.sdp,type:\"answer\"};this.peerConnectionController.receiveAnswer(t),this.handlePostWebrtcNegotiation()}handleWebRtcOffer(e){i.Log(i.GetStackTrace(),`Got offer sdp ${e.sdp}`,6),this.isUsingSFU=!!e.sfu&&e.sfu,this.isUsingSFU&&(this.peerConnectionController.preferredCodec=\"\");const t={sdp:e.sdp,type:\"offer\"};this.peerConnectionController.receiveOffer(t,this.config),this.handlePostWebrtcNegotiation()}handleWebRtcSFUPeerDatachannels(e){const t={ordered:!0,negotiated:!0,id:e.sendStreamId},s=e.sendStreamId!=e.recvStreamId;if(this.sendrecvDataChannelController.createDataChannel(this.peerConnectionController.peerConnection,s?\"send-datachannel\":\"datachannel\",t),s){const t={ordered:!0,negotiated:!0,id:e.recvStreamId};this.recvDataChannelController.createDataChannel(this.peerConnectionController.peerConnection,\"recv-datachannel\",t),this.recvDataChannelController.handleOnOpen=()=>this.webSocketController.sendSFURecvDataChannelReady(),this.recvDataChannelController.handleOnMessage=e=>this.handleOnMessage(e)}else this.sendrecvDataChannelController.handleOnMessage=e=>this.handleOnMessage(e)}handlePostWebrtcNegotiation(){this.afkController.startAfkWarningTimer(),this.pixelStreaming._onWebRtcSdp(),this.statsTimerHandle&&void 0!==this.statsTimerHandle&&window.clearInterval(this.statsTimerHandle),this.statsTimerHandle=window.setInterval((()=>this.getStats()),1e3),this.setMouseInputEnabled(this.config.isFlagEnabled(ue.MouseInput)),this.setKeyboardInputEnabled(this.config.isFlagEnabled(ue.KeyboardInput)),this.setGamePadInputEnabled(this.config.isFlagEnabled(ue.GamepadInput))}handleIceCandidate(e){i.Log(i.GetStackTrace(),\"Web RTC Controller: onWebRtcIce\",6);const t=new RTCIceCandidate(e);this.peerConnectionController.handleOnIce(t)}handleSendIceCandidate(e){i.Log(i.GetStackTrace(),\"OnIceCandidate\",6),e.candidate&&e.candidate.candidate&&this.webSocketController.sendIceCandidate(e.candidate)}handleDataChannel(e){i.Log(i.GetStackTrace(),\"Data channel created for us by browser as we are a receiving peer.\",6),this.sendrecvDataChannelController.dataChannel=e.channel,this.sendrecvDataChannelController.setupDataChannel(),this.sendrecvDataChannelController.handleOnMessage=e=>this.handleOnMessage(e)}handleSendWebRTCOffer(e){i.Log(i.GetStackTrace(),\"Sending the offer to the Server\",6);const t={minBitrateBps:1e3*this.config.getNumericSettingValue(me.WebRTCMinBitrate),maxBitrateBps:1e3*this.config.getNumericSettingValue(me.WebRTCMaxBitrate)};this.webSocketController.sendWebRtcOffer(e,t)}handleSendWebRTCAnswer(e){i.Log(i.GetStackTrace(),\"Sending the answer to the Server\",6);const t={minBitrateBps:1e3*this.config.getNumericSettingValue(me.WebRTCMinBitrate),maxBitrateBps:1e3*this.config.getNumericSettingValue(me.WebRTCMaxBitrate)};this.webSocketController.sendWebRtcAnswer(e,t),this.isUsingSFU&&this.webSocketController.sendWebRtcDatachannelRequest()}setUpMouseAndFreezeFrame(){this.videoElementParentClientRect=this.videoPlayer.getVideoParentElement().getBoundingClientRect(),this.coordinateConverter.setupNormalizeAndQuantize(),this.freezeFrameController.freezeFrame.resize()}closeSignalingServer(e){var t;this.locallyClosed=!0,this.shouldReconnect=!1,this.disconnectMessage=e,null===(t=this.webSocketController)||void 0===t||t.close()}closePeerConnection(){var e;null===(e=this.peerConnectionController)||void 0===e||e.close()}close(){this.closeSignalingServer(\"\"),this.closePeerConnection()}getStats(){this.peerConnectionController.generateStats()}sendLatencyTest(){this.latencyStartTime=Date.now(),this.streamMessageController.toStreamerHandlers.get(\"LatencyTest\")([JSON.stringify({StartTime:this.latencyStartTime})])}sendDataChannelLatencyTest(e){this.streamMessageController.toStreamerHandlers.get(\"DataChannelLatencyTest\")([JSON.stringify(e)])}sendEncoderMinQP(e){i.Log(i.GetStackTrace(),`MinQP=${e}\\n`,6),null!=e&&this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"Encoder.MinQP\":e})])}sendEncoderMaxQP(e){i.Log(i.GetStackTrace(),`MaxQP=${e}\\n`,6),null!=e&&this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"Encoder.MaxQP\":e})])}sendWebRTCMinBitrate(e){i.Log(i.GetStackTrace(),`WebRTC Min Bitrate=${e}`,6),null!=e&&this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"WebRTC.MinBitrate\":e})])}sendWebRTCMaxBitrate(e){i.Log(i.GetStackTrace(),`WebRTC Max Bitrate=${e}`,6),null!=e&&this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"WebRTC.MaxBitrate\":e})])}sendWebRTCFps(e){i.Log(i.GetStackTrace(),`WebRTC FPS=${e}`,6),null!=e&&(this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"WebRTC.Fps\":e})]),this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"WebRTC.MaxFps\":e})]))}sendShowFps(){i.Log(i.GetStackTrace(),\"---- Sending show stat to UE ----\",6),this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({\"stat.fps\":\"\"})])}sendIframeRequest(){i.Log(i.GetStackTrace(),\"---- Sending Request for an IFrame ----\",6),this.streamMessageController.toStreamerHandlers.get(\"IFrameRequest\")()}emitUIInteraction(e){i.Log(i.GetStackTrace(),\"---- Sending custom UIInteraction message ----\",6),this.streamMessageController.toStreamerHandlers.get(\"UIInteraction\")([JSON.stringify(e)])}emitCommand(e){i.Log(i.GetStackTrace(),\"---- Sending custom Command message ----\",6),this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify(e)])}emitConsoleCommand(e){i.Log(i.GetStackTrace(),\"---- Sending custom Command:ConsoleCommand message ----\",6),this.streamMessageController.toStreamerHandlers.get(\"Command\")([JSON.stringify({ConsoleCommand:e})])}sendRequestQualityControlOwnership(){i.Log(i.GetStackTrace(),\"---- Sending Request to Control Quality ----\",6),this.toStreamerMessagesController.SendRequestQualityControl()}handleLatencyTestResult(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.latencyTest\",6);const t=new TextDecoder(\"utf-16\").decode(e.slice(1)),s=new Ne;Object.assign(s,JSON.parse(t)),s.processFields(),s.testStartTimeMs=this.latencyStartTime,s.browserReceiptTimeMs=Date.now(),s.latencyExcludingDecode=~~(s.browserReceiptTimeMs-s.testStartTimeMs),s.testDuration=~~(s.TransmissionTimeMs-s.ReceiptTimeMs),s.networkLatency=~~(s.latencyExcludingDecode-s.testDuration),s.frameDisplayDeltaTimeMs&&s.browserReceiptTimeMs&&(s.endToEndLatency=(s.frameDisplayDeltaTimeMs,s.networkLatency,~~+s.CaptureToSendMs)),this.pixelStreaming._onLatencyTestResult(s)}handleDataChannelLatencyTestResponse(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.dataChannelLatencyResponse\",6);const t=new TextDecoder(\"utf-16\").decode(e.slice(1)),s=JSON.parse(t);this.pixelStreaming._onDataChannelLatencyTestResponse(s)}handleInitialSettings(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.InitialSettings\",6);const t=new TextDecoder(\"utf-16\").decode(e.slice(1)),s=JSON.parse(t),n=new _e;s.Encoder&&(n.EncoderSettings=s.Encoder),s.WebRTC&&(n.WebRTCSettings=s.WebRTC),s.PixelStreaming&&(n.PixelStreamingSettings=s.PixelStreaming),s.ConfigOptions&&void 0!==s.ConfigOptions.DefaultToHover&&this.config.setFlagEnabled(ue.HoveringMouseMode,!!s.ConfigOptions.DefaultToHover),n.ueCompatible(),i.Log(i.GetStackTrace(),t,6),this.pixelStreaming._onInitialSettings(n)}handleVideoEncoderAvgQP(e){i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.VideoEncoderAvgQP\",6);const t=Number(new TextDecoder(\"utf-16\").decode(e.slice(1)));this.setVideoEncoderAvgQP(t)}handleVideoInitialized(){this.pixelStreaming._onVideoInitialized(),this.autoPlayVideoOrSetUpPlayOverlay(),this.resizePlayerStyle(),this.videoPlayer.updateVideoStreamSize()}onQualityControlOwnership(e){const t=new Uint8Array(e);i.Log(i.GetStackTrace(),\"DataChannelReceiveMessageType.QualityControlOwnership\",6),this.isQualityController=new Boolean(t[1]).valueOf(),i.Log(i.GetStackTrace(),`Received quality controller message, will control quality: ${this.isQualityController}`),this.pixelStreaming._onQualityControlOwnership(this.isQualityController)}handleVideoStats(e){this.pixelStreaming._onVideoStats(e)}resizePlayerStyle(){this.videoPlayer.resizePlayerStyle()}setPreferredCodec(e){this.preferredCodec=e,this.peerConnectionController&&(this.peerConnectionController.preferredCodec=e,this.peerConnectionController.updateCodecSelection=!1)}setVideoEncoderAvgQP(e){this.videoAvgQp=e,this.pixelStreaming._onVideoEncoderAvgQP(this.videoAvgQp)}setKeyboardInputEnabled(e){var t;null===(t=this.keyboardController)||void 0===t||t.unregisterKeyBoardEvents(),e&&(this.keyboardController=this.inputClassesFactory.registerKeyBoard(this.config))}setMouseInputEnabled(e){var t;if(null===(t=this.mouseController)||void 0===t||t.unregisterMouseEvents(),e){const e=this.config.isFlagEnabled(ue.HoveringMouseMode)?Ee.HoveringMouse:Ee.LockedMouse;this.mouseController=this.inputClassesFactory.registerMouse(e)}}setTouchInputEnabled(e){var t;null===(t=this.touchController)||void 0===t||t.unregisterTouchEvents(),e&&(this.touchController=this.inputClassesFactory.registerTouch(this.config.isFlagEnabled(ue.FakeMouseWithTouches),this.videoElementParentClientRect))}setGamePadInputEnabled(e){var t;null===(t=this.gamePadController)||void 0===t||t.unregisterGamePadEvents(),e&&(this.gamePadController=this.inputClassesFactory.registerGamePad(),this.gamePadController.onGamepadConnected=()=>{this.streamMessageController.toStreamerHandlers.get(\"GamepadConnected\")()},this.gamePadController.onGamepadDisconnected=e=>{this.streamMessageController.toStreamerHandlers.get(\"GamepadDisconnected\")([e])})}registerDataChannelEventEmitters(e){e.onOpen=(e,t)=>this.pixelStreaming.dispatchEvent(new z({label:e,event:t})),e.onClose=(e,t)=>this.pixelStreaming.dispatchEvent(new _({label:e,event:t})),e.onError=(e,t)=>this.pixelStreaming.dispatchEvent(new V({label:e,event:t}))}registerMessageHandler(e,t,s){t===Ge.FromStreamer&&void 0===s&&i.Warning(i.GetStackTrace(),`Unable to register handler for ${e} as no handler was passed`),this.streamMessageController.registerMessageHandler(t,e,(n=>void 0===s&&t===Ge.ToStreamer?this.sendMessageController.sendMessageToStreamer(e,n):s(n)))}}class Ct{constructor(e){this.toStreamerMessagesProvider=e,this.controllers=[]}static deepCopyGamepad(e){return JSON.parse(JSON.stringify({buttons:e.buttons.map((e=>JSON.parse(JSON.stringify({pressed:e.pressed,touched:e.touched,value:e.value})))),axes:e.axes}))}updateStatus(e,t,s){if(e.gamepad){const n=t.getPose(e.gripSpace,s);if(!n)return;let r=0;e.profiles.includes(\"htc-vive\")?r=1:e.profiles.includes(\"oculus-touch\")&&(r=2),this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRSystem\")([r]);let i=2;switch(e.handedness){case\"left\":i=0;break;case\"right\":i=1}const a=n.transform.matrix,o=[];for(let e=0;e<16;e++)o[e]=new Float32Array([a[e]])[0];this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRControllerTransform\")([o[0],o[4],o[8],o[12],o[1],o[5],o[9],o[13],o[2],o[6],o[10],o[14],o[3],o[7],o[11],o[15],i]),void 0===this.controllers[i]&&(this.controllers[i]={prevState:void 0,currentState:void 0,id:void 0},this.controllers[i].prevState=Ct.deepCopyGamepad(e.gamepad)),this.controllers[i].currentState=Ct.deepCopyGamepad(e.gamepad);const l=this.controllers[i],d=l.currentState,c=l.prevState;for(let e=0;e<d.buttons.length;e++){const t=d.buttons[e],s=c.buttons[e];if(t.pressed){let t=s.pressed?1:0;this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRButtonPressed\")([i,e,t])}else s.pressed&&this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRButtonReleased\")([i,e,0]);if(t.touched){let t=s.touched?1:0;this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRButtonTouched\")([i,e,t])}else s.touched&&this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRButtonTouchReleased\")([i,e,0])}for(let e=0;e<d.axes.length;e++){let t=d.axes[e];t!=c.axes[e]&&this.toStreamerMessagesProvider.toStreamerHandlers.get(\"XRAnalog\")([i,e,t])}this.controllers[i].prevState=d}}}class ft{constructor(e){this.xrViewerPose=null,this.videoTexture=null,this.prevVideoWidth=0,this.prevVideoHeight=0,this.leftView=null,this.rightView=null,this.xrSession=null,this.webRtcController=e,this.xrGamepadController=new Ct(this.webRtcController.streamMessageController),this.onSessionEnded=new EventTarget,this.onSessionStarted=new EventTarget,this.onFrame=new EventTarget}xrClicked(){if(this.xrSession)this.xrSession.end();else{if(!navigator.xr)return void i.Error(i.GetStackTrace(),\"This browser does not support XR.\");navigator.xr.requestSession(\"immersive-vr\",{optionalFeatures:[]}).then((e=>{this.onXrSessionStarted(e)}))}}onXrSessionEnded(){i.Log(i.GetStackTrace(),\"XR Session ended\"),this.xrSession=null,this.onSessionEnded.dispatchEvent(new Event(\"xrSessionEnded\"))}initGL(){if(this.gl)return;const e=document.createElement(\"canvas\");this.gl=e.getContext(\"webgl2\",{xrCompatible:!0}),this.gl.clearColor(0,0,0,1)}initShaders(){const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,\"\\n attribute vec2 a_position;\\n attribute vec2 a_texCoord;\\n\\n // varyings\\n varying vec2 v_texCoord;\\n\\n void main() {\\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\\n // pass the texCoord to the fragment shader\\n // The GPU will interpolate this value between points.\\n v_texCoord = a_texCoord;\\n }\\n \"),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,\"\\n precision mediump float;\\n\\n // our texture\\n uniform sampler2D u_image;\\n\\n // the texCoords passed in from the vertex shader.\\n varying vec2 v_texCoord;\\n\\n void main() {\\n gl_FragColor = texture2D(u_image, v_texCoord);\\n }\\n \"),this.gl.compileShader(t);const s=this.gl.createProgram();this.gl.attachShader(s,e),this.gl.attachShader(s,t),this.gl.linkProgram(s),this.gl.useProgram(s),this.positionLocation=this.gl.getAttribLocation(s,\"a_position\"),this.texcoordLocation=this.gl.getAttribLocation(s,\"a_texCoord\")}updateVideoTexture(){this.videoTexture||(this.videoTexture=this.gl.createTexture(),this.gl.bindTexture(this.gl.TEXTURE_2D,this.videoTexture),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR));let e=this.webRtcController.videoPlayer.getVideoElement().videoHeight,t=this.webRtcController.videoPlayer.getVideoElement().videoWidth;this.prevVideoHeight!=e||this.prevVideoWidth!=t?this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,t,e,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.webRtcController.videoPlayer.getVideoElement()):this.gl.texSubImage2D(this.gl.TEXTURE_2D,0,0,0,t,e,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.webRtcController.videoPlayer.getVideoElement()),this.prevVideoHeight=e,this.prevVideoWidth=t}initBuffers(){this.positionBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([-1,1,1,1,-1,-1,-1,-1,1,1,1,-1]),this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.texcoordBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.texcoordBuffer),this.gl.enableVertexAttribArray(this.texcoordLocation),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.texcoordLocation,2,this.gl.FLOAT,!1,0,0)}onXrSessionStarted(e){i.Log(i.GetStackTrace(),\"XR Session started\"),this.xrSession=e,this.xrSession.addEventListener(\"end\",(()=>{this.onXrSessionEnded()})),this.initGL(),this.initShaders(),this.initBuffers(),e.requestReferenceSpace(\"local\").then((t=>{if(this.xrRefSpace=t,this.xrSession.updateRenderState({baseLayer:new XRWebGLLayer(this.xrSession,this.gl)}),this.xrSession.supportedFrameRates)for(let t of this.xrSession.supportedFrameRates)90==t&&e.updateTargetFrameRate(90);this.xrSession.requestAnimationFrame(this.onXrFrame.bind(this))})),this.onSessionStarted.dispatchEvent(new Event(\"xrSessionStarted\"))}sendXRDataToUE(){if(null==this.leftView||null==this.rightView)return;const e=this.leftView.transform.matrix,t=this.leftView.projectionMatrix,s=this.rightView.transform.matrix,n=this.rightView.projectionMatrix;this.webRtcController.streamMessageController.toStreamerHandlers.get(\"XREyeViews\")([e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15],t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15],s[0],s[4],s[8],s[12],s[1],s[5],s[9],s[13],s[2],s[6],s[10],s[14],s[3],s[7],s[11],s[15],n[0],n[4],n[8],n[12],n[1],n[5],n[9],n[13],n[2],n[6],n[10],n[14],n[3],n[7],n[11],n[15]])}onXrFrame(e,t){if(this.xrViewerPose=t.getViewerPose(this.xrRefSpace),this.xrViewerPose){if(this.updateViews(),null==this.leftView||null==this.rightView)return;this.sendXRDataToUE(),this.updateVideoTexture(),this.render()}this.webRtcController.config.isFlagEnabled(ue.XRControllerInput)&&this.xrSession.inputSources.forEach(((e,s,n)=>{this.xrGamepadController.updateStatus(e,t,this.xrRefSpace)}),this),this.xrSession.requestAnimationFrame(((e,t)=>this.onXrFrame(e,t))),this.onFrame.dispatchEvent(new le({time:e,frame:t}))}updateViews(){if(this.xrViewerPose)for(const e of this.xrViewerPose.views)\"left\"===e.eye?this.leftView=e:\"right\"===e.eye&&(this.rightView=e)}render(){if(!this.gl)return;const e=this.xrSession.renderState.baseLayer;this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e.framebuffer),this.gl.viewport(0,0,e.framebufferWidth,e.framebufferHeight),this.gl.drawArrays(this.gl.TRIANGLES,0,6)}static isSessionSupported(e){return\"https:\"!==location.protocol&&i.Info(null,\"WebXR requires https, if you want WebXR use https.\"),navigator.xr?navigator.xr.isSessionSupported(e):new Promise((()=>!1))}}class Tt{constructor(e){this.editTextButton=null,this.hiddenInput=null,\"ontouchstart\"in document.documentElement&&this.createOnScreenKeyboardHelpers(e)}unquantizeAndDenormalizeUnsigned(e,t){return null}createOnScreenKeyboardHelpers(e){this.hiddenInput||(this.hiddenInput=document.createElement(\"input\"),this.hiddenInput.id=\"hiddenInput\",this.hiddenInput.maxLength=0,this.hiddenInput.style.position=\"absolute\",this.hiddenInput.style.left=\"-10%\",this.hiddenInput.style.width=\"0px\",this.hiddenInput.style.opacity=\"0\",e.appendChild(this.hiddenInput)),this.editTextButton||(this.editTextButton=document.createElement(\"button\"),this.editTextButton.id=\"editTextButton\",this.editTextButton.innerHTML=\"edit text\",e.appendChild(this.editTextButton),this.editTextButton.style.display=\"none\",this.editTextButton.addEventListener(\"touchend\",(e=>{this.hiddenInput.focus(),e.preventDefault()})))}showOnScreenKeyboard(e){if(e.showOnScreenKeyboard){this.editTextButton.style.display=\"default\";const t=this.unquantizeAndDenormalizeUnsigned(e.x,e.y);this.editTextButton.style.top=t.y.toString()+\"px\",this.editTextButton.style.left=(t.x-40).toString()+\"px\"}else this.editTextButton.style.display=\"none\",this.hiddenInput.blur()}}class Et{constructor(e){this.seq=e.Seq,this.playerSentTimestamp=Date.now(),this.requestFillerSize=e.Filler?e.Filler.length:0}update(e){this.playerReceivedTimestamp=Date.now(),this.streamerReceivedTimestamp=e.ReceivedTimestamp,this.streamerSentTimestamp=e.SentTimestamp,this.responseFillerSize=e.Filler?e.Filler.length:0}}class yt{constructor(e,t){this.sink=e,this.callback=t,this.records=new Map,this.seq=0}start(e){return!this.isRunning()&&(this.startTime=Date.now(),this.records.clear(),this.interval=setInterval((()=>{Date.now()-this.startTime>=e.duration?this.stop():this.sendRequest(e.requestSize,e.responseSize)}).bind(this),Math.floor(1e3/e.rps)),!0)}stop(){this.interval&&(clearInterval(this.interval),this.interval=void 0,this.callback(this.produceResult()))}produceResult(){const e=new Map(this.records);return{records:e,dataChannelRtt:Math.ceil(Array.from(this.records.values()).reduce(((e,t)=>e+(t.playerReceivedTimestamp-t.playerSentTimestamp)),0)/this.records.size),playerToStreamerTime:Math.ceil(Array.from(this.records.values()).reduce(((e,t)=>e+(t.streamerReceivedTimestamp-t.playerSentTimestamp)),0)/this.records.size),streamerToPlayerTime:Math.ceil(Array.from(this.records.values()).reduce(((e,t)=>e+(t.playerReceivedTimestamp-t.streamerSentTimestamp)),0)/this.records.size),exportLatencyAsCSV:()=>{let t=\"Timestamp;RTT;PlayerToStreamer;StreamerToPlayer;\\n\";return e.forEach((e=>{t+=e.playerSentTimestamp+\";\",t+=e.playerReceivedTimestamp-e.playerSentTimestamp+\";\",t+=e.streamerReceivedTimestamp-e.playerSentTimestamp+\";\",t+=e.playerReceivedTimestamp-e.streamerSentTimestamp+\";\",t+=\"\\n\"})),t}}}isRunning(){return!!this.interval}receive(e){if(!this.isRunning())return;if(!e)return void i.Error(i.GetStackTrace(),\"Undefined response from server\");let t=this.records.get(e.Seq);t&&t.update(e)}sendRequest(e,t){let s=this.createRequest(e,t),n=new Et(s);this.records.set(n.seq,n),this.sink(s)}createRequest(e,t){return{Seq:this.seq++,FillResponseSize:t,Filler:e?\"A\".repeat(e):\"\"}}}class Mt{constructor(e,t){this.allowConsoleCommands=!1,this.config=e,(null==t?void 0:t.videoElementParent)&&(this._videoElementParent=t.videoElementParent),this._eventEmitter=new he,this.configureSettings(),this.setWebRtcPlayerController(new vt(this.config,this)),this.onScreenKeyboardHelper=new Tt(this.videoElementParent),this.onScreenKeyboardHelper.unquantizeAndDenormalizeUnsigned=(e,t)=>this._webRtcController.requestUnquantizedAndDenormalizeUnsigned(e,t),this._activateOnScreenKeyboard=e=>this.onScreenKeyboardHelper.showOnScreenKeyboard(e),this._webXrController=new ft(this._webRtcController),this._setupWebRtcTCPRelayDetection=this._setupWebRtcTCPRelayDetection.bind(this),this._eventEmitter.addEventListener(\"webRtcConnected\",(e=>{this._eventEmitter.addEventListener(\"statsReceived\",this._setupWebRtcTCPRelayDetection)}))}get videoElementParent(){return this._videoElementParent||(this._videoElementParent=document.createElement(\"div\"),this._videoElementParent.id=\"videoElementParent\"),this._videoElementParent}configureSettings(){this.config._addOnSettingChangedListener(ue.IsQualityController,(e=>{!0!==e||this._webRtcController.isQualityController||this._webRtcController.sendRequestQualityControlOwnership()})),this.config._addOnSettingChangedListener(ue.AFKDetection,(e=>{this._webRtcController.setAfkEnabled(e)})),this.config._addOnSettingChangedListener(ue.MatchViewportResolution,(()=>{this._webRtcController.videoPlayer.updateVideoStreamSize()})),this.config._addOnSettingChangedListener(ue.HoveringMouseMode,(e=>{this.config.setFlagLabel(ue.HoveringMouseMode,`Control Scheme: ${e?\"Hovering\":\"Locked\"} Mouse`),this._webRtcController.setMouseInputEnabled(this.config.isFlagEnabled(ue.MouseInput))})),this.config._addOnSettingChangedListener(ue.KeyboardInput,(e=>{this._webRtcController.setKeyboardInputEnabled(e)})),this.config._addOnSettingChangedListener(ue.MouseInput,(e=>{this._webRtcController.setMouseInputEnabled(e)})),this.config._addOnSettingChangedListener(ue.FakeMouseWithTouches,(e=>{this._webRtcController.setTouchInputEnabled(this.config.isFlagEnabled(ue.TouchInput))})),this.config._addOnSettingChangedListener(ue.TouchInput,(e=>{this._webRtcController.setTouchInputEnabled(e)})),this.config._addOnSettingChangedListener(ue.GamepadInput,(e=>{this._webRtcController.setGamePadInputEnabled(e)})),this.config._addOnNumericSettingChangedListener(me.MinQP,(e=>{i.Log(i.GetStackTrace(),\"-------- Sending MinQP --------\",7),this._webRtcController.sendEncoderMinQP(e),i.Log(i.GetStackTrace(),\"-------------------------------------------\",7)})),this.config._addOnNumericSettingChangedListener(me.MaxQP,(e=>{i.Log(i.GetStackTrace(),\"-------- Sending encoder settings --------\",7),this._webRtcController.sendEncoderMaxQP(e),i.Log(i.GetStackTrace(),\"-------------------------------------------\",7)})),this.config._addOnNumericSettingChangedListener(me.WebRTCMinBitrate,(e=>{i.Log(i.GetStackTrace(),\"-------- Sending web rtc settings --------\",7),this._webRtcController.sendWebRTCMinBitrate(1e3*e),i.Log(i.GetStackTrace(),\"-------------------------------------------\",7)})),this.config._addOnNumericSettingChangedListener(me.WebRTCMaxBitrate,(e=>{i.Log(i.GetStackTrace(),\"-------- Sending web rtc settings --------\",7),this._webRtcController.sendWebRTCMaxBitrate(1e3*e),i.Log(i.GetStackTrace(),\"-------------------------------------------\",7)})),this.config._addOnNumericSettingChangedListener(me.WebRTCFPS,(e=>{i.Log(i.GetStackTrace(),\"-------- Sending web rtc settings --------\",7),this._webRtcController.sendWebRTCFps(e),i.Log(i.GetStackTrace(),\"-------------------------------------------\",7)})),this.config._addOnOptionSettingChangedListener(Ce.PreferredCodec,(e=>{this._webRtcController&&this._webRtcController.setPreferredCodec(e)})),this.config._registerOnChangeEvents(this._eventEmitter)}_activateOnScreenKeyboard(e){throw new Error(\"Method not implemented.\")}_onInputControlOwnership(e){this._inputController=e}setWebRtcPlayerController(e){this._webRtcController=e,this._webRtcController.setPreferredCodec(this.config.getSettingOption(Ce.PreferredCodec).selected),this._webRtcController.resizePlayerStyle(),this.checkForAutoConnect()}connect(){this._eventEmitter.dispatchEvent(new N),this._webRtcController.connectToSignallingServer()}reconnect(){this._eventEmitter.dispatchEvent(new Q),this._webRtcController.tryReconnect(\"Reconnecting...\")}disconnect(){this._eventEmitter.dispatchEvent(new K),this._webRtcController.close()}play(){this._onStreamLoading(),this._webRtcController.playStream()}checkForAutoConnect(){this.config.isFlagEnabled(ue.AutoConnect)&&(this._onWebRtcAutoConnect(),this._webRtcController.connectToSignallingServer())}unmuteMicrophone(e=!1){if(!this.config.isFlagEnabled(\"UseMic\"))return e?(this.config.setFlagEnabled(\"UseMic\",!0),void this.reconnect()):void i.Warning(i.GetStackTrace(),\"Trying to unmute mic, but PixelStreaming was initialized with no microphone track. Call with forceEnable == true to re-connect with a mic track.\");this.setMicrophoneMuted(!1)}muteMicrophone(){this.config.isFlagEnabled(\"UseMic\")?this.setMicrophoneMuted(!0):i.Info(i.GetStackTrace(),\"Trying to mute mic, but PixelStreaming has no microphone track, so sending sound is already disabled.\")}setMicrophoneMuted(e){var t,s,n,r;for(const i of null!==(r=null===(n=null===(s=null===(t=this._webRtcController)||void 0===t?void 0:t.peerConnectionController)||void 0===s?void 0:s.peerConnection)||void 0===n?void 0:n.getTransceivers())&&void 0!==r?r:[])Ie.canTransceiverSendAudio(i)&&(i.sender.track.enabled=!e)}_onWebRtcAutoConnect(){this._eventEmitter.dispatchEvent(new O)}_onWebRtcSdp(){this._eventEmitter.dispatchEvent(new D)}_onStreamLoading(){this._eventEmitter.dispatchEvent(new W)}_onDisconnect(e,t){this._eventEmitter.dispatchEvent(new B({eventString:e,allowClickToReconnect:t}))}_onWebRtcConnecting(){this._eventEmitter.dispatchEvent(new I)}_onWebRtcConnected(){this._eventEmitter.dispatchEvent(new U)}_onWebRtcFailed(){this._eventEmitter.dispatchEvent(new G)}_onVideoInitialized(){this._eventEmitter.dispatchEvent(new H),this._videoStartTime=Date.now()}_onLatencyTestResult(e){this._eventEmitter.dispatchEvent(new te({latencyTimings:e}))}_onDataChannelLatencyTestResponse(e){this._eventEmitter.dispatchEvent(new se({response:e}))}_onVideoStats(e){this._videoStartTime&&void 0!==this._videoStartTime||(this._videoStartTime=Date.now()),e.handleSessionStatistics(this._videoStartTime,this._inputController,this._webRtcController.videoAvgQp),this._eventEmitter.dispatchEvent(new Y({aggregatedStats:e}))}_onVideoEncoderAvgQP(e){this._eventEmitter.dispatchEvent(new F({avgQP:e}))}_onInitialSettings(e){var t;this._eventEmitter.dispatchEvent(new re({settings:e})),e.PixelStreamingSettings&&(this.allowConsoleCommands=null!==(t=e.PixelStreamingSettings.AllowPixelStreamingCommands)&&void 0!==t&&t,!1===this.allowConsoleCommands&&i.Info(i.GetStackTrace(),\"-AllowPixelStreamingCommands=false, sending arbitrary console commands from browser to UE is disabled.\"));const s=this.config.useUrlParams,n=new URLSearchParams(window.location.search);i.Info(i.GetStackTrace(),`using URL parameters ${s}`),e.EncoderSettings&&(this.config.setNumericSetting(me.MinQP,s&&n.has(me.MinQP)?Number.parseFloat(n.get(me.MinQP)):e.EncoderSettings.MinQP),this.config.setNumericSetting(me.MaxQP,s&&n.has(me.MaxQP)?Number.parseFloat(n.get(me.MaxQP)):e.EncoderSettings.MaxQP)),e.WebRTCSettings&&(this.config.setNumericSetting(me.WebRTCMinBitrate,s&&n.has(me.WebRTCMinBitrate)?Number.parseFloat(n.get(me.WebRTCMinBitrate)):e.WebRTCSettings.MinBitrate/1e3),this.config.setNumericSetting(me.WebRTCMaxBitrate,s&&n.has(me.WebRTCMaxBitrate)?Number.parseFloat(n.get(me.WebRTCMaxBitrate)):e.WebRTCSettings.MaxBitrate/1e3),this.config.setNumericSetting(me.WebRTCFPS,s&&n.has(me.WebRTCFPS)?Number.parseFloat(n.get(me.WebRTCFPS)):e.WebRTCSettings.FPS))}_onQualityControlOwnership(e){this.config.setFlagEnabled(ue.IsQualityController,e)}_onPlayerCount(e){this._eventEmitter.dispatchEvent(new de({count:e}))}_setupWebRtcTCPRelayDetection(e){let t=e.data.aggregatedStats.getActiveCandidatePair();if(null!=t){let s=e.data.aggregatedStats.localCandidates.find((e=>e.id==t.localCandidateId),null);null!=s&&\"relay\"==s.candidateType&&\"tcp\"==s.relayProtocol&&this._eventEmitter.dispatchEvent(new ce),this._eventEmitter.removeEventListener(\"statsReceived\",this._setupWebRtcTCPRelayDetection)}}requestLatencyTest(){return!!this._webRtcController.videoPlayer.isVideoReady()&&(this._webRtcController.sendLatencyTest(),!0)}requestDataChannelLatencyTest(e){return!!this._webRtcController.videoPlayer.isVideoReady()&&(this._dataChannelLatencyTestController||(this._dataChannelLatencyTestController=new yt(this._webRtcController.sendDataChannelLatencyTest.bind(this._webRtcController),(e=>{this._eventEmitter.dispatchEvent(new ne({result:e}))})),this.addEventListener(\"dataChannelLatencyTestResponse\",(({data:{response:e}})=>{this._dataChannelLatencyTestController.receive(e)}))),this._dataChannelLatencyTestController.start(e))}requestShowFps(){return!!this._webRtcController.videoPlayer.isVideoReady()&&(this._webRtcController.sendShowFps(),!0)}requestIframe(){return!!this._webRtcController.videoPlayer.isVideoReady()&&(this._webRtcController.sendIframeRequest(),!0)}emitUIInteraction(e){return!!this._webRtcController.videoPlayer.isVideoReady()&&(this._webRtcController.emitUIInteraction(e),!0)}emitCommand(e){return!(!this._webRtcController.videoPlayer.isVideoReady()||!this.allowConsoleCommands&&\"ConsoleCommand\"in e||(this._webRtcController.emitCommand(e),0))}emitConsoleCommand(e){return!(!this.allowConsoleCommands||!this._webRtcController.videoPlayer.isVideoReady()||(this._webRtcController.emitConsoleCommand(e),0))}addResponseEventListener(e,t){this._webRtcController.responseController.addResponseEventListener(e,t)}removeResponseEventListener(e){this._webRtcController.responseController.removeResponseEventListener(e)}dispatchEvent(e){return this._eventEmitter.dispatchEvent(e)}addEventListener(e,t){this._eventEmitter.addEventListener(e,t)}removeEventListener(e,t){this._eventEmitter.removeEventListener(e,t)}toggleXR(){this.webXrController.xrClicked()}setSignallingUrlBuilder(e){this._webRtcController.signallingUrlBuilder=e}get webSocketController(){return this._webRtcController.webSocketController}get webXrController(){return this._webXrController}registerMessageHandler(e,t,s){t!==Ge.FromStreamer||void 0!==s?t===Ge.ToStreamer&&void 0===s?this._webRtcController.streamMessageController.registerMessageHandler(t,e,(t=>this._webRtcController.sendMessageController.sendMessageToStreamer(e,t))):this._webRtcController.streamMessageController.registerMessageHandler(t,e,(e=>s(e))):i.Warning(i.GetStackTrace(),`Unable to register an undefined handler for ${e}`)}get toStreamerHandlers(){return this._webRtcController.streamMessageController.toStreamerHandlers}isReconnecting(){return this._webRtcController.isReconnecting}}class wt{}var bt=r.Dz,Rt=r.g$,Pt=r.Lt,kt=r.Q9,Lt=r.qf,xt=r.hV,At=r.z$,Ft=r.J0,Dt=r.De,Ot=r.$C,It=r.al,Ut=r._W,Gt=r.Gv,Bt=r.m,zt=r.tz,_t=r.Nu,Vt=r.zg,Ht=r.vp,Wt=r.vU,Nt=r.wF,Kt=r.rv,Qt=r.Nh,qt=r.ss,$t=r.qW,Xt=r.QL,jt=r.cf,Jt=r.eM,Yt=r.Yd,Zt=r.Tk,es=r.iM,ts=r.qy,ss=r.ce,ns=r.sK,rs=r.Ok,is=r.q5,as=r.g,os=r.xl,ls=r.I,ds=r.bx,cs=r.dD,hs=r.Ib,us=r.Az,gs=r.Iw,ms=r.qY,ps=r.db,Ss=r.mR,vs=r.Tn,Cs=r.rV,fs=r.gh,Ts=r.Mi,Es=r.j,ys=r.YB,Ms=r.Yt,ws=r.i5,bs=r.x_,Rs=r.Am,Ps=r.eR,ks=r.r8,Ls=r.u3,xs=r.vd,As=r.iV,Fs=r.jZ,Ds=r.SW,Os=r.ZH,Is=r.Ni,Us=r.lh,Gs=r.ZP,Bs=r.bq,zs=r.$f,_s=r.eu,Vs=r.Ax,Hs=r.Mc;export{bt as AfkLogic,Rt as AfkTimedOutEvent,Pt as AfkWarningActivateEvent,kt as AfkWarningDeactivateEvent,Lt as AfkWarningUpdateEvent,xt as AggregatedStats,At as CandidatePairStats,Ft as CandidateStat,Dt as Config,Ot as ControlSchemeType,It as DataChannelCloseEvent,Ut as DataChannelErrorEvent,Gt as DataChannelLatencyTestResponseEvent,Bt as DataChannelLatencyTestResultEvent,zt as DataChannelOpenEvent,_t as DataChannelStats,Vt as EncoderSettings,Ht as EventEmitter,Wt as Flags,Nt as HideFreezeFrameEvent,Kt as InboundAudioStats,Qt as InboundVideoStats,qt as InitialSettings,$t as InitialSettingsEvent,Xt as LatencyTestResultEvent,jt as LatencyTestResults,Jt as LoadFreezeFrameEvent,Yt as Logger,Zt as MessageDirection,es as MessageRecv,ts as MessageSend,ss as MessageStreamerList,ns as NumericParameters,rs as OptionParameters,is as OutBoundVideoStats,as as PixelStreaming,os as PlayStreamErrorEvent,ls as PlayStreamEvent,ds as PlayStreamRejectedEvent,cs as PlayerCountEvent,hs as SettingBase,us as SettingFlag,gs as SettingNumber,ms as SettingOption,ps as SettingText,Ss as SettingsChangedEvent,vs as SignallingProtocol,Cs as StatsReceivedEvent,fs as StreamLoadingEvent,Ts as StreamPreConnectEvent,Es as StreamPreDisconnectEvent,ys as StreamReconnectEvent,Ms as StreamerIDChangedMessageEvent,ws as StreamerListMessageEvent,bs as TextParameters,Rs as UnquantizedAndDenormalizeUnsigned,Ps as VideoEncoderAvgQPEvent,ks as VideoInitializedEvent,Ls as WebRTCSettings,xs as WebRtcAutoConnectEvent,As as WebRtcConnectedEvent,Fs as WebRtcConnectingEvent,Ds as WebRtcDisconnectedEvent,Os as WebRtcFailedEvent,Is as WebRtcPlayerController,Us as WebRtcSdpEvent,Gs as WebRtcTCPRelayDetectedEvent,Bs as WebSocketController,zs as WebXRController,_s as XrFrameEvent,Vs as XrSessionEndedEvent,Hs as XrSessionStartedEvent};","import { useEffect, useRef, useState } from 'react';\nimport { Config, PixelStreaming } from '@epicgames-ps/lib-pixelstreamingfrontend-ue5.4';\nimport './PixelStreamingPlayer.css';\nimport type { EpicPixelStreamingPlayerProps } from '../../types';\n\nconst EpicPixelStreamingPlayer = ({\n signallingUrl,\n autoConnect = true,\n width,\n height,\n onConnecting,\n onLoading,\n onConnected,\n onDisconnected,\n onError,\n muted = false,\n}: EpicPixelStreamingPlayerProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const pixelStreamingRef = useRef<PixelStreaming | null>(null);\n const isConnectedRef = useRef(false);\n const [isConnected, setIsConnected] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n\n useEffect(() => {\n if (!containerRef.current || !signallingUrl) return;\n if (onConnecting) onConnecting();\n\n if (process.env.NODE_ENV === 'development') {\n console.log('Initializing Epic Pixel Streaming with URL:', signallingUrl);\n }\n\n if (!('mediaDevices' in navigator)) {\n Object.defineProperty(navigator, 'mediaDevices', { value: {} });\n }\n if (!navigator.mediaDevices.getUserMedia) {\n navigator.mediaDevices.getUserMedia = function () {\n return Promise.reject(new Error('getUserMedia is not supported'));\n };\n }\n\n try {\n const config = new Config({\n useUrlParams: false,\n initialSettings: {\n 'ss': signallingUrl,\n 'AutoConnect': autoConnect,\n 'AutoPlayVideo': true,\n 'StartVideoMuted': muted,\n 'UseMic': false,\n 'HoveringMouse': false,\n 'FakeMouseWithTouches': true,\n 'TouchInput': false,\n 'MouseInput': false,\n 'KeyboardInput': false,\n 'WaitForStreamer': true,\n },\n });\n\n const stream = new PixelStreaming(config, {\n videoElementParent: containerRef.current,\n });\n\n stream.addEventListener('webRtcConnected', () => {\n isConnectedRef.current = true;\n setIsConnected(true);\n setIsLoading(false);\n setErrorMessage(null);\n onConnected?.();\n });\n\n stream.addEventListener('webRtcDisconnected', () => {\n isConnectedRef.current = false;\n setIsConnected(false);\n onDisconnected?.();\n });\n\n stream.addEventListener('streamLoading', () => {\n setIsLoading(true);\n onLoading?.();\n });\n\n stream.addEventListener('playStreamError', () => {\n setErrorMessage('Failed to play stream');\n setIsLoading(false);\n onError?.('Failed to play stream');\n });\n\n stream.addEventListener('playStream', () => {\n setIsLoading(false);\n if (!isConnectedRef.current) {\n isConnectedRef.current = true;\n setIsConnected(true);\n onConnected?.();\n }\n });\n\n stream.addEventListener('videoInitialized', () => {\n setIsLoading(false);\n });\n\n pixelStreamingRef.current = stream;\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.error('Failed to initialize Pixel Streaming:', error);\n }\n setErrorMessage('Failed to initialize streaming: ' + (error as Error).message);\n setIsLoading(false);\n onError?.((error as Error).message);\n }\n\n return () => {\n if (pixelStreamingRef.current) {\n try {\n const ps = pixelStreamingRef.current as unknown as { _webSocketController?: { close: () => void } };\n if (ps._webSocketController) {\n ps._webSocketController.close();\n }\n pixelStreamingRef.current.disconnect();\n } catch (error) {\n if (process.env.NODE_ENV === 'development') {\n console.error('Error during cleanup:', error);\n }\n }\n pixelStreamingRef.current = null;\n }\n };\n }, [signallingUrl, autoConnect, onConnecting, onLoading, onConnected, onDisconnected, onError]);\n\n useEffect(() => {\n if (!pixelStreamingRef.current) return;\n\n try {\n const ps = pixelStreamingRef.current as unknown as {\n _webRtcController?: {\n videoPlayer?: {\n audioElement?: { srcObject?: MediaStream };\n getVideoElement: () => HTMLVideoElement;\n };\n };\n };\n const videoPlayer = ps._webRtcController?.videoPlayer;\n if (!videoPlayer) return;\n\n let audioControlled = false;\n\n if (videoPlayer.audioElement) {\n const audioStream = videoPlayer.audioElement.srcObject;\n if (audioStream) {\n const audioTracks = audioStream.getAudioTracks();\n if (audioTracks.length > 0) {\n audioTracks.forEach(track => { track.enabled = !muted; });\n audioControlled = true;\n }\n }\n }\n\n const videoElement = videoPlayer.getVideoElement();\n if (videoElement && videoElement.srcObject && videoElement.srcObject instanceof MediaStream) {\n const stream = videoElement.srcObject;\n const audioTracks = stream.getAudioTracks();\n if (audioTracks.length > 0) {\n audioTracks.forEach((track: MediaStreamTrack) => { track.enabled = !muted; });\n audioControlled = true;\n }\n }\n\n if (!audioControlled && videoElement) {\n videoElement.muted = muted;\n }\n } catch (e) {\n if (process.env.NODE_ENV === 'development') {\n console.error('Error controlling audio:', e);\n }\n }\n }, [muted]);\n\n return (\n <div\n className=\"pixel-streaming-container\"\n style={{\n width: width || '100%',\n height: height || '100%',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n touchAction: 'none',\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n userSelect: 'none',\n }}\n >\n <div\n ref={containerRef}\n className=\"player-container\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n touchAction: 'none',\n }}\n />\n\n {isLoading && (\n <div className=\"loading-overlay\">\n <div className=\"loading-spinner\"></div>\n <div className=\"loading-text\">Connecting to stream...</div>\n </div>\n )}\n\n {!isConnected && !isLoading && errorMessage && (\n <div className=\"connection-overlay\">\n <div className=\"error-message\">{errorMessage}</div>\n </div>\n )}\n </div>\n );\n};\n\nexport default EpicPixelStreamingPlayer;\n","import React from 'react';\nimport EpicPixelStreamingPlayer from './pxs/EpicPixelStreamingPlayer';\nimport { useRqmiiAvatar } from '../hooks/use-rqmii-avatar';\nimport { CLOUD_STREAM_STATE } from '../core/constants';\nimport type { RqmiiCloudAvatarPlayerProps } from '../types';\n\nexport function RqmiiCloudAvatarPlayer({\n className,\n style,\n autoConnect = true,\n muted = false,\n onConnected,\n onDisconnected,\n onError,\n}: RqmiiCloudAvatarPlayerProps) {\n const { streamingUrl, setCloudStreamState } = useRqmiiAvatar();\n\n if (!streamingUrl) {\n return null;\n }\n\n const handleConnecting = () => {\n setCloudStreamState(CLOUD_STREAM_STATE.CONNECTING);\n };\n\n const handleLoading = () => {\n setCloudStreamState(CLOUD_STREAM_STATE.LOADING);\n };\n\n const handleConnected = () => {\n setCloudStreamState(CLOUD_STREAM_STATE.CONNECTED);\n onConnected?.();\n };\n\n const handleDisconnected = () => {\n setCloudStreamState(CLOUD_STREAM_STATE.DISCONNECTED);\n onDisconnected?.();\n };\n\n const handleError = (error: unknown) => {\n setCloudStreamState(CLOUD_STREAM_STATE.ERROR, error);\n onError?.(error);\n };\n\n return (\n <div className={className} style={style}>\n <EpicPixelStreamingPlayer\n signallingUrl={streamingUrl}\n autoConnect={autoConnect}\n muted={muted}\n onConnecting={handleConnecting}\n onLoading={handleLoading}\n onConnected={handleConnected}\n onDisconnected={handleDisconnected}\n onError={handleError}\n />\n </div>\n );\n}\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","AGENT_TYPES","SOCKET_EVENTS","CONNECTION_STATE","CLOUD_STREAM_STATE","SESSION_STATE","DEFAULT_RECONNECT_OPTIONS","DEFAULT_PCM_OPTIONS","DEFAULT_STATE","rqmiiReducer","state","action","deriveSessionBooleans","sessionState","createResponseChunkAccumulator","chunks","requestId","chunk","id","next","fallbackText","text","detectClientTimezone","timezone","normalizeServerError","response","detail","d","error","createSessionManager","restUrl","log","withCredentials","assertRestUrl","initializeSession","apiKey","publicChatId","agentId","userId","language","payload","data","joinDesktopSession","uniqueId","PACKET_TYPES","PACKET_TYPES_REVERSE","ERROR_PACKET","withNativeBlob","withNativeArrayBuffer","isView","obj","encodePacket","supportsBinary","callback","encodeBlobAsBase64","fileReader","content","toArray","TEXT_ENCODER","encodePacketToBinary","packet","encoded","chars","lookup","i","decode","base64","bufferLength","len","encoded1","encoded2","encoded3","encoded4","arraybuffer","bytes","decodePacket","encodedPacket","binaryType","mapBinary","decodeBase64Packet","decoded","SEPARATOR","encodePayload","packets","length","encodedPackets","count","decodePayload","encodedPayload","decodedPacket","createPacketEncoderStream","controller","payloadLength","header","view","TEXT_DECODER","totalLength","acc","concatChunks","size","buffer","j","createPacketDecoderStream","maxPayload","expectedLength","isBinary","headerArray","n","protocol","Emitter","mixin","event","fn","on","callbacks","cb","args","nextTick","setTimeoutFn","globalThisShim","defaultBinaryType","pick","attr","NATIVE_SET_TIMEOUT","globalThis","NATIVE_CLEAR_TIMEOUT","installTimerFunctions","opts","BASE64_OVERHEAD","byteLength","utf8Length","str","c","l","randomString","encode","qs","qry","pairs","pair","TransportError","reason","description","context","Transport","details","onPause","schema","query","hostname","encodedQuery","Polling","pause","total","close","hasCORS","empty","BaseXHR","isSSL","port","req","xhrStatus","Request","createRequest","uri","_a","xhr","e","err","fromError","unloadHandler","terminationEvent","hasXHR2","newRequest","XHR","forceBase64","xdomain","isReactNative","BaseWS","protocols","closeEvent","ev","lastPacket","WebSocketCtor","WS","_packet","WT","stream","decoderStream","reader","encoderStream","read","done","transports","re","parts","parse","src","b","m","pathNames","queryKey","path","regx","names","$0","$1","$2","withEventListeners","OFFLINE_EVENT_LISTENERS","listener","SocketWithoutUpgrade","parsedUri","t","transportName","transport","delay","payloadSize","hasExpired","msg","options","cleanupAndClose","waitForUpgrade","SocketWithUpgrade","failed","onTransportOpen","cleanup","freezeTransport","onerror","onTransportClose","onclose","onupgrade","to","upgrades","filteredUpgrades","o","DEFAULT_TRANSPORTS","url","loc","host","toString","withNativeFile","hasBinary","toJSON","deconstructPacket","buffers","packetData","pack","_deconstructPacket","placeholder","newData","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","replacer","deconstruction","Decoder","isBinaryEvent","BinaryReconstructor","p","start","buf","isInteger","isObject","binData","Socket","io","nsp","_b","_c","ack","isTransportWritable","isConnected","timeout","timer","resolve","reject","arg1","arg2","responseArgs","force","listeners","self","sent","pid","subDestroy","compress","Backoff","ms","rand","deviation","min","max","jitter","Manager","_parser","parser","v","Engine","socket","openSubDestroy","onError","errorSub","nsps","attempt","cache","parsed","source","sameNamespace","newConnection","createSocketManager","wsUrl","socketRef","connectSocketRaw","authPayload","queryToken","cleanupSocket","getSocket","unlockAudioContext","audioCtx","events","unlock","clean","FUPCMPlayer","option","defaults","encodings","typedArrays","tmp","float32","volume","elapsedMs","ret","startTimestamp","checker","timestamp","bufferSource","audioBuffer","audioData","channel","offset","decrement","nextTimeGap","createPcmPlayerInstance","pcmOptions","onEnd","player","originalDestroy","isDestroyed","createAudioManager","enableAudio","onPlaybackComplete","playerRef","audioElementRef","ensurePcmPlayer","destroyPcmPlayer","feedAudio","requestStop","interruptPlayback","pauseAudioPlayback","ctx","resumeAudioPlayback","attachAudioElement","element","getAudioElement","createReconnectionManager","reconnectOptions","credential","reconnecting","aborted","storeCredential","getCredential","clearCredential","tryReconnect","connectSocket","onAttempt","onSuccess","onFailure","isAborted","r","abortReconnect","isReconnecting","createHeartbeatManager","intervalMs","timerId","stop","isRunning","useManagerLifecycle","debug","heartbeatIntervalSeconds","useCallback","socketMgrRef","useRef","audioMgrRef","reconnectMgrRef","sessionMgrRef","heartbeatMgrRef","useEffect","sanitizeAgentType","toUint8Array","audio","byteOffset","registerSocketHandlers","deps","dispatch","stateRef","sessionIdRef","sessionAgentTypeRef","interruptedRef","manualDisconnectRef","chunkAccumulatorRef","cbRefs","S","hb","at","wasPlaying","storeAndUpdateSession","code","EventEmitter","handler","onceHandler","handlers","RqmiiAgentContext","createContext","RqmiiAgentProvider","onSessionExpired","onSessionTerminated","onDisconnect","onReconnectSuccess","onReconnectFailed","rawDispatch","useReducer","eventsRef","handlePlaybackComplete","s","registerHandlers","expectReconnectSuccess","timeoutMs","onFail","hardResetForNewSession","keepManualDisconnect","tz","disconnect","terminateSession","emit","sendTextMessage","sendAudioChunk","endAudioStream","interrupt","clearSessionHistory","changeSessionLanguage","signalClientReady","clearMessages","setCloudStreamStateCallback","nextState","sessionBooleans","useMemo","contextValue","useRqmiiAgentContext","useContext","useRqmiiConnection","useRqmiiMessages","useRqmiiVoice","useRqmiiAvatar","streamState","assetPath","currentScript","basePath","defaultModelFetcher_1","defaultModelFetcher","model","logging","mkLogger","level","message","messages","Message","frameProcessor","logging_1","messages_1","validateOptions","concatArrays","arrays","sizes","out","outArray","arr","index","place","calculateFrameParams","msPerFrame","redemptionFrames","preSpeechPadFrames","minSpeechFrames","FrameProcessor","modelProcessFunc","modelResetFunc","update","handleEvent","speaking","item","frame","probs","isSpeech","ort","$n","Nu","Lu","Wu","vn","require","rt","Gu","ct","Tt","Ze","Ge","Hu","br","xn","u","a","_r","wr","$r","vr","ce","Sn","te","xr","Sr","Tr","Ir","f","h","_","y","g","w","Tn","Cr","Ar","Er","kr","Pr","zr","It","fe","Qe","pt","Br","Dr","Or","Mr","Ur","Rr","xe","In","mt","Vr","be","ye","Re","Ve","Cn","Ct","Nr","Lr","Wr","Gr","Hr","Fr","qr","An","we","At","Qr","Fu","jr","Zr","Xr","En","He","Et","kt","Pt","zt","ft","Bt","Dt","Ot","Ut","Mt","$e","qu","Ku","Rt","kn","ju","Zu","eo","Qu","Yr","Jr","no","Pn","zn","Vt","ro","Xu","Yu","Ju","ne","ve","ht","Y","Nt","oo","ed","td","nd","ot","rd","so","ao","Fe","ke","qe","it","gt","Lt","Wt","Bn","N","yt","Dn","od","uo","lo","Gt","sd","Z","Pe","On","ze","x","Ye","Ht","co","po","H","Ft","Mn","fo","Rn","ho","ad","mo","ud","go","qt","Kt","Un","yo","bo","jt","dd","Zt","_o","Qt","wo","Vn","Nn","ld","cd","$o","Wn","Ln","xo","So","Gn","L","ue","Je","Fn","pe","P","J","qn","et","Ie","D","Xt","C","To","Yt","Hn","Io","q","A","$","T","I","E","B","z","oe","M","O","he","ae","ge","W","K","U","R","G","V","Q","pd","Co","md","fd","hd","gd","me","Ao","Eo","Ne","yd","bd","_d","wd","$d","vd","xd","Sd","Td","Id","Be","ko","Po","zo","Bo","Do","Oo","Mo","Uo","Ro","Vo","No","Jt","Kn","De","Cd","en","Oe","Ad","Ed","kd","Pd","zd","Bd","Dd","Od","Md","Ud","Me","Lo","Wo","Go","Ho","Fo","qo","Ko","jo","Zo","Qo","Xo","Yo","Jo","jn","ei","Rd","Zn","Vd","Nd","Ld","st","Wd","ti","tn","Gd","Hd","Fd","ni","ri","qd","Kd","oi","ii","jd","ee","si","ai","ui","di","li","ci","pi","mi","fi","Zd","hi","gi","yi","bi","bt","_i","nn","wi","$i","vi","xi","Si","Ti","Ii","Ci","Ai","Ei","ki","Pi","zi","Bi","Di","Oi","Mi","Ui","Qn","Xn","Ri","Vi","Ni","Qd","Xd","Li","rn","Yd","Jd","Gi","Hi","el","tl","Ue","Fi","qi","Ki","ji","Zi","Qi","Xi","Yi","Ji","es","ts","rl","ol","il","sl","ns","rs","os","Ce","Ae","Ee","Ke","le","is","sn","ss","as","_t","an","un","al","ul","Yn","us","dl","Jn","ll","wt","dn","X","Te","se","cl","ds","ls","pl","cs","ln","ml","ps","fl","fs","hs","gs","ys","bs","hl","er","gl","tr","nr","_s","yl","bl","rr","ws","$s","vs","_l","wl","$l","xs","Ss","vl","Ts","xl","Is","Cs","Sl","As","Es","ks","Tl","Il","Cl","Ps","zs","Bs","or","cn","Ds","Al","El","ir","sr","Os","kl","Ms","Us","Rs","Pl","Vs","zl","Bl","Ns","Ls","Dl","Ws","Gs","Ol","Ml","Hs","Fs","Ul","Ks","js","Zs","Rl","Vl","Qs","Xs","Ys","Nl","Ll","Js","ea","ta","Wl","Gl","na","ra","oa","Le","je","ut","Hl","Fl","ql","Kl","jl","Zl","Ql","Xl","ia","sa","aa","_e","ec","da","ua","tc","$t","la","ar","nc","rc","oc","ic","ur","ca","pa","dr","sc","pn","ma","lr","ac","uc","fa","dc","ha","ga","ya","lc","cc","ba","pc","mc","wa","$a","fc","va","xa","hc","gc","yc","Sa","Ta","Ia","ie","bc","wc","$c","vc","xc","Sc","Tc","Ca","Aa","mn","Ea","ka","Pa","za","Ic","Cc","Ba","Da","Oa","Ma","Ua","Ra","Va","Na","La","Wa","Ga","Ha","Fa","Ec","kc","qa","Ka","ja","Pc","zc","Za","Qa","Bc","Dc","Xa","Ya","Ja","Oc","Mc","Uc","eu","Rc","Vc","Nc","Lc","Wc","Gc","Hc","Fc","tu","qc","Kc","jc","Zc","Qc","nu","ru","ou","Xc","Yc","iu","su","Jc","ep","au","tp","np","uu","du","lu","rp","op","cu","pu","mu","fu","ip","sp","ap","hu","gu","up","dp","yu","bu","_u","wu","hn","$u","vu","pr","lp","cp","cr","xu","Su","pp","vt","mr","Tu","mp","tt","fp","Iu","Cu","de","We","St","yr","nt","Se","xt","yn","bn","gn","fr","hr","dt","lt","gp","Au","Eu","ku","Pu","zu","Bu","Du","gr","Ou","yp","_n","Mu","Ru","wn","Uu","bp","Vu","wp","_p","Kr","module","common","legacy","SileroLegacy","ortInstance","_session","_h","_sr","zeroes","audioFrame","inputs","modelFetcher","modelArrayBuffer","v5","getNewState","SileroV5","_state","__createBinding","this","k2","desc","__exportStar","exports","legacy_1","v5_1","require$$2","resampler","Resampler","outputFrames","sample","outputFrame","audioInput","outputIndex","inputIndex","sum","num","__setModuleDefault","__importStar","mod","result","asset_path_1","default_model_fetcher_1","frame_processor_1","require$$3","require$$4","models_1","require$$5","resampler_1","require$$6","NonRealTimeVAD","fullOptions","inputAudio","sampleRate","resamplerOptions","end","frameIndex","messageContainer","utils","minFramesForTargetMS","targetDuration","frameSamples","arrayBufferToBase64","binary","byte","encodeWAV","samples","format","numChannels","bitDepth","bytesPerSample","blockAlign","writeString","floatTo16BitPCM","writeFloat32","output","input","string","audioFileToArray","audioFileData","res","_audioBuffer","current","Xe","F","workletFile","sileroV5File","sileroLegacyFile","getDefaultRealTimeVADOptions","_stream","track","detectProcessorType","getVADNodeAsWorklet","workletURL","workletOptions","audioContext","processFrame","audioNode","getVADNodeAsScriptProcessor","processingAudio","frames","MicVAD","listening","errored","_audioContext","_vadNode","_mediaStreamAudioSourceNode","_audioProcessorAdapterType","initializationState","ownsAudioContext","vadNode","mediaStreamAudioSourceNode","modelFile","modelURL","modelFactory","micVad","non_real_time_vad_1","utils_1","real_time_vad_1","vad_web_1","react_1","vad_web_2","defaultReactOptions","getDefaultReactRealTimeVADOptions","useOptions","reactOptions","vadOptions","useMicVAD","userSpeaking","updateUserSpeaking","loading","setLoading","setErrored","setListening","vad","setVAD","onFrameProcessedRef","onSpeechEndRef","onSpeechStartRef","onSpeechRealStartRef","onVADMisfireRef","getStreamRef","getStreamKey","myvad","canceled","finalVadOptions","isSpeaking","toggle","MIC_CONSTRAINTS","VAD_SAMPLE_RATE","FRAME_SAMPLES","PRE_SPEECH_PAD_MS","SPEECH_END_DELAY_MS","FRAME_DURATION_MS","RING_BUFFER_SIZE","useRqmiiVAD","onAudioChunk","onAudioEnd","onSpeechStart","onSpeechEnd","onVADMisfire","enabled","interruptOnSpeechStart","forceAudioMp4","preloadStream","setIsSpeaking","useState","micError","setMicError","streamRef","mediaRecorderRef","mixCtxRef","cooldownRef","speechEndTimerRef","pcmRingRef","unlockedRef","AudioCtx","getStream","pauseStream","resumeStream","drainRingBuffer","totalSamples","startMixedRecorder","micStream","duration","mimeType","destination","micSource","delayNode","recorder","chunkBuffer","stopMediaRecorder","discardMediaRecorder","cleanupMixContext","cleanupStream","_probs","ringBuffer","safeVadStart","prepare","AutoConnector","connect","session","onInitialized","startedRef","failedRef","initializeSessionRef","joinDesktopSessionRef","disconnectRef","onErrorRef","onInitializedRef","cancelled","RqmiiAgentRoom","jsx","SDPUtils","blob","line","part","sections","prefix","candidate","sdp","component","codec","channels","headerExtension","kv","params","param","lines","fb","colon","ssrc","mediaSection","mid","sessionpart","setupType","parameters","keyParams","ufrag","pwd","mline","rtpmapline","fmtps","wildcardRtcpFb","existingFeedback","kind","caps","maxptime","extension","encodingParameters","hasRed","hasUlpfec","ssrcs","primarySsrc","secondarySsrc","flows","encParam","bandwidth","rtcpParameters","remoteSsrc","rsize","mux","spec","planB","msidParts","maxSizeLine","maxMessageSize","sctpPort","sctpMapLines","media","sctp","sessId","sessVer","sessUser","sessionId","version","e.parseRtpParameters","e.splitSections","EpicPixelStreamingPlayer","signallingUrl","autoConnect","width","height","onConnecting","onLoading","onConnected","onDisconnected","muted","containerRef","pixelStreamingRef","isConnectedRef","setIsConnected","isLoading","setIsLoading","errorMessage","setErrorMessage","Config","PixelStreaming","videoPlayer","audioControlled","audioStream","audioTracks","videoElement","jsxs","RqmiiCloudAvatarPlayer","className","style","streamingUrl","setCloudStreamState","handleConnecting","handleLoading","handleConnected","handleDisconnected","handleError"],"mappings":"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","x_google_ignoreList":[0,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,70,71]}
|