obi-sdk 0.1.1 → 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../src/integration/react/hooks.ts","../../src/integration/react/components.tsx","../../src/index.ts"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","// This is a mock import to satisfy TypeScript without React installed\n// When consuming this SDK with React, the actual React package will be used\n// React is defined as a peer dependency\ndeclare module \"react\" {\n export function useState<T>(initialState: T): [T, (newState: T) => void]\n export function useEffect(effect: () => void | (() => void), deps?: any[]): void\n}\n\nimport { useEffect, useState } from \"react\"\n\nimport { EventType, ObiSDKConfig, SDKState } from \"../../core/types\"\nimport { ObiSDK } from \"../../core/sdk\"\nimport { ObiError } from \"../../core/types\"\n\n// React hook for using the Obi SDK\nexport function useObiSDK(config?: Partial<ObiSDKConfig>) {\n const [sdk, setSDK] = useState<ObiSDK | null>(null)\n const [state, setState] = useState<SDKState>(SDKState.READY)\n const [error, setError] = useState<ObiError | null>(null)\n\n useEffect(() => {\n const newSDK = new ObiSDK(config)\n\n setSDK(newSDK)\n\n // Initialize SDK\n newSDK.init().catch((err: any) => {\n console.error(\"Failed to initialize Obi SDK:\", err)\n })\n\n // Set up event listeners\n newSDK.on(EventType.STATE_CHANGE, (newState: SDKState) => {\n setState(newState)\n })\n\n newSDK.on(EventType.ERROR, (err: ObiError) => {\n setError(err)\n })\n\n return () => {\n newSDK.dispose()\n }\n }, [])\n\n const startVoiceRecording = async () => {\n if (sdk) {\n return sdk.startVoiceRecording()\n }\n }\n\n const stopVoiceRecording = async () => {\n if (sdk) {\n return sdk.stopVoiceRecording()\n }\n return { transcript: undefined }\n }\n\n const startScreenCapture = async () => {\n if (sdk) {\n return sdk.startScreenCapture()\n }\n }\n\n const stopScreenCapture = async () => {\n if (sdk) {\n return sdk.stopScreenCapture()\n }\n return { screenshot: undefined }\n }\n\n return {\n sdk,\n state,\n error,\n startVoiceRecording,\n stopVoiceRecording,\n startScreenCapture,\n stopScreenCapture,\n isReady: state === SDKState.READY,\n isActive: state !== SDKState.READY,\n isError: state === SDKState.ERROR,\n }\n}\n","import React from \"react\"\n\nimport { SDKState } from \"../../core/types\"\nimport \"../../ui/components/status-widget\"\nimport \"../../ui/components/control-panel\"\nimport { useObiSDK } from \"./hooks\"\n\n// Ensure the web components are properly typed\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n \"obi-status-widget\": React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLElement> & { state?: SDKState },\n HTMLElement\n >\n \"obi-control-panel\": React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLElement> & {\n state?: SDKState\n voiceEnabled?: boolean\n screenEnabled?: boolean\n onvoicestart?: (e: Event) => void\n onscreenstart?: (e: Event) => void\n onstop?: (e: Event) => void\n },\n HTMLElement\n >\n }\n }\n}\n\nexport interface ObiStatusWidgetProps {\n state?: SDKState\n className?: string\n}\n\nexport function ObiStatusWidgetReact({ state = SDKState.READY, className }: ObiStatusWidgetProps) {\n return <obi-status-widget state={state} className={className} />\n}\n\nexport interface ObiControlPanelProps {\n state?: SDKState\n voiceEnabled?: boolean\n screenEnabled?: boolean\n onVoiceStart?: () => void\n onScreenStart?: () => void\n onStop?: () => void\n className?: string\n}\n\nexport function ObiControlPanelReact({\n state = SDKState.READY,\n voiceEnabled = true,\n screenEnabled = true,\n onVoiceStart,\n onScreenStart,\n onStop,\n className,\n}: ObiControlPanelProps) {\n const handleVoiceStart = () => {\n if (onVoiceStart) onVoiceStart()\n }\n\n const handleScreenStart = () => {\n if (onScreenStart) onScreenStart()\n }\n\n const handleStop = () => {\n if (onStop) onStop()\n }\n\n return (\n <obi-control-panel\n state={state}\n voiceEnabled={voiceEnabled}\n screenEnabled={screenEnabled}\n onvoicestart={handleVoiceStart}\n onscreenstart={handleScreenStart}\n onstop={handleStop}\n className={className}\n />\n )\n}\n\n// A ready-to-use React component that combines the SDK and UI\nexport function ObiWidget() {\n const {\n state,\n startVoiceRecording,\n startScreenCapture,\n stopVoiceRecording,\n stopScreenCapture,\n isActive,\n } = useObiSDK()\n\n const handleVoiceStart = () => {\n startVoiceRecording()\n }\n\n const handleScreenStart = () => {\n startScreenCapture()\n }\n\n const handleStop = () => {\n if (isActive) {\n stopVoiceRecording()\n stopScreenCapture()\n }\n }\n\n return (\n <div className=\"obi-widget\">\n <ObiStatusWidgetReact state={state} />\n <ObiControlPanelReact\n state={state}\n onVoiceStart={handleVoiceStart}\n onScreenStart={handleScreenStart}\n onStop={handleStop}\n />\n </div>\n )\n}\n","export * from \"./core\"\nexport { ObiWidget } from \"./ui/components/obi-widget\"\nexport * from \"./integration\"\n\nexport const VERSION = \"0.1.0\"\n\nexport { ObiSDK } from \"./core/sdk\"\nexport type { ObiSession } from \"./core/session\"\nexport { EventType, SDKState } from \"./core/types\"\n\n// Include UI components\nexport * from \"./ui/components\"\n\n// Add a lightweight session factory that dynamically imports the heavy session implementation\nexport const createSession = async (options = {}) => {\n // Dynamically import the session module only when needed\n const { ObiSession } = await import(\"./core/session\")\n return new ObiSession(options)\n}\n"],"names":["O","a","b","reactModule","require$$0","useState","useEffect","n"],"mappings":";;;;;;;;;;AASa,IAAI,IAAE,OAAO,IAAI,eAAe,GAAE,IAAE,OAAO,IAAI,cAAc,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,mBAAmB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,eAAe,GAAE,IAAE,OAAO,IAAI,mBAAmB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,YAAY,GAAE,IAAE,OAAO,IAAI,YAAY,GAAE,IAAE,OAAO;AAAS,SAAS,EAAE,GAAE;AAAC,MAAG,SAAO,KAAG,aAAW,OAAO;AAAE,WAAO;AAAK,MAAE,KAAG,EAAE,CAAC,KAAG,EAAE,YAAY;AAAE,SAAM,eAAa,OAAO,IAAE,IAAE;AAAI;AAC1e,IAAI,IAAE,EAAC,WAAU,WAAU;AAAC,SAAM;AAAE,GAAE,oBAAmB,WAAU;AAAA,GAAG,qBAAoB,WAAU;AAAA,GAAG,iBAAgB,WAAU;AAAA,EAAE,GAAE,IAAE,OAAO,QAAO,IAAE,CAAA;AAAG,SAAS,EAAE,GAAE,GAAE,GAAE;AAAC,OAAK,QAAM;AAAE,OAAK,UAAQ;AAAE,OAAK,OAAK;AAAE,OAAK,UAAQ,KAAG;AAAC;AAAC,EAAE,UAAU,mBAAiB;AACnQ,EAAE,UAAU,WAAS,SAAS,GAAE,GAAE;AAAC,MAAG,aAAW,OAAO,KAAG,eAAa,OAAO,KAAG,QAAM;AAAE,UAAM,MAAM,uHAAuH;AAAE,OAAK,QAAQ,gBAAgB,MAAK,GAAE,GAAE,UAAU;AAAC;AAAE,EAAE,UAAU,cAAY,SAAS,GAAE;AAAC,OAAK,QAAQ,mBAAmB,MAAK,GAAE,aAAa;AAAC;AAAE,SAAS,IAAG;AAAA;AAAE,EAAE,YAAU,EAAE;AAAU,SAAS,EAAE,GAAE,GAAE,GAAE;AAAC,OAAK,QAAM;AAAE,OAAK,UAAQ;AAAE,OAAK,OAAK;AAAE,OAAK,UAAQ,KAAG;AAAC;AAAC,IAAI,IAAE,EAAE,YAAU,IAAI;AACrf,EAAE,cAAY;AAAE,EAAE,GAAE,EAAE,SAAS;AAAE,EAAE,uBAAqB;AAAG,IAAI,IAAE,MAAM,SAAQ,IAAE,OAAO,UAAU,gBAAe,IAAE,EAAC,SAAQ,KAAI,GAAE,IAAE,EAAC,KAAI,MAAG,KAAI,MAAG,QAAO,MAAG,UAAS,KAAE;AACxK,SAAS,EAAE,GAAE,GAAE,GAAE;AAAC,MAAI,GAAE,IAAE,CAAA,GAAG,IAAE,MAAK,IAAE;AAAK,MAAG,QAAM;AAAE,SAAI,KAAK,WAAS,EAAE,QAAM,IAAE,EAAE,MAAK,WAAS,EAAE,QAAM,IAAE,KAAG,EAAE,MAAK;AAAE,QAAE,KAAK,GAAE,CAAC,KAAG,CAAC,EAAE,eAAe,CAAC,MAAI,EAAE,CAAC,IAAE,EAAE,CAAC;AAAG,MAAI,IAAE,UAAU,SAAO;AAAE,MAAG,MAAI;AAAE,MAAE,WAAS;AAAA,WAAU,IAAE,GAAE;AAAC,aAAQ,IAAE,MAAM,CAAC,GAAE,IAAE,GAAE,IAAE,GAAE;AAAI,QAAE,CAAC,IAAE,UAAU,IAAE,CAAC;AAAE,MAAE,WAAS;AAAA,EAAC;AAAC,MAAG,KAAG,EAAE;AAAa,SAAI,KAAK,IAAE,EAAE,cAAa;AAAE,iBAAS,EAAE,CAAC,MAAI,EAAE,CAAC,IAAE,EAAE,CAAC;AAAG,SAAM,EAAC,UAAS,GAAE,MAAK,GAAE,KAAI,GAAE,KAAI,GAAE,OAAM,GAAE,QAAO,EAAE,QAAO;AAAC;AAC7a,SAAS,EAAE,GAAE,GAAE;AAAC,SAAM,EAAC,UAAS,GAAE,MAAK,EAAE,MAAK,KAAI,GAAE,KAAI,EAAE,KAAI,OAAM,EAAE,OAAM,QAAO,EAAE,OAAM;AAAC;AAAC,SAASA,GAAE,GAAE;AAAC,SAAM,aAAW,OAAO,KAAG,SAAO,KAAG,EAAE,aAAW;AAAC;AAAC,SAAS,OAAO,GAAE;AAAC,MAAI,IAAE,EAAC,KAAI,MAAK,KAAI,KAAI;AAAE,SAAM,MAAI,EAAE,QAAQ,SAAQ,SAASC,IAAE;AAAC,WAAO,EAAEA,EAAC;AAAA,EAAC,CAAC;AAAC;AAAC,IAAI,IAAE;AAAO,SAAS,EAAE,GAAE,GAAE;AAAC,SAAM,aAAW,OAAO,KAAG,SAAO,KAAG,QAAM,EAAE,MAAI,OAAO,KAAG,EAAE,GAAG,IAAE,EAAE,SAAS,EAAE;AAAC;AAC/W,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAC,MAAI,IAAE,OAAO;AAAE,MAAG,gBAAc,KAAG,cAAY;AAAE,QAAE;AAAK,MAAI,IAAE;AAAG,MAAG,SAAO;AAAE,QAAE;AAAA;AAAQ,YAAO,GAAC;AAAA,MAAE,KAAK;AAAA,MAAS,KAAK;AAAS,YAAE;AAAG;AAAA,MAAM,KAAK;AAAS,gBAAO,EAAE,UAAU;AAAA,UAAA,KAAK;AAAA,UAAE,KAAK;AAAE,gBAAE;AAAA,QAAE;AAAA,IAAC;AAAC,MAAG;AAAE,WAAO,IAAE,GAAE,IAAE,EAAE,CAAC,GAAE,IAAE,OAAK,IAAE,MAAI,EAAE,GAAE,CAAC,IAAE,GAAE,EAAE,CAAC,KAAG,IAAE,IAAG,QAAM,MAAI,IAAE,EAAE,QAAQ,GAAE,KAAK,IAAE,MAAK,EAAE,GAAE,GAAE,GAAE,IAAG,SAASA,IAAE;AAAC,aAAOA;AAAA,IAAC,CAAC,KAAG,QAAM,MAAID,GAAE,CAAC,MAAI,IAAE,EAAE,GAAE,KAAG,CAAC,EAAE,OAAK,KAAG,EAAE,QAAM,EAAE,MAAI,MAAI,KAAG,EAAE,KAAK,QAAQ,GAAE,KAAK,IAAE,OAAK,CAAC,IAAG,EAAE,KAAK,CAAC,IAAG;AAAE,MAAE;AAAE,MAAE,OAAK,IAAE,MAAI,IAAE;AAAI,MAAG,EAAE,CAAC;AAAE,aAAQ,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI;AAAC,UACrf,EAAE,CAAC;AAAE,UAAI,IAAE,IAAE,EAAE,GAAE,CAAC;AAAE,WAAG,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAAA,IAAC;AAAA,WAAS,IAAE,EAAE,CAAC,GAAE,eAAa,OAAO;AAAE,SAAI,IAAE,EAAE,KAAK,CAAC,GAAE,IAAE,GAAE,EAAE,IAAE,EAAE,QAAQ;AAAM,UAAE,EAAE,OAAM,IAAE,IAAE,EAAE,GAAE,GAAG,GAAE,KAAG,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAAA,WAAU,aAAW;AAAE,UAAM,IAAE,OAAO,CAAC,GAAE,MAAM,qDAAmD,sBAAoB,IAAE,uBAAqB,OAAO,KAAK,CAAC,EAAE,KAAK,IAAI,IAAE,MAAI,KAAG,2EAA2E;AAAE,SAAO;AAAC;AACzZ,SAAS,EAAE,GAAE,GAAE,GAAE;AAAC,MAAG,QAAM;AAAE,WAAO;AAAE,MAAI,IAAE,CAAE,GAAC,IAAE;AAAE,IAAE,GAAE,GAAE,IAAG,IAAG,SAASC,IAAE;AAAC,WAAO,EAAE,KAAK,GAAEA,IAAE,GAAG;AAAA,EAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAAS,EAAE,GAAE;AAAC,MAAG,OAAK,EAAE,SAAQ;AAAC,QAAI,IAAE,EAAE;AAAQ,QAAE,EAAG;AAAC,MAAE,KAAK,SAASC,IAAE;AAAC,UAAG,MAAI,EAAE,WAAS,OAAK,EAAE;AAAQ,UAAE,UAAQ,GAAE,EAAE,UAAQA;AAAA,IAAC,GAAE,SAASA,IAAE;AAAC,UAAG,MAAI,EAAE,WAAS,OAAK,EAAE;AAAQ,UAAE,UAAQ,GAAE,EAAE,UAAQA;AAAA,IAAC,CAAC;AAAE,WAAK,EAAE,YAAU,EAAE,UAAQ,GAAE,EAAE,UAAQ;AAAA,EAAE;AAAC,MAAG,MAAI,EAAE;AAAQ,WAAO,EAAE,QAAQ;AAAQ,QAAM,EAAE;AAAQ;AAC5Z,IAAI,IAAE,EAAC,SAAQ,KAAI,GAAE,IAAE,EAAC,YAAW,KAAI,GAAE,IAAE,EAAC,wBAAuB,GAAE,yBAAwB,GAAE,mBAAkB,EAAC;AAAE,SAAS,IAAG;AAAC,QAAM,MAAM,0DAA0D;AAAE;AACzM,qBAAA,WAAiB,EAAC,KAAI,GAAE,SAAQ,SAAS,GAAE,GAAE,GAAE;AAAC,IAAE,GAAE,WAAU;AAAC,MAAE,MAAM,MAAK,SAAS;AAAA,EAAC,GAAE,CAAC;AAAC,GAAE,OAAM,SAAS,GAAE;AAAC,MAAI,IAAE;AAAE,IAAE,GAAE,WAAU;AAAC;AAAA,EAAG,CAAC;AAAE,SAAO;AAAC,GAAE,SAAQ,SAAS,GAAE;AAAC,SAAO,EAAE,GAAE,SAASD,IAAE;AAAC,WAAOA;AAAA,EAAC,CAAC,KAAG;AAAE,GAAE,MAAK,SAAS,GAAE;AAAC,MAAG,CAACD,GAAE,CAAC;AAAE,UAAM,MAAM,uEAAuE;AAAE,SAAO;AAAC,EAAC;AAAE,qBAAA,YAAkB;AAAE,qBAAA,WAAiB;AAAkB,qBAAA,WAAC;AAAuB,qBAAA,gBAAC;AAAoB,qBAAA,aAAC;AAAkB,qBAAA,WAAC;AAClc,qBAAA,qDAA2D;AAAa,qBAAA,MAAC;AACrD,qBAAA,eAAC,SAAS,GAAE,GAAE,GAAE;AAAC,MAAG,SAAO,KAAG,WAAS;AAAE,UAAM,MAAM,mFAAiF,IAAE,GAAG;AAAE,MAAI,IAAE,EAAE,CAAA,GAAG,EAAE,KAAK,GAAE,IAAE,EAAE,KAAI,IAAE,EAAE,KAAI,IAAE,EAAE;AAAO,MAAG,QAAM,GAAE;AAAC,eAAS,EAAE,QAAM,IAAE,EAAE,KAAI,IAAE,EAAE;AAAS,eAAS,EAAE,QAAM,IAAE,KAAG,EAAE;AAAK,QAAG,EAAE,QAAM,EAAE,KAAK;AAAa,UAAI,IAAE,EAAE,KAAK;AAAa,SAAI,KAAK;AAAE,QAAE,KAAK,GAAE,CAAC,KAAG,CAAC,EAAE,eAAe,CAAC,MAAI,EAAE,CAAC,IAAE,WAAS,EAAE,CAAC,KAAG,WAAS,IAAE,EAAE,CAAC,IAAE,EAAE,CAAC;AAAA,EAAE;AAAC,MAAI,IAAE,UAAU,SAAO;AAAE,MAAG,MAAI;AAAE,MAAE,WAAS;AAAA,WAAU,IAAE,GAAE;AAAC,QAAE,MAAM,CAAC;AACtf,aAAQ,IAAE,GAAE,IAAE,GAAE;AAAI,QAAE,CAAC,IAAE,UAAU,IAAE,CAAC;AAAE,MAAE,WAAS;AAAA,EAAC;AAAC,SAAM,EAAC,UAAS,GAAE,MAAK,EAAE,MAAK,KAAI,GAAE,KAAI,GAAE,OAAM,GAAE,QAAO,EAAC;AAAC;AAAE,qBAAA,gBAAsB,SAAS,GAAE;AAAC,MAAE,EAAC,UAAS,GAAE,eAAc,GAAE,gBAAe,GAAE,cAAa,GAAE,UAAS,MAAK,UAAS,MAAK,eAAc,MAAK,aAAY,KAAI;AAAE,IAAE,WAAS,EAAC,UAAS,GAAE,UAAS,EAAC;AAAE,SAAO,EAAE,WAAS;AAAC;AAAuB,qBAAA,gBAAC;qCAAwB,SAAS,GAAE;AAAC,MAAI,IAAE,EAAE,KAAK,MAAK,CAAC;AAAE,IAAE,OAAK;AAAE,SAAO;AAAC;AAAmB,qBAAA,YAAC,WAAU;AAAC,SAAM,EAAC,SAAQ,KAAI;AAAC;AAC9d,qBAAA,aAAmB,SAAS,GAAE;AAAC,SAAM,EAAC,UAAS,GAAE,QAAO,EAAC;AAAC;AAAE,qBAAA,iBAAuBA;AAAc,qBAAA,OAAC,SAAS,GAAE;AAAC,SAAM,EAAC,UAAS,GAAE,UAAS,EAAC,SAAQ,IAAG,SAAQ,EAAC,GAAE,OAAM,EAAC;AAAC;AAAE,qBAAA,OAAa,SAAS,GAAE,GAAE;AAAC,SAAM,EAAC,UAAS,GAAE,MAAK,GAAE,SAAQ,WAAS,IAAE,OAAK,EAAC;AAAC;AAAE,qBAAA,kBAAwB,SAAS,GAAE;AAAC,MAAI,IAAE,EAAE;AAAW,IAAE,aAAW;AAAG,MAAG;AAAC;EAAG,UAAC;AAAQ,MAAE,aAAW;AAAA,EAAC;AAAC;AAAsB,qBAAA,eAAC;mCAAsB,SAAS,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,YAAY,GAAE,CAAC;AAAC;AAAoB,qBAAA,aAAC,SAAS,GAAE;AAAC,SAAO,EAAE,QAAQ,WAAW,CAAC;AAAC;AACte,qBAAA,gBAAC,WAAU;AAAG;AAAA,qBAAA,mBAAyB,SAAS,GAAE;AAAC,SAAO,EAAE,QAAQ,iBAAiB,CAAC;AAAC;AAAmB,qBAAA,YAAC,SAAS,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,UAAU,GAAE,CAAC;AAAC;AAAe,qBAAA,QAAC,WAAU;AAAC,SAAO,EAAE,QAAQ,MAAO;AAAA;AAAE,qBAAA,sBAA4B,SAAS,GAAE,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,oBAAoB,GAAE,GAAE,CAAC;AAAC;AAAE,qBAAA,qBAA2B,SAAS,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,mBAAmB,GAAE,CAAC;AAAC;AAAyB,qBAAA,kBAAC,SAAS,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,gBAAgB,GAAE,CAAC;AAAC;AAC1c,qBAAA,UAAC,SAAS,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,QAAQ,GAAE,CAAC;AAAC;AAAoB,qBAAA,aAAC,SAAS,GAAE,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,WAAW,GAAE,GAAE,CAAC;AAAC;AAAgB,qBAAA,SAAC,SAAS,GAAE;AAAC,SAAO,EAAE,QAAQ,OAAO,CAAC;AAAC;AAAkB,qBAAA,WAAC,SAAS,GAAE;AAAC,SAAO,EAAE,QAAQ,SAAS,CAAC;AAAC;AAAE,qBAAA,uBAA6B,SAAS,GAAE,GAAE,GAAE;AAAC,SAAO,EAAE,QAAQ,qBAAqB,GAAE,GAAE,CAAC;AAAC;AAAE,qBAAA,gBAAsB,WAAU;AAAC,SAAO,EAAE,QAAQ,cAAe;AAAA;AAAiB,qBAAA,UAAC;ACvBzX;AACzCG,QAAA,UAAiBC;AACnB;;;ACWO,SAAS,UAAU,QAAgC;AACxD,QAAM,CAAC,KAAK,MAAM,IAAIC,sBAAwB,IAAI;AAClD,QAAM,CAAC,OAAO,QAAQ,IAAIA,aAAAA,SAAmB,SAAS,KAAK;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAIA,sBAA0B,IAAI;AAExDC,eAAAA,UAAU,MAAM;AACR,UAAA,SAAS,IAAI,OAAO,MAAM;AAEhC,WAAO,MAAM;AAGb,WAAO,KAAK,EAAE,MAAM,CAAC,QAAa;AACxB,cAAA,MAAM,iCAAiC,GAAG;AAAA,IAAA,CACnD;AAGD,WAAO,GAAG,UAAU,cAAc,CAAC,aAAuB;AACxD,eAAS,QAAQ;AAAA,IAAA,CAClB;AAED,WAAO,GAAG,UAAU,OAAO,CAAC,QAAkB;AAC5C,eAAS,GAAG;AAAA,IAAA,CACb;AAED,WAAO,MAAM;AACX,aAAO,QAAQ;AAAA,IAAA;AAAA,EAEnB,GAAG,CAAE,CAAA;AAEL,QAAM,sBAAsB,YAAY;AACtC,QAAI,KAAK;AACP,aAAO,IAAI;IACb;AAAA,EAAA;AAGF,QAAM,qBAAqB,YAAY;AACrC,QAAI,KAAK;AACP,aAAO,IAAI;IACb;AACO,WAAA,EAAE,YAAY;EAAU;AAGjC,QAAM,qBAAqB,YAAY;AACrC,QAAI,KAAK;AACP,aAAO,IAAI;IACb;AAAA,EAAA;AAGF,QAAM,oBAAoB,YAAY;AACpC,QAAI,KAAK;AACP,aAAO,IAAI;IACb;AACO,WAAA,EAAE,YAAY;EAAU;AAG1B,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,UAAU,SAAS;AAAA,IAC5B,UAAU,UAAU,SAAS;AAAA,IAC7B,SAAS,UAAU,SAAS;AAAA,EAAA;AAEhC;AC/CO,SAAS,qBAAqB,EAAE,QAAQ,SAAS,OAAO,aAAmC;AACzF,SAAA,sBAAA,cAAC,qBAAkB,EAAA,OAAc,UAAsB,CAAA;AAChE;AAYO,SAAS,qBAAqB;AAAA,EACnC,QAAQ,SAAS;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,mBAAmB,MAAM;AACzB,QAAA;AAA2B;EAAA;AAGjC,QAAM,oBAAoB,MAAM;AAC1B,QAAA;AAA6B;EAAA;AAGnC,QAAM,aAAa,MAAM;AACnB,QAAA;AAAe;EAAA;AAInB,SAAA,sBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,eAAe;AAAA,MACf,QAAQ;AAAA,MACR;AAAA,IAAA;AAAA,EAAA;AAGN;AC7EO,MAAM,UAAU;AAUhB,MAAM,gBAAgB,OAAO,UAAU,OAAO;AAEnD,QAAM,EAAE,WAAA,IAAe,MAAM,OAAO,8BAAgB,EAAA,KAAA,CAAAC,OAAAA,GAAA,CAAA;AAC7C,SAAA,IAAI,WAAW,OAAO;AAC/B;","x_google_ignoreList":[0,1]}