ttp-agent-sdk 2.1.12 → 2.1.13
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 +2 -1
- package/dist/agent-widget.js +1 -1
- package/dist/agent-widget.js.map +1 -1
- package/dist/examples/test-agent-app.html +205 -38
- package/dist/examples/test.html +16 -0
- package/dist/index.html +1 -1
- package/examples/test-agent-app.html +205 -38
- package/examples/test.html +16 -0
- package/package.json +1 -1
package/dist/agent-widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-widget.js","mappings":"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","sources":["webpack://TTPAgentSDK/webpack/universalModuleDefinition","webpack://TTPAgentSDK/./node_modules/react/index.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://TTPAgentSDK/./node_modules/react/jsx-runtime.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react.production.js","webpack://TTPAgentSDK/webpack/bootstrap","webpack://TTPAgentSDK/webpack/runtime/define property getters","webpack://TTPAgentSDK/webpack/runtime/hasOwnProperty shorthand","webpack://TTPAgentSDK/webpack/runtime/make namespace object","webpack://TTPAgentSDK/./src/core/EventEmitter.js","webpack://TTPAgentSDK/./src/core/WebSocketSingleton.js","webpack://TTPAgentSDK/./src/core/WebSocketManager.js","webpack://TTPAgentSDK/./src/core/AudioRecorder.js","webpack://TTPAgentSDK/./src/core/AudioPlayer.js","webpack://TTPAgentSDK/./src/core/VoiceSDK.js","webpack://TTPAgentSDK/./src/react/VoiceButton.jsx","webpack://TTPAgentSDK/./src/vanilla/VoiceButton.js","webpack://TTPAgentSDK/./src/legacy/AgentSDK.js","webpack://TTPAgentSDK/./src/legacy/EnhancedAgentSDK.js","webpack://TTPAgentSDK/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TTPAgentSDK\"] = factory();\n\telse\n\t\troot[\"TTPAgentSDK\"] = factory();\n})(window, () => {\nreturn ","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\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","'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","/**\n * @license React\n * react.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_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_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * EventEmitter - Simple event system for the VoiceSDK\n */\nexport default class EventEmitter {\n constructor() {\n this.events = {};\n }\n \n /**\n * Add event listener\n */\n on(event, callback) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(callback);\n }\n \n /**\n * Remove event listener\n */\n off(event, callback) {\n if (!this.events[event]) return;\n \n this.events[event] = this.events[event].filter(cb => cb !== callback);\n }\n \n /**\n * Emit event\n */\n emit(event, ...args) {\n if (!this.events[event]) return;\n \n this.events[event].forEach(callback => {\n try {\n callback(...args);\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error);\n }\n });\n }\n \n /**\n * Remove all listeners for an event\n */\n removeAllListeners(event) {\n if (event) {\n delete this.events[event];\n } else {\n this.events = {};\n }\n }\n}\n","/**\n * WebSocketSingleton - Ensures only one WebSocket connection per URL exists\n */\nimport EventEmitter from './EventEmitter.js';\n\nclass WebSocketSingleton extends EventEmitter {\n constructor() {\n super();\n this.connections = new Map(); // Map of URL -> WebSocket instance\n this.connectionCounts = new Map(); // Map of URL -> number of subscribers\n this.creatingConnections = new Set(); // Set of URLs currently being created\n }\n \n /**\n * Get or create a WebSocket connection\n */\n async getConnection(url, config = {}) {\n // If connection already exists, just return it\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n return existingConnection;\n }\n \n // Check if we're already in the process of creating a connection\n if (this.creatingConnections && this.creatingConnections.has(url)) {\n // Wait for the existing creation to complete\n return new Promise((resolve) => {\n const checkConnection = () => {\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n resolve(existingConnection);\n } else {\n setTimeout(checkConnection, 50);\n }\n };\n checkConnection();\n });\n }\n \n // Create new connection\n this.creatingConnections.add(url);\n const connection = new WebSocket(url);\n this.connections.set(url, connection);\n this.connectionCounts.set(url, 1);\n \n // Set up event forwarding\n connection.addEventListener('open', (event) => {\n this.creatingConnections.delete(url);\n this.emit('open', event, url);\n });\n \n connection.addEventListener('close', (event) => {\n this.creatingConnections.delete(url);\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n this.emit('close', event, url);\n });\n \n connection.addEventListener('error', (event) => {\n this.creatingConnections.delete(url);\n this.emit('error', event, url);\n });\n \n connection.addEventListener('message', (event) => {\n this.emit('message', event, url);\n });\n \n return connection;\n }\n \n /**\n * Release a connection (decrement subscriber count)\n */\n releaseConnection(url) {\n if (!this.connections.has(url)) {\n return;\n }\n \n const currentCount = this.connectionCounts.get(url) || 0;\n const newCount = Math.max(0, currentCount - 1);\n this.connectionCounts.set(url, newCount);\n \n // If no more subscribers, close the connection\n if (newCount === 0) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'No more subscribers');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Force close a connection\n */\n forceClose(url) {\n if (this.connections.has(url)) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Force close');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Get connection status\n */\n getConnectionStatus(url) {\n if (!this.connections.has(url)) {\n return { exists: false, readyState: null, subscribers: 0 };\n }\n \n const connection = this.connections.get(url);\n return {\n exists: true,\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n \n /**\n * Get all active connections\n */\n getAllConnections() {\n const result = {};\n for (const [url, connection] of this.connections.entries()) {\n result[url] = {\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n return result;\n }\n \n /**\n * Clear all connections (for testing)\n */\n clearAll() {\n for (const [url, connection] of this.connections.entries()) {\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Clear all');\n }\n }\n this.connections.clear();\n this.connectionCounts.clear();\n this.creatingConnections.clear();\n }\n}\n\n// Global singleton instance\nconst webSocketSingleton = new WebSocketSingleton();\n\nexport default webSocketSingleton;\n","/**\n * WebSocketManager - Uses singleton pattern to prevent multiple connections\n */\nimport EventEmitter from './EventEmitter.js';\nimport webSocketSingleton from './WebSocketSingleton.js';\n\nexport default class WebSocketManager extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.connectionId = null;\n }\n \n /**\n * Connect to WebSocket using singleton\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n \n // Store resolve/reject for later use\n this.connectResolve = resolve;\n this.connectReject = reject;\n \n // Get connection from singleton\n webSocketSingleton.getConnection(this.config.websocketUrl, this.config)\n .then((connection) => {\n this.ws = connection;\n \n // Set up event listeners (this will set up handlers that can resolve the promise)\n this.setupEventListeners();\n \n // If already connected, resolve immediately\n if (connection.readyState === WebSocket.OPEN) {\n this.isConnected = true;\n this.emit('connected');\n resolve();\n this.connectResolve = null;\n this.connectReject = null;\n }\n })\n .catch((error) => {\n console.error(`🔌 WebSocketManager: Connection failed ${this.connectionId}`, error);\n reject(error);\n this.connectResolve = null;\n this.connectReject = null;\n });\n \n } catch (error) {\n console.error(`🔌 WebSocketManager: Connection error ${this.connectionId}`, error);\n reject(error);\n this.connectResolve = null;\n this.connectReject = null;\n }\n });\n }\n \n /**\n * Set up event listeners\n */\n setupEventListeners() {\n if (!this.ws) return;\n \n // Use singleton's event forwarding\n const handleOpen = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.isConnected = true;\n this.emit('connected');\n \n // Resolve the connect promise if it hasn't been resolved yet\n if (this.connectResolve) {\n this.connectResolve();\n this.connectResolve = null;\n this.connectReject = null;\n }\n }\n };\n \n const handleClose = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.isConnected = false;\n this.emit('disconnected', event);\n }\n };\n \n const handleError = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.emit('error', event);\n \n // Reject the connect promise if it hasn't been resolved yet\n if (this.connectReject) {\n this.connectReject(event);\n this.connectResolve = null;\n this.connectReject = null;\n }\n }\n };\n \n const handleMessage = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.handleMessage(event);\n }\n };\n \n // Add event listeners\n webSocketSingleton.on('open', handleOpen);\n webSocketSingleton.on('close', handleClose);\n webSocketSingleton.on('error', handleError);\n webSocketSingleton.on('message', handleMessage);\n \n // Store handlers for cleanup\n this.eventHandlers = {\n open: handleOpen,\n close: handleClose,\n error: handleError,\n message: handleMessage\n };\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n // Remove event listeners\n if (this.eventHandlers) {\n webSocketSingleton.off('open', this.eventHandlers.open);\n webSocketSingleton.off('close', this.eventHandlers.close);\n webSocketSingleton.off('error', this.eventHandlers.error);\n webSocketSingleton.off('message', this.eventHandlers.message);\n }\n \n // Release connection from singleton\n if (this.config.websocketUrl) {\n webSocketSingleton.releaseConnection(this.config.websocketUrl);\n }\n \n this.ws = null;\n this.isConnected = false;\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n // Silently ignore if not connected (may happen during cleanup/disconnect)\n return;\n }\n \n try {\n this.ws.send(JSON.stringify(message));\n } catch (error) {\n // Log but don't throw - connection may have closed between check and send\n console.warn('🔌 WebSocketManager: Failed to send message:', error.message);\n }\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n // Silently ignore if not connected (may happen during cleanup/disconnect)\n return;\n }\n \n try {\n this.ws.send(data);\n } catch (error) {\n // Log but don't throw - connection may have closed between check and send\n console.warn('🔌 WebSocketManager: Failed to send binary data:', error.message);\n }\n }\n \n /**\n * Handle incoming messages\n */\n handleMessage(event) {\n // Check if it's binary data\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n console.error('🔌 WebSocketManager: Error converting Blob to ArrayBuffer:', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : null,\n connectionId: this.connectionId\n };\n }\n \n /**\n * Get singleton status (for debugging)\n */\n static getSingletonStatus() {\n return webSocketSingleton.getAllConnections();\n }\n \n /**\n * Clear all singleton connections (for testing)\n */\n static clearAllConnections() {\n webSocketSingleton.clearAll();\n }\n}\n","/**\n * AudioRecorder - Handles audio recording using AudioWorklet\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioRecorder extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioWorkletNode = null;\n this.mediaStream = null;\n this.isRecording = false;\n }\n \n /**\n * Start audio recording\n */\n async start() {\n try {\n // Get user media\n this.mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n sampleRate: this.config.sampleRate,\n channelCount: 1,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true\n }\n });\n \n // Create AudioContext\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)({\n sampleRate: this.config.sampleRate\n });\n \n // Resume AudioContext if suspended\n if (this.audioContext.state === 'suspended') {\n await this.audioContext.resume();\n }\n \n // Load AudioWorklet module\n await this.audioContext.audioWorklet.addModule('/audio-processor.js');\n \n // Create AudioWorklet node\n this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor');\n \n // Create media stream source\n const source = this.audioContext.createMediaStreamSource(this.mediaStream);\n source.connect(this.audioWorkletNode);\n \n // Handle messages from AudioWorklet\n this.audioWorkletNode.port.onmessage = (event) => {\n const { type, data } = event.data;\n \n if (type === 'pcm_audio_data') {\n this.emit('audioData', data);\n }\n };\n \n // Enable continuous mode\n this.audioWorkletNode.port.postMessage({\n type: 'setForceContinuous',\n data: { enabled: true }\n });\n \n this.isRecording = true;\n this.emit('recordingStarted');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Stop audio recording\n */\n async stop() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Flush any remaining audio data\n if (this.audioWorkletNode) {\n this.audioWorkletNode.port.postMessage({ type: 'flush' });\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n \n // Disconnect and cleanup\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n await this.audioContext.close();\n this.audioContext = null;\n }\n \n this.audioWorkletNode = null;\n this.isRecording = false;\n this.emit('recordingStopped');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Get recording status\n */\n getStatus() {\n return {\n isRecording: this.isRecording,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n }\n}\n","/**\n * AudioPlayer - Handles audio playback with queue system\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioPlayer extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioQueue = [];\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n }\n \n /**\n * Add audio data to playback queue\n */\n playAudio(audioData) {\n try {\n const audioBlob = this.createAudioBlob(audioData);\n this.audioQueue.push(audioBlob);\n \n // Process queue if not already playing or processing\n if (!this.isPlaying && !this.isProcessingQueue) {\n setTimeout(() => this.processQueue(), 50);\n }\n } catch (error) {\n this.emit('playbackError', error);\n }\n }\n \n /**\n * Create audio blob from ArrayBuffer\n */\n createAudioBlob(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer);\n \n // Detect audio format\n if (uint8Array.length >= 4) {\n // WAV header (RIFF)\n if (uint8Array[0] === 0x52 && uint8Array[1] === 0x49 && \n uint8Array[2] === 0x46 && uint8Array[3] === 0x46) {\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n // MP3 header\n if (uint8Array[0] === 0xFF && (uint8Array[1] & 0xE0) === 0xE0) {\n return new Blob([arrayBuffer], { type: 'audio/mpeg' });\n }\n \n // OGG header\n if (uint8Array[0] === 0x4F && uint8Array[1] === 0x67 && \n uint8Array[2] === 0x67 && uint8Array[3] === 0x53) {\n return new Blob([arrayBuffer], { type: 'audio/ogg' });\n }\n }\n \n // Default to WAV format\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n /**\n * Process audio queue\n */\n async processQueue() {\n // Prevent multiple simultaneous queue processing\n // Note: isPlaying check removed to allow seamless queue processing\n if (this.isProcessingQueue || this.audioQueue.length === 0) {\n return;\n }\n \n this.isProcessingQueue = true;\n \n const audioBlob = this.audioQueue.shift();\n if (!audioBlob) {\n this.isProcessingQueue = false;\n return;\n }\n \n try {\n // Only emit playbackStarted if this is the first audio item (queue was empty before)\n const wasNotPlaying = !this.isPlaying;\n this.isPlaying = true;\n \n if (wasNotPlaying) {\n this.emit('playbackStarted');\n }\n \n // Create AudioContext if not exists\n if (!this.audioContext) {\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n }\n \n const audioContext = this.audioContext;\n \n // Resume AudioContext if suspended\n if (audioContext.state === 'suspended') {\n await audioContext.resume();\n }\n \n // Create audio source from blob\n const arrayBuffer = await audioBlob.arrayBuffer();\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n \n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n \n this.currentSource = source;\n \n // Handle audio end\n source.onended = () => {\n this.currentSource = null;\n this.isProcessingQueue = false;\n \n // Process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n // More audio to play - continue processing without emitting playbackStopped\n // Keep isPlaying = true since we'll continue playing\n setTimeout(() => this.processQueue(), 100);\n } else {\n // Queue is empty - playback has truly ended\n this.isPlaying = false;\n this.emit('playbackStopped');\n }\n };\n \n // Start playback\n source.start();\n \n } catch (error) {\n this.currentSource = null;\n this.emit('playbackError', error);\n \n // Try to process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n this.isProcessingQueue = false;\n setTimeout(() => this.processQueue(), 100);\n } else {\n // Queue is empty - playback has ended\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.emit('playbackStopped');\n }\n }\n }\n \n /**\n * Stop current playback and clear queue\n */\n stop() {\n this.stopImmediate();\n }\n \n /**\n * Stop current playback immediately and clear queue\n */\n stopImmediate() {\n if (this.currentSource) {\n try {\n this.currentSource.stop();\n } catch (error) {\n // Ignore errors when stopping\n }\n this.currentSource = null;\n }\n \n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.audioQueue = [];\n this.emit('playbackStopped');\n }\n \n /**\n * Get playback status\n */\n getStatus() {\n return {\n isPlaying: this.isPlaying,\n isProcessingQueue: this.isProcessingQueue,\n queueLength: this.audioQueue.length,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n this.audioContext.close();\n this.audioContext = null;\n }\n }\n}\n","/**\n * VoiceSDK - Core voice interaction SDK\n * Handles WebSocket connection, audio recording, and audio playback\n */\nimport EventEmitter from './EventEmitter.js';\nimport WebSocketManager from './WebSocketManager.js';\nimport AudioRecorder from './AudioRecorder.js';\nimport AudioPlayer from './AudioPlayer.js';\n\nexport default class VoiceSDK extends EventEmitter {\n constructor(config = {}) {\n super();\n \n // Configuration\n this.config = {\n websocketUrl: config.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: config.agentId, // Optional - for direct agent access (unsecured method)\n appId: config.appId, // User's app ID for authentication\n ttpId: config.ttpId, // Optional - custom TTP ID (fallback if appId not provided)\n voice: config.voice || 'default',\n language: config.language || 'en',\n sampleRate: config.sampleRate || 16000,\n ...config\n };\n \n // State\n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n this.isDestroyed = false;\n \n // Components\n this.webSocketManager = new WebSocketManager({\n ...this.config,\n autoReconnect: this.config.autoReconnect !== false // Default to true unless explicitly disabled\n });\n this.audioRecorder = new AudioRecorder(this.config);\n this.audioPlayer = new AudioPlayer(this.config);\n \n // Bind event handlers\n this.setupEventHandlers();\n }\n \n /**\n * Setup event handlers for all components\n */\n setupEventHandlers() {\n // WebSocket events\n this.webSocketManager.on('connected', () => {\n this.isConnected = true;\n this.sendHelloMessage();\n this.emit('connected');\n });\n \n this.webSocketManager.on('disconnected', (event) => {\n this.isConnected = false;\n \n // IMPORTANT: Stop recording when WebSocket disconnects (e.g., no credits, max duration exceeded)\n // This ensures microphone is released and no more audio is streamed\n if (this.isRecording) {\n this.stopRecording().catch(err => {\n console.error('VoiceSDK: Error stopping recording on disconnect:', err);\n });\n }\n \n // Pass close event details (code, reason) to consumers\n this.emit('disconnected', event);\n });\n \n this.webSocketManager.on('error', (error) => {\n this.emit('error', error);\n });\n \n this.webSocketManager.on('message', (message) => {\n // Handle greeting audio message\n if (message.t === 'greeting_audio' && message.data) {\n try {\n // Convert base64 audio data to Uint8Array\n const binaryString = atob(message.data);\n const audioData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n audioData[i] = binaryString.charCodeAt(i);\n }\n \n this.audioPlayer.playAudio(audioData);\n this.emit('greetingStarted');\n } catch (error) {\n console.error('VoiceSDK: Error playing greeting audio:', error);\n }\n } else {\n this.emit('message', message);\n }\n });\n \n this.webSocketManager.on('binaryAudio', (audioData) => {\n this.audioPlayer.playAudio(audioData);\n });\n \n this.webSocketManager.on('bargeIn', (message) => {\n this.emit('bargeIn', message);\n });\n \n this.webSocketManager.on('stopPlaying', (message) => {\n this.emit('stopPlaying', message);\n // Stop current playback and clear queue, but keep playing new audio\n this.audioPlayer.stopImmediate();\n // Note: stopImmediate() clears the queue but AudioPlayer can still accept new audio via playAudio()\n });\n \n // Audio recorder events\n this.audioRecorder.on('recordingStarted', () => {\n this.isRecording = true;\n \n // Detect barge-in: if audio is playing when recording starts\n if (this.isPlaying) {\n // Stop audio playback immediately\n this.audioPlayer.stopImmediate();\n // Send barge-in message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'barge_in'\n });\n }\n }\n \n this.emit('recordingStarted');\n });\n \n this.audioRecorder.on('recordingStopped', () => {\n this.isRecording = false;\n this.emit('recordingStopped');\n });\n \n this.audioRecorder.on('audioData', (audioData) => {\n if (this.isConnected) {\n this.webSocketManager.sendBinary(audioData);\n }\n });\n \n // Audio player events\n this.audioPlayer.on('playbackStarted', () => {\n this.isPlaying = true;\n this.emit('playbackStarted');\n \n // Send audio_started_playing message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'audio_started_playing'\n });\n }\n });\n \n this.audioPlayer.on('playbackStopped', () => {\n this.isPlaying = false;\n this.emit('playbackStopped');\n \n // Send audio_stopped_playing message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'audio_stopped_playing'\n });\n }\n });\n \n this.audioPlayer.on('playbackError', (error) => {\n this.emit('playbackError', error);\n });\n }\n \n /**\n * Connect to the voice server\n */\n async connect() {\n if (this.isDestroyed) {\n console.warn('VoiceSDK: Cannot connect - SDK is destroyed');\n return false; // Prevent connect after destroy\n }\n \n try {\n // Build WebSocket URL with query parameters if needed\n const wsUrl = this.buildWebSocketUrl();\n \n // Update the WebSocket manager with the URL that includes query parameters\n this.webSocketManager.config.websocketUrl = wsUrl;\n \n await this.webSocketManager.connect();\n return true;\n } catch (error) {\n console.error('🔌 VoiceSDK: Connection failed with error:', error);\n this.emit('error', error);\n return false;\n }\n }\n\n /**\n * Build WebSocket URL with query parameters for authentication\n */\n buildWebSocketUrl() {\n let url = this.config.websocketUrl;\n const params = new URLSearchParams();\n \n // Add agentId as query parameter if provided\n if (this.config.agentId) {\n params.append('agentId', this.config.agentId);\n }\n \n // Add appId as query parameter if provided\n if (this.config.appId) {\n params.append('appId', this.config.appId);\n }\n \n // Add other parameters if needed\n if (this.config.voice && this.config.voice !== 'default') {\n params.append('voice', this.config.voice);\n }\n \n if (this.config.language && this.config.language !== 'en') {\n params.append('language', this.config.language);\n }\n \n // Append query parameters to URL if any exist\n if (params.toString()) {\n const separator = url.includes('?') ? '&' : '?';\n url += separator + params.toString();\n }\n \n return url;\n }\n \n /**\n * Disconnect from the voice server\n */\n disconnect() {\n if (this.isDestroyed) {\n return; // Prevent disconnect after destroy\n }\n this.stopRecording();\n this.webSocketManager.disconnect();\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n if (this.isDestroyed) {\n return;\n }\n this.webSocketManager.resetReconnectionAttempts();\n }\n \n /**\n * Manually reconnect to the voice server\n */\n async reconnect() {\n if (this.isDestroyed) {\n return false;\n }\n \n this.disconnect();\n this.resetReconnectionAttempts();\n return await this.connect();\n }\n \n /**\n * Start voice recording and streaming\n */\n async startRecording() {\n if (!this.isConnected) {\n throw new Error('Not connected to voice server');\n }\n \n try {\n // Send start continuous mode message\n this.webSocketManager.sendMessage({\n t: 'start_continuous_mode',\n ttpId: this.generateTtpId(),\n voice: this.config.voice,\n language: this.config.language\n });\n \n // Start audio recording\n await this.audioRecorder.start();\n return true;\n } catch (error) {\n console.error('❌ VoiceSDK: Failed to start recording:', error);\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Stop voice recording and streaming\n */\n async stopRecording() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Send stop continuous mode message\n this.webSocketManager.sendMessage({\n t: 'stop_continuous_mode',\n ttpId: this.generateTtpId()\n });\n \n // Stop audio recording\n await this.audioRecorder.stop();\n \n // Stop audio playback immediately when stopping recording\n this.audioPlayer.stopImmediate();\n \n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Toggle recording state\n */\n async toggleRecording() {\n if (this.isRecording) {\n return await this.stopRecording();\n } else {\n return await this.startRecording();\n }\n }\n \n /**\n * Stop audio playback immediately (for barge-in scenarios)\n */\n stopAudioPlayback() {\n this.audioPlayer.stopImmediate();\n }\n \n /**\n * Handle barge-in (user starts speaking while audio is playing)\n */\n async handleBargeIn() {\n // Stop current audio playback immediately\n this.stopAudioPlayback();\n \n // If not already recording, start recording\n if (!this.isRecording) {\n await this.startRecording();\n }\n }\n \n /**\n * Get current connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.config = { ...this.config, ...newConfig };\n }\n \n /**\n * Generate unique TTP ID\n */\n generateTtpId() {\n return 'sdk_' + Math.random().toString(36).substr(2, 9) + '_' + Date.now();\n }\n\n /**\n * Send hello message with appropriate authentication\n */\n sendHelloMessage() {\n if (!this.isConnected) {\n console.warn('VoiceSDK: Cannot send hello message - not connected');\n return;\n }\n\n const helloMessage = {\n t: \"hello\"\n };\n\n // Use app ID for authentication (preferred method)\n if (this.config.appId) {\n helloMessage.appId = this.config.appId;\n } else if (this.config.ttpId) {\n // Fallback to custom TTP ID if app ID not provided\n helloMessage.ttpId = this.config.ttpId;\n } else {\n // Generate TTP ID as last resort\n helloMessage.ttpId = this.generateTtpId();\n }\n\n // Note: agentId is now sent as query parameter in WebSocket URL, not in hello message\n\n try {\n this.webSocketManager.sendMessage(helloMessage);\n } catch (error) {\n console.error('VoiceSDK: Failed to send hello message:', error);\n this.emit('error', error);\n }\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n if (this.isDestroyed) {\n return; // Prevent multiple destroy calls\n }\n \n // Disconnect first, before setting isDestroyed\n this.disconnect();\n \n this.isDestroyed = true;\n this.audioRecorder.destroy();\n this.audioPlayer.destroy();\n this.removeAllListeners();\n }\n}\n","/**\n * VoiceButton - React component for voice interaction\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nconst VoiceButton = ({ \n websocketUrl,\n agentId, // Optional - for direct agent access (unsecured method)\n voice = 'default',\n language = 'en',\n autoReconnect = true,\n onConnected,\n onDisconnected,\n onRecordingStarted,\n onRecordingStopped,\n onPlaybackStarted,\n onPlaybackStopped,\n onError,\n onMessage,\n onBargeIn,\n onStopPlaying,\n className = '',\n style = {},\n children\n}) => {\n const [isConnected, setIsConnected] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [isPlaying, setIsPlaying] = useState(false);\n const [connectionStatus, setConnectionStatus] = useState('Disconnected');\n \n const voiceSDKRef = useRef(null);\n \n // Initialize VoiceSDK\n useEffect(() => {\n console.log(`🎙️ VoiceButton: Creating VoiceSDK instance for ${websocketUrl}`);\n \n // Clean up existing instance if any\n if (voiceSDKRef.current) {\n console.log(`🎙️ VoiceButton: Destroying existing VoiceSDK instance`);\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n \n const voiceSDK = new VoiceSDK({\n websocketUrl,\n agentId, // Pass through agentId if provided\n voice,\n language,\n autoReconnect\n });\n \n // Setup event listeners\n voiceSDK.on('connected', () => {\n setIsConnected(true);\n setConnectionStatus('Connected');\n onConnected?.();\n });\n \n voiceSDK.on('disconnected', () => {\n setIsConnected(false);\n setConnectionStatus('Disconnected');\n onDisconnected?.();\n });\n \n voiceSDK.on('recordingStarted', () => {\n setIsRecording(true);\n onRecordingStarted?.();\n });\n \n voiceSDK.on('recordingStopped', () => {\n setIsRecording(false);\n onRecordingStopped?.();\n });\n \n voiceSDK.on('playbackStarted', () => {\n setIsPlaying(true);\n onPlaybackStarted?.();\n });\n \n voiceSDK.on('playbackStopped', () => {\n setIsPlaying(false);\n onPlaybackStopped?.();\n });\n \n voiceSDK.on('error', (error) => {\n onError?.(error);\n });\n \n voiceSDK.on('message', (message) => {\n onMessage?.(message);\n });\n \n voiceSDK.on('bargeIn', (message) => {\n onBargeIn?.(message);\n });\n \n voiceSDK.on('stopPlaying', (message) => {\n onStopPlaying?.(message);\n });\n \n voiceSDKRef.current = voiceSDK;\n \n // Auto-connect\n voiceSDK.connect();\n \n // Cleanup on unmount\n return () => {\n console.log(`🎙️ VoiceButton: Cleaning up VoiceSDK instance for ${websocketUrl}`);\n if (voiceSDKRef.current) {\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n };\n }, [websocketUrl, agentId, voice, language]);\n \n // Handle button click\n const handleClick = async () => {\n if (!voiceSDKRef.current) return;\n \n try {\n await voiceSDKRef.current.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n };\n \n // Default button content\n const defaultContent = (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <div style={{ fontSize: '20px' }}>\n {isRecording ? '🔴' : '🎤'}\n </div>\n <div>\n {isRecording ? 'Stop Listening' : 'Start Listening'}\n </div>\n </div>\n );\n \n return (\n <button\n className={`voice-button ${isRecording ? 'recording' : ''} ${className}`}\n style={{\n padding: '12px 24px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: isRecording ? '#dc3545' : '#007bff',\n color: 'white',\n cursor: 'pointer',\n fontSize: '16px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n ...style\n }}\n onClick={handleClick}\n disabled={!isConnected}\n >\n {children || defaultContent}\n </button>\n );\n};\n\nexport default VoiceButton;\n","/**\n * VoiceButton - Vanilla JavaScript voice button\n */\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nexport default class VoiceButton {\n constructor(options = {}) {\n this.options = {\n websocketUrl: options.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: options.agentId, // Optional - for direct agent access (unsecured method)\n voice: options.voice || 'default',\n language: options.language || 'en',\n container: options.container || document.body,\n buttonText: options.buttonText || 'Start Listening',\n buttonClass: options.buttonClass || 'voice-button',\n ...options\n };\n \n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n \n this.voiceSDK = new VoiceSDK({\n websocketUrl: this.options.websocketUrl,\n agentId: this.options.agentId, // Pass through agentId if provided\n voice: this.options.voice,\n language: this.options.language\n });\n \n this.setupEventListeners();\n this.createButton();\n this.connect();\n }\n \n /**\n * Setup event listeners\n */\n setupEventListeners() {\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.updateButton();\n this.options.onConnected?.();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.updateButton();\n this.options.onDisconnected?.();\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isRecording = true;\n this.updateButton();\n this.options.onRecordingStarted?.();\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isRecording = false;\n this.updateButton();\n this.options.onRecordingStopped?.();\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.isPlaying = true;\n this.options.onPlaybackStarted?.();\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.isPlaying = false;\n this.options.onPlaybackStopped?.();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.options.onError?.(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.options.onMessage?.(message);\n });\n \n this.voiceSDK.on('bargeIn', (message) => {\n this.options.onBargeIn?.(message);\n });\n \n this.voiceSDK.on('stopPlaying', (message) => {\n this.options.onStopPlaying?.(message);\n });\n }\n \n /**\n * Create the button element\n */\n createButton() {\n this.button = document.createElement('button');\n this.button.className = this.options.buttonClass;\n this.button.style.cssText = `\n padding: 12px 24px;\n border: none;\n border-radius: 8px;\n background-color: #6c757d;\n color: white;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n `;\n \n this.button.addEventListener('click', () => this.toggleRecording());\n this.options.container.appendChild(this.button);\n \n this.updateButton();\n }\n \n /**\n * Update button appearance and state\n */\n updateButton() {\n if (!this.button) return;\n \n const icon = this.isRecording ? '🔴' : '🎤';\n const text = this.isRecording ? 'Stop Listening' : 'Start Listening';\n \n this.button.innerHTML = `\n <span style=\"font-size: 20px;\">${icon}</span>\n <span>${text}</span>\n `;\n \n this.button.disabled = !this.isConnected;\n this.button.style.backgroundColor = this.isRecording ? '#dc3545' : \n this.isConnected ? '#007bff' : '#6c757d';\n }\n \n /**\n * Connect to voice server\n */\n async connect() {\n try {\n await this.voiceSDK.connect();\n } catch (error) {\n console.error('Failed to connect:', error);\n }\n }\n \n /**\n * Toggle recording\n */\n async toggleRecording() {\n if (!this.voiceSDK) return;\n \n try {\n await this.voiceSDK.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n }\n \n /**\n * Get current status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.voiceSDK.updateConfig(newConfig);\n }\n \n /**\n * Destroy the button and cleanup\n */\n destroy() {\n if (this.button && this.button.parentNode) {\n this.button.parentNode.removeChild(this.button);\n }\n \n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n }\n }\n}\n","/**\n * Legacy AgentSDK - Backward Compatibility Layer\n * \n * This maintains the original AgentSDK API while using the new VoiceSDK internally.\n * This ensures existing integrations continue to work without changes.\n */\n\nimport { VoiceSDK } from '../index.js';\n\nexport class AgentSDK {\n constructor(config) {\n console.log('🚀 AgentSDK v2.1.8 initialized with config:', config);\n this.config = config;\n this.voiceSDK = null;\n this.isConnected = false;\n this.isListening = false;\n \n // Legacy callback properties\n this.onConnected = () => {};\n this.onDisconnected = () => {};\n this.onError = (error) => console.error('SDK Error:', error);\n this.onTranscript = (text) => {};\n this.onAgentSpeaking = (isStart) => {};\n }\n\n async connect(signedUrl) {\n try {\n if (!signedUrl) {\n throw new Error('signedUrl is required');\n }\n \n // Clean up existing connection if any\n if (this.voiceSDK) {\n console.log('🔌 AgentSDK: Cleaning up existing connection');\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n \n // Create VoiceSDK instance\n this.voiceSDK = new VoiceSDK({\n websocketUrl: signedUrl,\n autoReconnect: false,\n agentId: this.config.agentId,\n appId: this.config.appId,\n language: this.config.language || 'en'\n });\n \n // Set up event handlers to map to legacy callbacks\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.onConnected();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.onDisconnected();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.onError(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.handleWebSocketMessage(message);\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isListening = true;\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isListening = false;\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.onAgentSpeaking(true);\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.onAgentSpeaking(false);\n });\n \n // Connect using VoiceSDK\n await this.voiceSDK.connect();\n \n } catch (error) {\n this.onError(error);\n throw error;\n }\n }\n\n handleWebSocketMessage(message) {\n // Map new message format to legacy format\n switch (message.type) {\n case 'connected':\n console.log('Session started successfully');\n break;\n \n case 'user_transcript':\n this.onTranscript(message.user_transcription || message.text);\n break;\n \n case 'agent_response':\n // Handle agent text response\n break;\n \n case 'barge_in':\n // Handle barge-in\n break;\n \n case 'stop_playing':\n // Handle stop playing\n break;\n \n case 'error':\n this.onError(new Error(message.message));\n break;\n }\n }\n\n async startListening() {\n console.log('🎤 AgentSDK: startListening() called');\n if (this.voiceSDK) {\n try {\n console.log('🎤 AgentSDK: Starting recording...');\n await this.voiceSDK.startRecording();\n console.log('✅ AgentSDK: Recording started successfully');\n } catch (error) {\n console.error('❌ AgentSDK: Failed to start recording:', error);\n throw error;\n }\n } else {\n console.error('❌ AgentSDK: No voiceSDK instance available');\n throw new Error('No voiceSDK instance available');\n }\n }\n\n stopListening() {\n if (this.voiceSDK) {\n this.voiceSDK.stopRecording();\n }\n }\n\n updateVariables(variables) {\n if (this.voiceSDK && this.isConnected) {\n // Send variables update message\n this.voiceSDK.webSocketManager.sendMessage({\n t: 'update_variables',\n variables\n });\n }\n }\n\n disconnect() {\n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n this.isConnected = false;\n this.isListening = false;\n }\n}\n\n// ============================================\n// WIDGET - Pre-built UI using the SDK\n// ============================================\n\nexport class AgentWidget {\n constructor(config) {\n console.log('🎯 AgentWidget v2.1.8 initialized with config:', config);\n this.config = config;\n this.sdk = new AgentSDK(config); // ✅ Pass config to AgentSDK\n this.isOpen = false;\n this.isActive = false;\n \n this.position = config.position || 'bottom-right';\n this.primaryColor = config.primaryColor || '#4F46E5';\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n console.log('✅ SDK connected');\n this.updateStatus('connected');\n };\n\n this.sdk.onDisconnected = () => {\n console.log('❌ SDK disconnected - conversation ended');\n this.updateStatus('disconnected');\n this.isActive = false;\n this.updateMicButtonState(false);\n \n // Show user-friendly message about disconnection\n this.showError('Conversation ended. Click to start a new conversation.');\n };\n\n this.sdk.onError = (error) => {\n console.error('❌ SDK error:', error);\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n console.log('📝 User transcript:', text);\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n console.log('🤖 Agent speaking:', isStart);\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'agent-widget';\n widget.innerHTML = `\n <style>\n #agent-widget {\n position: fixed;\n ${this.position.includes('bottom') ? 'bottom: 20px;' : 'top: 20px;'}\n ${this.position.includes('right') ? 'right: 20px;' : 'left: 20px;'}\n z-index: 9999;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #agent-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: ${this.primaryColor};\n border: none;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n }\n \n #agent-button:hover {\n transform: scale(1.1);\n }\n \n #agent-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n #agent-panel {\n display: none;\n position: absolute;\n bottom: 80px;\n ${this.position.includes('right') ? 'right: 0;' : 'left: 0;'}\n width: 350px;\n height: 500px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.2);\n flex-direction: column;\n overflow: hidden;\n }\n \n #agent-panel.open {\n display: flex;\n }\n \n #agent-header {\n background: ${this.primaryColor};\n color: white;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n \n #agent-close {\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n font-size: 24px;\n }\n \n #agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: 8px;\n max-width: 80%;\n }\n \n .message.user {\n background: #E5E7EB;\n align-self: flex-end;\n }\n \n .message.agent {\n background: #F3F4F6;\n align-self: flex-start;\n }\n \n #agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #agent-mic-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: none;\n background: ${this.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n }\n \n #agent-mic-button.active {\n background: #EF4444;\n animation: pulse 1.5s infinite;\n }\n \n #agent-mic-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n \n .error-message {\n background: #FEE2E2;\n color: #991B1B;\n padding: 12px;\n border-radius: 8px;\n margin: 8px;\n }\n </style>\n \n <button id=\"agent-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n \n <div id=\"agent-panel\">\n <div id=\"agent-header\">\n <h3 style=\"margin: 0;\">Voice Assistant</h3>\n <button id=\"agent-close\">×</button>\n </div>\n \n <div id=\"agent-messages\"></div>\n \n <div id=\"agent-controls\">\n <button id=\"agent-mic-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n </div>\n </div>\n `;\n \n document.body.appendChild(widget);\n \n document.getElementById('agent-button').onclick = () => this.togglePanel();\n document.getElementById('agent-close').onclick = () => this.togglePanel();\n document.getElementById('agent-mic-button').onclick = () => this.toggleVoice();\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n console.log('🎤 Starting voice session...');\n const signedUrl = await this.getSignedUrl();\n console.log('🔗 Got signed URL:', signedUrl);\n \n const connected = await this.sdk.connect(signedUrl);\n console.log('✅ Connected to WebSocket, connected:', connected);\n \n // Wait for connection to be fully ready (for hello message exchange)\n let attempts = 0;\n while (!this.sdk.isConnected && attempts < 50) {\n await new Promise(resolve => setTimeout(resolve, 100));\n attempts++;\n }\n \n if (this.sdk.isConnected) {\n console.log('✅ WebSocket ready, starting listening...');\n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n } else {\n console.warn('⚠️ Connection not fully ready, but trying to start listening anyway...');\n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n }\n } catch (error) {\n console.error('❌ Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n console.log('🔇 Stopping voice session...');\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n this.updateMicButtonState(false);\n this.addMessage('system', '🔇 Stopped listening');\n }\n }\n\n updateMicButtonState(isListening) {\n const micButton = document.getElementById('agent-mic-button');\n const micIcon = micButton.querySelector('svg');\n \n if (isListening) {\n micButton.classList.add('active');\n micButton.style.background = '#EF4444'; // Red when listening\n micButton.title = 'Click to stop listening';\n \n // Add pulsing animation\n micButton.style.animation = 'pulse 1.5s infinite';\n \n // Change icon to stop icon\n micIcon.innerHTML = `\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>\n <path d=\"M9 9h6\"/>\n `;\n } else {\n micButton.classList.remove('active');\n micButton.style.background = this.primaryColor; // Original color\n micButton.title = 'Click to start listening';\n \n // Remove animation\n micButton.style.animation = '';\n \n // Change back to mic icon\n micIcon.innerHTML = `\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n `;\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const requestBody = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n requestBody.appId = this.config.appId;\n }\n \n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestBody)\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const params = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n params.appId = this.config.appId;\n }\n \n const result = await this.config.getSessionUrl(params);\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Widget status:', status);\n }\n}\n","/**\n * Enhanced AgentWidget with extensive customization options\n * Supports custom icons, flexible positioning, and many other configuration options\n */\n\nexport class EnhancedAgentWidget {\n constructor(config = {}) {\n // Merge user config with defaults\n this.config = this.mergeWithDefaults(config);\n this.sdk = new AgentSDK();\n this.isOpen = false;\n this.isActive = false;\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n mergeWithDefaults(userConfig) {\n return {\n // Required\n agentId: userConfig.agentId,\n getSessionUrl: userConfig.getSessionUrl,\n \n // Icon/Image Configuration\n icon: {\n type: userConfig.icon?.type || 'microphone', // 'microphone', 'custom', 'emoji', 'text'\n customImage: userConfig.icon?.customImage || null, // URL to custom image\n emoji: userConfig.icon?.emoji || '🎤', // Emoji to use\n text: userConfig.icon?.text || 'AI', // Text to display\n size: userConfig.icon?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n ...userConfig.icon\n },\n \n // Positioning Configuration\n position: {\n vertical: userConfig.position?.vertical || 'bottom', // 'top', 'bottom', 'center'\n horizontal: userConfig.position?.horizontal || 'right', // 'left', 'right', 'center'\n offset: userConfig.position?.offset || { x: 20, y: 20 }, // Custom offset in pixels\n ...userConfig.position\n },\n \n // Button Configuration\n button: {\n size: userConfig.button?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n shape: userConfig.button?.shape || 'circle', // 'circle', 'square', 'rounded'\n primaryColor: userConfig.button?.primaryColor || '#4F46E5',\n hoverColor: userConfig.button?.hoverColor || '#7C3AED',\n activeColor: userConfig.button?.activeColor || '#EF4444',\n shadow: userConfig.button?.shadow || true,\n shadowColor: userConfig.button?.shadowColor || 'rgba(0,0,0,0.15)',\n ...userConfig.button\n },\n \n // Panel Configuration\n panel: {\n width: userConfig.panel?.width || 350,\n height: userConfig.panel?.height || 500,\n borderRadius: userConfig.panel?.borderRadius || 12,\n backgroundColor: userConfig.panel?.backgroundColor || 'rgba(255,255,255,0.95)',\n backdropFilter: userConfig.panel?.backdropFilter || 'blur(10px)',\n border: userConfig.panel?.border || '1px solid rgba(0,0,0,0.1)',\n ...userConfig.panel\n },\n \n // Header Configuration\n header: {\n title: userConfig.header?.title || 'Voice Assistant',\n showTitle: userConfig.header?.showTitle !== false,\n backgroundColor: userConfig.header?.backgroundColor || null, // Uses button primaryColor if null\n textColor: userConfig.header?.textColor || '#FFFFFF',\n showCloseButton: userConfig.header?.showCloseButton !== false,\n ...userConfig.header\n },\n \n // Messages Configuration\n messages: {\n userBackgroundColor: userConfig.messages?.userBackgroundColor || '#E5E7EB',\n agentBackgroundColor: userConfig.messages?.agentBackgroundColor || '#F3F4F6',\n systemBackgroundColor: userConfig.messages?.systemBackgroundColor || '#DCFCE7',\n errorBackgroundColor: userConfig.messages?.errorBackgroundColor || '#FEE2E2',\n textColor: userConfig.messages?.textColor || '#1F2937',\n fontSize: userConfig.messages?.fontSize || '14px',\n borderRadius: userConfig.messages?.borderRadius || 8,\n ...userConfig.messages\n },\n \n // Animation Configuration\n animation: {\n enableHover: userConfig.animation?.enableHover !== false,\n enablePulse: userConfig.animation?.enablePulse !== false,\n enableSlide: userConfig.animation?.enableSlide !== false,\n duration: userConfig.animation?.duration || 0.3,\n ...userConfig.animation\n },\n \n // Behavior Configuration\n behavior: {\n autoOpen: userConfig.behavior?.autoOpen || false,\n autoConnect: userConfig.behavior?.autoConnect || false,\n showWelcomeMessage: userConfig.behavior?.showWelcomeMessage !== false,\n welcomeMessage: userConfig.behavior?.welcomeMessage || 'Hello! How can I help you today?',\n ...userConfig.behavior\n },\n \n // Accessibility Configuration\n accessibility: {\n ariaLabel: userConfig.accessibility?.ariaLabel || 'Voice Assistant',\n ariaDescription: userConfig.accessibility?.ariaDescription || 'Click to open voice assistant',\n keyboardNavigation: userConfig.accessibility?.keyboardNavigation !== false,\n ...userConfig.accessibility\n },\n \n // Custom CSS\n customStyles: userConfig.customStyles || '',\n \n // Variables for the agent\n variables: userConfig.variables || {},\n \n // Legacy support (for backward compatibility)\n primaryColor: userConfig.primaryColor || '#4F46E5',\n position: userConfig.position || 'bottom-right'\n };\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n this.updateStatus('connected');\n if (this.config.behavior.showWelcomeMessage) {\n this.addMessage('system', this.config.behavior.welcomeMessage);\n }\n };\n\n this.sdk.onDisconnected = () => {\n this.updateStatus('disconnected');\n this.isActive = false;\n };\n\n this.sdk.onError = (error) => {\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'enhanced-agent-widget';\n widget.innerHTML = this.generateWidgetHTML();\n \n document.body.appendChild(widget);\n \n this.setupWidgetEvents();\n \n // Auto-open if configured\n if (this.config.behavior.autoOpen) {\n setTimeout(() => this.togglePanel(), 1000);\n }\n }\n\n generateWidgetHTML() {\n const pos = this.config.position;\n const btn = this.config.button;\n const icon = this.config.icon;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n // Calculate button size\n const buttonSizes = {\n small: 50,\n medium: 60,\n large: 70,\n xl: 80\n };\n const buttonSize = buttonSizes[btn.size] || 60;\n\n // Calculate icon size\n const iconSizes = {\n small: 20,\n medium: 28,\n large: 36,\n xl: 44\n };\n const iconSize = iconSizes[icon.size] || 28;\n\n // Generate position styles\n const positionStyles = this.generatePositionStyles();\n\n // Generate icon HTML\n const iconHTML = this.generateIconHTML(iconSize);\n\n return `\n <style>\n ${this.generateCSS(positionStyles, buttonSize, iconSize)}\n ${this.config.customStyles}\n </style>\n \n <button id=\"enhanced-agent-button\" \n aria-label=\"${this.config.accessibility.ariaLabel}\"\n aria-description=\"${this.config.accessibility.ariaDescription}\">\n ${iconHTML}\n </button>\n \n <div id=\"enhanced-agent-panel\">\n ${header.showTitle ? `\n <div id=\"enhanced-agent-header\">\n <h3 style=\"margin: 0; color: ${header.textColor};\">${header.title}</h3>\n ${header.showCloseButton ? '<button id=\"enhanced-agent-close\">×</button>' : ''}\n </div>\n ` : ''}\n \n <div id=\"enhanced-agent-messages\"></div>\n \n <div id=\"enhanced-agent-controls\">\n <button id=\"enhanced-agent-mic-button\" \n aria-label=\"Start/Stop Voice Recording\">\n ${iconHTML}\n </button>\n </div>\n </div>\n `;\n }\n\n generatePositionStyles() {\n const pos = this.config.position;\n const offset = pos.offset || { x: 20, y: 20 };\n \n let styles = '';\n \n // Vertical positioning\n if (pos.vertical === 'top') {\n styles += `top: ${offset.y}px;`;\n } else if (pos.vertical === 'bottom') {\n styles += `bottom: ${offset.y}px;`;\n } else if (pos.vertical === 'center') {\n styles += `top: 50%; transform: translateY(-50%);`;\n }\n \n // Horizontal positioning\n if (pos.horizontal === 'left') {\n styles += `left: ${offset.x}px;`;\n } else if (pos.horizontal === 'right') {\n styles += `right: ${offset.x}px;`;\n } else if (pos.horizontal === 'center') {\n styles += `left: 50%; transform: translateX(-50%);`;\n }\n \n return styles;\n }\n\n generateIconHTML(size) {\n const icon = this.config.icon;\n \n switch (icon.type) {\n case 'custom':\n return `<img src=\"${icon.customImage}\" alt=\"Voice Assistant\" style=\"width: ${size}px; height: ${size}px; object-fit: contain;\" />`;\n \n case 'emoji':\n return `<span style=\"font-size: ${size}px; line-height: 1;\">${icon.emoji}</span>`;\n \n case 'text':\n return `<span style=\"font-size: ${Math.floor(size * 0.6)}px; font-weight: bold; color: white;\">${icon.text}</span>`;\n \n case 'microphone':\n default:\n return `<svg viewBox=\"0 0 24 24\" style=\"width: ${size}px; height: ${size}px; fill: white;\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>`;\n }\n }\n\n generateCSS(positionStyles, buttonSize, iconSize) {\n const btn = this.config.button;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n return `\n #enhanced-agent-widget {\n position: fixed;\n ${positionStyles}\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #enhanced-agent-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n background: ${btn.primaryColor};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n ${btn.shadow ? `box-shadow: 0 4px 12px ${btn.shadowColor};` : ''}\n }\n \n ${anim.enableHover ? `\n #enhanced-agent-button:hover {\n background: ${btn.hoverColor};\n transform: scale(1.05);\n ${btn.shadow ? `box-shadow: 0 8px 20px ${btn.shadowColor};` : ''}\n }\n ` : ''}\n \n #enhanced-agent-panel {\n display: none;\n position: absolute;\n bottom: ${buttonSize + 20}px;\n ${this.config.position.horizontal === 'right' ? 'right: 0;' : 'left: 0;'}\n width: ${panel.width}px;\n height: ${panel.height}px;\n background: ${panel.backgroundColor};\n border-radius: ${panel.borderRadius}px;\n border: ${panel.border};\n flex-direction: column;\n overflow: hidden;\n ${panel.backdropFilter ? `backdrop-filter: ${panel.backdropFilter};` : ''}\n ${anim.enableSlide ? `transition: all ${anim.duration}s ease;` : ''}\n }\n \n #enhanced-agent-panel.open {\n display: flex;\n ${anim.enableSlide ? 'transform: translateY(0); opacity: 1;' : ''}\n }\n \n #enhanced-agent-header {\n background: ${header.backgroundColor || btn.primaryColor};\n color: ${header.textColor};\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ${panel.borderRadius}px ${panel.borderRadius}px 0 0;\n }\n \n #enhanced-agent-close {\n background: none;\n border: none;\n color: ${header.textColor};\n cursor: pointer;\n font-size: 24px;\n padding: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n #enhanced-agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n max-width: 80%;\n font-size: ${messages.fontSize};\n color: ${messages.textColor};\n }\n \n .message.user {\n background: ${messages.userBackgroundColor};\n align-self: flex-end;\n }\n \n .message.agent {\n background: ${messages.agentBackgroundColor};\n align-self: flex-start;\n }\n \n .message.system {\n background: ${messages.systemBackgroundColor};\n align-self: flex-start;\n font-style: italic;\n }\n \n .error-message {\n background: ${messages.errorBackgroundColor};\n color: #991B1B;\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n margin: 8px;\n }\n \n #enhanced-agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #enhanced-agent-mic-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n border: none;\n background: ${btn.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n }\n \n #enhanced-agent-mic-button.active {\n background: ${btn.activeColor};\n ${anim.enablePulse ? `\n animation: pulse 1.5s infinite;\n ` : ''}\n }\n \n ${anim.enablePulse ? `\n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n ` : ''}\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n `;\n }\n\n setupWidgetEvents() {\n document.getElementById('enhanced-agent-button').onclick = () => this.togglePanel();\n \n const closeBtn = document.getElementById('enhanced-agent-close');\n if (closeBtn) {\n closeBtn.onclick = () => this.togglePanel();\n }\n \n document.getElementById('enhanced-agent-mic-button').onclick = () => this.toggleVoice();\n \n // Keyboard navigation\n if (this.config.accessibility.keyboardNavigation) {\n this.setupKeyboardNavigation();\n }\n }\n\n setupKeyboardNavigation() {\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape' && this.isOpen) {\n this.togglePanel();\n }\n });\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('enhanced-agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n const signedUrl = await this.getSignedUrl();\n await this.sdk.connect(signedUrl);\n await this.sdk.startListening();\n this.isActive = true;\n document.getElementById('enhanced-agent-mic-button').classList.add('active');\n this.addMessage('system', 'Listening...');\n } catch (error) {\n console.error('Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n document.getElementById('enhanced-agent-mic-button').classList.remove('active');\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n })\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const result = await this.config.getSessionUrl({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n });\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('enhanced-agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('enhanced-agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('enhanced-agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Enhanced Widget status:', status);\n }\n\n // Public API methods\n updateConfig(newConfig) {\n this.config = this.mergeWithDefaults({ ...this.config, ...newConfig });\n // Recreate widget with new config\n const existingWidget = document.getElementById('enhanced-agent-widget');\n if (existingWidget) {\n existingWidget.remove();\n }\n this.createWidget();\n }\n\n destroy() {\n const widget = document.getElementById('enhanced-agent-widget');\n if (widget) {\n widget.remove();\n }\n if (this.sdk) {\n this.sdk.disconnect();\n }\n }\n}\n\n// Export for use\nexport default EnhancedAgentWidget;\n","/**\n * TTP Agent SDK - Main Entry Point\n * \n * A comprehensive SDK for voice interaction with AI agents.\n * Provides real-time audio recording, WebSocket communication, and audio playback.\n * \n * Features:\n * - 🎤 Real-time Audio Recording with AudioWorklet\n * - 🔄 WebSocket Communication with authentication\n * - 🔊 Audio Playback with queue management\n * - ⚛️ React Components\n * - 🌐 Vanilla JavaScript Components\n * - 🎯 Event-driven architecture\n * - 🔒 Multiple authentication methods\n */\n\n// Core SDK\nimport VoiceSDK from './core/VoiceSDK.js';\nimport WebSocketManager from './core/WebSocketManager.js';\nimport AudioRecorder from './core/AudioRecorder.js';\nimport AudioPlayer from './core/AudioPlayer.js';\nimport EventEmitter from './core/EventEmitter.js';\n\n// React components\nimport VoiceButton from './react/VoiceButton.jsx';\n\n// Vanilla JavaScript components\nimport VanillaVoiceButton from './vanilla/VoiceButton.js';\n\n// Legacy AgentSDK (for backward compatibility)\nimport { AgentSDK, AgentWidget } from './legacy/AgentSDK.js';\n\n// Enhanced AgentWidget with extensive customization\nimport { EnhancedAgentWidget } from './legacy/EnhancedAgentSDK.js';\n\n// Version\nexport const VERSION = '2.0.0';\n\n// Named exports\nexport {\n VoiceSDK,\n WebSocketManager,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget\n};\n\n// Default export for convenience\nexport default {\n VoiceSDK,\n WebSocketManager,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget,\n VERSION\n};\n"],"names":["root","factory","exports","module","define","amd","window","REACT_ELEMENT_TYPE","Symbol","for","jsxProd","type","config","maybeKey","key","propName","ref","$$typeof","props","jsx","jsxs","iterator","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","assign","Object","emptyObject","Component","context","updater","this","refs","ComponentDummy","PureComponent","prototype","isReactComponent","setState","partialState","callback","Error","forceUpdate","pureComponentPrototype","constructor","isPureReactComponent","Array","isArray","ReactSharedInternals","H","A","T","S","hasOwnProperty","reportError","useEffect","create","deps","useRef","initialValue","useState","initialState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","call","r","toStringTag","value","EventEmitter","_classCallCheck","events","event","push","filter","cb","_len","arguments","length","args","_key","forEach","apply","error","console","concat","e","t","n","i","c","Generator","u","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","_toPrimitive","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_EventEmitter","WebSocketSingleton","_this","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","connections","Map","connectionCounts","creatingConnections","Set","_inherits","_callee","url","existingConnection","connection","_this2","_context","has","set","checkConnection","setTimeout","add","WebSocket","addEventListener","delete","emit","_getConnection","_next","_throw","_x","currentCount","newCount","Math","max","readyState","OPEN","close","exists","subscribers","_step","result","_iterator","_createForOfIteratorHelper","entries","s","_step$value","_slicedToArray","err","_step2","_iterator2","_step2$value","clear","WebSocketManager","ws","isConnected","connectionId","reject","Date","now","random","toString","substr","connectResolve","connectReject","webSocketSingleton","getConnection","websocketUrl","setupEventListeners","catch","_connect","_this3","handleOpen","handleClose","handleError","handleMessage","on","eventHandlers","open","message","off","releaseConnection","send","JSON","stringify","warn","data","_this4","ArrayBuffer","Blob","arrayBuffer","parse","getAllConnections","clearAll","_asyncToGenerator","AudioRecorder","audioContext","audioWorkletNode","mediaStream","isRecording","_start","_t","navigator","mediaDevices","getUserMedia","audio","sampleRate","channelCount","echoCancellation","noiseSuppression","autoGainControl","AudioContext","webkitAudioContext","state","resume","audioWorklet","addModule","AudioWorkletNode","createMediaStreamSource","connect","port","onmessage","_event$data","postMessage","enabled","_stop","_callee2","_t2","_context2","getTracks","track","stop","audioContextState","AudioPlayer","audioQueue","isPlaying","isProcessingQueue","currentSource","audioData","audioBlob","createAudioBlob","processQueue","uint8Array","Uint8Array","wasNotPlaying","audioBuffer","source","shift","decodeAudioData","createBufferSource","buffer","destination","onended","start","_processQueue","stopImmediate","queueLength","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","VoiceSDK","agentId","appId","ttpId","voice","language","isDestroyed","webSocketManager","autoReconnect","audioRecorder","audioPlayer","setupEventHandlers","sendHelloMessage","stopRecording","binaryString","atob","charCodeAt","playAudio","sendMessage","sendBinary","wsUrl","buildWebSocketUrl","params","URLSearchParams","append","separator","includes","disconnect","resetReconnectionAttempts","_reconnect","_startRecording","_callee3","_context3","generateTtpId","_stopRecording","_callee4","_t3","_context4","_toggleRecording","_callee5","_context5","startRecording","_handleBargeIn","_callee6","_context6","stopAudioPlayback","newConfig","helloMessage","destroy","removeAllListeners","_arrayWithHoles","next","_iterableToArrayLimit","_arrayLikeToArray","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","_ref","_ref$voice","_ref$language","_ref$autoReconnect","onConnected","onDisconnected","onRecordingStarted","onRecordingStopped","onPlaybackStarted","onPlaybackStopped","onError","onMessage","onBargeIn","onStopPlaying","_ref$className","className","_ref$style","style","children","_useState2","setIsConnected","_useState4","setIsRecording","_useState6","setIsPlaying","_useState8","setConnectionStatus","voiceSDKRef","log","current","voiceSDK","handleClick","_ref2","toggleRecording","defaultContent","_jsxs","display","alignItems","gap","_jsx","fontSize","padding","border","borderRadius","backgroundColor","color","cursor","fontWeight","transition","onClick","disabled","VoiceButton","options","container","document","body","buttonText","buttonClass","createButton","_this$options$onConne","_this$options","updateButton","_this$options$onDisco","_this$options2","_this$options$onRecor","_this$options3","_this$options$onRecor2","_this$options4","_this$options$onPlayb","_this$options5","_this$options$onPlayb2","_this$options6","_this$options$onError","_this$options7","_this$options$onMessa","_this$options8","_this$options$onBarge","_this$options9","_this$options$onStopP","_this$options0","button","createElement","cssText","appendChild","icon","text","innerHTML","updateConfig","parentNode","removeChild","_createClass","AgentSDK","isListening","onTranscript","onAgentSpeaking","isStart","signedUrl","handleWebSocketMessage","user_transcription","_startListening","variables","AgentWidget","sdk","isOpen","isActive","position","primaryColor","createWidget","updateStatus","updateMicButtonState","showError","addMessage","showAgentThinking","hideAgentThinking","widget","id","getElementById","onclick","togglePanel","toggleVoice","classList","toggle","_toggleVoice","connected","attempts","getSignedUrl","startListening","stopListening","micButton","micIcon","querySelector","background","title","animation","remove","_getSignedUrl","requestBody","response","getSessionUrl","fetch","method","headers","ok","statusText","json","messages","textContent","scrollTop","scrollHeight","thinking","status","EnhancedAgentWidget","mergeWithDefaults","userConfig","_userConfig$icon","_userConfig$icon2","_userConfig$icon3","_userConfig$icon4","_userConfig$icon5","_userConfig$position","_userConfig$position2","_userConfig$position3","_userConfig$button","_userConfig$button2","_userConfig$button3","_userConfig$button4","_userConfig$button5","_userConfig$button6","_userConfig$button7","_userConfig$panel","_userConfig$panel2","_userConfig$panel3","_userConfig$panel4","_userConfig$panel5","_userConfig$panel6","_userConfig$header","_userConfig$header2","_userConfig$header3","_userConfig$header4","_userConfig$header5","_userConfig$messages","_userConfig$messages2","_userConfig$messages3","_userConfig$messages4","_userConfig$messages5","_userConfig$messages6","_userConfig$messages7","_userConfig$animation","_userConfig$animation2","_userConfig$animation3","_userConfig$animation4","_userConfig$behavior","_userConfig$behavior2","_userConfig$behavior3","_userConfig$behavior4","_userConfig$accessibi","_userConfig$accessibi2","_userConfig$accessibi3","customImage","emoji","size","vertical","horizontal","offset","x","shape","hoverColor","activeColor","shadow","shadowColor","panel","width","height","backdropFilter","header","showTitle","textColor","showCloseButton","userBackgroundColor","agentBackgroundColor","systemBackgroundColor","errorBackgroundColor","enableHover","enablePulse","enableSlide","duration","behavior","autoOpen","autoConnect","showWelcomeMessage","welcomeMessage","accessibility","ariaLabel","ariaDescription","keyboardNavigation","customStyles","generateWidgetHTML","setupWidgetEvents","btn","buttonSize","small","medium","large","xl","iconSize","positionStyles","generatePositionStyles","iconHTML","generateIconHTML","generateCSS","pos","styles","floor","anim","closeBtn","setupKeyboardNavigation","existingWidget","VERSION","VanillaVoiceButton"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"agent-widget.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAqB,YAAID,IAEzBD,EAAkB,YAAIC,GACvB,CATD,CASGK,OAAQ,I,wCCNTH,EAAOD,QAAU,EAAjB,I,kBCQEK,EAAqBC,OAAOC,IAAI,8BAEpC,SAASC,EAAQC,EAAMC,EAAQC,GAC7B,IAAIC,EAAM,KAGV,QAFA,IAAWD,IAAaC,EAAM,GAAKD,QACnC,IAAWD,EAAOE,MAAQA,EAAM,GAAKF,EAAOE,KACxC,QAASF,EAEX,IAAK,IAAIG,KADTF,EAAW,CAAC,EACSD,EACnB,QAAUG,IAAaF,EAASE,GAAYH,EAAOG,SAChDF,EAAWD,EAElB,OADAA,EAASC,EAASG,IACX,CACLC,SAAUV,EACVI,KAAMA,EACNG,IAAKA,EACLE,SAAK,IAAWJ,EAASA,EAAS,KAClCM,MAAOL,EAEX,CAlBwBL,OAAOC,IAAI,kBAoBnCP,EAAQiB,IAAMT,EACdR,EAAQkB,KAAOV,C,gBC9BbP,EAAOD,QAAU,EAAjB,I,cCQuBM,OAAOC,IAAI,8BACdD,OAAOC,IAAI,gBACTD,OAAOC,IAAI,kBACRD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACXD,OAAOC,IAAI,kBACZD,OAAOC,IAAI,iBACPD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACfD,OAAOC,IAAI,cACXD,OAAOC,IAAI,cACPD,OAAOC,IAAI,kBACTD,OAAOa,S,IAQ7BC,EAAuB,CACvBC,UAAW,WACT,OAAO,CACT,EACAC,mBAAoB,WAAa,EACjCC,oBAAqB,WAAa,EAClCC,gBAAiB,WAAa,GAEhCC,EAASC,OAAOD,OAChBE,EAAc,CAAC,EACjB,SAASC,EAAUZ,EAAOa,EAASC,GACjCC,KAAKf,MAAQA,EACbe,KAAKF,QAAUA,EACfE,KAAKC,KAAOL,EACZI,KAAKD,QAAUA,GAAWV,CAC5B,CAgBA,SAASa,IAAkB,CAE3B,SAASC,EAAclB,EAAOa,EAASC,GACrCC,KAAKf,MAAQA,EACbe,KAAKF,QAAUA,EACfE,KAAKC,KAAOL,EACZI,KAAKD,QAAUA,GAAWV,CAC5B,CAtBAQ,EAAUO,UAAUC,iBAAmB,CAAC,EACxCR,EAAUO,UAAUE,SAAW,SAAUC,EAAcC,GACrD,GACE,iBAAoBD,GACpB,mBAAsBA,GACtB,MAAQA,EAER,MAAME,MACJ,0GAEJT,KAAKD,QAAQN,gBAAgBO,KAAMO,EAAcC,EAAU,WAC7D,EACAX,EAAUO,UAAUM,YAAc,SAAUF,GAC1CR,KAAKD,QAAQR,mBAAmBS,KAAMQ,EAAU,cAClD,EAEAN,EAAeE,UAAYP,EAAUO,UAOrC,IAAIO,EAA0BR,EAAcC,UAAY,IAAIF,EAC5DS,EAAuBC,YAAcT,EACrCT,EAAOiB,EAAwBd,EAAUO,WACzCO,EAAuBE,sBAAuB,EAC5BC,MAAMC,QAExB,IAAIC,EAAuB,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACxCzB,OAAOS,UAAUiB,eA8MhC,mBAAsBC,aAClBA,YAkNRrD,EAAQsD,UAAY,SAAUC,EAAQC,GACpC,OAAOT,EAAqBC,EAAEM,UAAUC,EAAQC,EAClD,EAyBAxD,EAAQyD,OAAS,SAAUC,GACzB,OAAOX,EAAqBC,EAAES,OAAOC,EACvC,EACA1D,EAAQ2D,SAAW,SAAUC,GAC3B,OAAOb,EAAqBC,EAAEW,SAASC,EACzC,C,GC7gBIC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAahE,QAGrB,IAAIC,EAAS4D,EAAyBE,GAAY,CAGjD/D,QAAS,CAAC,GAOX,OAHAkE,EAAoBH,GAAU9D,EAAQA,EAAOD,QAAS8D,GAG/C7D,EAAOD,OACf,CCrBA8D,EAAoBK,EAAI,CAACnE,EAASoE,KACjC,IAAI,IAAIxD,KAAOwD,EACXN,EAAoBO,EAAED,EAAYxD,KAASkD,EAAoBO,EAAErE,EAASY,IAC5Ec,OAAO4C,eAAetE,EAASY,EAAK,CAAE2D,YAAY,EAAMC,IAAKJ,EAAWxD,MCJ3EkD,EAAoBO,EAAI,CAACI,EAAKC,IAAUhD,OAAOS,UAAUiB,eAAeuB,KAAKF,EAAKC,GCClFZ,EAAoBc,EAAK5E,IACH,oBAAXM,QAA0BA,OAAOuE,aAC1CnD,OAAO4C,eAAetE,EAASM,OAAOuE,YAAa,CAAEC,MAAO,WAE7DpD,OAAO4C,eAAetE,EAAS,aAAc,CAAE8E,OAAO,K,y4BCLvD,IAGqBC,EAAY,WAK/B,O,EAJA,SAAAA,K,4FAAcC,CAAA,KAAAD,GACZhD,KAAKkD,OAAS,CAAC,CACjB,E,EAEA,EAAArE,IAAA,KAAAkE,MAGA,SAAGI,EAAO3C,GACHR,KAAKkD,OAAOC,KACfnD,KAAKkD,OAAOC,GAAS,IAEvBnD,KAAKkD,OAAOC,GAAOC,KAAK5C,EAC1B,GAEA,CAAA3B,IAAA,MAAAkE,MAGA,SAAII,EAAO3C,GACJR,KAAKkD,OAAOC,KAEjBnD,KAAKkD,OAAOC,GAASnD,KAAKkD,OAAOC,GAAOE,OAAO,SAAAC,GAAE,OAAIA,IAAO9C,CAAQ,GACtE,GAEA,CAAA3B,IAAA,OAAAkE,MAGA,SAAKI,GAAgB,QAAAI,EAAAC,UAAAC,OAANC,EAAI,IAAA5C,MAAAyC,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJD,EAAIC,EAAA,GAAAH,UAAAG,GACZ3D,KAAKkD,OAAOC,IAEjBnD,KAAKkD,OAAOC,GAAOS,QAAQ,SAAApD,GACzB,IACEA,EAAQqD,WAAC,EAAGH,EACd,CAAE,MAAOI,GACPC,QAAQD,MAAM,+BAADE,OAAgCb,EAAK,KAAKW,EACzD,CACF,EACF,GAEA,CAAAjF,IAAA,qBAAAkE,MAGA,SAAmBI,GACbA,SACKnD,KAAKkD,OAAOC,GAEnBnD,KAAKkD,OAAS,CAAC,CAEnB,I,gFAAC,CAhD8B,G,w3DCFjC,IAAAe,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,EAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAApH,OAAA4F,eAAA5F,OAAA2F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA7F,OAAA2F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAArH,OAAA4F,eAAA5F,OAAA4F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CA4JA,QAF2B,IAtJH,SAAAgD,GACtB,SAAAC,IAAc,IAAAC,EAI0B,OAT1C,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKgBhC,CAAA,KAAAiE,IACZC,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAL,IACKM,YAAc,IAAIC,IACvBN,EAAKO,iBAAmB,IAAID,IAC5BN,EAAKQ,oBAAsB,IAAIC,IAAOT,CACxC,CAEA,OAZF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAT,OAAA6B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAnG,OAAA4C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAYE4D,CAAAX,EAAAD,GAZFhD,EAYEiD,EAZFrE,EAYE,EAAAhE,IAAA,gBAAAkE,OAZFoB,EAYEuB,IAAAE,EAGA,SAAAkC,EAAoBC,GAAG,IAAAC,EAAAC,EAAAC,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,GAAA,OAAa,IAE9BnE,KAAKwH,YAAYY,IAAIL,GAAM,CAAFI,EAAAhE,EAAA,QAE+C,OADpE6D,EAAqBhI,KAAKwH,YAAY/E,IAAIsF,GAChD/H,KAAK0H,iBAAiBW,IAAIN,GAAM/H,KAAK0H,iBAAiBjF,IAAIsF,IAAQ,GAAK,GAAGI,EAAArD,EAAA,EACnEkD,GAAkB,WAIvBhI,KAAK2H,sBAAuB3H,KAAK2H,oBAAoBS,IAAIL,GAAI,CAAAI,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,EAExD,IAAImB,QAAQ,SAACC,GAClB,IAAMoC,EAAkB,WACtB,GAAIJ,EAAKV,YAAYY,IAAIL,GAAM,CAC7B,IAAMC,EAAqBE,EAAKV,YAAY/E,IAAIsF,GAChDG,EAAKR,iBAAiBW,IAAIN,GAAMG,EAAKR,iBAAiBjF,IAAIsF,IAAQ,GAAK,GACvE7B,EAAQ8B,EACV,MACEO,WAAWD,EAAiB,GAEhC,EACAA,GACF,IAAE,OA6BD,OAzBHtI,KAAK2H,oBAAoBa,IAAIT,GACvBE,EAAa,IAAIQ,UAAUV,GACjC/H,KAAKwH,YAAYa,IAAIN,EAAKE,GAC1BjI,KAAK0H,iBAAiBW,IAAIN,EAAK,GAG/BE,EAAWS,iBAAiB,OAAQ,SAACvF,GACnC+E,EAAKP,oBAAoBgB,OAAOZ,GAChCG,EAAKU,KAAK,OAAQzF,EAAO4E,EAC3B,GAEAE,EAAWS,iBAAiB,QAAS,SAACvF,GACpC+E,EAAKP,oBAAoBgB,OAAOZ,GAChCG,EAAKV,YAAYmB,OAAOZ,GACxBG,EAAKR,iBAAiBiB,OAAOZ,GAC7BG,EAAKU,KAAK,QAASzF,EAAO4E,EAC5B,GAEAE,EAAWS,iBAAiB,QAAS,SAACvF,GACpC+E,EAAKP,oBAAoBgB,OAAOZ,GAChCG,EAAKU,KAAK,QAASzF,EAAO4E,EAC5B,GAEAE,EAAWS,iBAAiB,UAAW,SAACvF,GACtC+E,EAAKU,KAAK,UAAWzF,EAAO4E,EAC9B,GAAGI,EAAArD,EAAA,EAEImD,GAAU,EAAAH,EAAA,QAxDnBe,EAZF,eAAA3E,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,MAqEG,SAtDkBE,GAAA,OAAAH,EAAAhF,MAAC,KAADL,UAAA,IAwDnB,CAAA3E,IAAA,oBAAAkE,MAGA,SAAkBgF,GAChB,GAAK/H,KAAKwH,YAAYY,IAAIL,GAA1B,CAIA,IAAMkB,EAAejJ,KAAK0H,iBAAiBjF,IAAIsF,IAAQ,EACjDmB,EAAWC,KAAKC,IAAI,EAAGH,EAAe,GAI5C,GAHAjJ,KAAK0H,iBAAiBW,IAAIN,EAAKmB,GAGd,IAAbA,EAAgB,CAClB,IAAMjB,EAAajI,KAAKwH,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWoB,aAAeZ,UAAUa,MACpDrB,EAAWsB,MAAM,IAAM,uBAEzBvJ,KAAKwH,YAAYmB,OAAOZ,GACxB/H,KAAK0H,iBAAiBiB,OAAOZ,EAC/B,CAdA,CAeF,GAEA,CAAAlJ,IAAA,aAAAkE,MAGA,SAAWgF,GACT,GAAI/H,KAAKwH,YAAYY,IAAIL,GAAM,CAC7B,IAAME,EAAajI,KAAKwH,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWoB,aAAeZ,UAAUa,MACpDrB,EAAWsB,MAAM,IAAM,eAEzBvJ,KAAKwH,YAAYmB,OAAOZ,GACxB/H,KAAK0H,iBAAiBiB,OAAOZ,EAC/B,CACF,GAEA,CAAAlJ,IAAA,sBAAAkE,MAGA,SAAoBgF,GAClB,OAAK/H,KAAKwH,YAAYY,IAAIL,GAKnB,CACLyB,QAAQ,EACRH,WAHiBrJ,KAAKwH,YAAY/E,IAAIsF,GAGfsB,WACvBI,YAAazJ,KAAK0H,iBAAiBjF,IAAIsF,IAAQ,GAPxC,CAAEyB,QAAQ,EAAOH,WAAY,KAAMI,YAAa,EAS3D,GAEA,CAAA5K,IAAA,oBAAAkE,MAGA,WACE,IAC0D2G,EADpDC,EAAS,CAAC,EAAEC,EAAAC,EACc7J,KAAKwH,YAAYsC,WAAS,IAA1D,IAAAF,EAAAG,MAAAL,EAAAE,EAAAzF,KAAAe,MAA4D,KAAA8E,EAAAC,EAAAP,EAAA3G,MAAA,GAAhDgF,EAAGiC,EAAA,GAAE/B,EAAU+B,EAAA,GACzBL,EAAO5B,GAAO,CACZsB,WAAYpB,EAAWoB,WACvBI,YAAazJ,KAAK0H,iBAAiBjF,IAAIsF,IAAQ,EAEnD,CAAC,OAAAmC,GAAAN,EAAA3F,EAAAiG,EAAA,SAAAN,EAAAnF,GAAA,CACD,OAAOkF,CACT,GAEA,CAAA9K,IAAA,WAAAkE,MAGA,WAAW,IACiDoH,EADjDC,EAAAP,EACuB7J,KAAKwH,YAAYsC,WAAS,IAA1D,IAAAM,EAAAL,MAAAI,EAAAC,EAAAjG,KAAAe,MAA4D,KAAAmF,EAAAJ,EAAAE,EAAApH,MAAA,GAA3CkF,GAAFoC,EAAA,GAAYA,EAAA,IACrBpC,GAAcA,EAAWoB,aAAeZ,UAAUa,MACpDrB,EAAWsB,MAAM,IAAM,YAE3B,CAAC,OAAAW,GAAAE,EAAAnG,EAAAiG,EAAA,SAAAE,EAAA3F,GAAA,CACDzE,KAAKwH,YAAY8C,QACjBtK,KAAK0H,iBAAiB4C,QACtBtK,KAAK2H,oBAAoB2C,OAC3B,IAtJFzH,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAlD,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EAYE0E,CA0IC,CAlJqB,CAAS7F,I,mPCJjC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,EAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAApH,OAAA4F,eAAA5F,OAAA2F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA7F,OAAA2F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAArH,OAAA4F,eAAA5F,OAAA4F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAGyD,IAEpCsG,EAAgB,SAAAtD,GACnC,SAAAsD,EAAY5L,GAAQ,IAAAwI,EAKO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAMsBhC,CAAA,KAAAsH,IAClBpD,EAPJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAOIsD,CAAA,KAAAgD,IACK5L,OAASA,EACdwI,EAAKqD,GAAK,KACVrD,EAAKsD,aAAc,EACnBtD,EAAKuD,aAAe,KAAKvD,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAT,OAAA6B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAnG,OAAA4C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAA0C,EAAAtD,GAdFhD,EAcEsG,EAdF1H,EAcE,EAAAhE,IAAA,UAAAkE,OAdFoB,EAcEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAAI,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,EAAA,OAAAgE,EAAArD,EAAA,EACS,IAAImB,QAAQ,SAACC,EAASyE,GAC3B,IACEzC,EAAKwC,aAAeE,KAAKC,MAAQ,IAAM1B,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAG5E9C,EAAK+C,eAAiB/E,EACtBgC,EAAKgD,cAAgBP,EAGrBQ,EAAmBC,cAAclD,EAAKvJ,OAAO0M,aAAcnD,EAAKvJ,QAC7DwH,KAAK,SAAC8B,GACLC,EAAKsC,GAAKvC,EAGVC,EAAKoD,sBAGDrD,EAAWoB,aAAeZ,UAAUa,OACtCpB,EAAKuC,aAAc,EACnBvC,EAAKU,KAAK,aACV1C,IACAgC,EAAK+C,eAAiB,KACtB/C,EAAKgD,cAAgB,KAEzB,GACCK,MAAM,SAACzH,GACNC,QAAQD,MAAM,0CAADE,OAA2CkE,EAAKwC,cAAgB5G,GAC7E6G,EAAO7G,GACPoE,EAAK+C,eAAiB,KACtB/C,EAAKgD,cAAgB,IACvB,EAEJ,CAAE,MAAOpH,GACPC,QAAQD,MAAM,yCAADE,OAA0CkE,EAAKwC,cAAgB5G,GAC5E6G,EAAO7G,GACPoE,EAAK+C,eAAiB,KACtB/C,EAAKgD,cAAgB,IACvB,CACF,GAAE,EAAApD,EAAA,GA1CJ0D,EAdF,eAAAtH,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,MAyDG,WAxCY,OAAA0C,EAAA3H,MAAC,KAADL,UAAA,IA0Cb,CAAA3E,IAAA,sBAAAkE,MAGA,WAAsB,IAAA0I,EAAA,KACpB,GAAKzL,KAAKwK,GAAV,CAGA,IAAMkB,EAAa,SAACvI,EAAO4E,GACrBA,IAAQ0D,EAAK9M,OAAO0M,eACtBI,EAAKhB,aAAc,EACnBgB,EAAK7C,KAAK,aAGN6C,EAAKR,iBACPQ,EAAKR,iBACLQ,EAAKR,eAAiB,KACtBQ,EAAKP,cAAgB,MAG3B,EAEMS,EAAc,SAACxI,EAAO4E,GACtBA,IAAQ0D,EAAK9M,OAAO0M,eACtBI,EAAKhB,aAAc,EACnBgB,EAAK7C,KAAK,eAAgBzF,GAE9B,EAEMyI,EAAc,SAACzI,EAAO4E,GACtBA,IAAQ0D,EAAK9M,OAAO0M,eACtBI,EAAK7C,KAAK,QAASzF,GAGfsI,EAAKP,gBACPO,EAAKP,cAAc/H,GACnBsI,EAAKR,eAAiB,KACtBQ,EAAKP,cAAgB,MAG3B,EAEMW,EAAgB,SAAC1I,EAAO4E,GACxBA,IAAQ0D,EAAK9M,OAAO0M,cACtBI,EAAKI,cAAc1I,EAEvB,EAGAgI,EAAmBW,GAAG,OAAQJ,GAC9BP,EAAmBW,GAAG,QAASH,GAC/BR,EAAmBW,GAAG,QAASF,GAC/BT,EAAmBW,GAAG,UAAWD,GAGjC7L,KAAK+L,cAAgB,CACnBC,KAAMN,EACNnC,MAAOoC,EACP7H,MAAO8H,EACPK,QAASJ,EAtDS,CAwDtB,GAEA,CAAAhN,IAAA,aAAAkE,MAGA,WAEM/C,KAAK+L,gBACPZ,EAAmBe,IAAI,OAAQlM,KAAK+L,cAAcC,MAClDb,EAAmBe,IAAI,QAASlM,KAAK+L,cAAcxC,OACnD4B,EAAmBe,IAAI,QAASlM,KAAK+L,cAAcjI,OACnDqH,EAAmBe,IAAI,UAAWlM,KAAK+L,cAAcE,UAInDjM,KAAKrB,OAAO0M,cACdF,EAAmBgB,kBAAkBnM,KAAKrB,OAAO0M,cAGnDrL,KAAKwK,GAAK,KACVxK,KAAKyK,aAAc,CACrB,GAEA,CAAA5L,IAAA,cAAAkE,MAGA,SAAYkJ,GACV,GAAKjM,KAAKyK,aAAgBzK,KAAKwK,GAK/B,IACExK,KAAKwK,GAAG4B,KAAKC,KAAKC,UAAUL,GAC9B,CAAE,MAAOnI,GAEPC,QAAQwI,KAAK,+CAAgDzI,EAAMmI,QACrE,CACF,GAEA,CAAApN,IAAA,aAAAkE,MAGA,SAAWyJ,GACT,GAAKxM,KAAKyK,aAAgBzK,KAAKwK,GAK/B,IACExK,KAAKwK,GAAG4B,KAAKI,EACf,CAAE,MAAO1I,GAEPC,QAAQwI,KAAK,mDAAoDzI,EAAMmI,QACzE,CACF,GAEA,CAAApN,IAAA,gBAAAkE,MAGA,SAAcI,GAAO,IAAAsJ,EAAA,KAEnB,GAAItJ,EAAMqJ,gBAAgBE,YACxB1M,KAAK4I,KAAK,cAAezF,EAAMqJ,WAE1B,GAAIrJ,EAAMqJ,gBAAgBG,KAC/BxJ,EAAMqJ,KAAKI,cAAczG,KAAK,SAAAyG,GAC5BH,EAAK7D,KAAK,cAAegE,EAC3B,GAAGrB,MAAM,SAAArB,GACPnG,QAAQD,MAAM,6DAA8DoG,EAC9E,QAKF,IACE,IAAM+B,EAAUI,KAAKQ,MAAM1J,EAAMqJ,MAGf,iBAAdP,EAAQ/H,GAAsC,iBAAd+H,EAAQ/H,GAC1ClE,KAAK4I,KAAK,UAAWqD,GAIL,iBAAdA,EAAQ/H,GACVlE,KAAK4I,KAAK,cAAeqD,GAG3BjM,KAAK4I,KAAK,UAAWqD,EACvB,CAAE,MAAOnI,GACP9D,KAAK4I,KAAK,QAAS9E,EACrB,CACF,GAEA,CAAAjF,IAAA,YAAAkE,MAGA,WACE,MAAO,CACL0H,YAAazK,KAAKyK,YAClBpB,WAAYrJ,KAAKwK,GAAKxK,KAAKwK,GAAGnB,WAAa,KAC3CqB,aAAc1K,KAAK0K,aAEvB,IA9NFxG,EAgOE,EAAArF,IAAA,qBAAAkE,MAGA,WACE,OAAOoI,EAAmB2B,mBAC5B,GAEA,CAAAjO,IAAA,sBAAAkE,MAGA,WACEoI,EAAmB4B,UACrB,IA5OFlK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,EAAAnC,EAAAC,GAAAvE,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAqB,EAAAC,EAcEqH,CA8NC,CAvOkC,CAASxI,G,mPCL9C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA0K,EAAA7I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,eAAA1C,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,EAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAApH,OAAA4F,eAAA5F,OAAA2F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA7F,OAAA2F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAArH,OAAA4F,eAAA5F,OAAA4F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExBgJ,EAAa,SAAAhG,GAChC,SAAAgG,EAAYtO,GAAQ,IAAAwI,EAMO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAAgK,IAClB9F,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAA0F,IACKtO,OAASA,EACdwI,EAAK+F,aAAe,KACpB/F,EAAKgG,iBAAmB,KACxBhG,EAAKiG,YAAc,KACnBjG,EAAKkG,aAAc,EAAMlG,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAT,OAAA6B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAnG,OAAA4C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAAoF,EAAAhG,GAdFhD,EAcEgJ,EAdFpK,EAcE,EAAAhE,IAAA,QAAAkE,OAAAuK,EAAAN,EAAAtH,IAAAE,EAGA,SAAAkC,IAAA,IAAAyF,EAAArF,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAG6BqJ,UAAUC,aAAaC,aAAa,CAC3DC,MAAO,CACLC,WAAY5N,KAAKrB,OAAOiP,WACxBC,aAAc,EACdC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,KAEnB,OAOF,GAfAhO,KAAKoN,YAAWjF,EAAAtD,EAWhB7E,KAAKkN,aAAe,IAAK7O,OAAO4P,cAAgB5P,OAAO6P,oBAAoB,CACzEN,WAAY5N,KAAKrB,OAAOiP,aAIM,cAA5B5N,KAAKkN,aAAaiB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EACnCnE,KAAKkN,aAAakB,SAAQ,cAAAjG,EAAAhE,EAAA,EAI5BnE,KAAKkN,aAAamB,aAAaC,UAAU,uBAAsB,OAGrEtO,KAAKmN,iBAAmB,IAAIoB,iBAAiBvO,KAAKkN,aAAc,mBAGjDlN,KAAKkN,aAAasB,wBAAwBxO,KAAKoN,aACvDqB,QAAQzO,KAAKmN,kBAGpBnN,KAAKmN,iBAAiBuB,KAAKC,UAAY,SAACxL,GACtC,IAAAyL,EAAuBzL,EAAMqJ,KAArB9N,EAAIkQ,EAAJlQ,KAAM8N,EAAIoC,EAAJpC,KAED,mBAAT9N,GACFwJ,EAAKU,KAAK,YAAa4D,EAE3B,EAGAxM,KAAKmN,iBAAiBuB,KAAKG,YAAY,CACrCnQ,KAAM,qBACN8N,KAAM,CAAEsC,SAAS,KAGnB9O,KAAKqN,aAAc,EACnBrN,KAAK4I,KAAK,oBAAoBT,EAAAhE,EAAA,eAGJ,MAHIgE,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAG9B7E,KAAK4I,KAAK,QAAO2E,GAASA,EAAA,cAAApF,EAAArD,EAAA,KAAAgD,EAAA,iBAG7B,WAvDU,OAAAwF,EAAAzJ,MAAC,KAADL,UAAA,IAyDX,CAAA3E,IAAA,OAAAkE,OAAAgM,EAAA/B,EAAAtH,IAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,IAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACOnE,KAAKqN,YAAa,CAAF6B,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,aAAAoK,EAAAxK,EAAA,GAMf1E,KAAKmN,iBAAkB,CAAF+B,EAAA/K,EAAA,QACmC,OAA1DnE,KAAKmN,iBAAiBuB,KAAKG,YAAY,CAAEnQ,KAAM,UAAWwQ,EAAA/K,EAAA,EACpD,IAAI8B,QAAQ,SAAAC,GAAO,OAAIqC,WAAWrC,EAAS,IAAI,GAAC,OAOvD,GAHGlG,KAAKoN,cACPpN,KAAKoN,YAAY+B,YAAYvL,QAAQ,SAAAwL,GAAK,OAAIA,EAAMC,MAAM,GAC1DrP,KAAKoN,YAAc,OAGjBpN,KAAKkN,cAA4C,WAA5BlN,KAAKkN,aAAaiB,MAAkB,CAAAe,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACrDnE,KAAKkN,aAAa3D,QAAO,OAC/BvJ,KAAKkN,aAAe,KAAK,OAG3BlN,KAAKmN,iBAAmB,KACxBnN,KAAKqN,aAAc,EACnBrN,KAAK4I,KAAK,oBAAoBsG,EAAA/K,EAAA,eAGJ,MAHI+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAG9B7E,KAAK4I,KAAK,QAAOqG,GAASA,EAAA,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAG7B,WA/BS,OAAAD,EAAAlL,MAAC,KAADL,UAAA,IAiCV,CAAA3E,IAAA,YAAAkE,MAGA,WACE,MAAO,CACLsK,YAAarN,KAAKqN,YAClBiC,kBAAmBtP,KAAKkN,aAAelN,KAAKkN,aAAaiB,MAAQ,SAErE,GAEA,CAAAtP,IAAA,UAAAkE,MAGA,WACE/C,KAAKqP,MACP,IA7HFxM,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAlD,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EA0EEkM,EA5DAzB,CA+GC,CAzH+B,CAAStK,G,mPCJ3C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,EAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAApH,OAAA4F,eAAA5F,OAAA2F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA7F,OAAA2F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAArH,OAAA4F,eAAA5F,OAAA4F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExBsL,EAAW,SAAAtI,GAC9B,SAAAsI,EAAY5Q,GAAQ,IAAAwI,EAOQ,OAZ9B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAAsM,IAClBpI,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAgI,IACK5Q,OAASA,EACdwI,EAAK+F,aAAe,KACpB/F,EAAKqI,WAAa,GAClBrI,EAAKsI,WAAY,EACjBtI,EAAKuI,mBAAoB,EACzBvI,EAAKwI,cAAgB,KAAKxI,CAC5B,CAEA,OAfF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAT,OAAA6B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAnG,OAAA4C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAeE4D,CAAA0H,EAAAtI,GAfFhD,EAeEsL,EAfF1M,EAeE,EAAAhE,IAAA,YAAAkE,MAGA,SAAU6M,GAAW,IAAA1H,EAAA,KACnB,IACE,IAAM2H,EAAY7P,KAAK8P,gBAAgBF,GACvC5P,KAAKwP,WAAWpM,KAAKyM,GAIhB7P,KAAKyP,WAAczP,KAAK0P,mBAAsB1P,KAAK2P,eACtDpH,WAAW,kBAAML,EAAK6H,cAAc,EAAE,GAE1C,CAAE,MAAOjM,GACP9D,KAAK4I,KAAK,gBAAiB9E,EAC7B,CACF,GAEA,CAAAjF,IAAA,kBAAAkE,MAGA,SAAgB6J,GACd,IAAMoD,EAAa,IAAIC,WAAWrD,GAGlC,GAAIoD,EAAWvM,QAAU,EAAG,CAE1B,GAAsB,KAAlBuM,EAAW,IAAiC,KAAlBA,EAAW,IACnB,KAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAIrD,KAAK,CAACC,GAAc,CAAElO,KAAM,cAIzC,GAAsB,MAAlBsR,EAAW,MAA0C,KAA1BA,EAAW,IACxC,OAAO,IAAIrD,KAAK,CAACC,GAAc,CAAElO,KAAM,eAIzC,GAAsB,KAAlBsR,EAAW,IAAiC,MAAlBA,EAAW,IACnB,MAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAIrD,KAAK,CAACC,GAAc,CAAElO,KAAM,aAE3C,CAGA,OAAO,IAAIiO,KAAK,CAACC,GAAc,CAAElO,KAAM,aACzC,GAEA,CAAAG,IAAA,eAAAkE,OA/DFoB,EA+DEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAA+H,EAAAK,EAAAhD,EAAAN,EAAAuD,EAAAC,EAAAC,EAAA9C,EAAA9B,EAAA,YAAA/F,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WAGMnE,KAAK0P,mBAAgD,IAA3B1P,KAAKwP,WAAW/L,OAAY,CAAA0E,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,UAMjB,GAFzC9E,KAAK0P,mBAAoB,EAEnBG,EAAY7P,KAAKwP,WAAWc,QAClB,CAAFnI,EAAAhE,EAAA,QACmB,OAA/BnE,KAAK0P,mBAAoB,EAAMvH,EAAArD,EAAA,UAgB/B,GAhB+BqD,EAAAzD,EAAA,EAOzBwL,GAAuBlQ,KAAKyP,WAAoC,OAAvBzP,KAAK2P,cAG/C3P,KAAKkN,eACRlN,KAAKkN,aAAe,IAAK7O,OAAO4P,cAAgB5P,OAAO6P,qBAM9B,eAHrBhB,EAAelN,KAAKkN,cAGTiB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EAC9B+I,EAAakB,SAAQ,cAAAjG,EAAAhE,EAAA,EAIH0L,EAAUjD,cAAa,OAAhC,OAAXA,EAAWzE,EAAAtD,EAAAsD,EAAAhE,EAAG,EACM+I,EAAaqD,gBAAgB3D,GAAY,OAA7DuD,EAAWhI,EAAAtD,EAIXuL,EAAkBF,IAAwBlQ,KAAKyP,WAAoC,OAAvBzP,KAAK2P,eAEjEU,EAASnD,EAAasD,sBACrBC,OAASN,EAChBE,EAAO5B,QAAQvB,EAAawD,aAG5B1Q,KAAK2P,cAAgBU,EACrBrQ,KAAKyP,WAAY,EAKbW,GACFpQ,KAAK4I,KAAK,mBAIZyH,EAAOM,QAAU,WACflF,EAAKkE,cAAgB,KACrBlE,EAAKiE,mBAAoB,EAGrBjE,EAAK+D,WAAW/L,OAAS,EAI3B8E,WAAW,kBAAMkD,EAAKsE,cAAc,EAAE,IAItCxH,WAAW,WAEsB,IAA3BkD,EAAK+D,WAAW/L,QAAiBgI,EAAKkE,gBACxClE,EAAKgE,WAAY,EACjBhE,EAAK7C,KAAK,mBAEd,EAAG,IAEP,EAGAyH,EAAOO,QAAQzI,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAGf7E,KAAK2P,cAAgB,KACrB3P,KAAK4I,KAAK,gBAAe2E,GAGrBvN,KAAKwP,WAAW/L,OAAS,GAC3BzD,KAAK0P,mBAAoB,EACzBnH,WAAW,kBAAMkD,EAAKsE,cAAc,EAAE,OAGtC/P,KAAKyP,WAAY,EACjBzP,KAAK0P,mBAAoB,EACzB1P,KAAK4I,KAAK,oBACX,cAAAT,EAAArD,EAAA,KAAAgD,EAAA,gBAlGL+I,EA/DF,eAAA3M,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,MAmKG,WAjGiB,OAAA+H,EAAAhN,MAAC,KAADL,UAAA,IAmGlB,CAAA3E,IAAA,OAAAkE,MAGA,WACE/C,KAAK8Q,eACP,GAEA,CAAAjS,IAAA,gBAAAkE,MAGA,WACE,IAAMgO,EAAa/Q,KAAKyP,WAAoC,OAAvBzP,KAAK2P,cAE1C,GAAI3P,KAAK2P,cAAe,CACtB,IACE3P,KAAK2P,cAAcN,MACrB,CAAE,MAAOvL,GACP,CAEF9D,KAAK2P,cAAgB,IACvB,CAEA3P,KAAKyP,WAAY,EACjBzP,KAAK0P,mBAAoB,EACzB1P,KAAKwP,WAAa,GAGduB,GACF/Q,KAAK4I,KAAK,kBAEd,GAEA,CAAA/J,IAAA,YAAAkE,MAGA,WACE,MAAO,CACL0M,UAAWzP,KAAKyP,UAChBC,kBAAmB1P,KAAK0P,kBACxBsB,YAAahR,KAAKwP,WAAW/L,OAC7B6L,kBAAmBtP,KAAKkN,aAAelN,KAAKkN,aAAaiB,MAAQ,SAErE,GAEA,CAAAtP,IAAA,UAAAkE,MAGA,WACE/C,KAAKqP,OAEDrP,KAAKkN,cAA4C,WAA5BlN,KAAKkN,aAAaiB,QACzCnO,KAAKkN,aAAa3D,QAClBvJ,KAAKkN,aAAe,KAExB,IA3NFrK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAlD,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EA+DE0M,CA4JC,CAvN6B,CAAS7N,G,oPCJzC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA0K,GAAA7I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,eAAAmI,GAAAhN,EAAApB,GAAA,IAAAqB,EAAAvE,OAAAuR,KAAAjN,GAAA,GAAAtE,OAAAwR,sBAAA,KAAA7O,EAAA3C,OAAAwR,sBAAAlN,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAlD,OAAAyR,yBAAAnN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAmN,GAAApN,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAoO,GAAAtR,OAAAuE,IAAA,GAAAN,QAAA,SAAAf,GAAAyO,GAAArN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAlD,OAAA4R,0BAAA5R,OAAA6R,iBAAAvN,EAAAtE,OAAA4R,0BAAArN,IAAA+M,GAAAtR,OAAAuE,IAAAN,QAAA,SAAAf,GAAAlD,OAAA4C,eAAA0B,EAAApB,EAAAlD,OAAAyR,yBAAAlN,EAAArB,GAAA,UAAAoB,CAAA,UAAAqN,GAAArN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAAtE,OAAA4C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,GAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,KAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,GAAA,mBAAAxC,CAAA,cAAA6C,GAAA7C,GAAA,OAAA6C,GAAApH,OAAA4F,eAAA5F,OAAA2F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA7F,OAAA2F,eAAApB,EAAA,EAAA6C,GAAA7C,EAAA,UAAA8C,GAAA9C,EAAAD,GAAA,OAAA+C,GAAArH,OAAA4F,eAAA5F,OAAA4F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,GAAA9C,EAAAD,EAAA,CAM2C,IAEtBwN,GAAQ,SAAAxK,GAC3B,SAAAwK,IAAyB,IAAAtK,EAAbxI,EAAM6E,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,EA8BM,OAvC9B,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCASyBhC,CAAA,KAAAwO,IACrBtK,EAVJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,GAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,KAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,GAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAUIsD,CAAA,KAAAkK,IAGK9S,OAAM0S,GAAA,CACThG,aAAc1M,EAAO0M,cAAgB,oCACrCqG,QAAS/S,EAAO+S,QAChBC,MAAOhT,EAAOgT,MACdC,MAAOjT,EAAOiT,MACdC,MAAOlT,EAAOkT,OAAS,UACvBC,SAAUnT,EAAOmT,UAAY,KAC7BlE,WAAYjP,EAAOiP,YAAc,MAC9BjP,GAILwI,EAAKsD,aAAc,EACnBtD,EAAKkG,aAAc,EACnBlG,EAAKsI,WAAY,EACjBtI,EAAK4K,aAAc,EAGnB5K,EAAK6K,iBAAmB,IAAIzH,EAAgB8G,GAAAA,GAAC,CAAC,EACzClK,EAAKxI,QAAM,IACdsT,eAA6C,IAA9B9K,EAAKxI,OAAOsT,iBAE7B9K,EAAK+K,cAAgB,IAAIjF,EAAc9F,EAAKxI,QAC5CwI,EAAKgL,YAAc,IAAI5C,EAAYpI,EAAKxI,QAGxCwI,EAAKiL,qBAAqBjL,CAC5B,CAEA,OA1CF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAT,OAAA6B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAnG,OAAA4C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,GAAA9C,EAAAD,EAAA,CA0CE4D,CAAA4J,EAAAxK,GA1CFhD,EA0CEwN,EA1CF5O,EA0CE,EAAAhE,IAAA,qBAAAkE,MAGA,WAAqB,IAAAmF,EAAA,KAEnBlI,KAAKgS,iBAAiBlG,GAAG,YAAa,WACpC5D,EAAKuC,aAAc,EACnBvC,EAAKmK,mBACLnK,EAAKU,KAAK,YACZ,GAEA5I,KAAKgS,iBAAiBlG,GAAG,eAAgB,SAAC3I,GACxC+E,EAAKuC,aAAc,EAIfvC,EAAKmF,aACPnF,EAAKoK,gBAAgB/G,MAAM,SAAArB,GACzBnG,QAAQD,MAAM,oDAAqDoG,EACrE,GAIFhC,EAAKU,KAAK,eAAgBzF,EAC5B,GAEAnD,KAAKgS,iBAAiBlG,GAAG,QAAS,SAAChI,GACjCoE,EAAKU,KAAK,QAAS9E,EACrB,GAEA9D,KAAKgS,iBAAiBlG,GAAG,UAAW,SAACG,GAEnC,GAAkB,mBAAdA,EAAQ/H,GAA0B+H,EAAQO,KAC5C,IAIE,IAFA,IAAM+F,EAAeC,KAAKvG,EAAQO,MAC5BoD,EAAY,IAAIK,WAAWsC,EAAa9O,QACrCW,EAAI,EAAGA,EAAImO,EAAa9O,OAAQW,IACvCwL,EAAUxL,GAAKmO,EAAaE,WAAWrO,GAGzC8D,EAAKiK,YAAYO,UAAU9C,GAC3B1H,EAAKU,KAAK,kBACZ,CAAE,MAAO9E,GACPC,QAAQD,MAAM,0CAA2CA,EAC3D,MAEAoE,EAAKU,KAAK,UAAWqD,EAEzB,GAEAjM,KAAKgS,iBAAiBlG,GAAG,cAAe,SAAC8D,GACvC1H,EAAKiK,YAAYO,UAAU9C,EAC7B,GAEA5P,KAAKgS,iBAAiBlG,GAAG,UAAW,SAACG,GACnC/D,EAAKU,KAAK,UAAWqD,EACvB,GAEAjM,KAAKgS,iBAAiBlG,GAAG,cAAe,SAACG,GACvC/D,EAAKU,KAAK,cAAeqD,GAIzB/D,EAAKiK,YAAYrB,eAEnB,GAGA9Q,KAAKkS,cAAcpG,GAAG,mBAAoB,WACxC5D,EAAKmF,aAAc,EAGfnF,EAAKuH,YAEPvH,EAAKiK,YAAYrB,gBAEb5I,EAAKuC,aACPvC,EAAK8J,iBAAiBW,YAAY,CAChCzO,EAAG,cAKTgE,EAAKU,KAAK,mBACZ,GAEA5I,KAAKkS,cAAcpG,GAAG,mBAAoB,WACxC5D,EAAKmF,aAAc,EACnBnF,EAAKU,KAAK,mBACZ,GAEA5I,KAAKkS,cAAcpG,GAAG,YAAa,SAAC8D,GAC9B1H,EAAKuC,aACPvC,EAAK8J,iBAAiBY,WAAWhD,EAErC,GAGA5P,KAAKmS,YAAYrG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKU,KAAK,mBAGNV,EAAKuC,aACPvC,EAAK8J,iBAAiBW,YAAY,CAChCzO,EAAG,yBAGT,GAEAlE,KAAKmS,YAAYrG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKU,KAAK,mBAGNV,EAAKuC,aACPvC,EAAK8J,iBAAiBW,YAAY,CAChCzO,EAAG,yBAGT,GAEAlE,KAAKmS,YAAYrG,GAAG,gBAAiB,SAAChI,GACpCoE,EAAKU,KAAK,gBAAiB9E,EAC7B,EACF,GAEA,CAAAjF,IAAA,UAAAkE,OAAAyI,EAAAwB,GAAAtH,KAAAE,EAGA,SAAAkC,IAAA,IAAA+K,EAAAtF,EAAA,OAAA7H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WACMnE,KAAK+R,YAAa,CAAF5J,EAAAhE,EAAA,QAC0C,OAA5DJ,QAAQwI,KAAK,+CAA+CpE,EAAArD,EAAA,GACrD,GAAK,OAQsC,OARtCqD,EAAAzD,EAAA,EAKNmO,EAAQ7S,KAAK8S,oBAGnB9S,KAAKgS,iBAAiBrT,OAAO0M,aAAewH,EAAM1K,EAAAhE,EAAA,EAE5CnE,KAAKgS,iBAAiBvD,UAAS,cAAAtG,EAAArD,EAAA,GAC9B,GAAI,OAGe,OAHfqD,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAEXd,QAAQD,MAAM,6CAA4CyJ,GAC1DvN,KAAK4I,KAAK,QAAO2E,GAASpF,EAAArD,EAAA,GACnB,GAAK,EAAAgD,EAAA,iBAEf,WApBY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IAsBb,CAAA3E,IAAA,oBAAAkE,MAGA,WACE,IAAIgF,EAAM/H,KAAKrB,OAAO0M,aAChB0H,EAAS,IAAIC,gBAsBnB,GAnBIhT,KAAKrB,OAAO+S,SACdqB,EAAOE,OAAO,UAAWjT,KAAKrB,OAAO+S,SAInC1R,KAAKrB,OAAOgT,OACdoB,EAAOE,OAAO,QAASjT,KAAKrB,OAAOgT,OAIjC3R,KAAKrB,OAAOkT,OAA+B,YAAtB7R,KAAKrB,OAAOkT,OACnCkB,EAAOE,OAAO,QAASjT,KAAKrB,OAAOkT,OAGjC7R,KAAKrB,OAAOmT,UAAqC,OAAzB9R,KAAKrB,OAAOmT,UACtCiB,EAAOE,OAAO,WAAYjT,KAAKrB,OAAOmT,UAIpCiB,EAAOhI,WAAY,CACrB,IAAMmI,EAAYnL,EAAIoL,SAAS,KAAO,IAAM,IAC5CpL,GAAOmL,EAAYH,EAAOhI,UAC5B,CAEA,OAAOhD,CACT,GAEA,CAAAlJ,IAAA,aAAAkE,MAGA,WACM/C,KAAK+R,cAGT/R,KAAKsS,gBACLtS,KAAKgS,iBAAiBoB,aACxB,GAEA,CAAAvU,IAAA,4BAAAkE,MAGA,WACM/C,KAAK+R,aAGT/R,KAAKgS,iBAAiBqB,2BACxB,GAEA,CAAAxU,IAAA,YAAAkE,OAAAuQ,EAAAtG,GAAAtH,KAAAE,EAGA,SAAAoJ,IAAA,OAAAtJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,WACMnE,KAAK+R,YAAa,CAAF7C,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,GACX,GAAK,OAImB,OADjC9E,KAAKoT,aACLpT,KAAKqT,4BAA4BnE,EAAA/K,EAAA,EACpBnE,KAAKyO,UAAS,cAAAS,EAAApK,EAAA,EAAAoK,EAAArK,GAAA,EAAAmK,EAAA,SAC5B,WARc,OAAAsE,EAAAzP,MAAC,KAADL,UAAA,IAUf,CAAA3E,IAAA,iBAAAkE,OAAAwQ,EAAAvG,GAAAtH,KAAAE,EAGA,SAAA4N,IAAA,IAAAvE,EAAA,OAAAvJ,KAAAC,EAAA,SAAA8N,GAAA,cAAAA,EAAA/O,EAAA+O,EAAAtP,GAAA,UACOnE,KAAKyK,YAAa,CAAFgJ,EAAAtP,EAAA,cACb,IAAI1D,MAAM,iCAAgC,OAYhD,OAZgDgT,EAAA/O,EAAA,EAKhD1E,KAAKgS,iBAAiBW,YAAY,CAChCzO,EAAG,wBACH0N,MAAO5R,KAAK0T,gBACZ7B,MAAO7R,KAAKrB,OAAOkT,MACnBC,SAAU9R,KAAKrB,OAAOmT,WAGxB2B,EAAAtP,EAAA,EACMnE,KAAKkS,cAActB,QAAO,cAAA6C,EAAA3O,EAAA,GACzB,GAAI,OAGe,OAHf2O,EAAA/O,EAAA,EAAAuK,EAAAwE,EAAA5O,EAEXd,QAAQD,MAAM,yCAAwCmL,GACtDjP,KAAK4I,KAAK,QAAOqG,GAASwE,EAAA3O,EAAA,GACnB,GAAK,EAAA0O,EAAA,iBAEf,WAtBmB,OAAAD,EAAA1P,MAAC,KAADL,UAAA,IAwBpB,CAAA3E,IAAA,gBAAAkE,OAAA4Q,EAAA3G,GAAAtH,KAAAE,EAGA,SAAAgO,IAAA,IAAAC,EAAA,OAAAnO,KAAAC,EAAA,SAAAmO,GAAA,cAAAA,EAAApP,EAAAoP,EAAA3P,GAAA,UACOnE,KAAKqN,YAAa,CAAFyG,EAAA3P,EAAA,eAAA2P,EAAAhP,EAAA,UAWnB,OAXmBgP,EAAApP,EAAA,EAMnB1E,KAAKgS,iBAAiBW,YAAY,CAChCzO,EAAG,uBACH0N,MAAO5R,KAAK0T,kBAGdI,EAAA3P,EAAA,EACMnE,KAAKkS,cAAc7C,OAAM,OAGE,OAAjCrP,KAAKmS,YAAYrB,gBAAgBgD,EAAAhP,EAAA,GAE1B,GAAI,OAEe,OAFfgP,EAAApP,EAAA,EAAAmP,EAAAC,EAAAjP,EAEX7E,KAAK4I,KAAK,QAAOiL,GAASC,EAAAhP,EAAA,GACnB,GAAK,EAAA8O,EAAA,iBAEf,WAvBkB,OAAAD,EAAA9P,MAAC,KAADL,UAAA,IAyBnB,CAAA3E,IAAA,kBAAAkE,OAAAgR,EAAA/G,GAAAtH,KAAAE,EAGA,SAAAoO,IAAA,OAAAtO,KAAAC,EAAA,SAAAsO,GAAA,cAAAA,EAAA9P,GAAA,WACMnE,KAAKqN,YAAa,CAAF4G,EAAA9P,EAAA,eAAA8P,EAAA9P,EAAA,EACLnE,KAAKsS,gBAAe,OAEC,cAAA2B,EAAAnP,EAAA,EAAAmP,EAAApP,GAFD,cAAAoP,EAAA9P,EAAA,EAEpBnE,KAAKkU,iBAAgB,cAAAD,EAAAnP,EAAA,KAAAkP,EAAA,SAErC,WANoB,OAAAD,EAAAlQ,MAAC,KAADL,UAAA,IAQrB,CAAA3E,IAAA,oBAAAkE,MAGA,WACE/C,KAAKmS,YAAYrB,eACnB,GAEA,CAAAjS,IAAA,gBAAAkE,OAAAoR,EAAAnH,GAAAtH,KAAAE,EAGA,SAAAwO,IAAA,OAAA1O,KAAAC,EAAA,SAAA0O,GAAA,cAAAA,EAAAlQ,GAAA,OAIE,GAFAnE,KAAKsU,oBAGAtU,KAAKqN,YAAa,CAAFgH,EAAAlQ,EAAA,eAAAkQ,EAAAlQ,EAAA,EACbnE,KAAKkU,iBAAgB,cAAAG,EAAAvP,EAAA,KAAAsP,EAAA,SAE9B,WARkB,OAAAD,EAAAtQ,MAAC,KAADL,UAAA,IAUnB,CAAA3E,IAAA,YAAAkE,MAGA,WACE,MAAO,CACL0H,YAAazK,KAAKyK,YAClB4C,YAAarN,KAAKqN,YAClBoC,UAAWzP,KAAKyP,UAEpB,GAEA,CAAA5Q,IAAA,eAAAkE,MAGA,SAAawR,GACXvU,KAAKrB,OAAM0S,GAAAA,GAAA,GAAQrR,KAAKrB,QAAW4V,EACrC,GAEA,CAAA1V,IAAA,gBAAAkE,MAGA,WACE,MAAO,OAASoG,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAAK,IAAMJ,KAAKC,KACvE,GAEA,CAAAhM,IAAA,mBAAAkE,MAGA,WACE,GAAK/C,KAAKyK,YAAV,CAKA,IAAM+J,EAAe,CACnBtQ,EAAG,SAIDlE,KAAKrB,OAAOgT,MACd6C,EAAa7C,MAAQ3R,KAAKrB,OAAOgT,MACxB3R,KAAKrB,OAAOiT,MAErB4C,EAAa5C,MAAQ5R,KAAKrB,OAAOiT,MAGjC4C,EAAa5C,MAAQ5R,KAAK0T,gBAK5B,IACE1T,KAAKgS,iBAAiBW,YAAY6B,EACpC,CAAE,MAAO1Q,GACPC,QAAQD,MAAM,0CAA2CA,GACzD9D,KAAK4I,KAAK,QAAS9E,EACrB,CAxBA,MAFEC,QAAQwI,KAAK,sDA2BjB,GAEA,CAAA1N,IAAA,UAAAkE,MAGA,WACM/C,KAAK+R,cAKT/R,KAAKoT,aAELpT,KAAK+R,aAAc,EACnB/R,KAAKkS,cAAcuC,UACnBzU,KAAKmS,YAAYsC,UACjBzU,KAAK0U,qBACP,IAxaF7R,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAlD,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAiVEsR,EAlBAJ,EA5BAJ,EA3BAJ,EAbAD,EAjFA9H,CA8PC,CAha0B,CAASxI,G,0tCCRtC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA2H,GAAApH,EAAAoB,GAAA,gBAAApB,GAAA,GAAA/B,MAAAC,QAAA8B,GAAA,OAAAA,CAAA,CAAA8R,CAAA9R,IAAA,SAAAA,EAAAmC,GAAA,IAAAd,EAAA,MAAArB,EAAA,yBAAAtE,QAAAsE,EAAAtE,OAAAa,WAAAyD,EAAA,uBAAAqB,EAAA,KAAAD,EAAAE,EAAAC,EAAAG,EAAAO,EAAA,GAAAL,GAAA,EAAAnC,GAAA,SAAA8B,GAAAF,EAAAA,EAAAtB,KAAAC,IAAA+R,KAAA,IAAA5P,EAAA,IAAArF,OAAAuE,KAAAA,EAAA,OAAAO,GAAA,cAAAA,GAAAR,EAAAG,EAAAxB,KAAAsB,IAAAgB,QAAAJ,EAAA1B,KAAAa,EAAAlB,OAAA+B,EAAArB,SAAAuB,GAAAP,GAAA,UAAA5B,GAAAP,GAAA,EAAA6B,EAAAtB,CAAA,iBAAA4B,GAAA,MAAAP,EAAAiB,SAAAZ,EAAAL,EAAAiB,SAAAxF,OAAA4E,KAAAA,GAAA,kBAAAjC,EAAA,MAAA6B,CAAA,SAAAW,CAAA,EAAA+P,CAAAhS,EAAAoB,IAAA,SAAApB,EAAAiC,GAAA,GAAAjC,EAAA,qBAAAA,EAAA,OAAAiS,GAAAjS,EAAAiC,GAAA,IAAAZ,EAAA,GAAA6G,SAAAnI,KAAAC,GAAAkS,MAAA,uBAAA7Q,GAAArB,EAAAjC,cAAAsD,EAAArB,EAAAjC,YAAAoU,MAAA,QAAA9Q,GAAA,QAAAA,EAAApD,MAAAmU,KAAApS,GAAA,cAAAqB,GAAA,2CAAAgR,KAAAhR,GAAA4Q,GAAAjS,EAAAiC,QAAA,GAAAqQ,CAAAtS,EAAAoB,IAAA,qBAAAgB,UAAA,6IAAAmQ,EAAA,UAAAN,GAAAjS,EAAAiC,IAAA,MAAAA,GAAAA,EAAAjC,EAAAY,UAAAqB,EAAAjC,EAAAY,QAAA,QAAAQ,EAAA,EAAAE,EAAArD,MAAAgE,GAAAb,EAAAa,EAAAb,IAAAE,EAAAF,GAAApB,EAAAoB,GAAA,OAAAE,CAAA,CAiKA,SA5JoB,SAAHkR,GAmBX,IAlBJhK,EAAYgK,EAAZhK,aACAqG,EAAO2D,EAAP3D,QAAO4D,EAAAD,EACPxD,MAAAA,OAAK,IAAAyD,EAAG,UAASA,EAAAC,EAAAF,EACjBvD,SAAAA,OAAQ,IAAAyD,EAAG,KAAIA,EAAAC,EAAAH,EACfpD,cAAAA,OAAa,IAAAuD,GAAOA,EACpBC,EAAWJ,EAAXI,YACAC,EAAcL,EAAdK,eACAC,EAAkBN,EAAlBM,mBACAC,EAAkBP,EAAlBO,mBACAC,EAAiBR,EAAjBQ,kBACAC,EAAiBT,EAAjBS,kBACAC,EAAOV,EAAPU,QACAC,EAASX,EAATW,UACAC,EAASZ,EAATY,UACAC,EAAab,EAAba,cAAaC,EAAAd,EACbe,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAAAE,EAAAhB,EACdiB,MAAAA,OAAK,IAAAD,EAAG,CAAC,EAACA,EACVE,EAAQlB,EAARkB,SAEqDC,EAAAvM,IAAfrI,EAAAA,GAAAA,WAAS,GAAM,GAA9C6I,EAAW+L,EAAA,GAAEC,EAAcD,EAAA,GACmBE,EAAAzM,IAAfrI,EAAAA,GAAAA,WAAS,GAAM,GAA9CyL,EAAWqJ,EAAA,GAAEC,EAAcD,EAAA,GACeE,EAAA3M,IAAfrI,EAAAA,GAAAA,WAAS,GAAM,GAA/BiV,GAAFD,EAAA,GAAcA,EAAA,IAC0CE,EAAA7M,IAAxBrI,EAAAA,GAAAA,UAAS,gBAAe,GAA/CmV,GAAFD,EAAA,GAAqBA,EAAA,IAEtCE,GAActV,EAAAA,GAAAA,QAAO,OAG3BH,EAAAA,GAAAA,WAAU,WACRwC,QAAQkT,IAAI,mDAADjT,OAAoDqH,IAG3D2L,EAAYE,UACdnT,QAAQkT,IAAI,0DACZD,EAAYE,QAAQzC,UACpBuC,EAAYE,QAAU,MAGxB,IAAMC,EAAW,IAAI1F,GAAS,CAC5BpG,aAAAA,EACAqG,QAAAA,EACAG,MAAAA,EACAC,SAAAA,EACAG,cAAAA,IA0DF,OAtDAkF,EAASrL,GAAG,YAAa,WACvB2K,GAAe,GACfM,EAAoB,aACpBtB,SAAAA,GACF,GAEA0B,EAASrL,GAAG,eAAgB,WAC1B2K,GAAe,GACfM,EAAoB,gBACpBrB,SAAAA,GACF,GAEAyB,EAASrL,GAAG,mBAAoB,WAC9B6K,GAAe,GACfhB,SAAAA,GACF,GAEAwB,EAASrL,GAAG,mBAAoB,WAC9B6K,GAAe,GACff,SAAAA,GACF,GAEAuB,EAASrL,GAAG,kBAAmB,WAC7B+K,GAAa,GACbhB,SAAAA,GACF,GAEAsB,EAASrL,GAAG,kBAAmB,WAC7B+K,GAAa,GACbf,SAAAA,GACF,GAEAqB,EAASrL,GAAG,QAAS,SAAChI,GACpBiS,SAAAA,EAAUjS,EACZ,GAEAqT,EAASrL,GAAG,UAAW,SAACG,GACtB+J,SAAAA,EAAY/J,EACd,GAEAkL,EAASrL,GAAG,UAAW,SAACG,GACtBgK,SAAAA,EAAYhK,EACd,GAEAkL,EAASrL,GAAG,cAAe,SAACG,GAC1BiK,SAAAA,EAAgBjK,EAClB,GAEA+K,EAAYE,QAAUC,EAGtBA,EAAS1I,UAGF,WACL1K,QAAQkT,IAAI,sDAADjT,OAAuDqH,IAC9D2L,EAAYE,UACdF,EAAYE,QAAQzC,UACpBuC,EAAYE,QAAU,KAE1B,CACF,EAAG,CAAC7L,EAAcqG,EAASG,EAAOC,IAGlC,IAAMsF,EAAW,eApHnBjT,EAoHmBkT,GApHnBlT,EAoHmBuB,KAAAE,EAAG,SAAAkC,IAAA,IAAAyF,EAAA,OAAA7H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UACb6S,EAAYE,QAAS,CAAF/O,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,iBAAAqD,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAGhB6S,EAAYE,QAAQI,kBAAiB,OAAAnP,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAE3Cd,QAAQD,MAAM,4BAA2ByJ,GAAS,cAAApF,EAAArD,EAAA,KAAAgD,EAAA,gBA1HxD,eAAA5D,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,OA4HG,kBARgB,OAAAuO,EAAAxT,MAAA,KAAAL,UAAA,KAWX+T,GACJC,EAAAA,GAAAA,MAAA,OAAKlB,MAAO,CAAEmB,QAAS,OAAQC,WAAY,SAAUC,IAAK,OAAQpB,SAAA,EAChEqB,EAAAA,GAAAA,KAAA,OAAKtB,MAAO,CAAEuB,SAAU,QAAStB,SAC9BlJ,EAAc,KAAO,QAExBuK,EAAAA,GAAAA,KAAA,OAAArB,SACGlJ,EAAc,iBAAmB,uBAKxC,OACEuK,EAAAA,GAAAA,KAAA,UACExB,UAAS,gBAAApS,OAAkBqJ,EAAc,YAAc,GAAE,KAAArJ,OAAIoS,GAC7DE,MAAKjF,GAAA,CACHyG,QAAS,YACTC,OAAQ,OACRC,aAAc,MACdC,gBAAiB5K,EAAc,UAAY,UAC3C6K,MAAO,QACPC,OAAQ,UACRN,SAAU,OACVO,WAAY,MACZC,WAAY,iBACT/B,GAELgC,QAASlB,EACTmB,UAAW9N,EAAY8L,SAEtBA,GAAYgB,GAGnB,E,uPC/JA,IAAAtT,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA0K,GAAA7I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,eAAAmI,GAAAhN,EAAApB,GAAA,IAAAqB,EAAAvE,OAAAuR,KAAAjN,GAAA,GAAAtE,OAAAwR,sBAAA,KAAA7O,EAAA3C,OAAAwR,sBAAAlN,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAlD,OAAAyR,yBAAAnN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAoN,GAAArN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAAtE,OAAA4C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,GAAA/D,EAAAzD,KAAAyD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAE2C,IAEtBoU,GAAW,WA6B9B,OAjCFvU,EAKE,SAAAuU,IAA0B,IAAdC,EAAOjV,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,GALzB,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAK0BhC,CAAA,KAAAuV,GACtBxY,KAAKyY,QANT,SAAAxU,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAoO,GAAAtR,OAAAuE,IAAA,GAAAN,QAAA,SAAAf,GAAAyO,GAAArN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAlD,OAAA4R,0BAAA5R,OAAA6R,iBAAAvN,EAAAtE,OAAA4R,0BAAArN,IAAA+M,GAAAtR,OAAAuE,IAAAN,QAAA,SAAAf,GAAAlD,OAAA4C,eAAA0B,EAAApB,EAAAlD,OAAAyR,yBAAAlN,EAAArB,GAAA,UAAAoB,CAAA,CAMgBoN,CAAA,CACVhG,aAAcoN,EAAQpN,cAAgB,oCACtCqG,QAAS+G,EAAQ/G,QACjBG,MAAO4G,EAAQ5G,OAAS,UACxBC,SAAU2G,EAAQ3G,UAAY,KAC9B4G,UAAWD,EAAQC,WAAaC,SAASC,KACzCC,WAAYJ,EAAQI,YAAc,kBAClCC,YAAaL,EAAQK,aAAe,gBACjCL,GAGLzY,KAAKyK,aAAc,EACnBzK,KAAKqN,aAAc,EACnBrN,KAAKyP,WAAY,EAEjBzP,KAAKmX,SAAW,IAAI1F,GAAS,CAC3BpG,aAAcrL,KAAKyY,QAAQpN,aAC3BqG,QAAS1R,KAAKyY,QAAQ/G,QACtBG,MAAO7R,KAAKyY,QAAQ5G,MACpBC,SAAU9R,KAAKyY,QAAQ3G,WAGzB9R,KAAKsL,sBACLtL,KAAK+Y,eACL/Y,KAAKyO,SACP,EA/BF5L,EAiCE,EAAAhE,IAAA,sBAAAkE,MAGA,WAAsB,IAAAoE,EAAA,KACpBnH,KAAKmX,SAASrL,GAAG,YAAa,WAAM,IAAAkN,EAAAC,EAClC9R,EAAKsD,aAAc,EACnBtD,EAAK+R,eACmB,QAAxBF,GAAAC,EAAA9R,EAAKsR,SAAQhD,mBAAW,IAAAuD,GAAxBA,EAAApW,KAAAqW,EACF,GAEAjZ,KAAKmX,SAASrL,GAAG,eAAgB,WAAM,IAAAqN,EAAAC,EACrCjS,EAAKsD,aAAc,EACnBtD,EAAK+R,eACsB,QAA3BC,GAAAC,EAAAjS,EAAKsR,SAAQ/C,sBAAc,IAAAyD,GAA3BA,EAAAvW,KAAAwW,EACF,GAEApZ,KAAKmX,SAASrL,GAAG,mBAAoB,WAAM,IAAAuN,EAAAC,EACzCnS,EAAKkG,aAAc,EACnBlG,EAAK+R,eAC0B,QAA/BG,GAAAC,EAAAnS,EAAKsR,SAAQ9C,0BAAkB,IAAA0D,GAA/BA,EAAAzW,KAAA0W,EACF,GAEAtZ,KAAKmX,SAASrL,GAAG,mBAAoB,WAAM,IAAAyN,EAAAC,EACzCrS,EAAKkG,aAAc,EACnBlG,EAAK+R,eAC0B,QAA/BK,GAAAC,EAAArS,EAAKsR,SAAQ7C,0BAAkB,IAAA2D,GAA/BA,EAAA3W,KAAA4W,EACF,GAEAxZ,KAAKmX,SAASrL,GAAG,kBAAmB,WAAM,IAAA2N,EAAAC,EACxCvS,EAAKsI,WAAY,EACa,QAA9BgK,GAAAC,EAAAvS,EAAKsR,SAAQ5C,yBAAiB,IAAA4D,GAA9BA,EAAA7W,KAAA8W,EACF,GAEA1Z,KAAKmX,SAASrL,GAAG,kBAAmB,WAAM,IAAA6N,EAAAC,EACxCzS,EAAKsI,WAAY,EACa,QAA9BkK,GAAAC,EAAAzS,EAAKsR,SAAQ3C,yBAAiB,IAAA6D,GAA9BA,EAAA/W,KAAAgX,EACF,GAEA5Z,KAAKmX,SAASrL,GAAG,QAAS,SAAChI,GAAU,IAAA+V,EAAAC,EACf,QAApBD,GAAAC,EAAA3S,EAAKsR,SAAQ1C,eAAO,IAAA8D,GAApBA,EAAAjX,KAAAkX,EAAuBhW,EACzB,GAEA9D,KAAKmX,SAASrL,GAAG,UAAW,SAACG,GAAY,IAAA8N,EAAAC,EACjB,QAAtBD,GAAAC,EAAA7S,EAAKsR,SAAQzC,iBAAS,IAAA+D,GAAtBA,EAAAnX,KAAAoX,EAAyB/N,EAC3B,GAEAjM,KAAKmX,SAASrL,GAAG,UAAW,SAACG,GAAY,IAAAgO,EAAAC,EACjB,QAAtBD,GAAAC,EAAA/S,EAAKsR,SAAQxC,iBAAS,IAAAgE,GAAtBA,EAAArX,KAAAsX,EAAyBjO,EAC3B,GAEAjM,KAAKmX,SAASrL,GAAG,cAAe,SAACG,GAAY,IAAAkO,EAAAC,EACjB,QAA1BD,GAAAC,EAAAjT,EAAKsR,SAAQvC,qBAAa,IAAAiE,GAA1BA,EAAAvX,KAAAwX,EAA6BnO,EAC/B,EACF,GAEA,CAAApN,IAAA,eAAAkE,MAGA,WAAe,IAAAmF,EAAA,KACblI,KAAKqa,OAAS1B,SAAS2B,cAAc,UACrCta,KAAKqa,OAAOjE,UAAYpW,KAAKyY,QAAQK,YACrC9Y,KAAKqa,OAAO/D,MAAMiE,QAAU,yTAe5Bva,KAAKqa,OAAO3R,iBAAiB,QAAS,kBAAMR,EAAKoP,iBAAiB,GAClEtX,KAAKyY,QAAQC,UAAU8B,YAAYxa,KAAKqa,QAExCra,KAAKkZ,cACP,GAEA,CAAAra,IAAA,eAAAkE,MAGA,WACE,GAAK/C,KAAKqa,OAAV,CAEA,IAAMI,EAAOza,KAAKqN,YAAc,KAAO,KACjCqN,EAAO1a,KAAKqN,YAAc,iBAAmB,kBAEnDrN,KAAKqa,OAAOM,UAAY,0CAAH3W,OACcyW,EAAI,yBAAAzW,OAC7B0W,EAAI,iBAGd1a,KAAKqa,OAAO9B,UAAYvY,KAAKyK,YAC7BzK,KAAKqa,OAAO/D,MAAM2B,gBAAkBjY,KAAKqN,YAAc,UACrBrN,KAAKyK,YAAc,UAAY,SAZzC,CAa1B,GAEA,CAAA5L,IAAA,UAAAkE,OAAAyI,EAAAwB,GAAAtH,KAAAE,EAGA,SAAAkC,IAAA,IAAAyF,EAAA,OAAA7H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAEUnE,KAAKmX,SAAS1I,UAAS,OAAAtG,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAE7Bd,QAAQD,MAAM,qBAAoByJ,GAAS,cAAApF,EAAArD,EAAA,KAAAgD,EAAA,iBAE9C,WANY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IAQb,CAAA3E,IAAA,kBAAAkE,OAAAgR,EAAA/G,GAAAtH,KAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACOnE,KAAKmX,SAAU,CAAFjI,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,iBAAAoK,EAAAxK,EAAA,EAAAwK,EAAA/K,EAAA,EAGVnE,KAAKmX,SAASG,kBAAiB,OAAApI,EAAA/K,EAAA,eAAA+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAErCd,QAAQD,MAAM,4BAA2BmL,GAAS,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAErD,WARoB,OAAA+E,EAAAlQ,MAAC,KAADL,UAAA,IAUrB,CAAA3E,IAAA,YAAAkE,MAGA,WACE,MAAO,CACL0H,YAAazK,KAAKyK,YAClB4C,YAAarN,KAAKqN,YAClBoC,UAAWzP,KAAKyP,UAEpB,GAEA,CAAA5Q,IAAA,eAAAkE,MAGA,SAAawR,GACXvU,KAAKmX,SAASyD,aAAarG,EAC7B,GAEA,CAAA1V,IAAA,UAAAkE,MAGA,WACM/C,KAAKqa,QAAUra,KAAKqa,OAAOQ,YAC7B7a,KAAKqa,OAAOQ,WAAWC,YAAY9a,KAAKqa,QAGtCra,KAAKmX,UACPnX,KAAKmX,SAAS1C,SAElB,IA3LF5R,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAlD,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAiJEkR,EAXAvI,CAqDC,CAvL6B,G,o7BCJhC,IAAAvH,EAAAC,EAAArB,EAAA,mBAAAtE,OAAAA,OAAA,GAAA4F,EAAAtB,EAAAzD,UAAA,aAAAkD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA5E,OAAA6B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAvE,OAAA2F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAT,OAAA6B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAAtE,OAAA4F,eAAA5F,OAAA4F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAT,OAAA6B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAzE,OAAA4C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA0K,GAAA7I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA6E,EAAA3E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,OAAA5E,EAAA,UAAA4E,EAAA5E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAAwG,EAAAC,EAAA,QAAA5E,EAAA,CAAA2E,OAAA,eAAA7F,GAAA6B,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,8CAAAmB,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAApG,OAAA4C,eAAA0B,EAAAoC,GAAA/D,EAAAzD,KAAAyD,EAAA,WAAAyY,GAAA9W,EAAApB,EAAAqB,GAAA,OAAArB,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,GAAAnC,EAAAC,GAAAvE,OAAA4C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,CAAA,UAAAoC,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA3F,OAAAgI,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAQO,IAAM4W,GAAQ,WAclB,OAAAD,GAbD,SAAAC,EAAYrc,GAAQsE,GAAA,KAAA+X,GAClBjX,QAAQkT,IAAI,8CAA+CtY,GAC3DqB,KAAKrB,OAASA,EACdqB,KAAKmX,SAAW,KAChBnX,KAAKyK,aAAc,EACnBzK,KAAKib,aAAc,EAGnBjb,KAAKyV,YAAc,WAAO,EAC1BzV,KAAK0V,eAAiB,WAAO,EAC7B1V,KAAK+V,QAAU,SAACjS,GAAK,OAAKC,QAAQD,MAAM,aAAcA,EAAM,EAC5D9D,KAAKkb,aAAe,SAACR,GAAU,EAC/B1a,KAAKmb,gBAAkB,SAACC,GAAa,CACvC,EAAC,EAAAvc,IAAA,UAAAkE,OAAAyI,EAAAwB,GAAAtH,KAAAE,EAED,SAAAkC,EAAcuT,GAAS,IAAA9N,EAAApG,EAAA,YAAAzB,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UAAAgE,EAAAzD,EAAA,EAEd2W,EAAW,CAAFlT,EAAAhE,EAAA,cACN,IAAI1D,MAAM,yBAAwB,OAsD1C,OAlDIT,KAAKmX,WACPpT,QAAQkT,IAAI,gDACZjX,KAAKmX,SAAS1C,UACdzU,KAAKmX,SAAW,MAIlBnX,KAAKmX,SAAW,IAAI1F,GAAS,CAC3BpG,aAAcgQ,EACdpJ,eAAe,EACfP,QAAS1R,KAAKrB,OAAO+S,QACrBC,MAAO3R,KAAKrB,OAAOgT,MACnBG,SAAU9R,KAAKrB,OAAOmT,UAAY,OAIpC9R,KAAKmX,SAASrL,GAAG,YAAa,WAC5B3E,EAAKsD,aAAc,EACnBtD,EAAKsO,aACP,GAEAzV,KAAKmX,SAASrL,GAAG,eAAgB,WAC/B3E,EAAKsD,aAAc,EACnBtD,EAAKuO,gBACP,GAEA1V,KAAKmX,SAASrL,GAAG,QAAS,SAAChI,GACzBqD,EAAK4O,QAAQjS,EACf,GAEA9D,KAAKmX,SAASrL,GAAG,UAAW,SAACG,GAC3B9E,EAAKmU,uBAAuBrP,EAC9B,GAEAjM,KAAKmX,SAASrL,GAAG,mBAAoB,WACnC3E,EAAK8T,aAAc,CACrB,GAEAjb,KAAKmX,SAASrL,GAAG,mBAAoB,WACnC3E,EAAK8T,aAAc,CACrB,GAEAjb,KAAKmX,SAASrL,GAAG,kBAAmB,WAClC3E,EAAKgU,iBAAgB,EACvB,GAEAnb,KAAKmX,SAASrL,GAAG,kBAAmB,WAClC3E,EAAKgU,iBAAgB,EACvB,GAEAhT,EAAAhE,EAAA,EACMnE,KAAKmX,SAAS1I,UAAS,OAAAtG,EAAAhE,EAAA,eAGT,MAHSgE,EAAAzD,EAAA,EAAA6I,EAAApF,EAAAtD,EAG7B7E,KAAK+V,QAAOxI,GAAQA,EAAA,cAAApF,EAAArD,EAAA,KAAAgD,EAAA,iBAGvB,SAhEYkB,GAAA,OAAAwC,EAAA3H,MAAC,KAADL,UAAA,KAAA3E,IAAA,yBAAAkE,MAkEb,SAAuBkJ,GAErB,OAAQA,EAAQvN,MACd,IAAK,YACHqF,QAAQkT,IAAI,gCACZ,MAEF,IAAK,kBACHjX,KAAKkb,aAAajP,EAAQsP,oBAAsBtP,EAAQyO,MACxD,MAEF,IAAK,iBAIL,IAAK,WAIL,IAAK,eAEH,MAEF,IAAK,QACH1a,KAAK+V,QAAQ,IAAItV,MAAMwL,EAAQA,UAGrC,GAAC,CAAApN,IAAA,iBAAAkE,OAAAyY,EAAAxO,GAAAtH,KAAAE,EAED,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,OACsD,GAApDJ,QAAQkT,IAAI,yCACRjX,KAAKmX,SAAU,CAAFjI,EAAA/K,EAAA,QAEqC,OAFrC+K,EAAAxK,EAAA,EAEbX,QAAQkT,IAAI,sCAAsC/H,EAAA/K,EAAA,EAC5CnE,KAAKmX,SAASjD,iBAAgB,OACpCnQ,QAAQkT,IAAI,8CAA8C/H,EAAA/K,EAAA,eAEK,MAFL+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAE1Dd,QAAQD,MAAM,yCAAwCmL,GAASA,EAAA,OAAAC,EAAA/K,EAAA,eAIL,MAA5DJ,QAAQD,MAAM,8CACR,IAAIrD,MAAM,kCAAiC,cAAAyO,EAAApK,EAAA,KAAAkK,EAAA,iBAEpD,WAfmB,OAAAwM,EAAA3X,MAAC,KAADL,UAAA,KAAA3E,IAAA,gBAAAkE,MAiBpB,WACM/C,KAAKmX,UACPnX,KAAKmX,SAAS7E,eAElB,GAAC,CAAAzT,IAAA,kBAAAkE,MAED,SAAgB0Y,GACVzb,KAAKmX,UAAYnX,KAAKyK,aAExBzK,KAAKmX,SAASnF,iBAAiBW,YAAY,CACzCzO,EAAG,mBACHuX,UAAAA,GAGN,GAAC,CAAA5c,IAAA,aAAAkE,MAED,WACM/C,KAAKmX,WACPnX,KAAKmX,SAAS1C,UACdzU,KAAKmX,SAAW,MAElBnX,KAAKyK,aAAc,EACnBzK,KAAKib,aAAc,CACrB,KA1CC,IAAAO,EA/FAhQ,CAyIA,CAvJkB,GA8JRkQ,GAAW,WAiBtB,OAAAX,GAhBA,SAAAW,IAAyB,IAAAxT,EAAA,KAAbvJ,EAAM6E,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,EAACP,GAAA,KAAAyY,GAErB1b,KAAKrB,OAASqB,KAAK2b,kBAAkBhd,GACrCqB,KAAK4b,IAAM,IAAIZ,GAAShb,KAAKrB,QAC7BqB,KAAK6b,QAAS,EACd7b,KAAK8b,UAAW,EAEhB9b,KAAKoS,qBACLpS,KAAK+b,eAGD/b,KAAKrB,OAAOqd,SAASC,UACvB1T,WAAW,kBAAML,EAAKgU,aAAa,EAAE,IAEzC,EAEA,EAAArd,IAAA,oBAAAkE,MAIA,SAAkBoZ,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAExBC,EAAiB1C,EAAW2C,UAAY,eAC5C,GAA8B,iBAAnBD,EAA6B,CAEtC,IAAME,EAAQF,EAAeG,MAAM,KACnCH,EAAiB,CACfI,SAAUF,EAAM,IAAM,SACtBG,WAAYH,EAAM,IAAM,QACxBI,OAAQhD,EAAWiD,gBAAkB,CAAEC,EAAG,GAAI1a,EAAG,IAErD,CAGA,IAAM2a,EAAenD,EAAWmD,eAAiC,QAArBlD,EAAID,EAAW9B,cAAM,IAAA+B,OAAA,EAAjBA,EAAmBkD,eAAgB,UAEnF,OAAAjO,GAAA,CAEEK,QAASyK,EAAWzK,QACpBC,MAAOwK,EAAWxK,MAClB4N,cAAepD,EAAWoD,cAC1BlU,aAAc8Q,EAAW9Q,aACzBmU,MAA0B,IAApBrD,EAAWqD,KAGjB/E,KAAIpJ,GAAA,CACF3S,MAAqB,QAAf2d,EAAAF,EAAW1B,YAAI,IAAA4B,OAAA,EAAfA,EAAiB3d,OAAQ,aAC/B+gB,aAA4B,QAAfnD,EAAAH,EAAW1B,YAAI,IAAA6B,OAAA,EAAfA,EAAiBmD,cAAe,KAC7CC,OAAsB,QAAfnD,EAAAJ,EAAW1B,YAAI,IAAA8B,OAAA,EAAfA,EAAiBmD,QAAS,KACjChF,MAAqB,QAAf8B,EAAAL,EAAW1B,YAAI,IAAA+B,OAAA,EAAfA,EAAiB9B,OAAQ,KAC/BiF,MAAqB,QAAflD,EAAAN,EAAW1B,YAAI,IAAAgC,OAAA,EAAfA,EAAiBkD,OAAQ,UAC5BxD,EAAW1B,MAIhBqE,SAAQzN,GAAA,CACN4N,SAAUJ,EAAeI,UAAY,SACrCC,WAAYL,EAAeK,YAAc,QACzCC,OAAQN,EAAeM,QAAU,CAAEE,EAAG,GAAI1a,EAAG,KACV,WAA/B2B,GAAO6V,EAAW2C,UAAwB3C,EAAW2C,SAAW,CAAC,GAIvEzE,OAAMhJ,GAAA,CACJsO,MAAuB,QAAjBjD,EAAAP,EAAW9B,cAAM,IAAAqC,OAAA,EAAjBA,EAAmBiD,OAAQ,SACjCC,OAAwB,QAAjBjD,EAAAR,EAAW9B,cAAM,IAAAsC,OAAA,EAAjBA,EAAmBiD,QAAS,SACnCN,aAAcA,EACdO,YAA6B,QAAjBjD,EAAAT,EAAW9B,cAAM,IAAAuC,OAAA,EAAjBA,EAAmBiD,aAAc,UAC7CC,aAA8B,QAAjBjD,EAAAV,EAAW9B,cAAM,IAAAwC,OAAA,EAAjBA,EAAmBiD,cAAe,UAC/CC,QAAsC,KAAb,QAAjBjD,EAAAX,EAAW9B,cAAM,IAAAyC,OAAA,EAAjBA,EAAmBiD,QAC3BC,aAA8B,QAAjBjD,EAAAZ,EAAW9B,cAAM,IAAA0C,OAAA,EAAjBA,EAAmBiD,cAAe,oBAC5C7D,EAAW9B,QAIhB4F,MAAK5O,GAAA,CACH6O,OAAuB,QAAhBlD,EAAAb,EAAW8D,aAAK,IAAAjD,OAAA,EAAhBA,EAAkBkD,QAAS,IAClCC,QAAwB,QAAhBlD,EAAAd,EAAW8D,aAAK,IAAAhD,OAAA,EAAhBA,EAAkBkD,SAAU,IACpCnI,cAA8B,QAAhBkF,EAAAf,EAAW8D,aAAK,IAAA/C,OAAA,EAAhBA,EAAkBlF,eAAgB,GAChDC,iBAAiC,QAAhBkF,EAAAhB,EAAW8D,aAAK,IAAA9C,OAAA,EAAhBA,EAAkBlF,kBAAmB,yBACtDmI,gBAAgC,QAAhBhD,EAAAjB,EAAW8D,aAAK,IAAA7C,OAAA,EAAhBA,EAAkBgD,iBAAkB,KACpDrI,QAAwB,QAAhBsF,EAAAlB,EAAW8D,aAAK,IAAA5C,OAAA,EAAhBA,EAAkBtF,SAAU,6BACjCoE,EAAW8D,OAIhBI,OAAMhP,GAAA,CACJiP,OAAwB,QAAjBhD,EAAAnB,EAAWkE,cAAM,IAAA/C,OAAA,EAAjBA,EAAmBgD,QAAS,kBACnCC,WAA4C,KAAhB,QAAjBhD,EAAApB,EAAWkE,cAAM,IAAA9C,OAAA,EAAjBA,EAAmBgD,WAC9BtI,iBAAkC,QAAjBuF,EAAArB,EAAWkE,cAAM,IAAA7C,OAAA,EAAjBA,EAAmBvF,kBAAmB,KACvDuI,WAA4B,QAAjB/C,EAAAtB,EAAWkE,cAAM,IAAA5C,OAAA,EAAjBA,EAAmB+C,YAAa,UAC3CC,iBAAwD,KAAtB,QAAjB/C,EAAAvB,EAAWkE,cAAM,IAAA3C,OAAA,EAAjBA,EAAmB+C,kBACjCtE,EAAWkE,QAIhBK,SAAQrP,GAAA,CACNsP,qBAAwC,QAAnBhD,EAAAxB,EAAWuE,gBAAQ,IAAA/C,OAAA,EAAnBA,EAAqBgD,sBAAuB,UACjEC,sBAAyC,QAAnBhD,EAAAzB,EAAWuE,gBAAQ,IAAA9C,OAAA,EAAnBA,EAAqBgD,uBAAwB,UACnEC,uBAA0C,QAAnBhD,EAAA1B,EAAWuE,gBAAQ,IAAA7C,OAAA,EAAnBA,EAAqBgD,wBAAyB,UACrEC,sBAAyC,QAAnBhD,EAAA3B,EAAWuE,gBAAQ,IAAA5C,OAAA,EAAnBA,EAAqBgD,uBAAwB,UACnEN,WAA8B,QAAnBzC,EAAA5B,EAAWuE,gBAAQ,IAAA3C,OAAA,EAAnBA,EAAqByC,YAAa,UAC7C3I,UAA6B,QAAnBmG,EAAA7B,EAAWuE,gBAAQ,IAAA1C,OAAA,EAAnBA,EAAqBnG,WAAY,OAC3CG,cAAiC,QAAnBiG,EAAA9B,EAAWuE,gBAAQ,IAAAzC,OAAA,EAAnBA,EAAqBjG,eAAgB,GAChDmE,EAAWuE,UAIhBK,UAAS1P,GAAA,CACP2P,aAAmD,KAAlB,QAApB9C,EAAA/B,EAAW4E,iBAAS,IAAA7C,OAAA,EAApBA,EAAsB8C,aACnCC,aAAmD,KAAlB,QAApB9C,EAAAhC,EAAW4E,iBAAS,IAAA5C,OAAA,EAApBA,EAAsB8C,aACnCC,aAAmD,KAAlB,QAApB9C,EAAAjC,EAAW4E,iBAAS,IAAA3C,OAAA,EAApBA,EAAsB8C,aACnCC,UAA8B,QAApB9C,EAAAlC,EAAW4E,iBAAS,IAAA1C,OAAA,EAApBA,EAAsB8C,WAAY,IACzChF,EAAW4E,WAIhB/E,SAAQ3K,GAAA,CACN4K,UAA6B,QAAnBqC,EAAAnC,EAAWH,gBAAQ,IAAAsC,OAAA,EAAnBA,EAAqBrC,YAAY,EAC3CmF,aAAgC,QAAnB7C,EAAApC,EAAWH,gBAAQ,IAAAuC,OAAA,EAAnBA,EAAqB6C,eAAe,EACjDC,oBAAgE,KAAzB,QAAnB7C,EAAArC,EAAWH,gBAAQ,IAAAwC,OAAA,EAAnBA,EAAqB6C,oBACzCC,gBAAmC,QAAnB7C,EAAAtC,EAAWH,gBAAQ,IAAAyC,OAAA,EAAnBA,EAAqB6C,iBAAkB,oCACpDnF,EAAWH,UAIhBuF,cAAalQ,GAAA,CACXmQ,WAAmC,QAAxB9C,EAAAvC,EAAWoF,qBAAa,IAAA7C,OAAA,EAAxBA,EAA0B8C,YAAa,kBAClDC,iBAAyC,QAAxB9C,EAAAxC,EAAWoF,qBAAa,IAAA5C,OAAA,EAAxBA,EAA0B8C,kBAAmB,gCAC9DC,oBAAqE,KAAzB,QAAxB9C,EAAAzC,EAAWoF,qBAAa,IAAA3C,OAAA,EAAxBA,EAA0B8C,qBAC3CvF,EAAWoF,eAIhBI,aAAcxF,EAAWwF,cAAgB,GAGzClG,UAAWU,EAAWV,WAAa,CAAC,EAGpC6D,aAAcA,GAEqB,iBAAxBnD,EAAW2C,SAAwB,CAAE8C,eAAgBzF,EAAW2C,UAAa,CAAC,EAE7F,GAAC,CAAAjgB,IAAA,qBAAAkE,MAED,WAAqB,IAAA0I,EAAA,KACnBzL,KAAK4b,IAAInG,YAAc,WACrBhK,EAAKoW,aAAa,aACdpW,EAAK9M,OAAOqd,SAASqF,oBACvB5V,EAAKqW,WAAW,SAAUrW,EAAK9M,OAAOqd,SAASsF,eAEnD,EAEAthB,KAAK4b,IAAIlG,eAAiB,WACxBjK,EAAKoW,aAAa,gBAClBpW,EAAKqQ,UAAW,EAChBrQ,EAAKsW,sBAAqB,GAC1BtW,EAAKuW,UAAU,yDACjB,EAEAhiB,KAAK4b,IAAI7F,QAAU,SAACjS,GAClB2H,EAAKuW,UAAUle,EAAMmI,QACvB,EAEAjM,KAAK4b,IAAIV,aAAe,SAACR,GACvBjP,EAAKqW,WAAW,OAAQpH,EAC1B,EAEA1a,KAAK4b,IAAIT,gBAAkB,SAACC,GACtBA,EACF3P,EAAKwW,oBAELxW,EAAKyW,mBAET,CACF,GAAC,CAAArjB,IAAA,eAAAkE,MAED,WAAe,IAAA0J,EAAA,KACP0V,EAASxJ,SAAS2B,cAAc,OACtC6H,EAAOC,GAAK,eACZD,EAAOxH,UAAY3a,KAAKqiB,qBAExB1J,SAASC,KAAK4B,YAAY2H,GAE1BniB,KAAKsiB,oBAGDtiB,KAAKrB,OAAOqd,SAASC,UACvB1T,WAAW,kBAAMkE,EAAKyP,aAAa,EAAE,IAEzC,GAAC,CAAArd,IAAA,qBAAAkE,MAED,WACc/C,KAAKrB,OAAOmgB,SAAxB,IACMyD,EAAMviB,KAAKrB,OAAO0b,OAClBI,EAAOza,KAAKrB,OAAO8b,KAEnB4F,GADQrgB,KAAKrB,OAAOshB,MACXjgB,KAAKrB,OAAO0hB,QAUrBmC,GATOxiB,KAAKrB,OAAOoiB,UAGL,CAClB0B,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,GAAI,IAEyBL,EAAI5C,OAAS,IAStCkD,EANY,CAChBJ,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,GAAI,IAEqBnI,EAAKkF,OAAS,GAGnCmD,EAAiB9iB,KAAK+iB,yBAGtBC,EAAWhjB,KAAKijB,iBAAiBJ,GAEvC,MAAO,4BAAP7e,OAEMhE,KAAKkjB,YAAYJ,EAAgBN,EAAYK,GAAS,cAAA7e,OACtDhE,KAAKrB,OAAOgjB,aAAY,0FAAA3d,OAINhE,KAAKrB,OAAO4iB,cAAcC,UAAS,uCAAAxd,OAC7BhE,KAAKrB,OAAO4iB,cAAcE,gBAAe,gBAAAzd,OACjEgf,EAAQ,qEAAAhf,OAIRqc,EAAOE,UAAY,iFAAHvc,OAEiBqc,EAAOG,UAAS,OAAAxc,OAAMqc,EAAOC,MAAK,uBAAAtc,OAC/Dqc,EAAOI,gBAAkB,4CAA8C,GAAE,gCAE3E,GAAE,wNAAAzc,OAOAgf,EAAQ,4DAKpB,GAAC,CAAAnkB,IAAA,yBAAAkE,MAED,WACE,IAAMogB,EAAMnjB,KAAKrB,OAAOmgB,SAClBK,EAASgE,EAAIhE,QAAU,CAAEE,EAAG,GAAI1a,EAAG,IAErCye,EAAS,GAoBb,MAjBqB,QAAjBD,EAAIlE,SACNmE,GAAU,QAAJpf,OAAYmb,EAAOxa,EAAC,OACA,WAAjBwe,EAAIlE,SACbmE,GAAU,WAAJpf,OAAemb,EAAOxa,EAAC,OACH,WAAjBwe,EAAIlE,WACbmE,GAAU,0CAIW,SAAnBD,EAAIjE,WACNkE,GAAU,SAAJpf,OAAamb,EAAOE,EAAC,OACC,UAAnB8D,EAAIjE,WACbkE,GAAU,UAAJpf,OAAcmb,EAAOE,EAAC,OACA,WAAnB8D,EAAIjE,aACbkE,GAAU,2CAGLA,CACT,GAAC,CAAAvkB,IAAA,mBAAAkE,MAED,SAAiB4c,GACf,IAAMlF,EAAOza,KAAKrB,OAAO8b,KAEzB,OAAQA,EAAK/b,MACX,IAAK,SACH,MAAO,aAAPsF,OAAoByW,EAAKgF,YAAW,0CAAAzb,OAAyC2b,EAAI,gBAAA3b,OAAe2b,EAAI,gCAEtG,IAAK,QACH,MAAO,2BAAP3b,OAAkC2b,EAAI,yBAAA3b,OAAwByW,EAAKiF,MAAK,WAE1E,IAAK,OACH,MAAO,2BAAP1b,OAAkCmF,KAAKka,MAAa,GAAP1D,GAAW,0CAAA3b,OAAyCyW,EAAKC,KAAI,WAG5G,QACE,MAAO,0CAAP1W,OAAiD2b,EAAI,gBAAA3b,OAAe2b,EAAI,sQAK9E,GAAC,CAAA9gB,IAAA,cAAAkE,MAED,SAAY+f,EAAgBN,EAAYK,GACtC,IAAMN,EAAMviB,KAAKrB,OAAO0b,OAClB4F,EAAQjgB,KAAKrB,OAAOshB,MACpBI,EAASrgB,KAAKrB,OAAO0hB,OACrBK,EAAW1gB,KAAKrB,OAAO+hB,SACvB4C,EAAOtjB,KAAKrB,OAAOoiB,UAEzB,MAAO,8DAAP/c,OAGM8e,EAAc,+KAAA9e,OAMPwe,EAAU,yBAAAxe,OACTwe,EAAU,gCAAAxe,OACW,WAAdue,EAAI3C,MAAqB,MAAsB,WAAd2C,EAAI3C,MAAqB,IAAM,OAAM,2BAAA5b,OACzEue,EAAIjD,aAAY,wKAAAtb,OAMZsf,EAAKnC,SAAQ,qBAAAnd,OAC7Bue,EAAIxC,OAAS,0BAAH/b,OAA6Bue,EAAIvC,YAAW,KAAM,GAAE,6BAAAhc,OAGhEsf,EAAKtC,YAAc,0DAAHhd,OAEAue,EAAI1C,WAAU,oDAAA7b,OAE1Bue,EAAIxC,OAAS,0BAAH/b,OAA6Bue,EAAIvC,YAAW,KAAM,GAAE,uBAEhE,GAAE,yGAAAhc,OAKMwe,EAAa,GAAE,iBAAAxe,OACa,UAApChE,KAAKrB,OAAOmgB,SAASI,WAAyB,YAAc,WAAU,qBAAAlb,OAC/Dic,EAAMC,MAAK,yBAAAlc,OACVic,EAAME,OAAM,6BAAAnc,OACRic,EAAMhI,gBAAe,8BAAAjU,OAClBic,EAAMjI,aAAY,yBAAAhU,OACzBic,EAAMlI,OAAM,2EAAA/T,OAGpBic,EAAMG,eAAiB,oBAAHpc,OAAuBic,EAAMG,eAAc,KAAM,GAAE,cAAApc,OACvEsf,EAAKpC,YAAc,mBAAHld,OAAsBsf,EAAKnC,SAAQ,WAAY,GAAE,kFAAAnd,OAKjEsf,EAAKpC,YAAc,wCAA0C,GAAE,kEAAAld,OAInDqc,EAAOpI,iBAAmBsK,EAAIjD,aAAY,sBAAAtb,OAC/Cqc,EAAOG,UAAS,qJAAAxc,OAKRic,EAAMjI,aAAY,OAAAhU,OAAMic,EAAMjI,aAAY,qHAAAhU,OAMlDqc,EAAOG,UAAS,meAAAxc,OAsBR0c,EAAS1I,aAAY,qDAAAhU,OAEzB0c,EAAS7I,SAAQ,sBAAA7T,OACrB0c,EAASF,UAAS,mEAAAxc,OAIb0c,EAASC,oBAAmB,mGAAA3c,OAK5B0c,EAASE,qBAAoB,sGAAA5c,OAK7B0c,EAASG,sBAAqB,kIAAA7c,OAM9B0c,EAASI,qBAAoB,+EAAA9c,OAG1B0c,EAAS1I,aAAY,8PAAAhU,OAY7Bwe,EAAU,yBAAAxe,OACTwe,EAAU,gCAAAxe,OACW,WAAdue,EAAI3C,MAAqB,MAAsB,WAAd2C,EAAI3C,MAAqB,IAAM,OAAM,kDAAA5b,OAEzEue,EAAIjD,aAAY,iJAAAtb,OAKZsf,EAAKnC,SAAQ,oFAAAnd,OAIjBue,EAAIzC,YAAW,eAAA9b,OAC3Bsf,EAAKrC,YAAc,wDAEjB,GAAE,6BAAAjd,OAGNsf,EAAKrC,YAAc,0IAKjB,GAAE,yGAOV,GAAC,CAAApiB,IAAA,oBAAAkE,MAED,WAAoB,IAAAwgB,EAAA,KAClB5K,SAAS6K,eAAe,gBAAgBC,QAAU,kBAAMF,EAAKrH,aAAa,EAE1E,IAAMwH,EAAW/K,SAAS6K,eAAe,eACrCE,IACFA,EAASD,QAAU,kBAAMF,EAAKrH,aAAa,GAG7CvD,SAAS6K,eAAe,oBAAoBC,QAAU,kBAAMF,EAAKI,aAAa,EAG1E3jB,KAAKrB,OAAO4iB,cAAcG,oBAC5B1hB,KAAK4jB,yBAET,GAAC,CAAA/kB,IAAA,0BAAAkE,MAED,WAA0B,IAAA8gB,EAAA,KACxBlL,SAASjQ,iBAAiB,UAAW,SAACzE,GACtB,WAAVA,EAAEpF,KAAoBglB,EAAKhI,QAC7BgI,EAAK3H,aAET,EACF,GAAC,CAAArd,IAAA,cAAAkE,MAED,WACE/C,KAAK6b,QAAU7b,KAAK6b,OACNlD,SAAS6K,eAAe,eAChCM,UAAUC,OAAO,OACzB,GAAC,CAAAllB,IAAA,cAAAkE,OAAAihB,EAAAhX,GAAAtH,KAAAE,EAED,SAAA4N,IAAA,IAAA6H,EAAA4I,EAAAC,EAAArQ,EAAA,OAAAnO,KAAAC,EAAA,SAAA8N,GAAA,cAAAA,EAAA/O,EAAA+O,EAAAtP,GAAA,UACOnE,KAAK8b,SAAU,CAAFrI,EAAAtP,EAAA,SAE8B,OAF9BsP,EAAA/O,EAAA,EAEdX,QAAQkT,IAAI,gCAAgCxD,EAAAtP,EAAA,EACpBnE,KAAKmkB,eAAc,OACE,OADvC9I,EAAS5H,EAAA5O,EACfd,QAAQkT,IAAI,qBAAsBoE,GAAW5H,EAAAtP,EAAA,EAErBnE,KAAK4b,IAAInN,QAAQ4M,GAAU,OAA7C4I,EAASxQ,EAAA5O,EACfd,QAAQkT,IAAI,uCAAwCgN,GAGhDC,EAAW,EAAC,UACRlkB,KAAK4b,IAAInR,eAAeyZ,EAAW,IAAE,CAAAzQ,EAAAtP,EAAA,eAAAsP,EAAAtP,EAAA,EACrC,IAAI8B,QAAQ,SAAAC,GAAO,OAAIqC,WAAWrC,EAAS,IAAI,GAAC,OACtDge,IAAWzQ,EAAAtP,EAAA,mBAGTnE,KAAK4b,IAAInR,YAAa,CAAFgJ,EAAAtP,EAAA,QACkC,OAAxDJ,QAAQkT,IAAI,4CAA4CxD,EAAAtP,EAAA,EAClDnE,KAAK4b,IAAIwI,iBAAgB,OAC/BrgB,QAAQkT,IAAI,wBAEZjX,KAAK8b,UAAW,EAChB9b,KAAK+hB,sBAAqB,GAC1B/hB,KAAK8hB,WAAW,SAAU,qCAAqCrO,EAAAtP,EAAA,gBAEwB,OAAvFJ,QAAQwI,KAAK,0EAA0EkH,EAAAtP,EAAA,EACjFnE,KAAK4b,IAAIwI,iBAAgB,OAC/BrgB,QAAQkT,IAAI,wBAEZjX,KAAK8b,UAAW,EAChB9b,KAAK+hB,sBAAqB,GAC1B/hB,KAAK8hB,WAAW,SAAU,qCAAqC,QAAArO,EAAAtP,EAAA,iBAAAsP,EAAA/O,EAAA,GAAAmP,EAAAJ,EAAA5O,EAGjEd,QAAQD,MAAM,qBAAoB+P,GAClC7T,KAAKgiB,UAAUnO,EAAM5H,SAAS,QAAAwH,EAAAtP,EAAA,iBAGhCJ,QAAQkT,IAAI,gCACZjX,KAAK4b,IAAIyI,gBACTrkB,KAAK4b,IAAIxI,aACTpT,KAAK8b,UAAW,EAChB9b,KAAK+hB,sBAAqB,GAC1B/hB,KAAK8hB,WAAW,SAAU,wBAAwB,eAAArO,EAAA3O,EAAA,KAAA0O,EAAA,kBAErD,WA9CgB,OAAAwQ,EAAAngB,MAAC,KAADL,UAAA,KAAA3E,IAAA,uBAAAkE,MAgDjB,SAAqBkY,GACnB,IAAMqJ,EAAY3L,SAAS6K,eAAe,oBAC1C,GAAKc,EAUL,GAF2BtkB,KAAKrB,OAAO8b,KAAKkF,KAExC1E,GAKF,GAJAqJ,EAAUR,UAAUtb,IAAI,UACxB8b,EAAUhE,MAAQ,0BAGY,eAA1BtgB,KAAKrB,OAAO8b,KAAK/b,MAAmD,WAA1BsB,KAAKrB,OAAO8b,KAAK/b,KAAmB,CAChF,IAAM6lB,EAAcD,EAAUE,cAAc,QAAUF,EAAUE,cAAc,OAC1ED,GAAuC,QAAxBA,EAAYE,UAC7BF,EAAY5J,UAAY,8GAK5B,OAMA,GAJA2J,EAAUR,UAAUY,OAAO,UAC3BJ,EAAUhE,MAAQ,2BAGY,eAA1BtgB,KAAKrB,OAAO8b,KAAK/b,KAAuB,CAC1C,IAAM6lB,EAAcD,EAAUE,cAAc,OACxCD,IACFA,EAAY5J,UAAY,mPAK5B,CAEJ,GAAC,CAAA9b,IAAA,eAAAkE,OAAA4hB,EAAA3X,GAAAtH,KAAAE,EAED,SAAAgO,IAAA,IAAAgR,EAAA7R,EAAA8R,EAAAC,EAAAtY,EAAAuY,EAAApb,EAAA,OAAAjE,KAAAC,EAAA,SAAAmO,GAAA,cAAAA,EAAA3P,GAAA,UAEOnE,KAAKrB,OAAO4gB,cAAe,CAAFzL,EAAA3P,EAAA,WACvBnE,KAAKrB,OAAO+S,QAAS,CAAFoC,EAAA3P,EAAA,cAChB,IAAI1D,MAAM,uBAAsB,OAevC,OAXKmkB,EAAU5kB,KAAKrB,OAAO0M,cAAgB,qCACtC0H,EAAS,IAAIC,iBACZC,OAAO,UAAWjT,KAAKrB,OAAO+S,SAEjC1R,KAAKrB,OAAOgT,OACdoB,EAAOE,OAAO,QAASjT,KAAKrB,OAAOgT,QAIZ,IAArB3R,KAAKrB,OAAO6gB,MACdzM,EAAOE,OAAO,OAAQ,QACvBa,EAAAhP,EAAA,KAAAd,OAES4gB,EAAO,KAAA5gB,OAAI+O,EAAOhI,aAAU,UAIC,iBAA9B/K,KAAKrB,OAAO4gB,cAA0B,CAAAzL,EAAA3P,EAAA,QAS9C,OARK0gB,EAAc,CAClBnT,QAAS1R,KAAKrB,OAAO+S,QACrB+J,UAAWzb,KAAKrB,OAAO8c,WAAa,CAAC,GAInCzb,KAAKrB,OAAOgT,QACdkT,EAAYlT,MAAQ3R,KAAKrB,OAAOgT,OACjCmC,EAAA3P,EAAA,EAEsB6gB,MAAMhlB,KAAKrB,OAAO4gB,cAAe,CACtD0F,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBtM,KAAMvM,KAAKC,UAAUuY,KACrB,OANY,IAARC,EAAQhR,EAAAjP,GAQAsgB,GAAI,CAAFrR,EAAA3P,EAAA,cACR,IAAI1D,MAAM,8BAADuD,OAA+B8gB,EAASM,aAAa,cAAAtR,EAAA3P,EAAA,EAGnD2gB,EAASO,OAAM,OAAxB,OAAJ7Y,EAAIsH,EAAAjP,EAAAiP,EAAAhP,EAAA,EACH0H,EAAK6O,WAAa7O,EAAKqG,OAASrG,EAAKzE,KAAG,UAIH,mBAA9B/H,KAAKrB,OAAO4gB,cAA4B,CAAAzL,EAAA3P,EAAA,QASrD,OARK4O,EAAS,CACbrB,QAAS1R,KAAKrB,OAAO+S,QACrB+J,UAAWzb,KAAKrB,OAAO8c,WAAa,CAAC,GAInCzb,KAAKrB,OAAOgT,QACdoB,EAAOpB,MAAQ3R,KAAKrB,OAAOgT,OAC5BmC,EAAA3P,EAAA,EAEoBnE,KAAKrB,OAAO4gB,cAAcxM,GAAO,OAA1C,OAANpJ,EAAMmK,EAAAjP,EAAAiP,EAAAhP,EAAA,EAEa,iBAAX6E,EAAsBA,EAAUA,EAAO0R,WAAa1R,EAAOkJ,OAASlJ,EAAO5B,KAAI,aAIvF,IAAItH,MAAM,mHAAkH,cAAAqT,EAAAhP,EAAA,KAAA8O,EAAA,SAErI,WAxEiB,OAAA+Q,EAAA9gB,MAAC,KAADL,UAAA,KAAA3E,IAAA,aAAAkE,MA0ElB,SAAWrE,EAAMgc,GACf,IAAMgG,EAAW/H,SAAS6K,eAAe,kBACnCvX,EAAU0M,SAAS2B,cAAc,OACvCrO,EAAQmK,UAAY,WAAHpS,OAActF,GAC/BuN,EAAQqZ,YAAc5K,EACtBgG,EAASlG,YAAYvO,GACrByU,EAAS6E,UAAY7E,EAAS8E,YAChC,GAAC,CAAA3mB,IAAA,oBAAAkE,MAED,WACE,IAAM2d,EAAW/H,SAAS6K,eAAe,kBACnCiC,EAAW9M,SAAS2B,cAAc,OACxCmL,EAASrP,UAAY,+BACrBqP,EAASrD,GAAK,qBACdqD,EAASH,YAAc,uBACvB5E,EAASlG,YAAYiL,GACrB/E,EAAS6E,UAAY7E,EAAS8E,YAChC,GAAC,CAAA3mB,IAAA,oBAAAkE,MAED,WACE,IAAM0iB,EAAW9M,SAAS6K,eAAe,sBACrCiC,GAAUA,EAASf,QACzB,GAAC,CAAA7lB,IAAA,YAAAkE,MAED,SAAUkJ,GACR,IAAMyU,EAAW/H,SAAS6K,eAAe,kBACnC1f,EAAQ6U,SAAS2B,cAAc,OACrCxW,EAAMsS,UAAY,gBAClBtS,EAAMwhB,YAAcrZ,EACpByU,EAASlG,YAAY1W,EACvB,GAAC,CAAAjF,IAAA,eAAAkE,MAED,SAAa2iB,GACX,GAGF,CAAA7mB,IAAA,eAAAkE,MACA,SAAawR,GACXvU,KAAKrB,OAASqB,KAAK2b,kBAAiBtK,GAAAA,GAAC,CAAC,EAAIrR,KAAKrB,QAAW4V,IAE1D,IAAMoR,EAAiBhN,SAAS6K,eAAe,gBAC3CmC,GACFA,EAAejB,SAEjB1kB,KAAK+b,cACP,GAAC,CAAAld,IAAA,UAAAkE,MAED,WACE,IAAMof,EAASxJ,SAAS6K,eAAe,gBACnCrB,GACFA,EAAOuC,SAEL1kB,KAAK4b,KACP5b,KAAK4b,IAAIxI,YAEb,KAnIC,IAAAuR,EA3FAX,CA8NA,CAjtBqB,GCtIX4B,GAAU,QAgBvB,UACEnU,SAAAA,GACAlH,iBAAAA,EACA0C,cAAAA,EACAsC,YAAAA,EACAvM,aAAAA,EACAwV,YAAAA,GACAqN,mBAAAA,GACA7K,SAAAA,GACAU,YAAAA,GACAkK,QAAAA,I","sources":["webpack://TTPAgentSDK/webpack/universalModuleDefinition","webpack://TTPAgentSDK/./node_modules/react/index.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://TTPAgentSDK/./node_modules/react/jsx-runtime.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react.production.js","webpack://TTPAgentSDK/webpack/bootstrap","webpack://TTPAgentSDK/webpack/runtime/define property getters","webpack://TTPAgentSDK/webpack/runtime/hasOwnProperty shorthand","webpack://TTPAgentSDK/webpack/runtime/make namespace object","webpack://TTPAgentSDK/./src/core/EventEmitter.js","webpack://TTPAgentSDK/./src/core/WebSocketSingleton.js","webpack://TTPAgentSDK/./src/core/WebSocketManager.js","webpack://TTPAgentSDK/./src/core/AudioRecorder.js","webpack://TTPAgentSDK/./src/core/AudioPlayer.js","webpack://TTPAgentSDK/./src/core/VoiceSDK.js","webpack://TTPAgentSDK/./src/react/VoiceButton.jsx","webpack://TTPAgentSDK/./src/vanilla/VoiceButton.js","webpack://TTPAgentSDK/./src/legacy/AgentSDK.js","webpack://TTPAgentSDK/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TTPAgentSDK\"] = factory();\n\telse\n\t\troot[\"TTPAgentSDK\"] = factory();\n})(window, () => {\nreturn ","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\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","'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","/**\n * @license React\n * react.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_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_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * EventEmitter - Simple event system for the VoiceSDK\n */\nexport default class EventEmitter {\n constructor() {\n this.events = {};\n }\n \n /**\n * Add event listener\n */\n on(event, callback) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(callback);\n }\n \n /**\n * Remove event listener\n */\n off(event, callback) {\n if (!this.events[event]) return;\n \n this.events[event] = this.events[event].filter(cb => cb !== callback);\n }\n \n /**\n * Emit event\n */\n emit(event, ...args) {\n if (!this.events[event]) return;\n \n this.events[event].forEach(callback => {\n try {\n callback(...args);\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error);\n }\n });\n }\n \n /**\n * Remove all listeners for an event\n */\n removeAllListeners(event) {\n if (event) {\n delete this.events[event];\n } else {\n this.events = {};\n }\n }\n}\n","/**\n * WebSocketSingleton - Ensures only one WebSocket connection per URL exists\n */\nimport EventEmitter from './EventEmitter.js';\n\nclass WebSocketSingleton extends EventEmitter {\n constructor() {\n super();\n this.connections = new Map(); // Map of URL -> WebSocket instance\n this.connectionCounts = new Map(); // Map of URL -> number of subscribers\n this.creatingConnections = new Set(); // Set of URLs currently being created\n }\n \n /**\n * Get or create a WebSocket connection\n */\n async getConnection(url, config = {}) {\n // If connection already exists, just return it\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n return existingConnection;\n }\n \n // Check if we're already in the process of creating a connection\n if (this.creatingConnections && this.creatingConnections.has(url)) {\n // Wait for the existing creation to complete\n return new Promise((resolve) => {\n const checkConnection = () => {\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n resolve(existingConnection);\n } else {\n setTimeout(checkConnection, 50);\n }\n };\n checkConnection();\n });\n }\n \n // Create new connection\n this.creatingConnections.add(url);\n const connection = new WebSocket(url);\n this.connections.set(url, connection);\n this.connectionCounts.set(url, 1);\n \n // Set up event forwarding\n connection.addEventListener('open', (event) => {\n this.creatingConnections.delete(url);\n this.emit('open', event, url);\n });\n \n connection.addEventListener('close', (event) => {\n this.creatingConnections.delete(url);\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n this.emit('close', event, url);\n });\n \n connection.addEventListener('error', (event) => {\n this.creatingConnections.delete(url);\n this.emit('error', event, url);\n });\n \n connection.addEventListener('message', (event) => {\n this.emit('message', event, url);\n });\n \n return connection;\n }\n \n /**\n * Release a connection (decrement subscriber count)\n */\n releaseConnection(url) {\n if (!this.connections.has(url)) {\n return;\n }\n \n const currentCount = this.connectionCounts.get(url) || 0;\n const newCount = Math.max(0, currentCount - 1);\n this.connectionCounts.set(url, newCount);\n \n // If no more subscribers, close the connection\n if (newCount === 0) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'No more subscribers');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Force close a connection\n */\n forceClose(url) {\n if (this.connections.has(url)) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Force close');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Get connection status\n */\n getConnectionStatus(url) {\n if (!this.connections.has(url)) {\n return { exists: false, readyState: null, subscribers: 0 };\n }\n \n const connection = this.connections.get(url);\n return {\n exists: true,\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n \n /**\n * Get all active connections\n */\n getAllConnections() {\n const result = {};\n for (const [url, connection] of this.connections.entries()) {\n result[url] = {\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n return result;\n }\n \n /**\n * Clear all connections (for testing)\n */\n clearAll() {\n for (const [url, connection] of this.connections.entries()) {\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Clear all');\n }\n }\n this.connections.clear();\n this.connectionCounts.clear();\n this.creatingConnections.clear();\n }\n}\n\n// Global singleton instance\nconst webSocketSingleton = new WebSocketSingleton();\n\nexport default webSocketSingleton;\n","/**\n * WebSocketManager - Uses singleton pattern to prevent multiple connections\n */\nimport EventEmitter from './EventEmitter.js';\nimport webSocketSingleton from './WebSocketSingleton.js';\n\nexport default class WebSocketManager extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.connectionId = null;\n }\n \n /**\n * Connect to WebSocket using singleton\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n \n // Store resolve/reject for later use\n this.connectResolve = resolve;\n this.connectReject = reject;\n \n // Get connection from singleton\n webSocketSingleton.getConnection(this.config.websocketUrl, this.config)\n .then((connection) => {\n this.ws = connection;\n \n // Set up event listeners (this will set up handlers that can resolve the promise)\n this.setupEventListeners();\n \n // If already connected, resolve immediately\n if (connection.readyState === WebSocket.OPEN) {\n this.isConnected = true;\n this.emit('connected');\n resolve();\n this.connectResolve = null;\n this.connectReject = null;\n }\n })\n .catch((error) => {\n console.error(`🔌 WebSocketManager: Connection failed ${this.connectionId}`, error);\n reject(error);\n this.connectResolve = null;\n this.connectReject = null;\n });\n \n } catch (error) {\n console.error(`🔌 WebSocketManager: Connection error ${this.connectionId}`, error);\n reject(error);\n this.connectResolve = null;\n this.connectReject = null;\n }\n });\n }\n \n /**\n * Set up event listeners\n */\n setupEventListeners() {\n if (!this.ws) return;\n \n // Use singleton's event forwarding\n const handleOpen = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.isConnected = true;\n this.emit('connected');\n \n // Resolve the connect promise if it hasn't been resolved yet\n if (this.connectResolve) {\n this.connectResolve();\n this.connectResolve = null;\n this.connectReject = null;\n }\n }\n };\n \n const handleClose = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.isConnected = false;\n this.emit('disconnected', event);\n }\n };\n \n const handleError = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.emit('error', event);\n \n // Reject the connect promise if it hasn't been resolved yet\n if (this.connectReject) {\n this.connectReject(event);\n this.connectResolve = null;\n this.connectReject = null;\n }\n }\n };\n \n const handleMessage = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.handleMessage(event);\n }\n };\n \n // Add event listeners\n webSocketSingleton.on('open', handleOpen);\n webSocketSingleton.on('close', handleClose);\n webSocketSingleton.on('error', handleError);\n webSocketSingleton.on('message', handleMessage);\n \n // Store handlers for cleanup\n this.eventHandlers = {\n open: handleOpen,\n close: handleClose,\n error: handleError,\n message: handleMessage\n };\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n // Remove event listeners\n if (this.eventHandlers) {\n webSocketSingleton.off('open', this.eventHandlers.open);\n webSocketSingleton.off('close', this.eventHandlers.close);\n webSocketSingleton.off('error', this.eventHandlers.error);\n webSocketSingleton.off('message', this.eventHandlers.message);\n }\n \n // Release connection from singleton\n if (this.config.websocketUrl) {\n webSocketSingleton.releaseConnection(this.config.websocketUrl);\n }\n \n this.ws = null;\n this.isConnected = false;\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n // Silently ignore if not connected (may happen during cleanup/disconnect)\n return;\n }\n \n try {\n this.ws.send(JSON.stringify(message));\n } catch (error) {\n // Log but don't throw - connection may have closed between check and send\n console.warn('🔌 WebSocketManager: Failed to send message:', error.message);\n }\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n // Silently ignore if not connected (may happen during cleanup/disconnect)\n return;\n }\n \n try {\n this.ws.send(data);\n } catch (error) {\n // Log but don't throw - connection may have closed between check and send\n console.warn('🔌 WebSocketManager: Failed to send binary data:', error.message);\n }\n }\n \n /**\n * Handle incoming messages\n */\n handleMessage(event) {\n // Check if it's binary data\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n console.error('🔌 WebSocketManager: Error converting Blob to ArrayBuffer:', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : null,\n connectionId: this.connectionId\n };\n }\n \n /**\n * Get singleton status (for debugging)\n */\n static getSingletonStatus() {\n return webSocketSingleton.getAllConnections();\n }\n \n /**\n * Clear all singleton connections (for testing)\n */\n static clearAllConnections() {\n webSocketSingleton.clearAll();\n }\n}\n","/**\n * AudioRecorder - Handles audio recording using AudioWorklet\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioRecorder extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioWorkletNode = null;\n this.mediaStream = null;\n this.isRecording = false;\n }\n \n /**\n * Start audio recording\n */\n async start() {\n try {\n // Get user media\n this.mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n sampleRate: this.config.sampleRate,\n channelCount: 1,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true\n }\n });\n \n // Create AudioContext\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)({\n sampleRate: this.config.sampleRate\n });\n \n // Resume AudioContext if suspended\n if (this.audioContext.state === 'suspended') {\n await this.audioContext.resume();\n }\n \n // Load AudioWorklet module\n await this.audioContext.audioWorklet.addModule('/audio-processor.js');\n \n // Create AudioWorklet node\n this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor');\n \n // Create media stream source\n const source = this.audioContext.createMediaStreamSource(this.mediaStream);\n source.connect(this.audioWorkletNode);\n \n // Handle messages from AudioWorklet\n this.audioWorkletNode.port.onmessage = (event) => {\n const { type, data } = event.data;\n \n if (type === 'pcm_audio_data') {\n this.emit('audioData', data);\n }\n };\n \n // Enable continuous mode\n this.audioWorkletNode.port.postMessage({\n type: 'setForceContinuous',\n data: { enabled: true }\n });\n \n this.isRecording = true;\n this.emit('recordingStarted');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Stop audio recording\n */\n async stop() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Flush any remaining audio data\n if (this.audioWorkletNode) {\n this.audioWorkletNode.port.postMessage({ type: 'flush' });\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n \n // Disconnect and cleanup\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n await this.audioContext.close();\n this.audioContext = null;\n }\n \n this.audioWorkletNode = null;\n this.isRecording = false;\n this.emit('recordingStopped');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Get recording status\n */\n getStatus() {\n return {\n isRecording: this.isRecording,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n }\n}\n","/**\n * AudioPlayer - Handles audio playback with queue system\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioPlayer extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioQueue = [];\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n }\n \n /**\n * Add audio data to playback queue\n */\n playAudio(audioData) {\n try {\n const audioBlob = this.createAudioBlob(audioData);\n this.audioQueue.push(audioBlob);\n \n // Process queue if not already playing or processing\n // Also check if we have a current source - if not, we should start processing\n if (!this.isPlaying && !this.isProcessingQueue && !this.currentSource) {\n setTimeout(() => this.processQueue(), 50);\n }\n } catch (error) {\n this.emit('playbackError', error);\n }\n }\n \n /**\n * Create audio blob from ArrayBuffer\n */\n createAudioBlob(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer);\n \n // Detect audio format\n if (uint8Array.length >= 4) {\n // WAV header (RIFF)\n if (uint8Array[0] === 0x52 && uint8Array[1] === 0x49 && \n uint8Array[2] === 0x46 && uint8Array[3] === 0x46) {\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n // MP3 header\n if (uint8Array[0] === 0xFF && (uint8Array[1] & 0xE0) === 0xE0) {\n return new Blob([arrayBuffer], { type: 'audio/mpeg' });\n }\n \n // OGG header\n if (uint8Array[0] === 0x4F && uint8Array[1] === 0x67 && \n uint8Array[2] === 0x67 && uint8Array[3] === 0x53) {\n return new Blob([arrayBuffer], { type: 'audio/ogg' });\n }\n }\n \n // Default to WAV format\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n /**\n * Process audio queue\n */\n async processQueue() {\n // Prevent multiple simultaneous queue processing\n // Note: isPlaying check removed to allow seamless queue processing\n if (this.isProcessingQueue || this.audioQueue.length === 0) {\n return;\n }\n \n this.isProcessingQueue = true;\n \n const audioBlob = this.audioQueue.shift();\n if (!audioBlob) {\n this.isProcessingQueue = false;\n return;\n }\n \n try {\n // Check if we were playing BEFORE async operations (decode, etc.)\n // This ensures we detect the true state before any async delays\n const wasNotPlayingBefore = !this.isPlaying && this.currentSource === null;\n \n // Create AudioContext if not exists\n if (!this.audioContext) {\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n }\n \n const audioContext = this.audioContext;\n \n // Resume AudioContext if suspended\n if (audioContext.state === 'suspended') {\n await audioContext.resume();\n }\n \n // Create audio source from blob\n const arrayBuffer = await audioBlob.arrayBuffer();\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n \n // Double-check state AFTER async operations - audio might have been stopped\n // If currentSource is still null and isPlaying is still false, we're truly starting\n const isTrulyStarting = wasNotPlayingBefore && !this.isPlaying && this.currentSource === null;\n \n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n \n // Set state BEFORE emitting event to prevent race conditions\n this.currentSource = source;\n this.isPlaying = true;\n \n // Emit playbackStarted right before actually starting playback\n // This ensures the event is sent when audio actually starts playing\n // CRITICAL: This must be emitted when audio truly starts, not before\n if (isTrulyStarting) {\n this.emit('playbackStarted');\n }\n \n // Handle audio end\n source.onended = () => {\n this.currentSource = null;\n this.isProcessingQueue = false;\n \n // Process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n // More audio to play - continue processing without emitting playbackStopped\n // Keep isPlaying = true since we'll continue playing\n // Use immediate processing to minimize gaps\n setTimeout(() => this.processQueue(), 50);\n } else {\n // Queue is empty - playback has truly ended\n // Small delay to ensure smooth transition if new audio arrives quickly\n setTimeout(() => {\n // Check again if new audio arrived during the delay\n if (this.audioQueue.length === 0 && !this.currentSource) {\n this.isPlaying = false;\n this.emit('playbackStopped');\n }\n }, 100);\n }\n };\n \n // Start playback\n source.start();\n \n } catch (error) {\n this.currentSource = null;\n this.emit('playbackError', error);\n \n // Try to process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n this.isProcessingQueue = false;\n setTimeout(() => this.processQueue(), 100);\n } else {\n // Queue is empty - playback has ended\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.emit('playbackStopped');\n }\n }\n }\n \n /**\n * Stop current playback and clear queue\n */\n stop() {\n this.stopImmediate();\n }\n \n /**\n * Stop current playback immediately and clear queue\n */\n stopImmediate() {\n const wasPlaying = this.isPlaying || this.currentSource !== null;\n \n if (this.currentSource) {\n try {\n this.currentSource.stop();\n } catch (error) {\n // Ignore errors when stopping\n }\n this.currentSource = null;\n }\n \n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.audioQueue = [];\n \n // Only emit playbackStopped if audio was actually playing\n if (wasPlaying) {\n this.emit('playbackStopped');\n }\n }\n \n /**\n * Get playback status\n */\n getStatus() {\n return {\n isPlaying: this.isPlaying,\n isProcessingQueue: this.isProcessingQueue,\n queueLength: this.audioQueue.length,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n this.audioContext.close();\n this.audioContext = null;\n }\n }\n}\n","/**\n * VoiceSDK - Core voice interaction SDK\n * Handles WebSocket connection, audio recording, and audio playback\n */\nimport EventEmitter from './EventEmitter.js';\nimport WebSocketManager from './WebSocketManager.js';\nimport AudioRecorder from './AudioRecorder.js';\nimport AudioPlayer from './AudioPlayer.js';\n\nexport default class VoiceSDK extends EventEmitter {\n constructor(config = {}) {\n super();\n \n // Configuration\n this.config = {\n websocketUrl: config.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: config.agentId, // Optional - for direct agent access (unsecured method)\n appId: config.appId, // User's app ID for authentication\n ttpId: config.ttpId, // Optional - custom TTP ID (fallback if appId not provided)\n voice: config.voice || 'default',\n language: config.language || 'en',\n sampleRate: config.sampleRate || 16000,\n ...config\n };\n \n // State\n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n this.isDestroyed = false;\n \n // Components\n this.webSocketManager = new WebSocketManager({\n ...this.config,\n autoReconnect: this.config.autoReconnect !== false // Default to true unless explicitly disabled\n });\n this.audioRecorder = new AudioRecorder(this.config);\n this.audioPlayer = new AudioPlayer(this.config);\n \n // Bind event handlers\n this.setupEventHandlers();\n }\n \n /**\n * Setup event handlers for all components\n */\n setupEventHandlers() {\n // WebSocket events\n this.webSocketManager.on('connected', () => {\n this.isConnected = true;\n this.sendHelloMessage();\n this.emit('connected');\n });\n \n this.webSocketManager.on('disconnected', (event) => {\n this.isConnected = false;\n \n // IMPORTANT: Stop recording when WebSocket disconnects (e.g., no credits, max duration exceeded)\n // This ensures microphone is released and no more audio is streamed\n if (this.isRecording) {\n this.stopRecording().catch(err => {\n console.error('VoiceSDK: Error stopping recording on disconnect:', err);\n });\n }\n \n // Pass close event details (code, reason) to consumers\n this.emit('disconnected', event);\n });\n \n this.webSocketManager.on('error', (error) => {\n this.emit('error', error);\n });\n \n this.webSocketManager.on('message', (message) => {\n // Handle greeting audio message\n if (message.t === 'greeting_audio' && message.data) {\n try {\n // Convert base64 audio data to Uint8Array\n const binaryString = atob(message.data);\n const audioData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n audioData[i] = binaryString.charCodeAt(i);\n }\n \n this.audioPlayer.playAudio(audioData);\n this.emit('greetingStarted');\n } catch (error) {\n console.error('VoiceSDK: Error playing greeting audio:', error);\n }\n } else {\n this.emit('message', message);\n }\n });\n \n this.webSocketManager.on('binaryAudio', (audioData) => {\n this.audioPlayer.playAudio(audioData);\n });\n \n this.webSocketManager.on('bargeIn', (message) => {\n this.emit('bargeIn', message);\n });\n \n this.webSocketManager.on('stopPlaying', (message) => {\n this.emit('stopPlaying', message);\n // Stop current playback and clear queue, but keep playing new audio\n // Note: stopImmediate() will emit playbackStopped, which will send audio_stopped_playing to backend\n // This ensures backend knows when browser actually stops playing\n this.audioPlayer.stopImmediate();\n // Note: stopImmediate() clears the queue but AudioPlayer can still accept new audio via playAudio()\n });\n \n // Audio recorder events\n this.audioRecorder.on('recordingStarted', () => {\n this.isRecording = true;\n \n // Detect barge-in: if audio is playing when recording starts\n if (this.isPlaying) {\n // Stop audio playback immediately\n this.audioPlayer.stopImmediate();\n // Send barge-in message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'barge_in'\n });\n }\n }\n \n this.emit('recordingStarted');\n });\n \n this.audioRecorder.on('recordingStopped', () => {\n this.isRecording = false;\n this.emit('recordingStopped');\n });\n \n this.audioRecorder.on('audioData', (audioData) => {\n if (this.isConnected) {\n this.webSocketManager.sendBinary(audioData);\n }\n });\n \n // Audio player events\n this.audioPlayer.on('playbackStarted', () => {\n this.isPlaying = true;\n this.emit('playbackStarted');\n \n // Send audio_started_playing message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'audio_started_playing'\n });\n }\n });\n \n this.audioPlayer.on('playbackStopped', () => {\n this.isPlaying = false;\n this.emit('playbackStopped');\n \n // Send audio_stopped_playing message to server\n if (this.isConnected) {\n this.webSocketManager.sendMessage({\n t: 'audio_stopped_playing'\n });\n }\n });\n \n this.audioPlayer.on('playbackError', (error) => {\n this.emit('playbackError', error);\n });\n }\n \n /**\n * Connect to the voice server\n */\n async connect() {\n if (this.isDestroyed) {\n console.warn('VoiceSDK: Cannot connect - SDK is destroyed');\n return false; // Prevent connect after destroy\n }\n \n try {\n // Build WebSocket URL with query parameters if needed\n const wsUrl = this.buildWebSocketUrl();\n \n // Update the WebSocket manager with the URL that includes query parameters\n this.webSocketManager.config.websocketUrl = wsUrl;\n \n await this.webSocketManager.connect();\n return true;\n } catch (error) {\n console.error('🔌 VoiceSDK: Connection failed with error:', error);\n this.emit('error', error);\n return false;\n }\n }\n\n /**\n * Build WebSocket URL with query parameters for authentication\n */\n buildWebSocketUrl() {\n let url = this.config.websocketUrl;\n const params = new URLSearchParams();\n \n // Add agentId as query parameter if provided\n if (this.config.agentId) {\n params.append('agentId', this.config.agentId);\n }\n \n // Add appId as query parameter if provided\n if (this.config.appId) {\n params.append('appId', this.config.appId);\n }\n \n // Add other parameters if needed\n if (this.config.voice && this.config.voice !== 'default') {\n params.append('voice', this.config.voice);\n }\n \n if (this.config.language && this.config.language !== 'en') {\n params.append('language', this.config.language);\n }\n \n // Append query parameters to URL if any exist\n if (params.toString()) {\n const separator = url.includes('?') ? '&' : '?';\n url += separator + params.toString();\n }\n \n return url;\n }\n \n /**\n * Disconnect from the voice server\n */\n disconnect() {\n if (this.isDestroyed) {\n return; // Prevent disconnect after destroy\n }\n this.stopRecording();\n this.webSocketManager.disconnect();\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n if (this.isDestroyed) {\n return;\n }\n this.webSocketManager.resetReconnectionAttempts();\n }\n \n /**\n * Manually reconnect to the voice server\n */\n async reconnect() {\n if (this.isDestroyed) {\n return false;\n }\n \n this.disconnect();\n this.resetReconnectionAttempts();\n return await this.connect();\n }\n \n /**\n * Start voice recording and streaming\n */\n async startRecording() {\n if (!this.isConnected) {\n throw new Error('Not connected to voice server');\n }\n \n try {\n // Send start continuous mode message\n this.webSocketManager.sendMessage({\n t: 'start_continuous_mode',\n ttpId: this.generateTtpId(),\n voice: this.config.voice,\n language: this.config.language\n });\n \n // Start audio recording\n await this.audioRecorder.start();\n return true;\n } catch (error) {\n console.error('❌ VoiceSDK: Failed to start recording:', error);\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Stop voice recording and streaming\n */\n async stopRecording() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Send stop continuous mode message\n this.webSocketManager.sendMessage({\n t: 'stop_continuous_mode',\n ttpId: this.generateTtpId()\n });\n \n // Stop audio recording\n await this.audioRecorder.stop();\n \n // Stop audio playback immediately when stopping recording\n this.audioPlayer.stopImmediate();\n \n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Toggle recording state\n */\n async toggleRecording() {\n if (this.isRecording) {\n return await this.stopRecording();\n } else {\n return await this.startRecording();\n }\n }\n \n /**\n * Stop audio playback immediately (for barge-in scenarios)\n */\n stopAudioPlayback() {\n this.audioPlayer.stopImmediate();\n }\n \n /**\n * Handle barge-in (user starts speaking while audio is playing)\n */\n async handleBargeIn() {\n // Stop current audio playback immediately\n this.stopAudioPlayback();\n \n // If not already recording, start recording\n if (!this.isRecording) {\n await this.startRecording();\n }\n }\n \n /**\n * Get current connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.config = { ...this.config, ...newConfig };\n }\n \n /**\n * Generate unique TTP ID\n */\n generateTtpId() {\n return 'sdk_' + Math.random().toString(36).substr(2, 9) + '_' + Date.now();\n }\n\n /**\n * Send hello message with appropriate authentication\n */\n sendHelloMessage() {\n if (!this.isConnected) {\n console.warn('VoiceSDK: Cannot send hello message - not connected');\n return;\n }\n\n const helloMessage = {\n t: \"hello\"\n };\n\n // Use app ID for authentication (preferred method)\n if (this.config.appId) {\n helloMessage.appId = this.config.appId;\n } else if (this.config.ttpId) {\n // Fallback to custom TTP ID if app ID not provided\n helloMessage.ttpId = this.config.ttpId;\n } else {\n // Generate TTP ID as last resort\n helloMessage.ttpId = this.generateTtpId();\n }\n\n // Note: agentId is now sent as query parameter in WebSocket URL, not in hello message\n\n try {\n this.webSocketManager.sendMessage(helloMessage);\n } catch (error) {\n console.error('VoiceSDK: Failed to send hello message:', error);\n this.emit('error', error);\n }\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n if (this.isDestroyed) {\n return; // Prevent multiple destroy calls\n }\n \n // Disconnect first, before setting isDestroyed\n this.disconnect();\n \n this.isDestroyed = true;\n this.audioRecorder.destroy();\n this.audioPlayer.destroy();\n this.removeAllListeners();\n }\n}\n","/**\n * VoiceButton - React component for voice interaction\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nconst VoiceButton = ({ \n websocketUrl,\n agentId, // Optional - for direct agent access (unsecured method)\n voice = 'default',\n language = 'en',\n autoReconnect = true,\n onConnected,\n onDisconnected,\n onRecordingStarted,\n onRecordingStopped,\n onPlaybackStarted,\n onPlaybackStopped,\n onError,\n onMessage,\n onBargeIn,\n onStopPlaying,\n className = '',\n style = {},\n children\n}) => {\n const [isConnected, setIsConnected] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [isPlaying, setIsPlaying] = useState(false);\n const [connectionStatus, setConnectionStatus] = useState('Disconnected');\n \n const voiceSDKRef = useRef(null);\n \n // Initialize VoiceSDK\n useEffect(() => {\n console.log(`🎙️ VoiceButton: Creating VoiceSDK instance for ${websocketUrl}`);\n \n // Clean up existing instance if any\n if (voiceSDKRef.current) {\n console.log(`🎙️ VoiceButton: Destroying existing VoiceSDK instance`);\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n \n const voiceSDK = new VoiceSDK({\n websocketUrl,\n agentId, // Pass through agentId if provided\n voice,\n language,\n autoReconnect\n });\n \n // Setup event listeners\n voiceSDK.on('connected', () => {\n setIsConnected(true);\n setConnectionStatus('Connected');\n onConnected?.();\n });\n \n voiceSDK.on('disconnected', () => {\n setIsConnected(false);\n setConnectionStatus('Disconnected');\n onDisconnected?.();\n });\n \n voiceSDK.on('recordingStarted', () => {\n setIsRecording(true);\n onRecordingStarted?.();\n });\n \n voiceSDK.on('recordingStopped', () => {\n setIsRecording(false);\n onRecordingStopped?.();\n });\n \n voiceSDK.on('playbackStarted', () => {\n setIsPlaying(true);\n onPlaybackStarted?.();\n });\n \n voiceSDK.on('playbackStopped', () => {\n setIsPlaying(false);\n onPlaybackStopped?.();\n });\n \n voiceSDK.on('error', (error) => {\n onError?.(error);\n });\n \n voiceSDK.on('message', (message) => {\n onMessage?.(message);\n });\n \n voiceSDK.on('bargeIn', (message) => {\n onBargeIn?.(message);\n });\n \n voiceSDK.on('stopPlaying', (message) => {\n onStopPlaying?.(message);\n });\n \n voiceSDKRef.current = voiceSDK;\n \n // Auto-connect\n voiceSDK.connect();\n \n // Cleanup on unmount\n return () => {\n console.log(`🎙️ VoiceButton: Cleaning up VoiceSDK instance for ${websocketUrl}`);\n if (voiceSDKRef.current) {\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n };\n }, [websocketUrl, agentId, voice, language]);\n \n // Handle button click\n const handleClick = async () => {\n if (!voiceSDKRef.current) return;\n \n try {\n await voiceSDKRef.current.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n };\n \n // Default button content\n const defaultContent = (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <div style={{ fontSize: '20px' }}>\n {isRecording ? '🔴' : '🎤'}\n </div>\n <div>\n {isRecording ? 'Stop Listening' : 'Start Listening'}\n </div>\n </div>\n );\n \n return (\n <button\n className={`voice-button ${isRecording ? 'recording' : ''} ${className}`}\n style={{\n padding: '12px 24px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: isRecording ? '#dc3545' : '#007bff',\n color: 'white',\n cursor: 'pointer',\n fontSize: '16px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n ...style\n }}\n onClick={handleClick}\n disabled={!isConnected}\n >\n {children || defaultContent}\n </button>\n );\n};\n\nexport default VoiceButton;\n","/**\n * VoiceButton - Vanilla JavaScript voice button\n */\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nexport default class VoiceButton {\n constructor(options = {}) {\n this.options = {\n websocketUrl: options.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: options.agentId, // Optional - for direct agent access (unsecured method)\n voice: options.voice || 'default',\n language: options.language || 'en',\n container: options.container || document.body,\n buttonText: options.buttonText || 'Start Listening',\n buttonClass: options.buttonClass || 'voice-button',\n ...options\n };\n \n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n \n this.voiceSDK = new VoiceSDK({\n websocketUrl: this.options.websocketUrl,\n agentId: this.options.agentId, // Pass through agentId if provided\n voice: this.options.voice,\n language: this.options.language\n });\n \n this.setupEventListeners();\n this.createButton();\n this.connect();\n }\n \n /**\n * Setup event listeners\n */\n setupEventListeners() {\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.updateButton();\n this.options.onConnected?.();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.updateButton();\n this.options.onDisconnected?.();\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isRecording = true;\n this.updateButton();\n this.options.onRecordingStarted?.();\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isRecording = false;\n this.updateButton();\n this.options.onRecordingStopped?.();\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.isPlaying = true;\n this.options.onPlaybackStarted?.();\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.isPlaying = false;\n this.options.onPlaybackStopped?.();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.options.onError?.(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.options.onMessage?.(message);\n });\n \n this.voiceSDK.on('bargeIn', (message) => {\n this.options.onBargeIn?.(message);\n });\n \n this.voiceSDK.on('stopPlaying', (message) => {\n this.options.onStopPlaying?.(message);\n });\n }\n \n /**\n * Create the button element\n */\n createButton() {\n this.button = document.createElement('button');\n this.button.className = this.options.buttonClass;\n this.button.style.cssText = `\n padding: 12px 24px;\n border: none;\n border-radius: 8px;\n background-color: #6c757d;\n color: white;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n `;\n \n this.button.addEventListener('click', () => this.toggleRecording());\n this.options.container.appendChild(this.button);\n \n this.updateButton();\n }\n \n /**\n * Update button appearance and state\n */\n updateButton() {\n if (!this.button) return;\n \n const icon = this.isRecording ? '🔴' : '🎤';\n const text = this.isRecording ? 'Stop Listening' : 'Start Listening';\n \n this.button.innerHTML = `\n <span style=\"font-size: 20px;\">${icon}</span>\n <span>${text}</span>\n `;\n \n this.button.disabled = !this.isConnected;\n this.button.style.backgroundColor = this.isRecording ? '#dc3545' : \n this.isConnected ? '#007bff' : '#6c757d';\n }\n \n /**\n * Connect to voice server\n */\n async connect() {\n try {\n await this.voiceSDK.connect();\n } catch (error) {\n console.error('Failed to connect:', error);\n }\n }\n \n /**\n * Toggle recording\n */\n async toggleRecording() {\n if (!this.voiceSDK) return;\n \n try {\n await this.voiceSDK.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n }\n \n /**\n * Get current status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.voiceSDK.updateConfig(newConfig);\n }\n \n /**\n * Destroy the button and cleanup\n */\n destroy() {\n if (this.button && this.button.parentNode) {\n this.button.parentNode.removeChild(this.button);\n }\n \n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n }\n }\n}\n","/**\n * Legacy AgentSDK - Backward Compatibility Layer\n * \n * This maintains the original AgentSDK API while using the new VoiceSDK internally.\n * This ensures existing integrations continue to work without changes.\n */\n\nimport { VoiceSDK } from '../index.js';\n\nexport class AgentSDK {\n constructor(config) {\n console.log('🚀 AgentSDK v2.1.8 initialized with config:', config);\n this.config = config;\n this.voiceSDK = null;\n this.isConnected = false;\n this.isListening = false;\n \n // Legacy callback properties\n this.onConnected = () => {};\n this.onDisconnected = () => {};\n this.onError = (error) => console.error('SDK Error:', error);\n this.onTranscript = (text) => {};\n this.onAgentSpeaking = (isStart) => {};\n }\n\n async connect(signedUrl) {\n try {\n if (!signedUrl) {\n throw new Error('signedUrl is required');\n }\n \n // Clean up existing connection if any\n if (this.voiceSDK) {\n console.log('🔌 AgentSDK: Cleaning up existing connection');\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n \n // Create VoiceSDK instance\n this.voiceSDK = new VoiceSDK({\n websocketUrl: signedUrl,\n autoReconnect: false,\n agentId: this.config.agentId,\n appId: this.config.appId,\n language: this.config.language || 'en'\n });\n \n // Set up event handlers to map to legacy callbacks\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.onConnected();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.onDisconnected();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.onError(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.handleWebSocketMessage(message);\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isListening = true;\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isListening = false;\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.onAgentSpeaking(true);\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.onAgentSpeaking(false);\n });\n \n // Connect using VoiceSDK\n await this.voiceSDK.connect();\n \n } catch (error) {\n this.onError(error);\n throw error;\n }\n }\n\n handleWebSocketMessage(message) {\n // Map new message format to legacy format\n switch (message.type) {\n case 'connected':\n console.log('Session started successfully');\n break;\n \n case 'user_transcript':\n this.onTranscript(message.user_transcription || message.text);\n break;\n \n case 'agent_response':\n // Handle agent text response\n break;\n \n case 'barge_in':\n // Handle barge-in\n break;\n \n case 'stop_playing':\n // Handle stop playing\n break;\n \n case 'error':\n this.onError(new Error(message.message));\n break;\n }\n }\n\n async startListening() {\n console.log('🎤 AgentSDK: startListening() called');\n if (this.voiceSDK) {\n try {\n console.log('🎤 AgentSDK: Starting recording...');\n await this.voiceSDK.startRecording();\n console.log('✅ AgentSDK: Recording started successfully');\n } catch (error) {\n console.error('❌ AgentSDK: Failed to start recording:', error);\n throw error;\n }\n } else {\n console.error('❌ AgentSDK: No voiceSDK instance available');\n throw new Error('No voiceSDK instance available');\n }\n }\n\n stopListening() {\n if (this.voiceSDK) {\n this.voiceSDK.stopRecording();\n }\n }\n\n updateVariables(variables) {\n if (this.voiceSDK && this.isConnected) {\n // Send variables update message\n this.voiceSDK.webSocketManager.sendMessage({\n t: 'update_variables',\n variables\n });\n }\n }\n\n disconnect() {\n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n this.isConnected = false;\n this.isListening = false;\n }\n}\n\n// ============================================\n// WIDGET - Pre-built UI using the SDK\n// ============================================\n\nexport class AgentWidget {\n constructor(config = {}) {\n // Merge user config with defaults (backward compatible with simple config)\n this.config = this.mergeWithDefaults(config);\n this.sdk = new AgentSDK(this.config);\n this.isOpen = false;\n this.isActive = false;\n \n this.setupEventHandlers();\n this.createWidget();\n \n // Auto-open if configured\n if (this.config.behavior.autoOpen) {\n setTimeout(() => this.togglePanel(), 1000);\n }\n }\n\n /**\n * Merge user configuration with defaults\n * Supports both simple config (backward compatible) and advanced config\n */\n mergeWithDefaults(userConfig) {\n // Handle legacy position string format\n let positionConfig = userConfig.position || 'bottom-right';\n if (typeof positionConfig === 'string') {\n // Convert legacy format 'bottom-right' to new format\n const parts = positionConfig.split('-');\n positionConfig = {\n vertical: parts[0] || 'bottom',\n horizontal: parts[1] || 'right',\n offset: userConfig.positionOffset || { x: 20, y: 20 }\n };\n }\n\n // Handle legacy primaryColor\n const primaryColor = userConfig.primaryColor || userConfig.button?.primaryColor || '#4F46E5';\n\n return {\n // Required (agentId is required, appId is optional)\n agentId: userConfig.agentId,\n appId: userConfig.appId,\n getSessionUrl: userConfig.getSessionUrl, // Optional - will auto-construct URL if omitted\n websocketUrl: userConfig.websocketUrl, // Optional - defaults to speech.talktopc.com\n demo: userConfig.demo !== false, // Optional - defaults to true\n \n // Icon/Image Configuration\n icon: {\n type: userConfig.icon?.type || 'microphone', // 'microphone', 'custom', 'emoji', 'text'\n customImage: userConfig.icon?.customImage || null,\n emoji: userConfig.icon?.emoji || '🎤',\n text: userConfig.icon?.text || 'AI',\n size: userConfig.icon?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n ...userConfig.icon\n },\n \n // Positioning Configuration (supports both object and legacy string)\n position: {\n vertical: positionConfig.vertical || 'bottom',\n horizontal: positionConfig.horizontal || 'right',\n offset: positionConfig.offset || { x: 20, y: 20 },\n ...(typeof userConfig.position === 'object' ? userConfig.position : {})\n },\n \n // Button Configuration\n button: {\n size: userConfig.button?.size || 'medium',\n shape: userConfig.button?.shape || 'circle',\n primaryColor: primaryColor,\n hoverColor: userConfig.button?.hoverColor || '#7C3AED',\n activeColor: userConfig.button?.activeColor || '#EF4444',\n shadow: userConfig.button?.shadow !== false,\n shadowColor: userConfig.button?.shadowColor || 'rgba(0,0,0,0.15)',\n ...userConfig.button\n },\n \n // Panel Configuration\n panel: {\n width: userConfig.panel?.width || 350,\n height: userConfig.panel?.height || 500,\n borderRadius: userConfig.panel?.borderRadius || 12,\n backgroundColor: userConfig.panel?.backgroundColor || 'rgba(255,255,255,0.95)',\n backdropFilter: userConfig.panel?.backdropFilter || null,\n border: userConfig.panel?.border || '1px solid rgba(0,0,0,0.1)',\n ...userConfig.panel\n },\n \n // Header Configuration\n header: {\n title: userConfig.header?.title || 'Voice Assistant',\n showTitle: userConfig.header?.showTitle !== false,\n backgroundColor: userConfig.header?.backgroundColor || null, // Uses button primaryColor if null\n textColor: userConfig.header?.textColor || '#FFFFFF',\n showCloseButton: userConfig.header?.showCloseButton !== false,\n ...userConfig.header\n },\n \n // Messages Configuration\n messages: {\n userBackgroundColor: userConfig.messages?.userBackgroundColor || '#E5E7EB',\n agentBackgroundColor: userConfig.messages?.agentBackgroundColor || '#F3F4F6',\n systemBackgroundColor: userConfig.messages?.systemBackgroundColor || '#DCFCE7',\n errorBackgroundColor: userConfig.messages?.errorBackgroundColor || '#FEE2E2',\n textColor: userConfig.messages?.textColor || '#1F2937',\n fontSize: userConfig.messages?.fontSize || '14px',\n borderRadius: userConfig.messages?.borderRadius || 8,\n ...userConfig.messages\n },\n \n // Animation Configuration\n animation: {\n enableHover: userConfig.animation?.enableHover !== false,\n enablePulse: userConfig.animation?.enablePulse !== false,\n enableSlide: userConfig.animation?.enableSlide !== false,\n duration: userConfig.animation?.duration || 0.3,\n ...userConfig.animation\n },\n \n // Behavior Configuration\n behavior: {\n autoOpen: userConfig.behavior?.autoOpen || false,\n autoConnect: userConfig.behavior?.autoConnect || false,\n showWelcomeMessage: userConfig.behavior?.showWelcomeMessage !== false,\n welcomeMessage: userConfig.behavior?.welcomeMessage || 'Hello! How can I help you today?',\n ...userConfig.behavior\n },\n \n // Accessibility Configuration\n accessibility: {\n ariaLabel: userConfig.accessibility?.ariaLabel || 'Voice Assistant',\n ariaDescription: userConfig.accessibility?.ariaDescription || 'Click to open voice assistant',\n keyboardNavigation: userConfig.accessibility?.keyboardNavigation !== false,\n ...userConfig.accessibility\n },\n \n // Custom CSS\n customStyles: userConfig.customStyles || '',\n \n // Variables for the agent\n variables: userConfig.variables || {},\n \n // Legacy support (for backward compatibility)\n primaryColor: primaryColor,\n // Keep position string for backward compatibility\n ...(typeof userConfig.position === 'string' ? { positionString: userConfig.position } : {})\n };\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n this.updateStatus('connected');\n if (this.config.behavior.showWelcomeMessage) {\n this.addMessage('system', this.config.behavior.welcomeMessage);\n }\n };\n\n this.sdk.onDisconnected = () => {\n this.updateStatus('disconnected');\n this.isActive = false;\n this.updateMicButtonState(false);\n this.showError('Conversation ended. Click to start a new conversation.');\n };\n\n this.sdk.onError = (error) => {\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'agent-widget';\n widget.innerHTML = this.generateWidgetHTML();\n \n document.body.appendChild(widget);\n \n this.setupWidgetEvents();\n \n // Auto-open if configured\n if (this.config.behavior.autoOpen) {\n setTimeout(() => this.togglePanel(), 1000);\n }\n }\n\n generateWidgetHTML() {\n const pos = this.config.position;\n const btn = this.config.button;\n const icon = this.config.icon;\n const panel = this.config.panel;\n const header = this.config.header;\n const anim = this.config.animation;\n\n // Calculate button size\n const buttonSizes = {\n small: 50,\n medium: 60,\n large: 70,\n xl: 80\n };\n const buttonSize = buttonSizes[btn.size] || 60;\n\n // Calculate icon size\n const iconSizes = {\n small: 20,\n medium: 28,\n large: 36,\n xl: 44\n };\n const iconSize = iconSizes[icon.size] || 28;\n\n // Generate position styles\n const positionStyles = this.generatePositionStyles();\n\n // Generate icon HTML\n const iconHTML = this.generateIconHTML(iconSize);\n\n return `\n <style>\n ${this.generateCSS(positionStyles, buttonSize, iconSize)}\n ${this.config.customStyles}\n </style>\n \n <button id=\"agent-button\" \n aria-label=\"${this.config.accessibility.ariaLabel}\"\n aria-description=\"${this.config.accessibility.ariaDescription}\">\n ${iconHTML}\n </button>\n \n <div id=\"agent-panel\">\n ${header.showTitle ? `\n <div id=\"agent-header\">\n <h3 style=\"margin: 0; color: ${header.textColor};\">${header.title}</h3>\n ${header.showCloseButton ? '<button id=\"agent-close\">×</button>' : ''}\n </div>\n ` : ''}\n \n <div id=\"agent-messages\"></div>\n \n <div id=\"agent-controls\">\n <button id=\"agent-mic-button\" \n aria-label=\"Start/Stop Voice Recording\">\n ${iconHTML}\n </button>\n </div>\n </div>\n `;\n }\n\n generatePositionStyles() {\n const pos = this.config.position;\n const offset = pos.offset || { x: 20, y: 20 };\n \n let styles = '';\n \n // Vertical positioning\n if (pos.vertical === 'top') {\n styles += `top: ${offset.y}px;`;\n } else if (pos.vertical === 'bottom') {\n styles += `bottom: ${offset.y}px;`;\n } else if (pos.vertical === 'center') {\n styles += `top: 50%; transform: translateY(-50%);`;\n }\n \n // Horizontal positioning\n if (pos.horizontal === 'left') {\n styles += `left: ${offset.x}px;`;\n } else if (pos.horizontal === 'right') {\n styles += `right: ${offset.x}px;`;\n } else if (pos.horizontal === 'center') {\n styles += `left: 50%; transform: translateX(-50%);`;\n }\n \n return styles;\n }\n\n generateIconHTML(size) {\n const icon = this.config.icon;\n \n switch (icon.type) {\n case 'custom':\n return `<img src=\"${icon.customImage}\" alt=\"Voice Assistant\" style=\"width: ${size}px; height: ${size}px; object-fit: contain;\" />`;\n \n case 'emoji':\n return `<span style=\"font-size: ${size}px; line-height: 1;\">${icon.emoji}</span>`;\n \n case 'text':\n return `<span style=\"font-size: ${Math.floor(size * 0.6)}px; font-weight: bold; color: white;\">${icon.text}</span>`;\n \n case 'microphone':\n default:\n return `<svg viewBox=\"0 0 24 24\" style=\"width: ${size}px; height: ${size}px; fill: white;\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>`;\n }\n }\n\n generateCSS(positionStyles, buttonSize, iconSize) {\n const btn = this.config.button;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n return `\n #agent-widget {\n position: fixed;\n ${positionStyles}\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #agent-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n background: ${btn.primaryColor};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n ${btn.shadow ? `box-shadow: 0 4px 12px ${btn.shadowColor};` : ''}\n }\n \n ${anim.enableHover ? `\n #agent-button:hover {\n background: ${btn.hoverColor};\n transform: scale(1.05);\n ${btn.shadow ? `box-shadow: 0 8px 20px ${btn.shadowColor};` : ''}\n }\n ` : ''}\n \n #agent-panel {\n display: none;\n position: absolute;\n bottom: ${buttonSize + 20}px;\n ${this.config.position.horizontal === 'right' ? 'right: 0;' : 'left: 0;'}\n width: ${panel.width}px;\n height: ${panel.height}px;\n background: ${panel.backgroundColor};\n border-radius: ${panel.borderRadius}px;\n border: ${panel.border};\n flex-direction: column;\n overflow: hidden;\n ${panel.backdropFilter ? `backdrop-filter: ${panel.backdropFilter};` : ''}\n ${anim.enableSlide ? `transition: all ${anim.duration}s ease;` : ''}\n }\n \n #agent-panel.open {\n display: flex;\n ${anim.enableSlide ? 'transform: translateY(0); opacity: 1;' : ''}\n }\n \n #agent-header {\n background: ${header.backgroundColor || btn.primaryColor};\n color: ${header.textColor};\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ${panel.borderRadius}px ${panel.borderRadius}px 0 0;\n }\n \n #agent-close {\n background: none;\n border: none;\n color: ${header.textColor};\n cursor: pointer;\n font-size: 24px;\n padding: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n #agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n max-width: 80%;\n font-size: ${messages.fontSize};\n color: ${messages.textColor};\n }\n \n .message.user {\n background: ${messages.userBackgroundColor};\n align-self: flex-end;\n }\n \n .message.agent {\n background: ${messages.agentBackgroundColor};\n align-self: flex-start;\n }\n \n .message.system {\n background: ${messages.systemBackgroundColor};\n align-self: flex-start;\n font-style: italic;\n }\n \n .error-message {\n background: ${messages.errorBackgroundColor};\n color: #991B1B;\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n margin: 8px;\n }\n \n #agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #agent-mic-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n border: none;\n background: ${btn.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n }\n \n #agent-mic-button.active {\n background: ${btn.activeColor};\n ${anim.enablePulse ? `\n animation: pulse 1.5s infinite;\n ` : ''}\n }\n \n ${anim.enablePulse ? `\n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n ` : ''}\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n `;\n }\n\n setupWidgetEvents() {\n document.getElementById('agent-button').onclick = () => this.togglePanel();\n \n const closeBtn = document.getElementById('agent-close');\n if (closeBtn) {\n closeBtn.onclick = () => this.togglePanel();\n }\n \n document.getElementById('agent-mic-button').onclick = () => this.toggleVoice();\n \n // Keyboard navigation\n if (this.config.accessibility.keyboardNavigation) {\n this.setupKeyboardNavigation();\n }\n }\n\n setupKeyboardNavigation() {\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape' && this.isOpen) {\n this.togglePanel();\n }\n });\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n console.log('🎤 Starting voice session...');\n const signedUrl = await this.getSignedUrl();\n console.log('🔗 Got signed URL:', signedUrl);\n \n const connected = await this.sdk.connect(signedUrl);\n console.log('✅ Connected to WebSocket, connected:', connected);\n \n // Wait for connection to be fully ready (for hello message exchange)\n let attempts = 0;\n while (!this.sdk.isConnected && attempts < 50) {\n await new Promise(resolve => setTimeout(resolve, 100));\n attempts++;\n }\n \n if (this.sdk.isConnected) {\n console.log('✅ WebSocket ready, starting listening...');\n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n } else {\n console.warn('⚠️ Connection not fully ready, but trying to start listening anyway...');\n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n }\n } catch (error) {\n console.error('❌ Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n console.log('🔇 Stopping voice session...');\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n this.updateMicButtonState(false);\n this.addMessage('system', '🔇 Stopped listening');\n }\n }\n\n updateMicButtonState(isListening) {\n const micButton = document.getElementById('agent-mic-button');\n if (!micButton) return;\n \n const iconSizes = {\n small: 20,\n medium: 28,\n large: 36,\n xl: 44\n };\n const iconSize = iconSizes[this.config.icon.size] || 28;\n \n if (isListening) {\n micButton.classList.add('active');\n micButton.title = 'Click to stop listening';\n \n // Change icon to stop icon (only if using SVG microphone icon)\n if (this.config.icon.type === 'microphone' || this.config.icon.type === 'custom') {\n const iconElement = micButton.querySelector('svg') || micButton.querySelector('img');\n if (iconElement && iconElement.tagName === 'svg') {\n iconElement.innerHTML = `\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>\n <path d=\"M9 9h6\"/>\n `;\n }\n }\n } else {\n micButton.classList.remove('active');\n micButton.title = 'Click to start listening';\n \n // Change back to original icon (only if using SVG microphone icon)\n if (this.config.icon.type === 'microphone') {\n const iconElement = micButton.querySelector('svg');\n if (iconElement) {\n iconElement.innerHTML = `\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n `;\n }\n }\n }\n }\n\n async getSignedUrl() {\n // If getSessionUrl is not provided, construct URL directly from agentId and appId\n if (!this.config.getSessionUrl) {\n if (!this.config.agentId) {\n throw new Error('agentId is required');\n }\n \n // Build WebSocket URL directly\n const baseUrl = this.config.websocketUrl || 'wss://speech.talktopc.com/ws/conv';\n const params = new URLSearchParams();\n params.append('agentId', this.config.agentId);\n \n if (this.config.appId) {\n params.append('appId', this.config.appId);\n }\n \n // Add demo flag if in development\n if (this.config.demo !== false) {\n params.append('demo', 'true');\n }\n \n return `${baseUrl}?${params.toString()}`;\n }\n \n // Handle getSessionUrl as string (backend URL)\n if (typeof this.config.getSessionUrl === 'string') {\n const requestBody = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n requestBody.appId = this.config.appId;\n }\n \n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestBody)\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n \n // Handle getSessionUrl as function\n else if (typeof this.config.getSessionUrl === 'function') {\n const params = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n params.appId = this.config.appId;\n }\n \n const result = await this.config.getSessionUrl(params);\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n \n else {\n throw new Error('getSessionUrl must be a string (backend URL), a function, or omitted (for direct connection with agentId/appId)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n // Status update handler (can be overridden by users)\n }\n\n // Public API methods\n updateConfig(newConfig) {\n this.config = this.mergeWithDefaults({ ...this.config, ...newConfig });\n // Recreate widget with new config\n const existingWidget = document.getElementById('agent-widget');\n if (existingWidget) {\n existingWidget.remove();\n }\n this.createWidget();\n }\n\n destroy() {\n const widget = document.getElementById('agent-widget');\n if (widget) {\n widget.remove();\n }\n if (this.sdk) {\n this.sdk.disconnect();\n }\n }\n}\n","/**\n * TTP Agent SDK - Main Entry Point\n * \n * A comprehensive SDK for voice interaction with AI agents.\n * Provides real-time audio recording, WebSocket communication, and audio playback.\n * \n * Features:\n * - 🎤 Real-time Audio Recording with AudioWorklet\n * - 🔄 WebSocket Communication with authentication\n * - 🔊 Audio Playback with queue management\n * - ⚛️ React Components\n * - 🌐 Vanilla JavaScript Components\n * - 🎯 Event-driven architecture\n * - 🔒 Multiple authentication methods\n */\n\n// Core SDK\nimport VoiceSDK from './core/VoiceSDK.js';\nimport WebSocketManager from './core/WebSocketManager.js';\nimport AudioRecorder from './core/AudioRecorder.js';\nimport AudioPlayer from './core/AudioPlayer.js';\nimport EventEmitter from './core/EventEmitter.js';\n\n// React components\nimport VoiceButton from './react/VoiceButton.jsx';\n\n// Vanilla JavaScript components\nimport VanillaVoiceButton from './vanilla/VoiceButton.js';\n\n// Legacy AgentSDK (for backward compatibility)\nimport { AgentSDK, AgentWidget } from './legacy/AgentSDK.js';\n\n// Version\nexport const VERSION = '2.0.0';\n\n// Named exports\nexport {\n VoiceSDK,\n WebSocketManager,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget\n};\n\n// Default export for convenience\nexport default {\n VoiceSDK,\n WebSocketManager,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n VERSION\n};\n"],"names":["root","factory","exports","module","define","amd","window","REACT_ELEMENT_TYPE","Symbol","for","jsxProd","type","config","maybeKey","key","propName","ref","$$typeof","props","jsx","jsxs","iterator","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","assign","Object","emptyObject","Component","context","updater","this","refs","ComponentDummy","PureComponent","prototype","isReactComponent","setState","partialState","callback","Error","forceUpdate","pureComponentPrototype","constructor","isPureReactComponent","Array","isArray","ReactSharedInternals","H","A","T","S","hasOwnProperty","reportError","useEffect","create","deps","useRef","initialValue","useState","initialState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","call","r","toStringTag","value","EventEmitter","_classCallCheck","events","event","push","filter","cb","_len","arguments","length","args","_key","forEach","apply","error","console","concat","e","t","n","i","c","Generator","u","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","_toPrimitive","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_EventEmitter","WebSocketSingleton","_this","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","connections","Map","connectionCounts","creatingConnections","Set","_inherits","_callee","url","existingConnection","connection","_this2","_context","has","set","checkConnection","setTimeout","add","WebSocket","addEventListener","delete","emit","_getConnection","_next","_throw","_x","currentCount","newCount","Math","max","readyState","OPEN","close","exists","subscribers","_step","result","_iterator","_createForOfIteratorHelper","entries","s","_step$value","_slicedToArray","err","_step2","_iterator2","_step2$value","clear","WebSocketManager","ws","isConnected","connectionId","reject","Date","now","random","toString","substr","connectResolve","connectReject","webSocketSingleton","getConnection","websocketUrl","setupEventListeners","catch","_connect","_this3","handleOpen","handleClose","handleError","handleMessage","on","eventHandlers","open","message","off","releaseConnection","send","JSON","stringify","warn","data","_this4","ArrayBuffer","Blob","arrayBuffer","parse","getAllConnections","clearAll","_asyncToGenerator","AudioRecorder","audioContext","audioWorkletNode","mediaStream","isRecording","_start","_t","navigator","mediaDevices","getUserMedia","audio","sampleRate","channelCount","echoCancellation","noiseSuppression","autoGainControl","AudioContext","webkitAudioContext","state","resume","audioWorklet","addModule","AudioWorkletNode","createMediaStreamSource","connect","port","onmessage","_event$data","postMessage","enabled","_stop","_callee2","_t2","_context2","getTracks","track","stop","audioContextState","AudioPlayer","audioQueue","isPlaying","isProcessingQueue","currentSource","audioData","audioBlob","createAudioBlob","processQueue","uint8Array","Uint8Array","wasNotPlayingBefore","audioBuffer","isTrulyStarting","source","shift","decodeAudioData","createBufferSource","buffer","destination","onended","start","_processQueue","stopImmediate","wasPlaying","queueLength","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","VoiceSDK","agentId","appId","ttpId","voice","language","isDestroyed","webSocketManager","autoReconnect","audioRecorder","audioPlayer","setupEventHandlers","sendHelloMessage","stopRecording","binaryString","atob","charCodeAt","playAudio","sendMessage","sendBinary","wsUrl","buildWebSocketUrl","params","URLSearchParams","append","separator","includes","disconnect","resetReconnectionAttempts","_reconnect","_startRecording","_callee3","_context3","generateTtpId","_stopRecording","_callee4","_t3","_context4","_toggleRecording","_callee5","_context5","startRecording","_handleBargeIn","_callee6","_context6","stopAudioPlayback","newConfig","helloMessage","destroy","removeAllListeners","_arrayWithHoles","next","_iterableToArrayLimit","_arrayLikeToArray","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","_ref","_ref$voice","_ref$language","_ref$autoReconnect","onConnected","onDisconnected","onRecordingStarted","onRecordingStopped","onPlaybackStarted","onPlaybackStopped","onError","onMessage","onBargeIn","onStopPlaying","_ref$className","className","_ref$style","style","children","_useState2","setIsConnected","_useState4","setIsRecording","_useState6","setIsPlaying","_useState8","setConnectionStatus","voiceSDKRef","log","current","voiceSDK","handleClick","_ref2","toggleRecording","defaultContent","_jsxs","display","alignItems","gap","_jsx","fontSize","padding","border","borderRadius","backgroundColor","color","cursor","fontWeight","transition","onClick","disabled","VoiceButton","options","container","document","body","buttonText","buttonClass","createButton","_this$options$onConne","_this$options","updateButton","_this$options$onDisco","_this$options2","_this$options$onRecor","_this$options3","_this$options$onRecor2","_this$options4","_this$options$onPlayb","_this$options5","_this$options$onPlayb2","_this$options6","_this$options$onError","_this$options7","_this$options$onMessa","_this$options8","_this$options$onBarge","_this$options9","_this$options$onStopP","_this$options0","button","createElement","cssText","appendChild","icon","text","innerHTML","updateConfig","parentNode","removeChild","_createClass","AgentSDK","isListening","onTranscript","onAgentSpeaking","isStart","signedUrl","handleWebSocketMessage","user_transcription","_startListening","variables","AgentWidget","mergeWithDefaults","sdk","isOpen","isActive","createWidget","behavior","autoOpen","togglePanel","userConfig","_userConfig$button","_userConfig$icon","_userConfig$icon2","_userConfig$icon3","_userConfig$icon4","_userConfig$icon5","_userConfig$button2","_userConfig$button3","_userConfig$button4","_userConfig$button5","_userConfig$button6","_userConfig$button7","_userConfig$panel","_userConfig$panel2","_userConfig$panel3","_userConfig$panel4","_userConfig$panel5","_userConfig$panel6","_userConfig$header","_userConfig$header2","_userConfig$header3","_userConfig$header4","_userConfig$header5","_userConfig$messages","_userConfig$messages2","_userConfig$messages3","_userConfig$messages4","_userConfig$messages5","_userConfig$messages6","_userConfig$messages7","_userConfig$animation","_userConfig$animation2","_userConfig$animation3","_userConfig$animation4","_userConfig$behavior","_userConfig$behavior2","_userConfig$behavior3","_userConfig$behavior4","_userConfig$accessibi","_userConfig$accessibi2","_userConfig$accessibi3","positionConfig","position","parts","split","vertical","horizontal","offset","positionOffset","x","primaryColor","getSessionUrl","demo","customImage","emoji","size","shape","hoverColor","activeColor","shadow","shadowColor","panel","width","height","backdropFilter","header","title","showTitle","textColor","showCloseButton","messages","userBackgroundColor","agentBackgroundColor","systemBackgroundColor","errorBackgroundColor","animation","enableHover","enablePulse","enableSlide","duration","autoConnect","showWelcomeMessage","welcomeMessage","accessibility","ariaLabel","ariaDescription","keyboardNavigation","customStyles","positionString","updateStatus","addMessage","updateMicButtonState","showError","showAgentThinking","hideAgentThinking","widget","id","generateWidgetHTML","setupWidgetEvents","btn","buttonSize","small","medium","large","xl","iconSize","positionStyles","generatePositionStyles","iconHTML","generateIconHTML","generateCSS","pos","styles","floor","anim","_this5","getElementById","onclick","closeBtn","toggleVoice","setupKeyboardNavigation","_this6","classList","toggle","_toggleVoice","connected","attempts","getSignedUrl","startListening","stopListening","micButton","iconElement","querySelector","tagName","remove","_getSignedUrl","baseUrl","requestBody","response","_params","fetch","method","headers","ok","statusText","json","textContent","scrollTop","scrollHeight","thinking","status","existingWidget","VERSION","VanillaVoiceButton"],"sourceRoot":""}
|